@acorex-platform/module-application-management-client 0.0.38 → 0.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/fesm2022/{acorex-platform-module-application-management-client-assign-features.command-cU7MY74u.mjs → acorex-platform-module-application-management-client-assign-features.command-CEuIYheD.mjs} +2 -2
  2. package/fesm2022/{acorex-platform-module-application-management-client-assign-features.command-cU7MY74u.mjs.map → acorex-platform-module-application-management-client-assign-features.command-CEuIYheD.mjs.map} +1 -1
  3. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-term.mjs +14 -0
  4. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-term.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-version.mjs +15 -0
  6. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-app-version.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-application.mjs +14 -0
  8. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-application.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-edition.mjs +14 -0
  10. package/fesm2022/acorex-platform-module-application-management-client-contracts-entities-edition.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-module-application-management-client-contracts-entity-catalog-acorex-platform-module-application-management-client-contracts-entity-catalog-joJGmPZP.mjs → acorex-platform-module-application-management-client-contracts-entity-catalog-acorex-platform-module-application-management-client-contracts-entity-catalog-311tpDhr.mjs} +5 -5
  12. package/fesm2022/{acorex-platform-module-application-management-client-contracts-entity-catalog-acorex-platform-module-application-management-client-contracts-entity-catalog-joJGmPZP.mjs.map → acorex-platform-module-application-management-client-contracts-entity-catalog-acorex-platform-module-application-management-client-contracts-entity-catalog-311tpDhr.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-module-application-management-client-contracts-entity-catalog-app-term.entity-BfVDQrrt.mjs → acorex-platform-module-application-management-client-contracts-entity-catalog-app-term.entity-DDvm1sOg.mjs} +16 -2
  14. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-term.entity-DDvm1sOg.mjs.map +1 -0
  15. package/fesm2022/{acorex-platform-module-application-management-client-contracts-entity-catalog-app-version.entity-BVuFZBZ0.mjs → acorex-platform-module-application-management-client-contracts-entity-catalog-app-version.entity-DjOMTlcp.mjs} +17 -2
  16. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-version.entity-DjOMTlcp.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BYn6bLjH.mjs → acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BWOz1V1N.mjs} +16 -2
  18. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BWOz1V1N.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-DOhvvPnU.mjs → acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-VjrQsh0t.mjs} +16 -2
  20. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-VjrQsh0t.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog.mjs +1 -1
  22. package/fesm2022/acorex-platform-module-application-management-client-contracts.mjs +21 -1
  23. package/fesm2022/acorex-platform-module-application-management-client-contracts.mjs.map +1 -1
  24. package/fesm2022/{acorex-platform-module-application-management-client-features-editor.component-D9Tfh0gb.mjs → acorex-platform-module-application-management-client-features-editor.component-Cg1oFhmZ.mjs} +4 -3
  25. package/fesm2022/acorex-platform-module-application-management-client-features-editor.component-Cg1oFhmZ.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-module-application-management-client-features-widget-edit.component-B9YJsZFp.mjs → acorex-platform-module-application-management-client-features-widget-edit.component-B_fnVBe5.mjs} +2 -2
  27. package/fesm2022/{acorex-platform-module-application-management-client-features-widget-edit.component-B9YJsZFp.mjs.map → acorex-platform-module-application-management-client-features-widget-edit.component-B_fnVBe5.mjs.map} +1 -1
  28. package/fesm2022/acorex-platform-module-application-management-client.mjs +88 -57
  29. package/fesm2022/acorex-platform-module-application-management-client.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/types/acorex-platform-module-application-management-client-contracts.d.ts +15 -4
  32. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-term.entity-BfVDQrrt.mjs.map +0 -1
  33. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-app-version.entity-BVuFZBZ0.mjs.map +0 -1
  34. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BYn6bLjH.mjs.map +0 -1
  35. package/fesm2022/acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-DOhvvPnU.mjs.map +0 -1
  36. package/fesm2022/acorex-platform-module-application-management-client-features-editor.component-D9Tfh0gb.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-application-management-client-contracts-entity-catalog-application.entity-BYn6bLjH.mjs","sources":["../../../../libs/modules/application-management/contracts/src/entities/application/application.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityDetailsCrudActions, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Application Entity Factory ----\n\nexport async function applicationEntityFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n + ':applications.entities.application';\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.application.name,\n icon: RootConfig.entities.application.icon,\n title: RootConfig.entities.application.title,\n plugins: [\n { name: 'history' },\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'application-management.status.application',\n },\n },\n {\n name: 'category',\n options: {\n appearance: { icon: true, color: true },\n },\n },\n {\n name: 'color',\n options: {\n group: 'branding',\n }\n },\n ],\n formats: {\n individual: RootConfig.entities.application.title,\n plural: RootConfig.entities.application.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.edition.name}`,\n title: `@${i18n}.groups.editions`,\n conditions: [{ name: 'id', operator: { type: 'in' }, value: '{{ context.eval(\"editionIds\") }}' }],\n actions: [...entityDetailsCrudActions('editionIds')],\n layout: { type: 'page-list', position: 'after', order: 1 },\n persistence: {\n dataPath: 'editions',\n strategy: 'referenced',\n idField: 'editionIds',\n },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.appTerm.name}`,\n title: `@${RootConfig.config.i18n}:app-terms.entities.app-term.plural`,\n icon: RootConfig.entities.appTerm.icon,\n conditions: [{ name: 'applicationId', operator: { type: 'equal' }, value: '{{ context.eval(\"id\") }}' }],\n actions: [...entityDetailsCrudActions('applicationId')],\n layout: { type: 'page-list', position: 'after', order: 2 },\n columns: ['title', 'version', 'effectiveDate'],\n },\n ],\n groups: [\n {\n id: 'basic-info',\n title: `@${i18n}.groups.basic-info`,\n },\n {\n id: 'branding',\n title: `@${i18n}.groups.branding`,\n },\n {\n id: 'links',\n title: `@${i18n}.groups.links`,\n },\n {\n id: 'metadata',\n title: `@${i18n}.groups.metadata`,\n },\n {\n id: 'edition-assignment',\n title: `@${i18n}.groups.edition-assignment`,\n },\n ],\n properties: [\n {\n name: 'code',\n title: `@${i18n}.fields.code.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'title',\n title: `@${i18n}.fields.title.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n multiLanguage: true,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `@${i18n}.fields.description.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n multiLanguage: true,\n },\n },\n },\n },\n {\n name: 'version',\n title: `@${i18n}.fields.version.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'tags',\n title: `@${i18n}.fields.tags.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: false,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'icon',\n title: `@${i18n}.fields.icon.title`,\n groupId: 'branding',\n options: {\n sort: {\n enabled: false,\n },\n filter: {\n advance: {\n enabled: false,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.iconChooser,\n },\n },\n },\n {\n name: 'logo',\n title: `@${i18n}.fields.logo.title`,\n groupId: 'branding',\n options: {\n sort: {\n enabled: false,\n },\n filter: {\n advance: {\n enabled: false,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.image,\n },\n },\n },\n {\n name: 'url',\n title: `@${i18n}.fields.url.title`,\n groupId: 'links',\n options: {\n sort: {\n enabled: false,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'documentationUrl',\n title: `@${i18n}.fields.documentation-url.title`,\n groupId: 'links',\n options: {\n sort: {\n enabled: false,\n },\n filter: {\n advance: {\n enabled: false,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'supportEmail',\n title: `@${i18n}.fields.support-email.title`,\n groupId: 'links',\n options: {\n sort: {\n enabled: false,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'releaseDate',\n title: `@${i18n}.fields.release-date.title`,\n groupId: 'metadata',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n },\n },\n },\n {\n name: 'isPublic',\n title: `@${i18n}.fields.is-public.title`,\n groupId: 'metadata',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n ],\n columns: [{ name: 'code' }, { name: 'title' }, { name: 'version' }, { name: 'statusId' }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'branding',\n },\n {\n id: 'links',\n },\n {\n id: 'metadata',\n },\n ],\n properties: [\n {\n name: 'code',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'tags',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'icon',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 7,\n },\n },\n },\n },\n {\n name: 'logo',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 8,\n },\n },\n },\n },\n {\n name: 'url',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 9,\n },\n },\n },\n },\n {\n name: 'documentationUrl',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 10,\n },\n },\n },\n },\n {\n name: 'supportEmail',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 11,\n },\n },\n },\n },\n {\n name: 'releaseDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 12,\n },\n },\n },\n },\n {\n name: 'isPublic',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 13,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'branding',\n },\n {\n id: 'links',\n },\n {\n id: 'metadata',\n },\n ],\n properties: [\n {\n name: 'code',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'tags',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'icon',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 7,\n },\n },\n },\n },\n {\n name: 'logo',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 8,\n },\n },\n },\n },\n {\n name: 'url',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 9,\n },\n },\n },\n },\n {\n name: 'documentationUrl',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 10,\n },\n },\n },\n },\n {\n name: 'supportEmail',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 11,\n },\n },\n },\n },\n {\n name: 'releaseDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 12,\n },\n },\n },\n },\n {\n name: 'isPublic',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 13,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'branding',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'links',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'metadata',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'code',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'version',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'tags',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'icon',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 7,\n },\n },\n },\n },\n {\n name: 'logo',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 8,\n },\n },\n },\n },\n {\n name: 'url',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 9,\n },\n },\n },\n },\n {\n name: 'documentationUrl',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 10,\n },\n },\n },\n },\n {\n name: 'supportEmail',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 11,\n },\n },\n },\n },\n {\n name: 'releaseDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 12,\n },\n },\n },\n },\n {\n name: 'isPublic',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 13,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAKA;AAEA;AAEO,eAAe,wBAAwB,GAAA;IAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,oCAAoC;AAE1E,IAAA,MAAM,SAAS,GAAc;AAC3B,QAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI;AAC1C,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI;AAC1C,QAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;AAC5C,QAAA,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE;AACnB,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,UAAU;AACjB,oBAAA,UAAU,EAAE,2CAA2C;AACxD,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,OAAO,EAAE;oBACP,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AACxC,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,UAAU;AAClB;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;AACjD,YAAA,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW;AACnD,YAAA,YAAY,EAAE;AACZ,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AACrC,aAAA;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA;AACE,gBAAA,MAAM,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA,CAAE;gBACvE,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,gBAAA,CAAkB;AACjC,gBAAA,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;AACjG,gBAAA,OAAO,EAAE,CAAC,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;AACpD,gBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1D,gBAAA,WAAW,EAAE;AACX,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,OAAO,EAAE,YAAY;AACtB,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,MAAM,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA,CAAE;AACvE,gBAAA,KAAK,EAAE,CAAA,CAAA,EAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,mCAAA,CAAqC;AACtE,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AACtC,gBAAA,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;AACvG,gBAAA,OAAO,EAAE,CAAC,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;AACvD,gBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1D,gBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC;AAC/C,aAAA;AACF,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACpC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,gBAAA,CAAkB;AAClC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,aAAA,CAAe;AAC/B,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,gBAAA,CAAkB;AAClC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,oBAAoB;gBACxB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,0BAAA,CAA4B;AAC5C,aAAA;AACF,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA;AACE,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACnC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,mBAAA,CAAqB;AACpC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC5B,wBAAA,OAAO,EAAE;AACP,4BAAA,aAAa,EAAE,IAAI;AACpB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;AACX,oBAAA;AACE,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,yBAAA,CAA2B;AAC1C,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,SAAS;AACjC,wBAAA,OAAO,EAAE;AACP,4BAAA,aAAa,EAAE,IAAI;AACpB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,qBAAA,CAAuB;AACtC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACnC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,KAAK;AACf,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACnC,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,KAAK;AACf,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,WAAW;AACpC,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACnC,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,KAAK;AACf,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,KAAK;AAC9B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,iBAAA,CAAmB;AAClC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,KAAK;AACf,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,+BAAA,CAAiC;AAChD,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,KAAK;AACf,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,2BAAA,CAA6B;AAC5C,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,KAAK;AACf,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,0BAAA,CAA4B;AAC3C,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,QAAQ;AACjC,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,uBAAA,CAAyB;AACxC,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,MAAM,EAAE;AACN,4BAAA,OAAO,EAAE,IAAI;AACd,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC/B,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACzF,QAAA,UAAU,EAAE;AACV,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,YAAY;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,UAAU;AACf,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,OAAO;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,UAAU;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACX,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,SAAS;AACf,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACX,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,kBAAkB;AACxB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,cAAc;AACpB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,YAAY;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,UAAU;AACf,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,OAAO;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,UAAU;AACf,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACX,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,SAAS;AACf,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACX,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,kBAAkB;AACxB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,cAAc;AACpB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,YAAY;AAChB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,UAAU;AACd,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,OAAO;AACX,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,UAAU;AACd,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACZ,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACX,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,SAAS;AACf,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,EAAE;AACX,wCAAA,KAAK,EAAE,CAAC;AACT,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,kBAAkB;AACxB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,cAAc;AACpB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACN,gCAAA,SAAS,EAAE;AACT,oCAAA,EAAE,EAAE;AACF,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,KAAK,EAAE,EAAE;AACV,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC;AAC1C,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE,CAAC,GAAG,uBAAuB,EAAE,CAAC;AACvC,oBAAA,KAAK,EAAE;AACL,wBAAA,kBAAkB,CAAC;4BACjB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;yBACvC,CAAC;AACH,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,OAAO,SAAS;AAClB;AAEA;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-application-management-client-contracts-entity-catalog-edition.entity-DOhvvPnU.mjs","sources":["../../../../libs/modules/application-management/contracts/src/entities/edition/edition.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityDetailsCrudActions, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Edition Entity Factory ----\n\nexport async function editionEntityFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n + ':editions.entities.edition';\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.edition.name,\n icon: RootConfig.entities.edition.icon,\n title: RootConfig.entities.edition.title,\n formats: {\n individual: RootConfig.entities.edition.title,\n plural: RootConfig.entities.edition.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [\n {\n entity: `${\"SubscriptionManagement\"}.${\"Subscription\"}`,\n title: `@${RootConfig.config.i18n}:editions.entities.related-entities.subscriptions.title`,\n icon: \"fa-light fa-credit-card\",\n columns: ['planId', 'statusId', 'startDate', 'endDate'],\n conditions: [\n { name: 'subscriberType', operator: { type: 'equal' }, value: 'ApplicationEdition' },\n { name: 'subscriberId', operator: { type: 'equal' }, value: '{{ context.eval(\"id\") }}' },\n ],\n actions: [...entityDetailsCrudActions('subscriberId')],\n layout: { type: 'page-list', position: 'after', order: 1 },\n },\n ],\n groups: [\n {\n id: 'basic-info',\n title: `@${i18n}.groups.basic-info`,\n },\n {\n id: 'modules',\n title: `@${i18n}.groups.modules`,\n },\n ],\n properties: [\n {\n name: 'title',\n title: `@${i18n}.fields.title.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n multiLanguage: true,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `@${i18n}.fields.description.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n multiLanguage: true,\n },\n },\n },\n },\n {\n name: 'modulesAndFeatures',\n title: `@${i18n}.fields.modules-and-features.title`,\n groupId: 'modules',\n schema: {\n dataType: 'object',\n interface: {\n type: 'module-feature-editor',\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'description' }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'modules',\n look: 'group',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'modulesAndFeatures',\n layout: {\n label: { visible: false },\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'modules',\n look: 'group',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'modulesAndFeatures',\n layout: {\n label: { visible: false },\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'modules',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'modulesAndFeatures',\n layout: {\n label: { visible: false },\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: '@platform-management:menu-management.actions.customize-menu.title',\n icon: 'fa-light fa-bars',\n command: {\n name: 'customize-menu',\n options: {\n scopePrefix: 'edition',\n },\n },\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-application-management-client-features-editor.component-D9Tfh0gb.mjs","sources":["../../../../libs/modules/application-management/client/src/lib/features/features-widget/features-editor.component.ts","../../../../libs/modules/application-management/client/src/lib/features/features-widget/features-editor.component.html"],"sourcesContent":["//#region ----- Imports -----\n\nimport type { AXPWidgetNode } from '@acorex-platform/framework-shared/core';\nimport {\n Component,\n ViewEncapsulation,\n computed,\n inject,\n signal,\n input,\n output,\n OnInit,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXValueChangedEvent } from '@acorex/cdk/common';\nimport {\n AXPModuleManifestRegistry,\n AXPModuleManifest,\n AXPModuleFeatureDefinition,\n AXP_MODULE_TYPE,\n AXP_MODULE_DOMAIN,\n resolveModuleType,\n resolveModuleDomain,\n type AXPModuleType,\n} from '@acorex-platform/framework-client/core';\nimport { AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPApplicationInfoSettings } from '@acorex-platform/module-application-management-client/contracts';\n\n//#endregion\n\n//#region ----- Types -----\n\ntype EditionModulesViewMode = 'type' | 'domain';\n\ntype ModuleListItem = AXPModuleManifest & {\n translatedTitle?: string;\n translatedDescription?: string;\n featureSearchText?: string;\n};\n\ntype ModuleGroupView = {\n id: string;\n titleKey: string;\n modules: ModuleListItem[];\n};\n\n//#endregion\n\n//#region ----- Constants -----\n\nconst I18N = '@application-management:editions.modules-editor';\n\nconst TYPE_ORDER: AXPModuleType[] = [\n AXP_MODULE_TYPE.platform,\n AXP_MODULE_TYPE.domain,\n AXP_MODULE_TYPE.integration,\n];\n\nconst DOMAIN_ORDER: string[] = [\n AXP_MODULE_DOMAIN.platform,\n AXP_MODULE_DOMAIN.humanCapital,\n AXP_MODULE_DOMAIN.projectManagement,\n AXP_MODULE_DOMAIN.assetMaintenance,\n AXP_MODULE_DOMAIN.workplaceSafety,\n AXP_MODULE_DOMAIN.assessmentLearning,\n AXP_MODULE_DOMAIN.financeCommerce,\n AXP_MODULE_DOMAIN.customerSupplier,\n AXP_MODULE_DOMAIN.communication,\n AXP_MODULE_DOMAIN.ai,\n AXP_MODULE_DOMAIN.contentDocuments,\n AXP_MODULE_DOMAIN.data,\n AXP_MODULE_DOMAIN.operations,\n AXP_MODULE_DOMAIN.weather,\n AXP_MODULE_DOMAIN.sourceControl,\n AXP_MODULE_DOMAIN.general,\n];\n\n//#endregion\n\n//#region ----- Features Editor Component -----\n\n@Component({\n selector: 'axm-features-editor',\n templateUrl: './features-editor.component.html',\n styleUrl: './features-editor.component.css',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXCheckBoxModule,\n AXLabelModule,\n AXTranslationModule,\n AXTooltipModule,\n AXSearchBoxModule,\n AXButtonGroupModule,\n AXButtonModule,\n AXDecoratorModule,\n AXPWidgetCoreModule,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n host: {\n class: 'axm-features-editor flex flex-col w-full min-h-0',\n },\n})\nexport class AXPFeaturesEditorComponent implements OnInit {\n //#region ----- Services & Dependencies -----\n\n private readonly manifestRegistry = inject(AXPModuleManifestRegistry);\n private readonly translationService = inject(AXTranslationService);\n private readonly settingsService = inject(AXPSettingsService);\n\n //#endregion\n\n //#region ----- Inputs / Outputs -----\n\n /** Initial value: { modules: string[], features: Record<string, any> } */\n initialValue = input<{ modules?: string[]; features?: Record<string, any> }>({});\n\n /** Whether the editor is in read-only mode */\n readOnly = input<boolean>(false);\n\n /** Event emitted when modules/features selection/values change */\n valueChanged = output<{ modules: string[]; features: Record<string, any> }>();\n\n //#endregion\n\n //#region ----- State Signals -----\n\n protected readonly i18n = I18N;\n\n protected readonly searchTerm = signal('');\n\n protected readonly viewMode = signal<EditionModulesViewMode>('type');\n\n /** All available module manifests with translated titles */\n private readonly allModules = signal<ModuleListItem[]>([]);\n\n /** Selected module names */\n protected readonly selectedModules = signal<Set<string>>(new Set());\n\n /** Expanded module names */\n protected readonly expandedModules = signal<Set<string>>(new Set());\n\n /** Expanded feature full names */\n protected readonly expandedFeatures = signal<Set<string>>(new Set());\n\n /** Map of feature values: Record<featureName, featureValue> */\n protected readonly featureValues = signal<Record<string, any>>({});\n\n /** Cache for widget nodes to prevent re-creation and blinking */\n private readonly widgetNodeCache = new Map<string, AXPWidgetNode>();\n\n /** Cache for feature data to prevent re-computation */\n private readonly moduleFeaturesCache = new Map<\n string,\n Array<{\n key: string;\n fullName: string;\n definition: AXPModuleFeatureDefinition;\n isEnabled: boolean;\n widgetNode: AXPWidgetNode | null;\n }>\n >();\n\n /** Set of modules that are currently loading features */\n private readonly loadingFeatures = signal<Set<string>>(new Set());\n\n /** Signal to trigger change detection when features are loaded */\n private readonly featuresLoaded = signal<number>(0);\n\n //#endregion\n\n //#region ----- Computed Properties -----\n\n /** Required module names (always enabled, cannot be disabled) */\n protected readonly requiredModules = computed(() => {\n return new Set(this.allModules().filter((m) => m.required === true).map((m) => m.name));\n });\n\n /** Modules that are dependencies of selected modules (auto-selected and disabled) */\n protected readonly dependencyModules = computed(() => {\n const selected = this.selectedModules();\n const allManifests = this.manifestRegistry.getAll();\n const dependencySet = new Set<string>();\n\n for (const manifest of allManifests) {\n if (selected.has(manifest.name) && manifest.dependencies) {\n for (const dep of manifest.dependencies) {\n if (!dep.includes('.')) {\n dependencySet.add(dep);\n }\n }\n }\n }\n\n return dependencySet;\n });\n\n /** Always-available (required) modules matching the current search */\n protected readonly alwaysAvailableModules = computed(() => {\n return this.sortModules(\n this.allModules().filter((m) => m.required === true && this.matchesSearch(m)),\n );\n });\n\n /** Grouped non-required modules for the active view mode */\n protected readonly moduleGroups = computed((): ModuleGroupView[] => {\n const modules = this.sortModules(\n this.allModules().filter((m) => m.required !== true && this.matchesSearch(m)),\n );\n\n if (this.viewMode() === 'type') {\n return this.groupByType(modules);\n }\n return this.groupByDomain(modules);\n });\n\n protected readonly hasVisibleModules = computed(() => {\n return this.alwaysAvailableModules().length > 0 || this.moduleGroups().some((g) => g.modules.length > 0);\n });\n\n //#endregion\n\n //#region ----- Lifecycle -----\n\n ngOnInit() {\n // Sync paint only — never await settings/i18n/initialize on the critical path\n // (settings.get can hang on session ready and previously left the UI stuck).\n const manifests = this.manifestRegistry.getAll();\n this.allModules.set(\n manifests.map((manifest) => ({\n ...manifest,\n translatedTitle: manifest.title,\n translatedDescription: manifest.description || '',\n featureSearchText: '',\n })),\n );\n\n const initialValue = this.initialValue();\n const initialModules = new Set<string>(initialValue.modules || []);\n\n if (initialValue.features) {\n for (const featureKey of Object.keys(initialValue.features)) {\n const [moduleName] = featureKey.split(':');\n if (moduleName) {\n initialModules.add(moduleName);\n }\n }\n }\n\n this.requiredModules().forEach((moduleName) => {\n initialModules.add(moduleName);\n });\n\n this.ensureDependencies(initialModules);\n this.selectedModules.set(initialModules);\n\n if (initialValue.features) {\n this.featureValues.set(initialValue.features);\n }\n\n this.widgetNodeCache.clear();\n this.moduleFeaturesCache.clear();\n\n // Prefer sync cache — scoped get() can block on session/scope load.\n const cachedViewMode = this.settingsService.peekCached(\n AXPApplicationInfoSettings.EditionModulesViewMode,\n );\n if (cachedViewMode === 'type' || cachedViewMode === 'domain') {\n this.viewMode.set(cachedViewMode);\n }\n\n void this.hydrateAsync();\n }\n\n private async hydrateAsync(): Promise<void> {\n try {\n if (this.allModules().length === 0) {\n await this.manifestRegistry.initialize();\n const manifests = this.manifestRegistry.getAll();\n this.allModules.set(\n manifests.map((manifest) => ({\n ...manifest,\n translatedTitle: manifest.title,\n translatedDescription: manifest.description || '',\n featureSearchText: '',\n })),\n );\n this.requiredModules().forEach((moduleName) => {\n const selected = new Set(this.selectedModules());\n selected.add(moduleName);\n this.ensureDependencies(selected);\n this.selectedModules.set(selected);\n });\n }\n\n const modules = this.allModules();\n const enriched = await Promise.all(\n modules.map(async (module) => {\n let translatedTitle = module.title;\n try {\n translatedTitle =\n (await this.translationService.translateAsync(module.title)) || module.title;\n } catch {\n // keep raw title\n }\n return {\n ...module,\n translatedTitle,\n } satisfies ModuleListItem;\n }),\n );\n this.allModules.set(enriched);\n } catch (error) {\n console.warn('Features editor background hydrate failed', error);\n }\n }\n\n //#endregion\n\n //#region ----- Grouping & Search -----\n\n private matchesSearch(module: ModuleListItem): boolean {\n const term = String(this.searchTerm() ?? '')\n .trim()\n .toLowerCase();\n if (!term) {\n return true;\n }\n\n const haystack = [\n module.translatedTitle,\n module.translatedDescription,\n module.title,\n module.description,\n module.name,\n module.featureSearchText,\n ]\n .filter(Boolean)\n .join(' ')\n .toLowerCase();\n\n return haystack.includes(term);\n }\n\n private sortModules(modules: ModuleListItem[]): ModuleListItem[] {\n return [...modules].sort((a, b) => {\n const titleA = a.translatedTitle || a.title || '';\n const titleB = b.translatedTitle || b.title || '';\n return titleA.localeCompare(titleB, undefined, { sensitivity: 'base' });\n });\n }\n\n private groupByType(modules: ModuleListItem[]): ModuleGroupView[] {\n const buckets = new Map<AXPModuleType, ModuleListItem[]>();\n for (const type of TYPE_ORDER) {\n buckets.set(type, []);\n }\n\n for (const module of modules) {\n const type = resolveModuleType(module);\n const list = buckets.get(type) ?? [];\n list.push(module);\n buckets.set(type, list);\n }\n\n return TYPE_ORDER.filter((type) => (buckets.get(type)?.length ?? 0) > 0).map((type) => ({\n id: `type:${type}`,\n titleKey: `${I18N}.types.${type}`,\n modules: buckets.get(type) ?? [],\n }));\n }\n\n private groupByDomain(modules: ModuleListItem[]): ModuleGroupView[] {\n const buckets = new Map<string, ModuleListItem[]>();\n\n for (const module of modules) {\n const domain = resolveModuleDomain(module);\n const list = buckets.get(domain) ?? [];\n list.push(module);\n buckets.set(domain, list);\n }\n\n const known = DOMAIN_ORDER.filter((domain) => (buckets.get(domain)?.length ?? 0) > 0);\n const extra = [...buckets.keys()]\n .filter((domain) => !DOMAIN_ORDER.includes(domain))\n .sort((a, b) => a.localeCompare(b));\n\n return [...known, ...extra].map((domain) => ({\n id: `domain:${domain}`,\n titleKey: `${I18N}.domains.${domain}`,\n modules: buckets.get(domain) ?? [],\n }));\n }\n\n //#endregion\n\n //#region ----- Public API -----\n\n public getValue(): { modules: string[]; features: Record<string, any> } {\n return {\n modules: Array.from(this.selectedModules()),\n features: this.featureValues(),\n };\n }\n\n public setValue(value: { modules?: string[]; features?: Record<string, any> }): void {\n if (value.modules) {\n this.selectedModules.set(new Set(value.modules));\n }\n if (value.features) {\n this.featureValues.set(value.features);\n }\n this.emitValueChanged();\n }\n\n //#endregion\n\n //#region ----- Data Loading -----\n\n private createWidgetNode(definition: AXPModuleFeatureDefinition, fullName: string): AXPWidgetNode | null {\n if (!definition.interface) {\n return null;\n }\n\n const currentValue = this.featureValues()[fullName];\n const defaultValue =\n currentValue !== undefined && currentValue !== null ? currentValue : definition.defaultValue;\n\n let widgetNode = this.widgetNodeCache.get(fullName);\n\n if (!widgetNode) {\n widgetNode = {\n type: definition.interface.type,\n name: fullName,\n defaultValue: defaultValue,\n options: definition.interface.options || {},\n };\n this.widgetNodeCache.set(fullName, widgetNode);\n } else if (widgetNode.defaultValue !== defaultValue) {\n widgetNode.defaultValue = defaultValue;\n }\n\n return widgetNode;\n }\n\n private emitValueChanged(): void {\n this.valueChanged.emit(this.getValue());\n }\n\n private ensureDependencies(modules: Set<string>): void {\n const allManifests = this.manifestRegistry.getAll();\n let changed = true;\n\n while (changed) {\n changed = false;\n for (const manifest of allManifests) {\n if (modules.has(manifest.name) && manifest.dependencies) {\n for (const dep of manifest.dependencies) {\n if (!dep.includes('.') && !modules.has(dep)) {\n modules.add(dep);\n changed = true;\n }\n }\n }\n }\n }\n }\n\n protected getModuleFeatures(module: AXPModuleManifest): Array<{\n key: string;\n fullName: string;\n definition: AXPModuleFeatureDefinition;\n isEnabled: boolean;\n widgetNode: AXPWidgetNode | null;\n }> {\n this.featuresLoaded();\n\n const moduleFeatures = this.manifestRegistry.getModuleFeatures(module.name);\n if (moduleFeatures.length === 0) {\n return [];\n }\n\n const cacheKey = module.name;\n const currentValues = this.featureValues();\n const cached = this.moduleFeaturesCache.get(cacheKey);\n if (cached) {\n cached.forEach((feature) => {\n const currentValue = currentValues[feature.fullName];\n feature.isEnabled = currentValue !== undefined && currentValue !== null;\n\n if (feature.widgetNode) {\n const newDefaultValue =\n currentValue !== undefined && currentValue !== null\n ? currentValue\n : feature.definition.defaultValue;\n if (feature.widgetNode.defaultValue !== newDefaultValue) {\n feature.widgetNode.defaultValue = newDefaultValue;\n }\n }\n });\n return cached;\n }\n\n const features = moduleFeatures.map((featureDef) => {\n const fullName = featureDef.name;\n const shortKey = featureDef.key;\n const currentValue = currentValues[fullName];\n const isEnabled = currentValue !== undefined && currentValue !== null;\n const widgetNode = this.createWidgetNode(featureDef, fullName);\n\n return {\n key: shortKey,\n fullName,\n definition: featureDef,\n isEnabled,\n widgetNode,\n };\n });\n\n this.moduleFeaturesCache.set(cacheKey, features);\n return features;\n }\n\n private async loadModuleFeatures(module: AXPModuleManifest): Promise<void> {\n try {\n this.moduleFeaturesCache.delete(module.name);\n this.featuresLoaded.update((v) => v + 1);\n } finally {\n this.loadingFeatures.update((set) => {\n const newSet = new Set(set);\n newSet.delete(module.name);\n return newSet;\n });\n }\n }\n\n //#endregion\n\n //#region ----- Event Handlers -----\n\n protected onSearchTermChange(value: string | null | undefined): void {\n this.searchTerm.set(String(value ?? ''));\n }\n\n protected onViewModeChange(mode: EditionModulesViewMode): void {\n if (this.viewMode() === mode) {\n return;\n }\n this.viewMode.set(mode);\n // Fire-and-forget; do not block UI if scope load is slow.\n void this.settingsService\n .scope(AXPPlatformScope.User)\n .set(AXPApplicationInfoSettings.EditionModulesViewMode, mode)\n .catch((error) => {\n console.warn('Failed to persist edition modules view mode', error);\n });\n }\n\n protected toggleModule(module: AXPModuleManifest): void {\n const moduleName = module.name;\n const expanded = new Set(this.expandedModules());\n if (expanded.has(moduleName)) {\n expanded.delete(moduleName);\n } else {\n expanded.add(moduleName);\n if (!this.loadingFeatures().has(moduleName)) {\n this.loadingFeatures.update((set) => new Set(set).add(moduleName));\n this.loadModuleFeatures(module).catch((error) => {\n console.error(`Failed to refresh features for module ${moduleName}:`, error);\n });\n }\n }\n this.expandedModules.set(expanded);\n }\n\n protected toggleFeature(fullName: string): void {\n const expanded = new Set(this.expandedFeatures());\n if (expanded.has(fullName)) {\n expanded.delete(fullName);\n } else {\n expanded.add(fullName);\n }\n this.expandedFeatures.set(expanded);\n }\n\n protected isModuleExpanded(moduleName: string): boolean {\n return this.expandedModules().has(moduleName);\n }\n\n protected isFeatureExpanded(fullName: string): boolean {\n return this.expandedFeatures().has(fullName);\n }\n\n protected isModuleSelected(moduleName: string): boolean {\n if (this.selectedModules().has(moduleName)) {\n return true;\n }\n const featureValue = this.featureValues()[moduleName];\n return featureValue !== undefined && featureValue !== null;\n }\n\n protected isModuleRequired(moduleName: string): boolean {\n return this.requiredModules().has(moduleName);\n }\n\n protected isModuleDependency(moduleName: string): boolean {\n return this.dependencyModules().has(moduleName);\n }\n\n protected isModuleDisabled(moduleName: string): boolean {\n return this.isModuleRequired(moduleName) || this.isModuleDependency(moduleName);\n }\n\n protected canEnableModule(moduleName: string): boolean {\n const manifest = this.manifestRegistry.get(moduleName);\n if (!manifest?.dependencies || manifest.dependencies.length === 0) {\n return true;\n }\n\n const selected = this.selectedModules();\n const moduleDeps = manifest.dependencies.filter((dep) => !dep.includes('.'));\n return moduleDeps.every((dep) => selected.has(dep));\n }\n\n protected getMissingDependencies(moduleName: string): string[] {\n const manifest = this.manifestRegistry.get(moduleName);\n if (!manifest?.dependencies || manifest.dependencies.length === 0) {\n return [];\n }\n\n const selected = this.selectedModules();\n const moduleDeps = manifest.dependencies.filter((dep) => !dep.includes('.'));\n return moduleDeps.filter((dep) => !selected.has(dep));\n }\n\n protected getDependentModules(moduleName: string): string[] {\n const allManifests = this.manifestRegistry.getAll();\n return allManifests.filter((m) => m.dependencies?.includes(moduleName)).map((m) => m.name);\n }\n\n protected getModuleIcon(module: AXPModuleManifest): string {\n return module.icon || 'fa-light fa-cube';\n }\n\n protected hasModuleFeatures(module: AXPModuleManifest): boolean {\n return this.manifestRegistry.getModuleFeatures(module.name).length > 0;\n }\n\n protected onModuleToggle(module: AXPModuleManifest, event: AXValueChangedEvent): void {\n if (this.readOnly() || this.isModuleDisabled(module.name)) {\n return;\n }\n\n const selectedModules = new Set(this.selectedModules());\n const currentValues = { ...this.featureValues() };\n\n if (event.value) {\n selectedModules.add(module.name);\n currentValues[module.name] = true;\n this.ensureDependencies(selectedModules);\n\n if (!this.loadingFeatures().has(module.name)) {\n setTimeout(() => {\n this.loadingFeatures.update((set) => new Set(set).add(module.name));\n this.loadModuleFeatures(module).catch((error) => {\n console.error(`Failed to refresh features for module ${module.name}:`, error);\n this.loadingFeatures.update((set) => {\n const newSet = new Set(set);\n newSet.delete(module.name);\n return newSet;\n });\n });\n }, 0);\n }\n } else {\n const dependentModules = this.getDependentModules(module.name);\n const hasSelectedDependents = dependentModules.some((dep) => selectedModules.has(dep));\n\n if (hasSelectedDependents) {\n return;\n }\n\n selectedModules.delete(module.name);\n delete currentValues[module.name];\n }\n\n this.selectedModules.set(selectedModules);\n this.featureValues.set(currentValues);\n this.emitValueChanged();\n }\n\n protected onFeatureToggle(\n feature: {\n fullName: string;\n definition: AXPModuleFeatureDefinition;\n widgetNode: AXPWidgetNode | null;\n },\n event: AXValueChangedEvent,\n ): void {\n if (this.readOnly()) {\n return;\n }\n\n const currentValues = { ...this.featureValues() };\n\n if (event.value) {\n if (currentValues[feature.fullName] === undefined || currentValues[feature.fullName] === null) {\n currentValues[feature.fullName] =\n feature.definition.type === 'boolean' ? true : feature.definition.defaultValue;\n }\n } else {\n delete currentValues[feature.fullName];\n }\n\n this.featureValues.set(currentValues);\n this.emitValueChanged();\n }\n\n protected onFeatureValueChange(featureFullName: string, value: any): void {\n if (this.readOnly()) {\n return;\n }\n\n const currentValues = { ...this.featureValues() };\n currentValues[featureFullName] = value;\n this.featureValues.set(currentValues);\n this.emitValueChanged();\n }\n\n //#endregion\n}\n\n//#endregion\n","<!-- ----- Toolbar: search + view mode ----- -->\n<div class=\"axm-features-editor__toolbar\">\n <ax-search-box\n class=\"flex-1 min-w-[12rem]\"\n look=\"outline\"\n [placeholder]=\"(i18n + '.search-placeholder' | translate | async) || ''\"\n [ngModel]=\"searchTerm()\"\n [delayTime]=\"300\"\n (ngModelChange)=\"onSearchTermChange($event)\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n\n <ax-button-group selection=\"single\" look=\"outline\" class=\"shrink-0\">\n <ax-button-group-item\n [text]=\"(i18n + '.view-mode.type' | translate | async) ?? ''\"\n [selected]=\"viewMode() === 'type'\"\n [data]=\"'type'\"\n (onClick)=\"onViewModeChange('type')\">\n </ax-button-group-item>\n <ax-button-group-item\n [text]=\"(i18n + '.view-mode.domain' | translate | async) ?? ''\"\n [selected]=\"viewMode() === 'domain'\"\n [data]=\"'domain'\"\n (onClick)=\"onViewModeChange('domain')\">\n </ax-button-group-item>\n </ax-button-group>\n</div>\n\n<!-- ----- Module groups list ----- -->\n<div class=\"axm-features-editor__list overflow-auto\">\n <!--->\n <!-- ----- Empty search / filter result ----- -->\n @if (!hasVisibleModules()) {\n <div class=\"text-sm text-muted py-6 text-center\">\n {{ i18n + '.empty' | translate | async }}\n </div>\n }\n <!-- ----- Grouped modules with Always Available pinned first ----- -->\n @else {\n <!--->\n <!-- ----- Always available (required) modules ----- -->\n @if (alwaysAvailableModules().length > 0) {\n <section class=\"axm-features-editor__group\">\n <div class=\"axm-features-editor__group-title\">\n {{ i18n + '.always-available' | translate | async }}\n </div>\n <div class=\"flex flex-col gap-2\">\n @for (module of alwaysAvailableModules(); track module.name) {\n <ng-container *ngTemplateOutlet=\"moduleTemplate; context: { $implicit: module, level: 0 }\">\n </ng-container>\n }\n </div>\n </section>\n }\n\n @for (group of moduleGroups(); track group.id) {\n <section class=\"axm-features-editor__group\">\n <div class=\"axm-features-editor__group-title\">\n {{ group.titleKey | translate | async }}\n </div>\n <div class=\"flex flex-col gap-2\">\n @for (module of group.modules; track module.name) {\n <ng-container *ngTemplateOutlet=\"moduleTemplate; context: { $implicit: module, level: 0 }\">\n </ng-container>\n }\n </div>\n </section>\n }\n }\n</div>\n\n<!-- ----- Module row template ----- -->\n<ng-template #moduleTemplate let-module let-level=\"level\">\n <div class=\"flex flex-col\">\n <!-- ----- Module checkbox row ----- -->\n <div class=\"flex items-center gap-3 rounded hover:bg-surface-lowest\" [style.padding-left.px]=\"level * 32\">\n <span class=\"w-4\"></span>\n\n <ax-check-box\n [ngModel]=\"isModuleSelected(module.name)\"\n [readonly]=\"readOnly() || isModuleDisabled(module.name)\"\n [class.opacity-50]=\"isModuleDependency(module.name) && !isModuleRequired(module.name)\"\n (onValueChanged)=\"onModuleToggle(module, $event)\"\n (click)=\"$event.stopPropagation()\">\n </ax-check-box>\n\n <i [class]=\"getModuleIcon(module) + ' text-primary fa-fw'\"></i>\n\n <span class=\"flex-1 font-semibold\">{{ module.title | translate | async }}</span>\n\n <!--->\n <!-- ----- Required badge ----- -->\n @if (isModuleRequired(module.name)) {\n <span class=\"text-xs text-primary font-medium\">\n ({{ i18n + '.badges.required' | translate | async }})\n </span>\n }\n\n <!--->\n <!-- ----- Dependency badge ----- -->\n @if (isModuleDependency(module.name) && !isModuleRequired(module.name)) {\n <span class=\"text-xs text-secondary font-medium\">\n ({{ i18n + '.badges.dependency' | translate | async }})\n </span>\n }\n </div>\n\n <!--->\n <!-- ----- Nested features when module selected ----- -->\n @if (isModuleSelected(module.name) && hasModuleFeatures(module)) {\n <div class=\"flex flex-col gap-3 py-4 px-3\">\n @for (feature of getModuleFeatures(module); track feature.fullName) {\n <ng-container\n *ngTemplateOutlet=\"featureTemplate; context: { $implicit: feature, module: module, level: level + 1 }\">\n </ng-container>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<!-- ----- Feature row template ----- -->\n<ng-template #featureTemplate let-feature let-module=\"module\" let-level=\"level\">\n <div class=\"flex flex-col\">\n <div class=\"flex items-start gap-3 rounded hover:bg-surface-lowest\" [style.padding-left.px]=\"level * 32\">\n <span class=\"w-4\"></span>\n\n <ax-check-box\n [ngModel]=\"feature.isEnabled\"\n [readonly]=\"readOnly()\"\n (onValueChanged)=\"onFeatureToggle(feature, $event)\"\n (click)=\"$event.stopPropagation()\">\n </ax-check-box>\n\n <div class=\"flex flex-col flex-1 gap-1.5\">\n <div class=\"flex items-center gap-2\">\n <i class=\"fa-light fa-toggle-on text-secondary\"></i>\n <span class=\"font-semibold\">{{ feature.definition.title | translate | async }}</span>\n </div>\n\n <!--->\n <!-- ----- Feature description ----- -->\n @if (feature.definition.description) {\n <div class=\"text-sm text-muted ms-6 leading-relaxed\">\n {{ feature.definition.description | translate | async }}\n </div>\n }\n\n <!--->\n <!-- ----- Feature config widget ----- -->\n @if (feature.isEnabled && feature.widgetNode) {\n <div class=\"mt-3 ms-6 ax-sm\">\n <ng-container\n axp-widget-renderer\n [node]=\"feature.widgetNode\"\n [mode]=\"readOnly() ? 'view' : 'edit'\"\n (onValueChanged)=\"onFeatureValueChange(feature.fullName, $event.widget.getValue())\">\n </ng-container>\n </div>\n }\n </div>\n </div>\n </div>\n</ng-template>\n"],"names":["i3","i6","i8"],"mappings":"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"}