{"version":3,"file":"ufm-element-base-C6lyJEmx.js","sources":["../../../src/packages/ufm/components/ufm-component-base.ts","../../../src/packages/ufm/components/ufm-element-base.ts"],"sourcesContent":["import type { UfmToken } from '../plugins/marked-ufm.plugin.js';\r\nimport type { UmbUfmComponentApi } from '../ufm-component.extension.js';\r\n\r\nexport abstract class UmbUfmComponentBase implements UmbUfmComponentApi {\r\n\tprotected getAttributes(text: string): string | null {\r\n\t\tif (!text) return null;\r\n\r\n\t\tconst pipeIndex = text.indexOf('|');\r\n\r\n\t\tif (pipeIndex === -1) {\r\n\t\t\treturn `alias=\"${text.trim()}\"`;\r\n\t\t}\r\n\r\n\t\tconst alias = text.substring(0, pipeIndex).trim();\r\n\t\tconst filters = text.substring(pipeIndex + 1).trim();\r\n\r\n\t\treturn Object.entries({ alias, filters })\r\n\t\t\t.map(([key, value]) => (value ? `${key}=\"${value.trim()}\"` : null))\r\n\t\t\t.join(' ');\r\n\t}\r\n\r\n\tabstract render(token: UfmToken): string | undefined;\r\n\r\n\tdestroy() {}\r\n}\r\n","import { UMB_UFM_CONTEXT } from '../contexts/ufm.context.js';\r\nimport { nothing, property, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\n\r\nexport abstract class UmbUfmElementBase extends UmbLitElement {\r\n\t#filterFuncArgs?: Array<{ alias: string; args: Array }>;\r\n\r\n\t@property()\r\n\tpublic set filters(value: string | undefined) {\r\n\t\tthis.#filters = value;\r\n\r\n\t\tthis.#filterFuncArgs = value\r\n\t\t\t?.split('|')\r\n\t\t\t.filter((item) => item)\r\n\t\t\t.map((item) => {\r\n\t\t\t\tconst [alias, ...args] = item.split(':').map((x) => x.trim());\r\n\t\t\t\treturn { alias, args };\r\n\t\t\t});\r\n\t}\r\n\tpublic get filters(): string | undefined {\r\n\t\treturn this.#filters;\r\n\t}\r\n\t#filters?: string;\r\n\r\n\t@state()\r\n\tvalue?: unknown;\r\n\r\n\t#ufmContext?: typeof UMB_UFM_CONTEXT.TYPE;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tthis.consumeContext(UMB_UFM_CONTEXT, (ufmContext) => {\r\n\t\t\tthis.#ufmContext = ufmContext;\r\n\t\t});\r\n\t}\r\n\r\n\toverride render() {\r\n\t\tif (!this.#ufmContext) return nothing;\r\n\r\n\t\tlet values = Array.isArray(this.value) ? this.value : [this.value];\r\n\t\tif (this.#filterFuncArgs) {\r\n\t\t\tfor (const item of this.#filterFuncArgs) {\r\n\t\t\t\tconst filter = this.#ufmContext.getFilterByAlias(item.alias);\r\n\t\t\t\tif (filter) {\r\n\t\t\t\t\tvalues = values.map((value) => filter(value, ...item.args));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn values.join(', ');\r\n\t}\r\n}\r\n"],"names":["UmbUfmComponentBase","text","pipeIndex","alias","filters","key","value","UmbUfmElementBase","UmbLitElement","#filterFuncArgs","#filters","item","args","x","#ufmContext","UMB_UFM_CONTEXT","ufmContext","nothing","values","filter","__decorateClass","property","state"],"mappings":";;;AAGO,MAAeA,EAAkD;AAAA,EAC7D,cAAcC,GAA6B;AAChD,QAAA,CAACA,EAAa,QAAA;AAEZ,UAAAC,IAAYD,EAAK,QAAQ,GAAG;AAElC,QAAIC,MAAc;AACV,aAAA,UAAUD,EAAK,KAAA,CAAM;AAG7B,UAAME,IAAQF,EAAK,UAAU,GAAGC,CAAS,EAAE,KAAK,GAC1CE,IAAUH,EAAK,UAAUC,IAAY,CAAC,EAAE,KAAK;AAE5C,WAAA,OAAO,QAAQ,EAAE,OAAAC,GAAO,SAAAC,GAAS,EACtC,IAAI,CAAC,CAACC,GAAKC,CAAK,MAAOA,IAAQ,GAAGD,CAAG,KAAKC,EAAM,KAAA,CAAM,MAAM,IAAK,EACjE,KAAK,GAAG;AAAA,EAAA;AAAA,EAKX,UAAU;AAAA,EAAA;AACX;;;;;;ACpBO,MAAeC,UAA0BC,EAAc;AAAA,EAC7DC;AAAA,EAGA,IAAW,QAAQH,GAA2B;AAC7C,SAAKI,KAAWJ,GAEhB,KAAKG,KAAkBH,GACpB,MAAM,GAAG,EACV,OAAO,CAACK,MAASA,CAAI,EACrB,IAAI,CAACA,MAAS;AACd,YAAM,CAACR,GAAO,GAAGS,CAAI,IAAID,EAAK,MAAM,GAAG,EAAE,IAAI,CAACE,MAAMA,EAAE,MAAM;AACrD,aAAA,EAAE,OAAAV,GAAO,MAAAS,EAAK;AAAA,IAAA,CACrB;AAAA,EAAA;AAAA,EAEH,IAAW,UAA8B;AACxC,WAAO,KAAKF;AAAA,EAAA;AAAA,EAEbA;AAAA,EAKAI;AAAA,EAEA,cAAc;AACP,UAAA,GAED,KAAA,eAAeC,GAAiB,CAACC,MAAe;AACpD,WAAKF,KAAcE;AAAA,IAAA,CACnB;AAAA,EAAA;AAAA,EAGO,SAAS;AACb,QAAA,CAAC,KAAKF,GAAoB,QAAAG;AAE1B,QAAAC,IAAS,MAAM,QAAQ,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,KAAK,KAAK;AACjE,QAAI,KAAKT;AACG,iBAAAE,KAAQ,KAAKF,IAAiB;AACxC,cAAMU,IAAS,KAAKL,GAAY,iBAAiBH,EAAK,KAAK;AAC3D,QAAIQ,MACMD,IAAAA,EAAO,IAAI,CAACZ,MAAUa,EAAOb,GAAO,GAAGK,EAAK,IAAI,CAAC;AAAA,MAC3D;AAIK,WAAAO,EAAO,KAAK,IAAI;AAAA,EAAA;AAEzB;AA5CYE,EAAA;AAAA,EADVC,EAAS;AAAA,GAHWd,EAIV,WAAA,WAAA,CAAA;AAiBXa,EAAA;AAAA,EADCE,EAAM;AAAA,GApBcf,EAqBrB,WAAA,SAAA,CAAA;"}