{"version":3,"file":"index.js","sources":["../../../../src/packages/user/current-user/action/current-user-app-button.element.ts","../../../../src/packages/user/current-user/utils/is-current-user.function.ts"],"sourcesContent":["import type {\r\n\tManifestCurrentUserActionDefaultKind,\r\n\tMetaCurrentUserActionDefaultKind,\r\n\tUmbCurrentUserAction,\r\n} from '../current-user-action.extension.js';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { html, customElement, ifDefined, state, property } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UmbActionExecutedEvent } from '@umbraco-cms/backoffice/event';\r\n\r\n@customElement('umb-current-user-app-button')\r\nexport class UmbCurrentUserAppButtonElement<\r\n\tMetaType extends MetaCurrentUserActionDefaultKind = MetaCurrentUserActionDefaultKind,\r\n\tApiType extends UmbCurrentUserAction = UmbCurrentUserAction,\r\n> extends UmbLitElement {\r\n\t#api?: ApiType;\r\n\r\n\t@state()\r\n\t_href?: string;\r\n\r\n\t@property({ attribute: false })\r\n\tpublic manifest?: ManifestCurrentUserActionDefaultKind;\r\n\r\n\tpublic set api(api: ApiType | undefined) {\r\n\t\tthis.#api = api;\r\n\r\n\t\tthis.#api?.getHref?.().then((href) => {\r\n\t\t\tthis._href = href;\r\n\t\t});\r\n\t}\r\n\r\n\tasync #onClick(event: Event) {\r\n\t\tif (!this._href) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tawait this.#api?.execute();\r\n\t\t}\r\n\t\tthis.dispatchEvent(new UmbActionExecutedEvent());\r\n\t}\r\n\r\n\tget label(): string | undefined {\r\n\t\treturn this.manifest?.meta.label ? this.localize.string(this.manifest.meta.label) : undefined;\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${this.manifest?.meta.icon ? html`` : ''} ${this.label}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [UmbTextStyles];\r\n}\r\n\r\nexport default UmbCurrentUserAppButtonElement;\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-current-user-app-button': UmbCurrentUserAppButtonElement;\r\n\t}\r\n}\r\n","import { UMB_CURRENT_USER_CONTEXT } from '../current-user.context.token.js';\r\nimport { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\n/**\r\n * Check if the current user is the user with the given unique id\r\n * @param host\r\n * @param userUnique\r\n */\r\nexport const isCurrentUser = async (host: UmbControllerHost, userUnique: string) => {\r\n\tconst ctrl = new UmbContextConsumerController(host, UMB_CURRENT_USER_CONTEXT);\r\n\tconst currentUserContext = await ctrl.asPromise();\r\n\tctrl.destroy();\r\n\r\n\treturn await currentUserContext!.isUserCurrentUser(userUnique);\r\n};\r\n"],"names":["_api","_UmbCurrentUserAppButtonElement_instances","onClick_fn","UmbCurrentUserAppButtonElement","UmbLitElement","__privateAdd","api","__privateSet","__privateGet","href","html","__privateMethod","ifDefined","event","UmbActionExecutedEvent","UmbTextStyles","__decorateClass","state","property","customElement","isCurrentUser","host","userUnique","ctrl","UmbContextConsumerController","UMB_CURRENT_USER_CONTEXT","currentUserContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;wXAAAA,GAAAC,GAAAC;AAWa,IAAAC,IAAN,cAGGC,EAAc;AAAA,EAHjB,cAAA;AAAA,UAAA,GAAA,SAAA,GAAAC,EAAA,MAAAJ,CAAA,GAINI,EAAA,MAAAL,CAAA;AAAA,EAAA;AAAA,EAQA,IAAW,IAAIM,GAA0B;AACxC,IAAAC,EAAA,MAAKP,GAAOM,CAAA,GAEZE,EAAA,MAAKR,CAAM,GAAA,UAAA,EAAY,KAAK,CAACS,MAAS;AACrC,WAAK,QAAQA;AAAA,IAAA,CACb;AAAA,EAAA;AAAA,EAWF,IAAI,QAA4B;AACxB,WAAA,KAAK,UAAU,KAAK,QAAQ,KAAK,SAAS,OAAO,KAAK,SAAS,KAAK,KAAK,IAAI;AAAA,EAAA;AAAA,EAG5E,SAAS;AACV,WAAAC;AAAA;AAAA,aAEIC,QAAKV,GAAQC,CAAA,CAAA;AAAA,YACd,KAAK,UAAU,KAAK,QAAQ,SAAS;AAAA,aACpC,KAAK,UAAU,KAAK,SAAS,SAAS;AAAA,aACtCU,EAAU,KAAK,KAAK,CAAC;AAAA,YACtBA,EAAU,KAAK,KAAK,CAAC;AAAA,MAC3B,KAAK,UAAU,KAAK,OAAOF,oBAAuB,KAAK,SAAS,KAAK,IAAI,kBAAkB,EAAE,IAAI,KAAK,KAAK;AAAA;AAAA;AAAA,EAAA;AAMjH;AA1CCV,IAAA,oBAAA,QAAA;AAJMC,IAAA,oBAAA,QAAA;AAoBAC,IAAQ,eAACW,GAAc;AACxB,EAAC,KAAK,UACTA,EAAM,gBAAgB,GAChB,MAAAL,EAAA,MAAKR,IAAM,QAAQ,IAErB,KAAA,cAAc,IAAIc,GAAwB;AAChD;AA1BYX,EA6CI,SAAS,CAACY,CAAa;AAtCvCC,EAAA;AAAA,EADCC,EAAM;AAAA,GANKd,EAOZ,WAAA,SAAA,CAAA;AAGOa,EAAA;AAAA,EADNE,EAAS,EAAE,WAAW,GAAO,CAAA;AAAA,GATlBf,EAUL,WAAA,YAAA,CAAA;AAVKA,IAANa,EAAA;AAAA,EADNG,EAAc,6BAA6B;AAAA,GAC/BhB,CAAA;ACFA,MAAAiB,IAAgB,OAAOC,GAAyBC,MAAuB;AACnF,QAAMC,IAAO,IAAIC,EAA6BH,GAAMI,CAAwB,GACtEC,IAAqB,MAAMH,EAAK,UAAU;AAChD,SAAAA,EAAK,QAAQ,GAEN,MAAMG,EAAoB,kBAAkBJ,CAAU;AAC9D;"}