{"version":3,"file":"index.js","sources":["../../../../src/packages/core/modal/common/confirm/confirm-modal.token.ts","../../../../src/packages/core/modal/common/confirm/confirm-modal.controller.ts","../../../../src/packages/core/modal/common/discard-changes/discard-changes-modal.tokent.ts","../../../../src/packages/core/modal/common/item-picker/item-picker-modal.token.ts"],"sourcesContent":["import { UmbModalToken } from '../../token/index.js';\r\nimport type { TemplateResult } from '@umbraco-cms/backoffice/external/lit';\r\n\r\nexport interface UmbConfirmModalData {\r\n\theadline: string;\r\n\tcontent: TemplateResult | string;\r\n\tcolor?: 'positive' | 'danger' | 'warning';\r\n\tcancelLabel?: string;\r\n\tconfirmLabel?: string;\r\n}\r\n\r\nexport type UmbConfirmModalValue = undefined;\r\n\r\nexport const UMB_CONFIRM_MODAL = new UmbModalToken('Umb.Modal.Confirm', {\r\n\tmodal: {\r\n\t\ttype: 'dialog',\r\n\t},\r\n});\r\n","import { UMB_MODAL_MANAGER_CONTEXT } from '../../context/index.js';\r\nimport { UMB_CONFIRM_MODAL, type UmbConfirmModalData } from './confirm-modal.token.js';\r\nimport { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport interface UmbConfirmModalArgs extends UmbConfirmModalData {}\r\n\r\nexport class UmbConfirmModalController extends UmbControllerBase {\r\n\tasync open(args: UmbConfirmModalArgs): Promise {\r\n\t\tconst modalManagerContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);\r\n\r\n\t\tconst modalContext = modalManagerContext.open(this, UMB_CONFIRM_MODAL, {\r\n\t\t\tdata: args,\r\n\t\t});\r\n\r\n\t\tconst p = modalContext.onSubmit();\r\n\t\tp.catch(() => {\r\n\t\t\tthis.destroy();\r\n\t\t});\r\n\t\tawait p;\r\n\r\n\t\t// This is a one time off, so we can destroy our selfs.\r\n\t\tthis.destroy();\r\n\r\n\t\treturn;\r\n\t}\r\n}\r\n\r\n/**\r\n *\r\n * @param host {UmbControllerHost} - The host controller\r\n * @param args {UmbConfirmModalArgs} - The data to pass to the modal\r\n * @returns {UmbConfirmModalController} The modal controller instance\r\n */\r\nexport function umbConfirmModal(host: UmbControllerHost, args: UmbConfirmModalArgs) {\r\n\treturn new UmbConfirmModalController(host).open(args);\r\n}\r\n","import { UmbModalToken } from '../../token/index.js';\r\n\r\nexport const UMB_DISCARD_CHANGES_MODAL = new UmbModalToken('Umb.Modal.DiscardChanges', {\r\n\tmodal: {\r\n\t\ttype: 'dialog',\r\n\t},\r\n});\r\n","import { UmbModalToken } from '../../token/index.js';\r\n\r\nexport type UmbItemPickerModalData = {\r\n\theadline: string;\r\n\titems: Array;\r\n};\r\n\r\nexport type UmbItemPickerModel = {\r\n\tdescription?: string;\r\n\ticon?: string;\r\n\tlabel: string;\r\n\tvalue: string;\r\n};\r\n\r\nexport const UMB_ITEM_PICKER_MODAL = new UmbModalToken(\r\n\t'Umb.Modal.ItemPicker',\r\n\t{\r\n\t\tmodal: {\r\n\t\t\ttype: 'sidebar',\r\n\t\t\tsize: 'small',\r\n\t\t},\r\n\t},\r\n);\r\n"],"names":["UMB_CONFIRM_MODAL","UmbModalToken","UmbConfirmModalController","UmbControllerBase","args","p","UMB_MODAL_MANAGER_CONTEXT","umbConfirmModal","host","UMB_DISCARD_CHANGES_MODAL","UMB_ITEM_PICKER_MODAL"],"mappings":";;;;;;;AAaa,MAAAA,IAAoB,IAAIC,EAAyD,qBAAqB;AAAA,EAClH,OAAO;AAAA,IACN,MAAM;AAAA,EAAA;AAER,CAAC;ACTM,MAAMC,UAAkCC,EAAkB;AAAA,EAChE,MAAM,KAAKC,GAA0C;AAO9C,UAAAC,KANsB,MAAM,KAAK,WAAWC,CAAyB,GAElC,KAAK,MAAMN,GAAmB;AAAA,MACtE,MAAMI;AAAA,IAAA,CACN,EAEsB,SAAS;AAChC,IAAAC,EAAE,MAAM,MAAM;AACb,WAAK,QAAQ;AAAA,IAAA,CACb,GACK,MAAAA,GAGN,KAAK,QAAQ;AAAA,EAEb;AAEF;AAQgB,SAAAE,EAAgBC,GAAyBJ,GAA2B;AACnF,SAAO,IAAIF,EAA0BM,CAAI,EAAE,KAAKJ,CAAI;AACrD;ACnCa,MAAAK,IAA4B,IAAIR,EAAc,4BAA4B;AAAA,EACtF,OAAO;AAAA,IACN,MAAM;AAAA,EAAA;AAER,CAAC,GCQYS,IAAwB,IAAIT;AAAA,EACxC;AAAA,EACA;AAAA,IACC,OAAO;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EACP;AAEF;"}