{"version":3,"file":"property-action-menu.element-Bz-Ylp_q.js","sources":["../../../src/packages/core/property-action/components/property-action-menu/property-action-menu.element.ts"],"sourcesContent":["import type { UmbPropertyActionArgs } from '../../types.js';\r\nimport { css, customElement, html, nothing, property, repeat, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';\r\nimport type { ManifestPropertyAction, MetaPropertyAction } from '@umbraco-cms/backoffice/property-action';\r\nimport { UmbExtensionsElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport type { UmbExtensionElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';\r\n\r\n/**\r\n *\r\n * @param manifest\r\n * @returns\r\n */\r\nfunction ExtensionApiArgsMethod(manifest: ManifestPropertyAction): [UmbPropertyActionArgs] {\r\n\treturn [{ meta: manifest.meta }];\r\n}\r\n\r\n@customElement('umb-property-action-menu')\r\nexport class UmbPropertyActionMenuElement extends UmbLitElement {\r\n\t@state()\r\n\tprivate _actions: Array> = [];\r\n\r\n\t@property()\r\n\tset propertyEditorUiAlias(alias: string) {\r\n\t\tthis.#propertyEditorUiAlias = alias;\r\n\r\n\t\t// TODO: Stop using string for 'propertyAction', we need to start using Const. [NL]\r\n\t\tnew UmbExtensionsElementAndApiInitializer(\r\n\t\t\tthis,\r\n\t\t\tumbExtensionsRegistry,\r\n\t\t\t'propertyAction',\r\n\t\t\tExtensionApiArgsMethod,\r\n\t\t\t(propertyAction) => propertyAction.forPropertyEditorUis.includes(alias),\r\n\t\t\t(actions) => (this._actions = actions),\r\n\t\t\t'extensionsInitializer',\r\n\t\t);\r\n\t}\r\n\tget propertyEditorUiAlias() {\r\n\t\treturn this.#propertyEditorUiAlias;\r\n\t}\r\n\t#propertyEditorUiAlias = '';\r\n\r\n\toverride render() {\r\n\t\tif (!this._actions?.length) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t${repeat(\r\n\t\t\t\t\t\tthis._actions,\r\n\t\t\t\t\t\t(action) => action.alias,\r\n\t\t\t\t\t\t(action) => action.component,\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tUmbTextStyles,\r\n\t\tcss`\r\n\t\t\t:host {\r\n\t\t\t\t--uui-menu-item-flat-structure: 1;\r\n\t\t\t}\r\n\r\n\t\t\t#more-symbol {\r\n\t\t\t\tfont-size: 1rem;\r\n\t\t\t}\r\n\r\n\t\t\t#popover-trigger {\r\n\t\t\t\t--uui-button-padding-top-factor: 0.5;\r\n\t\t\t\t--uui-button-padding-bottom-factor: 0.1;\r\n\t\t\t\t--uui-button-height: 18px;\r\n\t\t\t\t--uui-button-border-radius: 6px;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-property-action-menu': UmbPropertyActionMenuElement;\r\n\t}\r\n}\r\n"],"names":["_propertyEditorUiAlias","ExtensionApiArgsMethod","manifest","UmbPropertyActionMenuElement","UmbLitElement","__privateAdd","alias","__privateSet","UmbExtensionsElementAndApiInitializer","umbExtensionsRegistry","propertyAction","actions","__privateGet","html","repeat","action","nothing","UmbTextStyles","css","__decorateClass","state","property","customElement"],"mappings":";;;;;;;;;;;gVAAAA;AAcA,SAASC,EAAuBC,GAA+E;AAC9G,SAAO,CAAC,EAAE,MAAMA,EAAS,MAAM;AAChC;AAGa,IAAAC,IAAN,cAA2CC,EAAc;AAAA,EAAzD,cAAA;AAAA,UAAA,GAAA,SAAA,GAEN,KAAQ,WAAuF,CAAC,GAoBvEC,EAAA,MAAAL,GAAA,EAAA;AAAA,EAAA;AAAA,EAjBzB,IAAI,sBAAsBM,GAAe;AACxC,IAAAC,EAAA,MAAKP,GAAyBM,CAAA,GAG1B,IAAAE;AAAA,MACH;AAAA,MACAC;AAAA,MACA;AAAA,MACAR;AAAA,MACA,CAACS,MAAmBA,EAAe,qBAAqB,SAASJ,CAAK;AAAA,MACtE,CAACK,MAAa,KAAK,WAAWA;AAAA,MAC9B;AAAA,IACD;AAAA,EAAA;AAAA,EAED,IAAI,wBAAwB;AAC3B,WAAOC,EAAK,MAAAZ,CAAA;AAAA,EAAA;AAAA,EAIJ,SAAS;AACjB,WAAK,KAAK,UAAU,SACba;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAMFC;AAAA,MACD,KAAK;AAAA,MACL,CAACC,MAAWA,EAAO;AAAA,MACnB,CAACA,MAAWA,EAAO;AAAA,IACnB,CAAA;AAAA;AAAA;AAAA,MAX+BC;AAAA,EAW/B;AAyBN;AAvCChB,IAAA,oBAAA,QAAA;AAtBYG,EA0CI,SAAS;AAAA,EACxBc;AAAA,EACAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBD;AA1DQC,EAAA;AAAA,EADPC,EAAM;AAAA,GADKjB,EAEJ,WAAA,YAAA,CAAA;AAGJgB,EAAA;AAAA,EADHE,EAAS;AAAA,GAJElB,EAKR,WAAA,yBAAA,CAAA;AALQA,IAANgB,EAAA;AAAA,EADNG,EAAc,0BAA0B;AAAA,GAC5BnB,CAAA;"}