@acorex/platform 20.3.0-next.1 → 20.3.0-next.3

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 (113) hide show
  1. package/common/index.d.ts +120 -5
  2. package/core/index.d.ts +102 -61
  3. package/fesm2022/acorex-platform-auth.mjs +20 -20
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common.mjs +136 -112
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +287 -198
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +16 -16
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +1226 -687
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components.mjs +1525 -129
  14. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +159 -204
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity.mjs +3674 -1154
  18. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-views.mjs +387 -86
  20. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-native.mjs +7 -7
  22. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  24. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs → acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs} +6 -6
  26. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map} +1 -1
  27. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs +708 -0
  28. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs → acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs} +6 -13
  30. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs +244 -0
  32. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs} +4 -4
  34. package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs.map → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs.map → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs} +4 -4
  38. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs.map → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map} +1 -1
  39. package/fesm2022/acorex-platform-themes-default.mjs +64 -509
  40. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  41. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs → acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs} +4 -4
  42. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs.map} +1 -1
  43. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +1 -1
  44. package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs} +4 -4
  45. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs.map +1 -0
  46. package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs} +4 -4
  47. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs.map +1 -0
  48. package/fesm2022/acorex-platform-themes-shared.mjs +50 -52
  49. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  50. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs → acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs} +6 -6
  51. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +1 -0
  52. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs → acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs} +4 -5
  53. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +1 -0
  54. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs → acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs} +5 -5
  55. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs.map +1 -0
  56. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs → acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs} +4 -4
  57. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs.map} +1 -1
  58. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs → acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs} +5 -5
  59. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs.map +1 -0
  60. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs +50 -0
  61. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +1 -0
  62. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs +42 -0
  63. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +1 -0
  64. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs +55 -0
  65. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +1 -0
  66. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs +50 -0
  67. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +1 -0
  68. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs +48 -0
  69. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +1 -0
  70. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs +42 -0
  71. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +1 -0
  72. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs → acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs} +71 -6
  73. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +1 -0
  74. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs → acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs} +77 -67
  75. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs.map +1 -0
  76. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs → acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs} +4 -4
  77. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs.map → acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map} +1 -1
  78. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs} +8 -8
  79. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs.map} +1 -1
  80. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs → acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs} +6 -6
  81. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map} +1 -1
  82. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs → acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs} +10 -14
  83. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +1 -0
  84. package/fesm2022/acorex-platform-widgets.mjs +3953 -2138
  85. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  86. package/fesm2022/acorex-platform-workflow.mjs +28 -25
  87. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  88. package/layout/builder/index.d.ts +361 -181
  89. package/layout/components/index.d.ts +372 -25
  90. package/layout/designer/index.d.ts +16 -47
  91. package/layout/entity/index.d.ts +255 -336
  92. package/layout/views/index.d.ts +129 -22
  93. package/package.json +23 -37
  94. package/widgets/index.d.ts +372 -230
  95. package/workflow/index.d.ts +4 -1
  96. package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs +0 -22
  97. package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs +0 -665
  99. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs +0 -236
  102. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs +0 -211
  111. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-layout-components.mjs","sources":["../tmp-esm2022/layout/components/lib/activity-log/activity-log.component.js","../tmp-esm2022/layout/components/lib/badge/task-badge.type.js","../tmp-esm2022/layout/components/lib/badge/task-badge.service.js","../tmp-esm2022/layout/components/lib/badge/badge.directive.js","../tmp-esm2022/layout/components/lib/badge/badge-helper.js","../tmp-esm2022/layout/components/lib/blocks/layout-actions.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-blocks.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-footer.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-header.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-list.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-section.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-side.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-tool-bar.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-container.component.js","../tmp-esm2022/layout/components/lib/compare-view/compare-view.component.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot.types.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot-registery.service.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot.directive.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot.module.js","../tmp-esm2022/layout/components/lib/dynamic-form/dynamic-form.component.js","../tmp-esm2022/layout/components/lib/filters/layout-filters.component.js","../tmp-esm2022/layout/components/lib/user-avatar/user-avatar.provider.js","../tmp-esm2022/layout/components/lib/user-avatar/user-avatar.service.js","../tmp-esm2022/layout/components/lib/user-avatar/user-avatar.component.js","../tmp-esm2022/layout/components/lib/widget-item/widget-item.component.js","../tmp-esm2022/layout/components/acorex-platform-layout-components.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { getSystemActions } from '@acorex/platform/core';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, inject, ViewEncapsulation, signal, effect } from '@angular/core';\nimport { AXAccordionCdkModule } from '@acorex/cdk/accordion';\nimport { AXTagModule } from '@acorex/components/tag';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/core/translation\";\nimport * as i3 from \"@acorex/components/skeleton\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/format\";\n//#region ---- Component Definition ----\nexport class AXPActivityLogComponent {\n //#endregion\n //#region ---- Constructor & Lifecycle ----\n constructor() {\n //#endregion\n //#region ---- Services & Dependencies ----\n this.translateService = inject(AXTranslationService);\n this.workflowService = inject(AXPWorkflowService);\n //#endregion\n //#region ---- Input Properties ----\n /**\n * Array of activity logs to display\n */\n this.activities = input([], ...(ngDevMode ? [{ debugName: \"activities\" }] : []));\n /**\n * Whether the component is in loading state\n */\n this.loading = input(false, ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n //#endregion\n //#region ---- Component Properties ----\n this.i18nScope = 'activity-log';\n this.Object = Object;\n /**\n * Set of expanded activity IDs\n */\n this.expandedItems = signal(new Set(), ...(ngDevMode ? [{ debugName: \"expandedItems\" }] : []));\n /**\n * Flag to track if component has been initialized\n */\n this.isInitialized = signal(false, ...(ngDevMode ? [{ debugName: \"isInitialized\" }] : []));\n /**\n * Set of items that have been manually toggled (for animation control)\n */\n this.manuallyToggledItems = signal(new Set(), ...(ngDevMode ? [{ debugName: \"manuallyToggledItems\" }] : []));\n // Auto-expand top 5 items when activities change\n effect(() => {\n const activities = this.activities();\n const currentExpanded = this.expandedItems();\n const initialized = this.isInitialized();\n // Only auto-expand if not initialized and activities exist\n if (!initialized && activities.length > 0 && currentExpanded.size === 0) {\n const top5Ids = activities.slice(0, 5).map((activity) => activity.id);\n this.expandedItems.set(new Set(top5Ids));\n this.isInitialized.set(true);\n }\n });\n }\n //#endregion\n //#region ---- Utility Methods ----\n /**\n * Gets the appropriate CSS class for the change type\n */\n getChangeClasses(changeType) {\n const action = getSystemActions(changeType);\n return {\n surface: action?.color ? `ax-${action.color}-surface` : 'ax-muted-surface',\n text: action?.color ? `ax-text-${action.color}` : 'ax-text-muted',\n icon: action?.icon ? `${action.icon}` : 'fa-light fa-pen'\n };\n }\n /**\n * Checks if an activity item is expanded\n */\n isExpanded(activityId) {\n return this.expandedItems().has(activityId);\n }\n /**\n * Toggles the expanded state of an activity item\n */\n toggleExpanded(activityId) {\n const currentExpanded = new Set(this.expandedItems());\n const currentManuallyToggled = new Set(this.manuallyToggledItems());\n // Mark this item as manually toggled for animation purposes\n currentManuallyToggled.add(activityId);\n this.manuallyToggledItems.set(currentManuallyToggled);\n if (currentExpanded.has(activityId)) {\n currentExpanded.delete(activityId);\n }\n else {\n currentExpanded.add(activityId);\n }\n this.expandedItems.set(currentExpanded);\n }\n /**\n * Checks if an item should have expand/collapse animation\n */\n shouldAnimate(activityId) {\n return this.manuallyToggledItems().has(activityId);\n }\n /**\n * Checks if an activity has expandable content (changes)\n */\n hasExpandableContent(activity) {\n return activity.changes && activity.changes.length > 0;\n }\n //#endregion\n //#region ---- Compare Methods ----\n /**\n * Handles the compare action for an activity\n */\n async handleCompare(activity, event) {\n event.stopPropagation(); // Prevent expanding/collapsing when clicking compare\n // Get the previous activity for comparison\n const currentIndex = this.activities().findIndex(a => a.id === activity.id);\n if (currentIndex <= 0)\n return; // No previous activity to compare with\n const previousActivity = this.activities()[currentIndex - 1];\n const ids = [\n previousActivity.id,\n activity.id\n ];\n // Execute the compare workflow\n await this.workflowService.execute('show-entity-record-versions-compare', {\n entity: activity.reference.type,\n data: {\n refId: activity.reference.id,\n refType: activity.reference.type,\n ids: ids\n }\n });\n }\n /**\n * Checks if an activity can be compared (has a previous version)\n */\n canCompare(activity) {\n const currentIndex = this.activities().findIndex(a => a.id === activity.id);\n return currentIndex > 0; // Can compare if not the first activity\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPActivityLogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPActivityLogComponent, isStandalone: true, selector: \"axp-activity-log\", inputs: { activities: { classPropertyName: \"activities\", publicName: \"activities\", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: \"loading\", publicName: \"loading\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"axp-activity-log ax-accent2\\\" *translate=\\\"let t\\\">\\n\\n <!-- Activity Log Content -->\\n <div class=\\\"__content\\\">\\n\\n <!-- Loading State -->\\n @if (loading()) {\\n <div class=\\\"__loading\\\">\\n @for (item of [1,2,3,4]; track $index) {\\n <div class=\\\"__item\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__avatar\\\"></ax-skeleton>\\n <div class=\\\"__content\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__title\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__subtitle\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__description\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__time\\\"></ax-skeleton>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Activity Feed -->\\n @if (!loading() && activities().length > 0) {\\n <div class=\\\"__feed\\\">\\n @for (activity of activities(); track activity.id) {\\n @let changeClasses = getChangeClasses(activity.changeType);\\n @let isItemExpanded = isExpanded(activity.id);\\n @let hasExpandableContentItem = hasExpandableContent(activity);\\n <div class=\\\"__item\\\" [class.__collapsed]=\\\"!isItemExpanded\\\" [class.__expandable]=\\\"hasExpandableContentItem\\\">\\n\\n <div\\n class=\\\"ax-size-10 ax-rounded-full ax-border ax-flex ax-items-center ax-justify-center ax-lightest-surface \\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}} fa-solid\\\"></i>\\n </div>\\n\\n <!-- Activity Content -->\\n <div class=\\\"__content\\\">\\n <!-- Main Activity Info -->\\n <div class=\\\"__main-info\\\">\\n\\n <!-- User and Action with Toggle Button -->\\n <div class=\\\"__action-line __header-line\\\" (click)=\\\"toggleExpanded(activity.id)\\\">\\n <span class=\\\"__user-name\\\">{{ activity.user.title }}</span>\\n <span class=\\\"__action-type\\\">\\n {{ t(`actions.${activity.changeType}.title`, {\\n scope: 'general' }) | async }}\\n </span>\\n <span class=\\\"__action-text\\\">\\n {{ activity.title | translate | async }}\\n </span>\\n\\n <!-- Compare Button -->\\n @if (canCompare(activity)) {\\n <button type=\\\"button\\\" class=\\\"__compare-button\\\" (click)=\\\"handleCompare(activity, $event)\\\"\\n [attr.aria-label]=\\\"t('compare.title', { scope: i18nScope }) | async\\\">\\n <i class=\\\"fa-solid fa-code-compare\\\"></i>\\n </button>\\n }\\n\\n <!-- Toggle Button (only show if there's expandable content) -->\\n @if (hasExpandableContentItem) {\\n <button type=\\\"button\\\" class=\\\"__toggle-button\\\" [attr.aria-expanded]=\\\"isItemExpanded\\\"\\n [attr.aria-label]=\\\"isItemExpanded ? 'Collapse details' : 'Expand details'\\\">\\n <i class=\\\"fa-solid\\\" [class.fa-chevron-down]=\\\"!isItemExpanded\\\"\\n [class.fa-chevron-up]=\\\"isItemExpanded\\\"></i>\\n </button>\\n }\\n </div>\\n\\n <!-- Expandable Description/Changes -->\\n @if (hasExpandableContentItem && isItemExpanded && activity.changes.length > 0) {\\n <div class=\\\"__action-lines __expandable-content\\\"\\n [class.__animated]=\\\"shouldAnimate(activity.id)\\\">\\n @for (change of activity.changes; track $index) {\\n @let changeClasses = getChangeClasses(change.type);\\n <div class=\\\"__action-line\\\">\\n <div class=\\\"ax-rounded-full ax-size-7 ax-grid ax-place-items-center\\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}}\\\"></i>\\n </div>\\n <span class=\\\"__action-text\\\">{{\\n change.description | translate | async }}</span>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Time -->\\n <div class=\\\"__time\\\">\\n {{ activity.date | format: 'datetime' : 'short' | async }}\\n </div>\\n\\n </div>\\n\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Empty State -->\\n @if (!loading() && activities().length === 0) {\\n <div class=\\\"__empty\\\">\\n <div class=\\\"__icon\\\">\\n <ax-icon icon=\\\"fa-light fa-history\\\" class=\\\"__svg\\\"></ax-icon>\\n </div>\\n <div class=\\\"__content\\\">\\n <h4 class=\\\"__title\\\">{{ t('no-history.title', { scope: i18nScope }) | async }}</h4>\\n <p class=\\\"__message\\\">{{ t('no-history.message', { scope: i18nScope }) | async }}\\n </p>\\n </div>\\n </div>\\n }\\n\\n </div>\\n</div>\\n\\n<!-- \\n\\nax-success-surface\\nax-primary-surface\\nax-danger-surface\\nax-warning-surface\\nax-info-surface\\nax-muted-surface\\nax-text-success\\n\\n -->\", styles: [\".axp-activity-log{height:100%;width:100%}.axp-activity-log .__content .__loading>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item{display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__loading .__item .__avatar{height:3rem;width:3rem;flex-shrink:0;border-radius:9999px}.axp-activity-log .__content .__loading .__item .__content{flex:1 1 0%}.axp-activity-log .__content .__loading .__item .__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item .__content .__title{height:1rem;width:75%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__subtitle{height:.75rem;width:50%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__description{height:.75rem;width:83.333333%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__time{height:.75rem;width:25%;border-radius:.25rem}.axp-activity-log .__content .__feed{position:relative}.axp-activity-log .__content .__feed>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__feed:before{content:\\\"\\\";position:absolute;inset-inline-start:1.25rem;top:.5rem;bottom:.5rem;width:0px;border-left:1px solid rgba(var(--ax-sys-color-border-surface));z-index:0}.axp-activity-log .__content .__feed .__item{position:relative;display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__feed .__item axp-user-avatar{position:relative;z-index:10}.axp-activity-log .__content .__feed .__item .__content{min-width:0px;flex:1 1 0%}.axp-activity-log .__content .__feed .__item .__content .__main-info{margin-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;line-height:1.5}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__user-name{font-weight:600}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-type,.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line{align-items:center;border-radius:.375rem;padding:.25rem .5rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line:hover{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button{margin-left:.5rem;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:hover{background-color:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface));border-color:rgb(var(--ax-sys-color-border-primary-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button i{font-size:.75rem;line-height:1rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button{margin-left:auto;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button i{font-size:.75rem;line-height:1rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines{margin-top:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;font-size:.875rem;line-height:1.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content{overflow:hidden}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content.__animated{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation:slideDown .3s ease-out}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line{display:flex;align-items:center;gap:.5rem;padding-top:.25rem;padding-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__time{padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-activity-log .__content .__feed .__item.__collapsed .__expandable-content{display:none}.axp-activity-log .__content .__feed .__item.__expandable .__header-line{cursor:pointer}.axp-activity-log .__content .__empty{display:flex;height:12rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-activity-log .__content .__empty .__icon{margin-bottom:1rem}.axp-activity-log .__content .__empty .__icon .__svg{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__message{max-width:20rem;line-height:1.625;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.axp-activity-log .__content .__feed .__item{gap:.625rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{flex-wrap:nowrap}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXCommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i2.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXSkeletonModule }, { kind: \"component\", type: i3.AXSkeletonComponent, selector: \"ax-skeleton\", inputs: [\"animated\"] }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXTagModule }, { kind: \"ngmodule\", type: AXAccordionCdkModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i2.AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: i5.AXFormatPipe, name: \"format\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPActivityLogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-activity-log', standalone: true, imports: [\n CommonModule,\n AXButtonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSkeletonModule,\n AXFormatModule,\n AXTagModule,\n AXAccordionCdkModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"axp-activity-log ax-accent2\\\" *translate=\\\"let t\\\">\\n\\n <!-- Activity Log Content -->\\n <div class=\\\"__content\\\">\\n\\n <!-- Loading State -->\\n @if (loading()) {\\n <div class=\\\"__loading\\\">\\n @for (item of [1,2,3,4]; track $index) {\\n <div class=\\\"__item\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__avatar\\\"></ax-skeleton>\\n <div class=\\\"__content\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__title\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__subtitle\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__description\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__time\\\"></ax-skeleton>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Activity Feed -->\\n @if (!loading() && activities().length > 0) {\\n <div class=\\\"__feed\\\">\\n @for (activity of activities(); track activity.id) {\\n @let changeClasses = getChangeClasses(activity.changeType);\\n @let isItemExpanded = isExpanded(activity.id);\\n @let hasExpandableContentItem = hasExpandableContent(activity);\\n <div class=\\\"__item\\\" [class.__collapsed]=\\\"!isItemExpanded\\\" [class.__expandable]=\\\"hasExpandableContentItem\\\">\\n\\n <div\\n class=\\\"ax-size-10 ax-rounded-full ax-border ax-flex ax-items-center ax-justify-center ax-lightest-surface \\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}} fa-solid\\\"></i>\\n </div>\\n\\n <!-- Activity Content -->\\n <div class=\\\"__content\\\">\\n <!-- Main Activity Info -->\\n <div class=\\\"__main-info\\\">\\n\\n <!-- User and Action with Toggle Button -->\\n <div class=\\\"__action-line __header-line\\\" (click)=\\\"toggleExpanded(activity.id)\\\">\\n <span class=\\\"__user-name\\\">{{ activity.user.title }}</span>\\n <span class=\\\"__action-type\\\">\\n {{ t(`actions.${activity.changeType}.title`, {\\n scope: 'general' }) | async }}\\n </span>\\n <span class=\\\"__action-text\\\">\\n {{ activity.title | translate | async }}\\n </span>\\n\\n <!-- Compare Button -->\\n @if (canCompare(activity)) {\\n <button type=\\\"button\\\" class=\\\"__compare-button\\\" (click)=\\\"handleCompare(activity, $event)\\\"\\n [attr.aria-label]=\\\"t('compare.title', { scope: i18nScope }) | async\\\">\\n <i class=\\\"fa-solid fa-code-compare\\\"></i>\\n </button>\\n }\\n\\n <!-- Toggle Button (only show if there's expandable content) -->\\n @if (hasExpandableContentItem) {\\n <button type=\\\"button\\\" class=\\\"__toggle-button\\\" [attr.aria-expanded]=\\\"isItemExpanded\\\"\\n [attr.aria-label]=\\\"isItemExpanded ? 'Collapse details' : 'Expand details'\\\">\\n <i class=\\\"fa-solid\\\" [class.fa-chevron-down]=\\\"!isItemExpanded\\\"\\n [class.fa-chevron-up]=\\\"isItemExpanded\\\"></i>\\n </button>\\n }\\n </div>\\n\\n <!-- Expandable Description/Changes -->\\n @if (hasExpandableContentItem && isItemExpanded && activity.changes.length > 0) {\\n <div class=\\\"__action-lines __expandable-content\\\"\\n [class.__animated]=\\\"shouldAnimate(activity.id)\\\">\\n @for (change of activity.changes; track $index) {\\n @let changeClasses = getChangeClasses(change.type);\\n <div class=\\\"__action-line\\\">\\n <div class=\\\"ax-rounded-full ax-size-7 ax-grid ax-place-items-center\\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}}\\\"></i>\\n </div>\\n <span class=\\\"__action-text\\\">{{\\n change.description | translate | async }}</span>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Time -->\\n <div class=\\\"__time\\\">\\n {{ activity.date | format: 'datetime' : 'short' | async }}\\n </div>\\n\\n </div>\\n\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Empty State -->\\n @if (!loading() && activities().length === 0) {\\n <div class=\\\"__empty\\\">\\n <div class=\\\"__icon\\\">\\n <ax-icon icon=\\\"fa-light fa-history\\\" class=\\\"__svg\\\"></ax-icon>\\n </div>\\n <div class=\\\"__content\\\">\\n <h4 class=\\\"__title\\\">{{ t('no-history.title', { scope: i18nScope }) | async }}</h4>\\n <p class=\\\"__message\\\">{{ t('no-history.message', { scope: i18nScope }) | async }}\\n </p>\\n </div>\\n </div>\\n }\\n\\n </div>\\n</div>\\n\\n<!-- \\n\\nax-success-surface\\nax-primary-surface\\nax-danger-surface\\nax-warning-surface\\nax-info-surface\\nax-muted-surface\\nax-text-success\\n\\n -->\", styles: [\".axp-activity-log{height:100%;width:100%}.axp-activity-log .__content .__loading>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item{display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__loading .__item .__avatar{height:3rem;width:3rem;flex-shrink:0;border-radius:9999px}.axp-activity-log .__content .__loading .__item .__content{flex:1 1 0%}.axp-activity-log .__content .__loading .__item .__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item .__content .__title{height:1rem;width:75%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__subtitle{height:.75rem;width:50%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__description{height:.75rem;width:83.333333%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__time{height:.75rem;width:25%;border-radius:.25rem}.axp-activity-log .__content .__feed{position:relative}.axp-activity-log .__content .__feed>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__feed:before{content:\\\"\\\";position:absolute;inset-inline-start:1.25rem;top:.5rem;bottom:.5rem;width:0px;border-left:1px solid rgba(var(--ax-sys-color-border-surface));z-index:0}.axp-activity-log .__content .__feed .__item{position:relative;display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__feed .__item axp-user-avatar{position:relative;z-index:10}.axp-activity-log .__content .__feed .__item .__content{min-width:0px;flex:1 1 0%}.axp-activity-log .__content .__feed .__item .__content .__main-info{margin-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;line-height:1.5}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__user-name{font-weight:600}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-type,.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line{align-items:center;border-radius:.375rem;padding:.25rem .5rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line:hover{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button{margin-left:.5rem;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:hover{background-color:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface));border-color:rgb(var(--ax-sys-color-border-primary-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button i{font-size:.75rem;line-height:1rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button{margin-left:auto;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button i{font-size:.75rem;line-height:1rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines{margin-top:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;font-size:.875rem;line-height:1.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content{overflow:hidden}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content.__animated{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation:slideDown .3s ease-out}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line{display:flex;align-items:center;gap:.5rem;padding-top:.25rem;padding-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__time{padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-activity-log .__content .__feed .__item.__collapsed .__expandable-content{display:none}.axp-activity-log .__content .__feed .__item.__expandable .__header-line{cursor:pointer}.axp-activity-log .__content .__empty{display:flex;height:12rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-activity-log .__content .__empty .__icon{margin-bottom:1rem}.axp-activity-log .__content .__empty .__icon .__svg{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__message{max-width:20rem;line-height:1.625;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.axp-activity-log .__content .__feed .__item{gap:.625rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{flex-wrap:nowrap}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9hY3Rpdml0eS1sb2cvYWN0aXZpdHktbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9hY3Rpdml0eS1sb2cvYWN0aXZpdHktbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBdUMsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFN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QkFDaEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG9CQUFvQjtxQkFDdkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb21tb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlLCBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NrZWxldG9uJztcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUxvZywgQVhQU3lzdGVtQWN0aW9uVHlwZSwgZ2V0U3lzdGVtQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgc2lnbmFsLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQWNjb3JkaW9uQ2RrTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jZGsvYWNjb3JkaW9uJztcbmltcG9ydCB7IEFYVGFnTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhZyc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgQ29tcG9uZW50IERlZmluaXRpb24gICAtLS0tXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLWFjdGl2aXR5LWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYQ29tbW9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhTa2VsZXRvbk1vZHVsZSxcbiAgICAgICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgICAgIEFYVGFnTW9kdWxlLFxuICAgICAgICBBWEFjY29yZGlvbkNka01vZHVsZSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQVhQQWN0aXZpdHlMb2dDb21wb25lbnQge1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIElucHV0IFByb3BlcnRpZXMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBBcnJheSBvZiBhY3Rpdml0eSBsb2dzIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBhY3Rpdml0aWVzID0gaW5wdXQ8QVhQQWN0aXZpdHlMb2dbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGluIGxvYWRpbmcgc3RhdGVcbiAgICAgKi9cbiAgICBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGkxOG5TY29wZSA9ICdhY3Rpdml0eS1sb2cnO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBPYmplY3QgPSBPYmplY3Q7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgb2YgZXhwYW5kZWQgYWN0aXZpdHkgSURzXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHBhbmRlZEl0ZW1zID0gc2lnbmFsPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpO1xuXG4gICAgLyoqXG4gICAgICogRmxhZyB0byB0cmFjayBpZiBjb21wb25lbnQgaGFzIGJlZW4gaW5pdGlhbGl6ZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogU2V0IG9mIGl0ZW1zIHRoYXQgaGF2ZSBiZWVuIG1hbnVhbGx5IHRvZ2dsZWQgKGZvciBhbmltYXRpb24gY29udHJvbClcbiAgICAgKi9cbiAgICBwcml2YXRlIG1hbnVhbGx5VG9nZ2xlZEl0ZW1zID0gc2lnbmFsPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbnN0cnVjdG9yICYgTGlmZWN5Y2xlICAgLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIEF1dG8tZXhwYW5kIHRvcCA1IGl0ZW1zIHdoZW4gYWN0aXZpdGllcyBjaGFuZ2VcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2aXRpZXMgPSB0aGlzLmFjdGl2aXRpZXMoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFeHBhbmRlZCA9IHRoaXMuZXhwYW5kZWRJdGVtcygpO1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbGl6ZWQgPSB0aGlzLmlzSW5pdGlhbGl6ZWQoKTtcblxuICAgICAgICAgICAgLy8gT25seSBhdXRvLWV4cGFuZCBpZiBub3QgaW5pdGlhbGl6ZWQgYW5kIGFjdGl2aXRpZXMgZXhpc3RcbiAgICAgICAgICAgIGlmICghaW5pdGlhbGl6ZWQgJiYgYWN0aXZpdGllcy5sZW5ndGggPiAwICYmIGN1cnJlbnRFeHBhbmRlZC5zaXplID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9wNUlkcyA9IGFjdGl2aXRpZXMuc2xpY2UoMCwgNSkubWFwKChhY3Rpdml0eTogQVhQQWN0aXZpdHlMb2cpID0+IGFjdGl2aXR5LmlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkSXRlbXMuc2V0KG5ldyBTZXQodG9wNUlkcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBVdGlsaXR5IE1ldGhvZHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBhcHByb3ByaWF0ZSBDU1MgY2xhc3MgZm9yIHRoZSBjaGFuZ2UgdHlwZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRDaGFuZ2VDbGFzc2VzKGNoYW5nZVR5cGU6IEFYUFN5c3RlbUFjdGlvblR5cGUpOiB7IHN1cmZhY2U6IHN0cmluZywgdGV4dDogc3RyaW5nLCBpY29uOiBzdHJpbmcgfSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IGdldFN5c3RlbUFjdGlvbnMoY2hhbmdlVHlwZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdXJmYWNlOiBhY3Rpb24/LmNvbG9yID8gYGF4LSR7YWN0aW9uLmNvbG9yfS1zdXJmYWNlYCA6ICdheC1tdXRlZC1zdXJmYWNlJyxcbiAgICAgICAgICAgIHRleHQ6IGFjdGlvbj8uY29sb3IgPyBgYXgtdGV4dC0ke2FjdGlvbi5jb2xvcn1gIDogJ2F4LXRleHQtbXV0ZWQnLFxuICAgICAgICAgICAgaWNvbjogYWN0aW9uPy5pY29uID8gYCR7YWN0aW9uLmljb259YCA6ICdmYS1saWdodCBmYS1wZW4nXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gKiBDaGVja3MgaWYgYW4gYWN0aXZpdHkgaXRlbSBpcyBleHBhbmRlZFxuICovXG4gICAgcHJvdGVjdGVkIGlzRXhwYW5kZWQoYWN0aXZpdHlJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkSXRlbXMoKS5oYXMoYWN0aXZpdHlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gKiBUb2dnbGVzIHRoZSBleHBhbmRlZCBzdGF0ZSBvZiBhbiBhY3Rpdml0eSBpdGVtXG4gKi9cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRXhwYW5kZWQoYWN0aXZpdHlJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFeHBhbmRlZCA9IG5ldyBTZXQodGhpcy5leHBhbmRlZEl0ZW1zKCkpO1xuICAgICAgICBjb25zdCBjdXJyZW50TWFudWFsbHlUb2dnbGVkID0gbmV3IFNldCh0aGlzLm1hbnVhbGx5VG9nZ2xlZEl0ZW1zKCkpO1xuXG4gICAgICAgIC8vIE1hcmsgdGhpcyBpdGVtIGFzIG1hbnVhbGx5IHRvZ2dsZWQgZm9yIGFuaW1hdGlvbiBwdXJwb3Nlc1xuICAgICAgICBjdXJyZW50TWFudWFsbHlUb2dnbGVkLmFkZChhY3Rpdml0eUlkKTtcbiAgICAgICAgdGhpcy5tYW51YWxseVRvZ2dsZWRJdGVtcy5zZXQoY3VycmVudE1hbnVhbGx5VG9nZ2xlZCk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRFeHBhbmRlZC5oYXMoYWN0aXZpdHlJZCkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBhbmRlZC5kZWxldGUoYWN0aXZpdHlJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwYW5kZWQuYWRkKGFjdGl2aXR5SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZEl0ZW1zLnNldChjdXJyZW50RXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhbiBpdGVtIHNob3VsZCBoYXZlIGV4cGFuZC9jb2xsYXBzZSBhbmltYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2hvdWxkQW5pbWF0ZShhY3Rpdml0eUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFudWFsbHlUb2dnbGVkSXRlbXMoKS5oYXMoYWN0aXZpdHlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGFuIGFjdGl2aXR5IGhhcyBleHBhbmRhYmxlIGNvbnRlbnQgKGNoYW5nZXMpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhc0V4cGFuZGFibGVDb250ZW50KGFjdGl2aXR5OiBBWFBBY3Rpdml0eUxvZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYWN0aXZpdHkuY2hhbmdlcyAmJiBhY3Rpdml0eS5jaGFuZ2VzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBhcmUgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgdGhlIGNvbXBhcmUgYWN0aW9uIGZvciBhbiBhY3Rpdml0eVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDb21wYXJlKGFjdGl2aXR5OiBBWFBBY3Rpdml0eUxvZywgZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IGV4cGFuZGluZy9jb2xsYXBzaW5nIHdoZW4gY2xpY2tpbmcgY29tcGFyZVxuXG4gICAgICAgIC8vIEdldCB0aGUgcHJldmlvdXMgYWN0aXZpdHkgZm9yIGNvbXBhcmlzb25cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5hY3Rpdml0aWVzKCkuZmluZEluZGV4KGEgPT4gYS5pZCA9PT0gYWN0aXZpdHkuaWQpO1xuICAgICAgICBpZiAoY3VycmVudEluZGV4IDw9IDApIHJldHVybjsgLy8gTm8gcHJldmlvdXMgYWN0aXZpdHkgdG8gY29tcGFyZSB3aXRoXG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNBY3Rpdml0eSA9IHRoaXMuYWN0aXZpdGllcygpW2N1cnJlbnRJbmRleCAtIDFdO1xuICAgICAgICBjb25zdCBpZHMgPSBbXG4gICAgICAgICAgICBwcmV2aW91c0FjdGl2aXR5LmlkLFxuICAgICAgICAgICAgYWN0aXZpdHkuaWRcbiAgICAgICAgXTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBjb21wYXJlIHdvcmtmbG93XG4gICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3dTZXJ2aWNlLmV4ZWN1dGUoJ3Nob3ctZW50aXR5LXJlY29yZC12ZXJzaW9ucy1jb21wYXJlJywge1xuICAgICAgICAgICAgZW50aXR5OiBhY3Rpdml0eS5yZWZlcmVuY2UudHlwZSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICByZWZJZDogYWN0aXZpdHkucmVmZXJlbmNlLmlkLFxuICAgICAgICAgICAgICAgIHJlZlR5cGU6IGFjdGl2aXR5LnJlZmVyZW5jZS50eXBlLFxuICAgICAgICAgICAgICAgIGlkczogaWRzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhbiBhY3Rpdml0eSBjYW4gYmUgY29tcGFyZWQgKGhhcyBhIHByZXZpb3VzIHZlcnNpb24pXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNhbkNvbXBhcmUoYWN0aXZpdHk6IEFYUEFjdGl2aXR5TG9nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuYWN0aXZpdGllcygpLmZpbmRJbmRleChhID0+IGEuaWQgPT09IGFjdGl2aXR5LmlkKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleCA+IDA7IC8vIENhbiBjb21wYXJlIGlmIG5vdCB0aGUgZmlyc3QgYWN0aXZpdHlcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn0gIiwiPGRpdiBjbGFzcz1cImF4cC1hY3Rpdml0eS1sb2cgYXgtYWNjZW50MlwiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuXG4gICAgPCEtLSBBY3Rpdml0eSBMb2cgQ29udGVudCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG5cbiAgICAgICAgPCEtLSBMb2FkaW5nIFN0YXRlIC0tPlxuICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19sb2FkaW5nXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIFsxLDIsMyw0XTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGF4LXNrZWxldG9uIFthbmltYXRlZF09XCJ0cnVlXCIgY2xhc3M9XCJfX2F2YXRhclwiPjwvYXgtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fdGl0bGVcIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fc3VidGl0bGVcIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fZGVzY3JpcHRpb25cIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fdGltZVwiPjwvYXgtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEFjdGl2aXR5IEZlZWQgLS0+XG4gICAgICAgIEBpZiAoIWxvYWRpbmcoKSAmJiBhY3Rpdml0aWVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19mZWVkXCI+XG4gICAgICAgICAgICBAZm9yIChhY3Rpdml0eSBvZiBhY3Rpdml0aWVzKCk7IHRyYWNrIGFjdGl2aXR5LmlkKSB7XG4gICAgICAgICAgICBAbGV0IGNoYW5nZUNsYXNzZXMgPSBnZXRDaGFuZ2VDbGFzc2VzKGFjdGl2aXR5LmNoYW5nZVR5cGUpO1xuICAgICAgICAgICAgQGxldCBpc0l0ZW1FeHBhbmRlZCA9IGlzRXhwYW5kZWQoYWN0aXZpdHkuaWQpO1xuICAgICAgICAgICAgQGxldCBoYXNFeHBhbmRhYmxlQ29udGVudEl0ZW0gPSBoYXNFeHBhbmRhYmxlQ29udGVudChhY3Rpdml0eSk7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtXCIgW2NsYXNzLl9fY29sbGFwc2VkXT1cIiFpc0l0ZW1FeHBhbmRlZFwiIFtjbGFzcy5fX2V4cGFuZGFibGVdPVwiaGFzRXhwYW5kYWJsZUNvbnRlbnRJdGVtXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtc2l6ZS0xMCBheC1yb3VuZGVkLWZ1bGwgYXgtYm9yZGVyIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWxpZ2h0ZXN0LXN1cmZhY2UgIFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7Y2hhbmdlQ2xhc3Nlcy5pY29ufX0ge3tjaGFuZ2VDbGFzc2VzLnRleHR9fSBmYS1zb2xpZFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQWN0aXZpdHkgQ29udGVudCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gTWFpbiBBY3Rpdml0eSBJbmZvIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19tYWluLWluZm9cIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGFuZCBBY3Rpb24gd2l0aCBUb2dnbGUgQnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fYWN0aW9uLWxpbmUgX19oZWFkZXItbGluZVwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZChhY3Rpdml0eS5pZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIl9fdXNlci1uYW1lXCI+e3sgYWN0aXZpdHkudXNlci50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIl9fYWN0aW9uLXR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdChgYWN0aW9ucy4ke2FjdGl2aXR5LmNoYW5nZVR5cGV9LnRpdGxlYCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogJ2dlbmVyYWwnIH0pIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJfX2FjdGlvbi10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGl2aXR5LnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBhcmUgQnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY2FuQ29tcGFyZShhY3Rpdml0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIl9fY29tcGFyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlQ29tcGFyZShhY3Rpdml0eSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnY29tcGFyZS50aXRsZScsIHsgc2NvcGU6IGkxOG5TY29wZSB9KSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtY29kZS1jb21wYXJlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVG9nZ2xlIEJ1dHRvbiAob25seSBzaG93IGlmIHRoZXJlJ3MgZXhwYW5kYWJsZSBjb250ZW50KSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc0V4cGFuZGFibGVDb250ZW50SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiX190b2dnbGUtYnV0dG9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0l0ZW1FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXNJdGVtRXhwYW5kZWQgPyAnQ29sbGFwc2UgZGV0YWlscycgOiAnRXhwYW5kIGRldGFpbHMnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWRcIiBbY2xhc3MuZmEtY2hldnJvbi1kb3duXT1cIiFpc0l0ZW1FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmEtY2hldnJvbi11cF09XCJpc0l0ZW1FeHBhbmRlZFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFeHBhbmRhYmxlIERlc2NyaXB0aW9uL0NoYW5nZXMgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc0V4cGFuZGFibGVDb250ZW50SXRlbSAmJiBpc0l0ZW1FeHBhbmRlZCAmJiBhY3Rpdml0eS5jaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2FjdGlvbi1saW5lcyBfX2V4cGFuZGFibGUtY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLl9fYW5pbWF0ZWRdPVwic2hvdWxkQW5pbWF0ZShhY3Rpdml0eS5pZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChjaGFuZ2Ugb2YgYWN0aXZpdHkuY2hhbmdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGxldCBjaGFuZ2VDbGFzc2VzID0gZ2V0Q2hhbmdlQ2xhc3NlcyhjaGFuZ2UudHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fYWN0aW9uLWxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXJvdW5kZWQtZnVsbCBheC1zaXplLTcgYXgtZ3JpZCBheC1wbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3tjaGFuZ2VDbGFzc2VzLmljb259fSB7e2NoYW5nZUNsYXNzZXMudGV4dH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJfX2FjdGlvbi10ZXh0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRpbWUgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGl2aXR5LmRhdGUgfCBmb3JtYXQ6ICdkYXRldGltZScgOiAnc2hvcnQnIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBFbXB0eSBTdGF0ZSAtLT5cbiAgICAgICAgQGlmICghbG9hZGluZygpICYmIGFjdGl2aXRpZXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fZW1wdHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2ljb25cIj5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtaGlzdG9yeVwiIGNsYXNzPVwiX19zdmdcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJfX3RpdGxlXCI+e3sgdCgnbm8taGlzdG9yeS50aXRsZScsIHsgc2NvcGU6IGkxOG5TY29wZSB9KSB8IGFzeW5jIH19PC9oND5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIl9fbWVzc2FnZVwiPnt7IHQoJ25vLWhpc3RvcnkubWVzc2FnZScsIHsgc2NvcGU6IGkxOG5TY29wZSB9KSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIFxuXG5heC1zdWNjZXNzLXN1cmZhY2VcbmF4LXByaW1hcnktc3VyZmFjZVxuYXgtZGFuZ2VyLXN1cmZhY2VcbmF4LXdhcm5pbmctc3VyZmFjZVxuYXgtaW5mby1zdXJmYWNlXG5heC1tdXRlZC1zdXJmYWNlXG5heC10ZXh0LXN1Y2Nlc3NcblxuIC0tPiJdfQ==","import { InjectionToken } from \"@angular/core\";\nexport const AXP_TASK_BADGE_PROVIDERS = new InjectionToken('AXP_TASK_BADGE_PROVIDERS');\nexport class AXPTaskBadgeProvider {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYWRnZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL3Rhc2stYmFkZ2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF5QiwwQkFBMEIsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sT0FBZ0Isb0JBQW9CO0NBR3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBWFBfVEFTS19CQURHRV9QUk9WSURFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQVGFza0JhZGdlUHJvdmlkZXJbXT4oJ0FYUF9UQVNLX0JBREdFX1BST1ZJREVSUycpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQVGFza0JhZGdlUHJvdmlkZXIge1xuICAgIGFic3RyYWN0IGtleTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGNvdW50OiBTaWduYWw8bnVtYmVyPjtcbn0iXX0=","import { computed, inject, Injectable, signal } from '@angular/core';\nimport { AXP_TASK_BADGE_PROVIDERS } from './task-badge.type';\nimport * as i0 from \"@angular/core\";\nexport class AXPTaskBadgeService {\n constructor() {\n this.badgeMap = new Map();\n this.providers = inject(AXP_TASK_BADGE_PROVIDERS, { optional: true }) ?? [];\n this.computedCache = new Map();\n for (const provider of this.providers) {\n if (!this.badgeMap.has(provider.key)) {\n this.badgeMap.set(provider.key, []);\n }\n this.badgeMap.get(provider.key).push(provider.count);\n }\n }\n getCount(key) {\n if (this.computedCache.has(key)) {\n return this.computedCache.get(key);\n }\n const signals = this.badgeMap.get(key) ?? [];\n const total = signals.length > 0 ? computed(() => signals.reduce((sum, s) => sum + s(), 0)) : signal(0);\n this.computedCache.set(key, total);\n return total;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPTaskBadgeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPTaskBadgeService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPTaskBadgeService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYWRnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL3Rhc2stYmFkZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkYsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QjtRQUpRLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUMvQyxjQUFTLEdBQTJCLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO1FBR3hELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVztRQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0F4QlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUsIFNpZ25hbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBfVEFTS19CQURHRV9QUk9WSURFUlMsIEFYUFRhc2tCYWRnZVByb3ZpZGVyIH0gZnJvbSAnLi90YXNrLWJhZGdlLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUFRhc2tCYWRnZVNlcnZpY2Uge1xuICBwcml2YXRlIGJhZGdlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFNpZ25hbDxudW1iZXI+W10+KCk7XG4gIHByaXZhdGUgcHJvdmlkZXJzOiBBWFBUYXNrQmFkZ2VQcm92aWRlcltdID0gaW5qZWN0KEFYUF9UQVNLX0JBREdFX1BST1ZJREVSUywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBbXTtcbiAgcHJpdmF0ZSBjb21wdXRlZENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFNpZ25hbDxudW1iZXI+PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5wcm92aWRlcnMpIHtcbiAgICAgIGlmICghdGhpcy5iYWRnZU1hcC5oYXMocHJvdmlkZXIua2V5KSkge1xuICAgICAgICB0aGlzLmJhZGdlTWFwLnNldChwcm92aWRlci5rZXksIFtdKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYmFkZ2VNYXAuZ2V0KHByb3ZpZGVyLmtleSkhLnB1c2gocHJvdmlkZXIuY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvdW50KGtleTogc3RyaW5nKTogU2lnbmFsPG51bWJlcj4ge1xuICAgIGlmICh0aGlzLmNvbXB1dGVkQ2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkQ2FjaGUuZ2V0KGtleSkhO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25hbHMgPSB0aGlzLmJhZGdlTWFwLmdldChrZXkpID8/IFtdO1xuICAgIGNvbnN0IHRvdGFsID0gc2lnbmFscy5sZW5ndGggPiAwID8gY29tcHV0ZWQoKCkgPT4gc2lnbmFscy5yZWR1Y2UoKHN1bSwgcykgPT4gc3VtICsgcygpLCAwKSkgOiBzaWduYWwoMCk7XG5cbiAgICB0aGlzLmNvbXB1dGVkQ2FjaGUuc2V0KGtleSwgdG90YWwpO1xuICAgIHJldHVybiB0b3RhbDtcbiAgfVxufVxuIl19","import { input, computed, inject, effect, Directive } from \"@angular/core\";\nimport { SIGNAL, signalSetFn } from \"@angular/core/primitives/signals\";\nimport { AXPTaskBadgeService } from \"./task-badge.service\";\nimport { AXBadgeComponent } from \"@acorex/components/badge\";\nimport * as i0 from \"@angular/core\";\nexport class AXPTaskBadgeDirective {\n constructor() {\n this.badgeService = inject(AXPTaskBadgeService);\n this.host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>\n this.hostElement = this.host.getHostElement();\n this.badgeKey = input(undefined, ...(ngDevMode ? [{ debugName: \"badgeKey\" }] : []));\n this.count = input(0, ...(ngDevMode ? [{ debugName: \"count\", alias: 'axp-task-badge' }] : [{ alias: 'axp-task-badge' }]));\n this.displayCount = computed(() => {\n const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey())());\n return value ? value.toString() : '';\n }, ...(ngDevMode ? [{ debugName: \"displayCount\" }] : []));\n this.#eff = effect(() => {\n this.setValueOfInputSignal(this.host.text, this.displayCount());\n if (!this.displayCount()) {\n this.hostElement.style.display = 'none';\n }\n else {\n this.hostElement.style.removeProperty('display');\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n setValueOfInputSignal(signal, value) {\n const node = signal[SIGNAL];\n signalSetFn(node, value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPTaskBadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.6\", type: AXPTaskBadgeDirective, isStandalone: true, selector: \"[axp-task-badge]\", inputs: { badgeKey: { classPropertyName: \"badgeKey\", publicName: \"badgeKey\", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: \"count\", publicName: \"axp-task-badge\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPTaskBadgeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-task-badge]',\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU81RCxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS1ksaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7UUFDdEUsZ0JBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRWpELGFBQVEsR0FBRyxLQUFLLENBQXFCLFNBQVMsb0RBQUMsQ0FBQztRQUNoRCxVQUFLLEdBQUcsS0FBSyxDQUFTLENBQUMseUNBQUksS0FBSyxFQUFFLGdCQUFnQixPQUF6QixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7UUFFckMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pDLENBQUMsd0RBQUMsQ0FBQztRQUVILFNBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUM1QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDLGdEQUFDLENBQUM7S0FNTjtJQWJHLElBQUksQ0FPRDtJQUVLLHFCQUFxQixDQUFJLE1BQXNCLEVBQUUsS0FBUTtRQUM3RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFRLENBQUM7UUFDbkMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQXpCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnB1dCwgY29tcHV0ZWQsIGluamVjdCwgZWZmZWN0LCBEaXJlY3RpdmUsIElucHV0U2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFNJR05BTCwgc2lnbmFsU2V0Rm4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9wcmltaXRpdmVzL3NpZ25hbHNcIjtcbmltcG9ydCB7IEFYUFRhc2tCYWRnZVNlcnZpY2UgfSBmcm9tIFwiLi90YXNrLWJhZGdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFYQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2JhZGdlXCI7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXhwLXRhc2stYmFkZ2VdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBUYXNrQmFkZ2VEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgYmFkZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUFRhc2tCYWRnZVNlcnZpY2UpO1xuICAgIHByaXZhdGUgaG9zdCA9IGluamVjdChBWEJhZGdlQ29tcG9uZW50KTsgLy8gYXNzdW1lcyBpdCdzIGFwcGxpZWQgb24gPGF4LWJhZGdlPlxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQgPSB0aGlzLmhvc3QuZ2V0SG9zdEVsZW1lbnQoKTtcblxuICAgIGJhZGdlS2V5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIGNvdW50ID0gaW5wdXQ8bnVtYmVyPigwLCB7IGFsaWFzOiAnYXhwLXRhc2stYmFkZ2UnIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXNwbGF5Q291bnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb3VudCgpIHx8ICh0aGlzLmJhZGdlS2V5KCkgJiYgdGhpcy5iYWRnZVNlcnZpY2UuZ2V0Q291bnQodGhpcy5iYWRnZUtleSgpISkoKSk7XG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICB9KTtcblxuICAgICNlZmYgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFZhbHVlT2ZJbnB1dFNpZ25hbCh0aGlzLmhvc3QudGV4dCwgdGhpcy5kaXNwbGF5Q291bnQoKSk7XG4gICAgICAgIGlmICghdGhpcy5kaXNwbGF5Q291bnQoKSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHNldFZhbHVlT2ZJbnB1dFNpZ25hbDxUPihzaWduYWw6IElucHV0U2lnbmFsPFQ+LCB2YWx1ZTogVCkge1xuICAgICAgICBjb25zdCBub2RlID0gc2lnbmFsW1NJR05BTF0gYXMgYW55O1xuICAgICAgICBzaWduYWxTZXRGbihub2RlLCB2YWx1ZSk7XG4gICAgfVxufSJdfQ==","import { computed } from \"@angular/core\";\nexport class AXPMenuBadgeHelper {\n static { this.cache = new WeakMap(); }\n static getTotalCount(item, badgeService) {\n if (this.cache.has(item))\n return this.cache.get(item);\n const own = item.badgeKey ? badgeService.getCount(item.badgeKey) : () => 0;\n const children = item.children?.map(child => this.getTotalCount(child, badgeService)) ?? [];\n const total = computed(() => own() + children.reduce((sum, s) => sum + s(), 0), ...(ngDevMode ? [{ debugName: \"total\" }] : []));\n this.cache.set(item, total);\n return total;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL2JhZGdlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWpELE1BQU0sT0FBTyxrQkFBa0I7YUFFZCxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQStCLENBQUM7SUFFbEUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFpQixFQUFFLFlBQWlDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQztRQUV2RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUN4QyxJQUFJLEVBQUUsQ0FBQztRQUVSLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsaURBQ2xELENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBjb21wdXRlZCwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUE1lbnVJdGVtIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBUYXNrQmFkZ2VTZXJ2aWNlIH0gZnJvbSBcIi4vdGFzay1iYWRnZS5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBBWFBNZW51QmFkZ2VIZWxwZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhY2hlID0gbmV3IFdlYWtNYXA8QVhQTWVudUl0ZW0sIFNpZ25hbDxudW1iZXI+PigpO1xuXG4gIHN0YXRpYyBnZXRUb3RhbENvdW50KGl0ZW06IEFYUE1lbnVJdGVtLCBiYWRnZVNlcnZpY2U6IEFYUFRhc2tCYWRnZVNlcnZpY2UpOiBTaWduYWw8bnVtYmVyPiB7XG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGl0ZW0pKSByZXR1cm4gdGhpcy5jYWNoZS5nZXQoaXRlbSkhO1xuXG4gICAgY29uc3Qgb3duID0gaXRlbS5iYWRnZUtleSA/IGJhZGdlU2VydmljZS5nZXRDb3VudChpdGVtLmJhZGdlS2V5KSA6ICgpID0+IDA7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuPy5tYXAoY2hpbGQgPT5cbiAgICAgIHRoaXMuZ2V0VG90YWxDb3VudChjaGlsZCwgYmFkZ2VTZXJ2aWNlKVxuICAgICkgPz8gW107XG5cbiAgICBjb25zdCB0b3RhbCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICBvd24oKSArIGNoaWxkcmVuLnJlZHVjZSgoc3VtLCBzKSA9PiBzdW0gKyBzKCksIDApXG4gICAgKTtcblxuICAgIHRoaXMuY2FjaGUuc2V0KGl0ZW0sIHRvdGFsKTtcbiAgICByZXR1cm4gdG90YWw7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, contentChild, viewChild, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutPagePrimaryActionsComponent, isStandalone: true, selector: \"axp-layout-actions-primary\", ngImport: i0, template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutPageSecondaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutPageSecondaryActionsComponent, isStandalone: true, selector: \"axp-layout-actions-secondary\", ngImport: i0, template: `<ng-content select=\"ax-button-item,ax-divider,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutPageSecondaryActionsComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item,ax-divider,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutActionsComponent {\n constructor() {\n this.primaryTemplate = viewChild('primary', ...(ngDevMode ? [{ debugName: \"primaryTemplate\" }] : []));\n this.primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent, ...(ngDevMode ? [{ debugName: \"primaryContent\" }] : []));\n this.hasPrimary = computed(() => this.primaryContent() != null, ...(ngDevMode ? [{ debugName: \"hasPrimary\" }] : []));\n this.secondaryTemplate = viewChild('secondary', ...(ngDevMode ? [{ debugName: \"secondaryTemplate\" }] : []));\n this.secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent, ...(ngDevMode ? [{ debugName: \"secondaryContent\" }] : []));\n this.hasSecondary = computed(() => this.secondaryContent() != null, ...(ngDevMode ? [{ debugName: \"hasSecondary\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.6\", type: AXPThemeLayoutActionsComponent, isStandalone: true, selector: \"axp-layout-actions\", queries: [{ propertyName: \"primaryContent\", first: true, predicate: AXPThemeLayoutPagePrimaryActionsComponent, descendants: true, isSignal: true }, { propertyName: \"secondaryContent\", first: true, predicate: AXPThemeLayoutPageSecondaryActionsComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"primaryTemplate\", first: true, predicate: [\"primary\"], descendants: true, isSignal: true }, { propertyName: \"secondaryTemplate\", first: true, predicate: [\"secondary\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutActionsComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVdEksTUFBTSxPQUFPLHlDQUF5Qzs4R0FBekMseUNBQXlDO2tHQUF6Qyx5Q0FBeUMsc0ZBSnhDLGlFQUFpRTs7MkZBSWxFLHlDQUF5QztrQkFQckQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLGlFQUFpRTtvQkFDM0UsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7QUFXRCxNQUFNLE9BQU8sMkNBQTJDOzhHQUEzQywyQ0FBMkM7a0dBQTNDLDJDQUEyQyx3RkFKMUMsMkVBQTJFOzsyRkFJNUUsMkNBQTJDO2tCQVB2RCxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsMkVBQTJFO29CQUNyRixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOztBQXdCRCxNQUFNLE9BQU8sOEJBQThCO0lBcEIzQztRQXNCb0Isb0JBQWUsR0FBRyxTQUFTLENBQW1CLFNBQVMsMkRBQUMsQ0FBQztRQUN4RCxtQkFBYyxHQUFHLFlBQVksQ0FBQyx5Q0FBeUMsMERBQUMsQ0FBQztRQUNuRixlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLHNEQUFDLENBQUM7UUFFbEQsc0JBQWlCLEdBQUcsU0FBUyxDQUFtQixXQUFXLDZEQUFDLENBQUM7UUFDNUQscUJBQWdCLEdBQUcsWUFBWSxDQUFDLDJDQUEyQyw0REFBQyxDQUFDO1FBQ3ZGLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLElBQUksd0RBQUMsQ0FBQztLQUV6RTs4R0FWWSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwwSEFHUSx5Q0FBeUMsbUdBSXZDLDJDQUEyQyw2U0F2QmxGOzs7Ozs7Ozs7OztLQVdUOzsyRkFLUSw4QkFBOEI7a0JBcEIxQyxTQUFTO21CQUFDO29CQUNQLE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0tBV1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWxheW91dC1hY3Rpb25zLXByaW1hcnknLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtYnV0dG9uLGF4LWRyb3Bkb3duLWJ1dHRvblwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRQYWdlUHJpbWFyeUFjdGlvbnNDb21wb25lbnQge1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWxheW91dC1hY3Rpb25zLXNlY29uZGFyeScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheC1idXR0b24taXRlbSxheC1kaXZpZGVyLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRQYWdlU2Vjb25kYXJ5QWN0aW9uc0NvbXBvbmVudCB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlOiBgXG5cbiAgICA8bmctdGVtcGxhdGUgI3ByaW1hcnk+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtYWN0aW9ucy1wcmltYXJ5XCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3NlY29uZGFyeT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1hY3Rpb25zLXNlY29uZGFyeVwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0QWN0aW9uc0NvbXBvbmVudCB7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJpbWFyeVRlbXBsYXRlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdwcmltYXJ5Jyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltYXJ5Q29udGVudCA9IGNvbnRlbnRDaGlsZChBWFBUaGVtZUxheW91dFBhZ2VQcmltYXJ5QWN0aW9uc0NvbXBvbmVudCk7XG4gICAgcHVibGljIGhhc1ByaW1hcnkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByaW1hcnlDb250ZW50KCkgIT0gbnVsbCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2Vjb25kYXJ5VGVtcGxhdGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ3NlY29uZGFyeScpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vjb25kYXJ5Q29udGVudCA9IGNvbnRlbnRDaGlsZChBWFBUaGVtZUxheW91dFBhZ2VTZWNvbmRhcnlBY3Rpb25zQ29tcG9uZW50KTtcbiAgICBwdWJsaWMgaGFzU2Vjb25kYXJ5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWNvbmRhcnlDb250ZW50KCkgIT0gbnVsbCk7XG5cbn1cblxuXG4iXX0=","import { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutBlockComponent {\n constructor() {\n this.elementRef = inject(ElementRef);\n this.hostElement = this.elementRef.nativeElement;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutBlockComponent, isStandalone: true, selector: \"\\n\\n axp-page-content, \\n axp-page-footer-container,\\n axp-page-footer,\\n axp-page-header,\\n axp-page-header-container,\\n axp-page-toolbar,\\n\\n axp-layout-content, \\n axp-layout-page-content, \\n\\n axp-layout-sections,\\n axp-layout-body,\\n axp-layout-page-body,\\n axp-layout-prefix,\\n axp-layout-suffix,\\n axp-layout-title-bar,\\n axp-layout-title, \\n axp-layout-title-actions, \\n axp-layout-nav-button, \\n axp-layout-description, \\n axp-layout-breadcrumbs,\\n axp-layout-list-action,\\n \", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutBlockComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: `\n\n axp-page-content, \n axp-page-footer-container,\n axp-page-footer,\n axp-page-header,\n axp-page-header-container,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJsb2Nrcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1ibG9ja3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQzFHLE1BQU0sT0FBTyw0QkFBNEI7SUEvQnpDO1FBa0NxQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7S0FHN0Q7OEdBUFksNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK2xCQUo3QiwyQkFBMkI7OzJGQUkxQiw0QkFBNEI7a0JBL0J4QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXdCUDtvQkFDSCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IGBcblxuICAgIGF4cC1wYWdlLWNvbnRlbnQsIFxuICAgIGF4cC1wYWdlLWZvb3Rlci1jb250YWluZXIsXG4gICAgYXhwLXBhZ2UtZm9vdGVyLFxuICAgIGF4cC1wYWdlLWhlYWRlcixcbiAgICBheHAtcGFnZS1oZWFkZXItY29udGFpbmVyLFxuICAgIGF4cC1wYWdlLXRvb2xiYXIsXG5cbiAgICBheHAtbGF5b3V0LWNvbnRlbnQsIFxuICAgIGF4cC1sYXlvdXQtcGFnZS1jb250ZW50LCBcblxuICAgIGF4cC1sYXlvdXQtc2VjdGlvbnMsXG4gICAgYXhwLWxheW91dC1ib2R5LFxuICAgIGF4cC1sYXlvdXQtcGFnZS1ib2R5LFxuICAgIGF4cC1sYXlvdXQtcHJlZml4LFxuICAgIGF4cC1sYXlvdXQtc3VmZml4LFxuICAgIGF4cC1sYXlvdXQtdGl0bGUtYmFyLFxuICAgIGF4cC1sYXlvdXQtdGl0bGUsIFxuICAgIGF4cC1sYXlvdXQtdGl0bGUtYWN0aW9ucywgXG4gICAgYXhwLWxheW91dC1uYXYtYnV0dG9uLCBcbiAgICBheHAtbGF5b3V0LWRlc2NyaXB0aW9uLCBcbiAgICBheHAtbGF5b3V0LWJyZWFkY3J1bWJzLFxuICAgIGF4cC1sYXlvdXQtbGlzdC1hY3Rpb24sXG4gICAgYCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQge1xuXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutFooterComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutFooterComponent, isStandalone: true, selector: \"axp-layout-footer, axp-layout-page-footer\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutFooterComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-footer, axp-layout-page-footer',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1mb290ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBY3RGLE1BQU0sT0FBTyw2QkFBNkI7OEdBQTdCLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHFHQVI5Qjs7OztHQUlUOzsyRkFJVSw2QkFBNkI7a0JBWnpDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQ0FBMkM7b0JBQ3JELFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWZvb3RlciwgYXhwLWxheW91dC1wYWdlLWZvb3RlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRGb290ZXJDb21wb25lbnQge1xufVxuXG5cbiJdfQ==","import { ChangeDetectionStrategy, Component, viewChild, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutPageHeaderComponent {\n constructor() {\n this.title = viewChild('title', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.description = viewChild('description', ...(ngDevMode ? [{ debugName: \"description\" }] : []));\n this.actions = viewChild('actions', ...(ngDevMode ? [{ debugName: \"actions\" }] : []));\n this.navbar = viewChild('navbar', ...(ngDevMode ? [{ debugName: \"navbar\" }] : []));\n this.breadcrumbs = viewChild('breadcrumbs', ...(ngDevMode ? [{ debugName: \"breadcrumbs\" }] : []));\n this.navButton = viewChild('navButton', ...(ngDevMode ? [{ debugName: \"navButton\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.6\", type: AXPThemeLayoutPageHeaderComponent, isStandalone: true, selector: \"axp-layout-page-header\", viewQueries: [{ propertyName: \"title\", first: true, predicate: [\"title\"], descendants: true, isSignal: true }, { propertyName: \"description\", first: true, predicate: [\"description\"], descendants: true, isSignal: true }, { propertyName: \"actions\", first: true, predicate: [\"actions\"], descendants: true, isSignal: true }, { propertyName: \"navbar\", first: true, predicate: [\"navbar\"], descendants: true, isSignal: true }, { propertyName: \"breadcrumbs\", first: true, predicate: [\"breadcrumbs\"], descendants: true, isSignal: true }, { propertyName: \"navButton\", first: true, predicate: [\"navButton\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutPageHeaderComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-page-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\nexport class AXPThemeLayoutHeaderComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutHeaderComponent, isStandalone: true, selector: \"axp-layout-header\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutHeaderComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXNCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQ3JILE1BQU0sT0FBTyxpQ0FBaUM7SUEvQjlDO1FBaUNrQixVQUFLLEdBQUcsU0FBUyxDQUFtQixPQUFPLGlEQUFDLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxTQUFTLENBQW1CLGFBQWEsdURBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQUcsU0FBUyxDQUFtQixTQUFTLG1EQUFDLENBQUM7UUFDakQsV0FBTSxHQUFHLFNBQVMsQ0FBbUIsUUFBUSxrREFBQyxDQUFDO1FBQy9DLGdCQUFXLEdBQUcsU0FBUyxDQUFtQixhQUFhLHVEQUFDLENBQUM7UUFDekQsY0FBUyxHQUFHLFNBQVMsQ0FBbUIsV0FBVyxxREFBQyxDQUFDO0tBQ3RFOzhHQVJZLGlDQUFpQztrR0FBakMsaUNBQWlDLDZzQkEzQmxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDs7MkZBSVUsaUNBQWlDO2tCQS9CN0MsU0FBUzttQkFBQztvQkFDVCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOztBQXlCRCxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2Qiw2RUFSOUI7Ozs7R0FJVDs7MkZBSVUsNkJBQTZCO2tCQVp6QyxTQUFTO21CQUFDO29CQUNULE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtcGFnZS1oZWFkZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjYnJlYWRjcnVtYnM+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWJyZWFkY3J1bWJzXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI25hdmJhcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtdG9vbGJhclwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNhY3Rpb25zPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Rlc2NyaXB0aW9uPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1kZXNjcmlwdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0aXRsZT5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25hdkJ1dHRvbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtbmF2LWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRQYWdlSGVhZGVyQ29tcG9uZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ3RpdGxlJyk7XG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdGlvbiA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignZGVzY3JpcHRpb24nKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ2FjdGlvbnMnKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hdmJhciA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignbmF2YmFyJyk7XG4gIHB1YmxpYyByZWFkb25seSBicmVhZGNydW1icyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignYnJlYWRjcnVtYnMnKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hdkJ1dHRvbiA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignbmF2QnV0dG9uJyk7XG59XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYXhwLWxheW91dC1oZWFkZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50IHtcblxufVxuIl19","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutListComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutListComponent, isStandalone: true, selector: \"axp-layout-list\", ngImport: i0, template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutListComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutListItemsGroupComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutListItemsGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutListItemsGroupComponent, isStandalone: true, selector: \"axp-layout-list-group\", ngImport: i0, template: `<ng-content select=\"axp-layout-list-item, axp-layout-title, axp-layout-header ,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutListItemsGroupComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item, axp-layout-title, axp-layout-header ,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutListItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutListItemComponent, isStandalone: true, selector: \"axp-layout-list-item\", ngImport: i0, template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutListItemComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXBHLE1BQU0sT0FBTywyQkFBMkI7OEdBQTNCLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDJFQUoxQiw0RkFBNEY7OzJGQUk3RiwyQkFBMkI7a0JBUHZDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSw0RkFBNEY7b0JBQ3RHLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7O0FBV0QsTUFBTSxPQUFPLHFDQUFxQzs4R0FBckMscUNBQXFDO2tHQUFyQyxxQ0FBcUMsaUZBSnBDLDRHQUE0Rzs7MkZBSTdHLHFDQUFxQztrQkFQakQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLDRHQUE0RztvQkFDdEgsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7QUFXRCxNQUFNLE9BQU8sK0JBQStCOzhHQUEvQiwrQkFBK0I7a0dBQS9CLCtCQUErQixnRkFKOUIsd0dBQXdHOzsyRkFJekcsK0JBQStCO2tCQVAzQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsd0dBQXdHO29CQUNsSCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29udGVudENoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWxpc3QnLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1saXN0LWl0ZW0sYXhwLWxheW91dC1saXN0LWdyb3VwLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRMaXN0Q29tcG9uZW50IHtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtbGlzdC1ncm91cCcsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWxpc3QtaXRlbSwgYXhwLWxheW91dC10aXRsZSwgYXhwLWxheW91dC1oZWFkZXIgLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbXNHcm91cENvbXBvbmVudCB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWxpc3QtaXRlbScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWNvbnRlbnQsYXhwLWxheW91dC1wcmVmaXgsYXhwLWxheW91dC1zdWZmaXgsbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBWFBUaGVtZUxheW91dExpc3RJdGVtQ29tcG9uZW50IHtcblxufSJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutSectionComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutSectionComponent, isStandalone: true, selector: \"axp-layout-section\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutSectionComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQWF2QixNQUFNLE9BQU8sOEJBQThCOzhHQUE5Qiw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw4RUFQL0I7OztHQUdUOzsyRkFJVSw4QkFBOEI7a0JBWDFDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7O0dBR1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYXhwLWxheW91dC1zZWN0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRTZWN0aW9uQ29tcG9uZW50IHtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutStartSideComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutStartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutStartSideComponent, isStandalone: true, selector: \"axp-layout-page-start-side, axp-layout-start-side\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutStartSideComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-page-start-side, axp-layout-start-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\nexport class AXPThemeLayoutEndSideComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutEndSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutEndSideComponent, isStandalone: true, selector: \"axp-layout-page-end-side, axp-layout-end-side\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutEndSideComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-page-end-side, axp-layout-end-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtc2lkZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFldEYsTUFBTSxPQUFPLGdDQUFnQzs4R0FBaEMsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsNkdBVGpDOzs7OztHQUtUOzsyRkFJVSxnQ0FBZ0M7a0JBYjVDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELFFBQVEsRUFBRTs7Ozs7R0FLVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOztBQWVELE1BQU0sT0FBTyw4QkFBOEI7OEdBQTlCLDhCQUE4QjtrR0FBOUIsOEJBQThCLHlHQVIvQjs7OztHQUlUOzsyRkFJVSw4QkFBOEI7a0JBWjFDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwrQ0FBK0M7b0JBQ3pELFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LXBhZ2Utc3RhcnQtc2lkZSwgYXhwLWxheW91dC1zdGFydC1zaWRlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtcGFnZS1lbmQtc2lkZSwgYXhwLWxheW91dC1lbmQtc2lkZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRFbmRTaWRlQ29tcG9uZW50IHt9XG4iXX0=","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutToolbarComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutToolbarComponent, isStandalone: true, selector: \"axp-layout-toolbar\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutToolbarComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-toolbar',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXRvb2wtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9ibG9ja3MvbGF5b3V0LXRvb2wtYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWV0RixNQUFNLE9BQU8sOEJBQThCOzhHQUE5Qiw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw4RUFUN0I7Ozs7S0FJVDs7MkZBS1EsOEJBQThCO2tCQWIxQyxTQUFTO21CQUFDO29CQUNQLE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWxheW91dC10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBBWFBUaGVtZUxheW91dFRvb2xiYXJDb21wb25lbnQge1xuXG59XG5cblxuIl19","import { ChangeDetectionStrategy, Component, ElementRef, inject, signal, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutContainerComponent {\n constructor() {\n this.elementRef = inject((ElementRef));\n this.hostElement = this.elementRef.nativeElement;\n this._isEmptySignal = signal(this.hostElement.children.length === 0, ...(ngDevMode ? [{ debugName: \"_isEmptySignal\" }] : []));\n this.isEmpty = this._isEmptySignal.asReadonly();\n }\n ngOnInit() {\n this.mutationObserver = new MutationObserver(() => {\n this._isEmptySignal.set(this.hostElement.children.length === 0);\n });\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n }\n ngOnDestroy() {\n this.mutationObserver?.disconnect();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPThemeLayoutContainerComponent, isStandalone: true, selector: \"axp-layout-container\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPThemeLayoutContainerComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: `axp-layout-container`,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVksVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU3BJLE1BQU0sT0FBTyxnQ0FBZ0M7SUFQN0M7UUFVdUIsZUFBVSxHQUErQixNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQUMsQ0FBQztRQUMvRSxnQkFBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBR3BELG1CQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLDBEQUFDLENBQUM7UUFDeEQsWUFBTyxHQUFvQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBcUIvRTtJQWpCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLENBQUM7OEdBekJRLGdDQUFnQztrR0FBaEMsZ0NBQWdDLGdGQUovQiwyQkFBMkI7OzJGQUk1QixnQ0FBZ0M7a0JBUDVDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgRWxlbWVudFJlZiwgaW5qZWN0LCBzaWduYWwsIFNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogYGF4cC1sYXlvdXQtY29udGFpbmVyYCxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IHtcblxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuXG4gICAgcHJpdmF0ZSBfaXNFbXB0eVNpZ25hbCA9IHNpZ25hbCh0aGlzLmhvc3RFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGlzRW1wdHk6IFNpZ25hbDxib29sZWFuPiA9IHRoaXMuX2lzRW1wdHlTaWduYWwuYXNSZWFkb25seSgpO1xuXG4gICAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pc0VtcHR5U2lnbmFsLnNldCh0aGlzLmhvc3RFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuaG9zdEVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB9XG5cblxuXG59XG4iXX0=","import { Component, ViewEncapsulation, input, computed, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/label\";\nimport * as i2 from \"@acorex/components/check-box\";\nimport * as i3 from \"@acorex/platform/layout/builder\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXPCompareViewComponent {\n constructor() {\n //#region ---- Component Properties ----\n this.inputs = input(...(ngDevMode ? [undefined, { debugName: \"inputs\" }] : []));\n this.showOnlyChanges = signal(false, ...(ngDevMode ? [{ debugName: \"showOnlyChanges\" }] : []));\n this.mode = input('compare', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.removedObjects = signal([], ...(ngDevMode ? [{ debugName: \"removedObjects\" }] : []));\n this.isChangesMode = computed(() => this.mode() === 'changes', ...(ngDevMode ? [{ debugName: \"isChangesMode\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Filtered fields based on showOnlyChanges toggle\n */\n this.filteredFields = computed(() => {\n const fields = this.inputs()?.fields ?? [];\n // Set readOnly to true for all fields\n fields.forEach(field => {\n field.widget.options = {\n ...field.widget.options,\n allowEdit: false,\n readOnly: true,\n };\n });\n if (!this.showOnlyChanges()) {\n return fields;\n }\n // Filter to show only fields where values differ across objects\n return fields.filter(field => this.hasUnequalValues(field.path));\n }, ...(ngDevMode ? [{ debugName: \"filteredFields\" }] : []));\n this.remainingObjects = computed(() => {\n const objects = this.inputs()?.objects ?? [];\n return objects.filter(obj => !this.removedObjects().includes(obj.id));\n }, ...(ngDevMode ? [{ debugName: \"remainingObjects\" }] : []));\n }\n //#endregion\n //#region ---- Utility Methods ----\n /**\n * Check if a field value will change in the next object (to show arrow in current cell)\n */\n hasValueChangingToNext(fieldPath, currentObjectIndex) {\n const objects = this.remainingObjects();\n if (currentObjectIndex >= objects.length - 1)\n return false;\n const currentValue = objects[currentObjectIndex]?.context[fieldPath];\n const nextValue = objects[currentObjectIndex + 1]?.context[fieldPath];\n return !this.areValuesEqual(currentValue, nextValue);\n }\n /**\n * Check if a field value has changed compared to the previous object\n */\n hasValueChangedFromPrevious(fieldPath, currentObjectIndex) {\n const objects = this.remainingObjects();\n if (currentObjectIndex === 0 || objects.length <= 1)\n return false;\n const currentValue = objects[currentObjectIndex]?.context[fieldPath];\n const previousValue = objects[currentObjectIndex - 1]?.context[fieldPath];\n return !this.areValuesEqual(currentValue, previousValue);\n }\n /**\n * Check if a field has unequal values across objects\n */\n hasUnequalValues(fieldPath) {\n const objects = this.remainingObjects();\n if (objects.length <= 1)\n return false;\n const values = objects.map(obj => obj.context[fieldPath]);\n const firstValue = values[0];\n return values.some(value => !this.areValuesEqual(value, firstValue));\n }\n /**\n * Check if a field has equal values across objects\n */\n hasEqualValues(fieldPath) {\n const objects = this.remainingObjects();\n if (objects.length <= 1)\n return false;\n const values = objects.map(obj => obj.context[fieldPath]);\n const firstValue = values[0];\n return values.every(value => this.areValuesEqual(value, firstValue));\n }\n /**\n * Compare two values for equality (deep comparison for objects/arrays)\n */\n areValuesEqual(value1, value2) {\n if (value1 === value2)\n return true;\n if (value1 == null || value2 == null)\n return value1 === value2;\n if (typeof value1 !== typeof value2)\n return false;\n if (typeof value1 === 'object') {\n return JSON.stringify(value1) === JSON.stringify(value2);\n }\n return false;\n }\n /**\n * Toggle the show only changes filter\n */\n toggleShowOnlyChanges() {\n this.showOnlyChanges.update(value => !value);\n }\n /**\n * Remove an object from the comparison\n */\n removeObject(objectId) {\n this.removedObjects.update(objects => [...objects, objectId]);\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n ngOnInit() {\n }\n ngOnDestroy() {\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPCompareViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPCompareViewComponent, isStandalone: true, selector: \"axp-compare-view\", inputs: { inputs: { classPropertyName: \"inputs\", publicName: \"inputs\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], ngImport: i0, template: \"<!--\\n #region ---- Compare View Table Layout ----\\n-->\\n<div class=\\\"axp-compare-view\\\">\\n <div class=\\\"__table-container\\\">\\n <table class=\\\"__table\\\">\\n <thead class=\\\"__thead\\\">\\n <tr class=\\\"__header-row\\\">\\n <th class=\\\"__field-header\\\">\\n <ax-check-box [value]=\\\"showOnlyChanges()\\\" (valueChange)=\\\"toggleShowOnlyChanges()\\\"\\n class=\\\"__show-changes-toggle\\\">\\n <ax-label>\\n {{ 'compare-view.show-only-differences' | translate: { scope: 'common' } | async }}\\n </ax-label>\\n </ax-check-box>\\n </th>\\n @for (obj of remainingObjects(); track obj.id) {\\n <th class=\\\"__object-header\\\" [attr.data-id]=\\\"obj.id\\\">\\n <div class=\\\"__object-title\\\" [title]=\\\"obj.description\\\">\\n <span>{{ obj.title | translate | async }}</span>\\n @if (remainingObjects().length > 2) {\\n <span class=\\\"__remove-object-button\\\" (click)=\\\"removeObject(obj.id)\\\">\\n <i class=\\\"fa-light fa-times\\\"></i>\\n </span>\\n }\\n </div>\\n </th>\\n }\\n </tr>\\n </thead>\\n <tbody class=\\\"__tbody\\\">\\n @for (field of filteredFields(); track field.path; let i = $index) {\\n <tr class=\\\"__row\\\" [class.__row--odd]=\\\"i % 2 === 1\\\" [class.__row--has-differences]=\\\"hasUnequalValues(field.path)\\\"\\n [class.__row--has-equal-values]=\\\"hasEqualValues(field.path)\\\">\\n <td class=\\\"__field-cell\\\">\\n <div class=\\\"__field-content\\\">\\n <div class=\\\"__field-title\\\">\\n {{ field.title | translate | async }}\\n </div>\\n @if (field.description) {\\n <div class=\\\"__field-description\\\">{{ field.description }}</div>\\n }\\n </div>\\n </td>\\n @for (obj of remainingObjects(); track obj.id; let objIndex = $index) {\\n <td class=\\\"__object-cell\\\" [attr.data-id]=\\\"obj.id\\\"\\n [class.__cell--changed]=\\\"hasValueChangedFromPrevious(field.path, objIndex) && isChangesMode()\\\">\\n @if (obj.context[field.path] !== undefined) {\\n <div class=\\\"__object-content\\\">\\n <axp-widgets-container [context]=\\\"obj.context\\\">\\n <ng-container axp-widget-renderer [node]=\\\"field.widget\\\" [mode]=\\\"'view'\\\"></ng-container>\\n </axp-widgets-container>\\n </div>\\n } @else {\\n <div class=\\\"__object-placeholder\\\">---</div>\\n }\\n @if (hasValueChangingToNext(field.path, objIndex) && isChangesMode()) {\\n <div class=\\\"__change-indicator\\\">\\n <i class=\\\"fa-light fa-arrow-right\\\"></i>\\n </div>\\n }\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n</div>\\n<!--\\n #endregion\\n-->\", styles: [\".axp-compare-view{display:flex;height:100%;width:100%;flex-direction:column;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:relative}.axp-compare-view .__filter-controls{flex-shrink:0;border-bottom-width:1px;padding:1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.axp-compare-view .__filter-controls .__show-changes-toggle{font-size:.875rem;line-height:1.25rem}.axp-compare-view .__table-container{flex:1 1 0%;overflow:auto;position:relative}.axp-compare-view .__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.axp-compare-view .__table .__thead{position:-webkit-sticky;position:sticky;top:0;z-index:20}.axp-compare-view .__table .__thead .__header-row .__field-header{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;text-align:left;font-weight:700;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));position:-webkit-sticky;position:sticky;left:0;z-index:25}.axp-compare-view .__table .__thead .__header-row .__object-header{position:relative;border-bottom-width:1px;padding:.75rem 1rem;text-align:center;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));min-width:250px;width:250px}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;position:absolute;top:50%;inset-inline-end:0px;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-danger-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-600),var(--tw-text-opacity, 1))}.axp-compare-view .__table .__tbody .__row{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-compare-view .__table .__tbody .__row.__row--odd{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-compare-view .__table .__tbody .__row.__row--has-differences{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{background-color:rgba(var(--ax-sys-color-warning-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{background-color:rgba(var(--ax-sys-color-success-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row .__field-cell{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;vertical-align:top;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:-webkit-sticky;position:sticky;left:0;z-index:15}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content{display:flex;flex-direction:column;gap:.25rem}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-title{font-weight:500}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-description{font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__tbody .__row .__object-cell{border-bottom-width:1px;padding:.75rem 1rem;text-align:center;vertical-align:middle;position:relative}.axp-compare-view .__table .__tbody .__row .__object-cell.__cell--changed .__object-content{border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-200),var(--tw-border-opacity, 1));padding:.5rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-content{position:relative;display:flex;align-items:center;justify-content:center}.axp-compare-view .__table .__tbody .__row .__object-cell .__change-indicator{position:absolute;inset-inline-end:-.25rem;top:50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));line-height:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1));font-size:.875rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-placeholder{opacity:.75}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-900),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-900),var(--tw-bg-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXFormModule }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i1.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i2.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"checked\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: \n // Platform\n AXPLayoutBuilderModule }, { kind: \"component\", type: i3.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i3.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPCompareViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-compare-view', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTranslationModule,\n // Platform\n AXPLayoutBuilderModule\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<!--\\n #region ---- Compare View Table Layout ----\\n-->\\n<div class=\\\"axp-compare-view\\\">\\n <div class=\\\"__table-container\\\">\\n <table class=\\\"__table\\\">\\n <thead class=\\\"__thead\\\">\\n <tr class=\\\"__header-row\\\">\\n <th class=\\\"__field-header\\\">\\n <ax-check-box [value]=\\\"showOnlyChanges()\\\" (valueChange)=\\\"toggleShowOnlyChanges()\\\"\\n class=\\\"__show-changes-toggle\\\">\\n <ax-label>\\n {{ 'compare-view.show-only-differences' | translate: { scope: 'common' } | async }}\\n </ax-label>\\n </ax-check-box>\\n </th>\\n @for (obj of remainingObjects(); track obj.id) {\\n <th class=\\\"__object-header\\\" [attr.data-id]=\\\"obj.id\\\">\\n <div class=\\\"__object-title\\\" [title]=\\\"obj.description\\\">\\n <span>{{ obj.title | translate | async }}</span>\\n @if (remainingObjects().length > 2) {\\n <span class=\\\"__remove-object-button\\\" (click)=\\\"removeObject(obj.id)\\\">\\n <i class=\\\"fa-light fa-times\\\"></i>\\n </span>\\n }\\n </div>\\n </th>\\n }\\n </tr>\\n </thead>\\n <tbody class=\\\"__tbody\\\">\\n @for (field of filteredFields(); track field.path; let i = $index) {\\n <tr class=\\\"__row\\\" [class.__row--odd]=\\\"i % 2 === 1\\\" [class.__row--has-differences]=\\\"hasUnequalValues(field.path)\\\"\\n [class.__row--has-equal-values]=\\\"hasEqualValues(field.path)\\\">\\n <td class=\\\"__field-cell\\\">\\n <div class=\\\"__field-content\\\">\\n <div class=\\\"__field-title\\\">\\n {{ field.title | translate | async }}\\n </div>\\n @if (field.description) {\\n <div class=\\\"__field-description\\\">{{ field.description }}</div>\\n }\\n </div>\\n </td>\\n @for (obj of remainingObjects(); track obj.id; let objIndex = $index) {\\n <td class=\\\"__object-cell\\\" [attr.data-id]=\\\"obj.id\\\"\\n [class.__cell--changed]=\\\"hasValueChangedFromPrevious(field.path, objIndex) && isChangesMode()\\\">\\n @if (obj.context[field.path] !== undefined) {\\n <div class=\\\"__object-content\\\">\\n <axp-widgets-container [context]=\\\"obj.context\\\">\\n <ng-container axp-widget-renderer [node]=\\\"field.widget\\\" [mode]=\\\"'view'\\\"></ng-container>\\n </axp-widgets-container>\\n </div>\\n } @else {\\n <div class=\\\"__object-placeholder\\\">---</div>\\n }\\n @if (hasValueChangingToNext(field.path, objIndex) && isChangesMode()) {\\n <div class=\\\"__change-indicator\\\">\\n <i class=\\\"fa-light fa-arrow-right\\\"></i>\\n </div>\\n }\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n</div>\\n<!--\\n #endregion\\n-->\", styles: [\".axp-compare-view{display:flex;height:100%;width:100%;flex-direction:column;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:relative}.axp-compare-view .__filter-controls{flex-shrink:0;border-bottom-width:1px;padding:1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.axp-compare-view .__filter-controls .__show-changes-toggle{font-size:.875rem;line-height:1.25rem}.axp-compare-view .__table-container{flex:1 1 0%;overflow:auto;position:relative}.axp-compare-view .__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.axp-compare-view .__table .__thead{position:-webkit-sticky;position:sticky;top:0;z-index:20}.axp-compare-view .__table .__thead .__header-row .__field-header{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;text-align:left;font-weight:700;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));position:-webkit-sticky;position:sticky;left:0;z-index:25}.axp-compare-view .__table .__thead .__header-row .__object-header{position:relative;border-bottom-width:1px;padding:.75rem 1rem;text-align:center;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));min-width:250px;width:250px}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;position:absolute;top:50%;inset-inline-end:0px;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-danger-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-600),var(--tw-text-opacity, 1))}.axp-compare-view .__table .__tbody .__row{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-compare-view .__table .__tbody .__row.__row--odd{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-compare-view .__table .__tbody .__row.__row--has-differences{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{background-color:rgba(var(--ax-sys-color-warning-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{background-color:rgba(var(--ax-sys-color-success-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row .__field-cell{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;vertical-align:top;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:-webkit-sticky;position:sticky;left:0;z-index:15}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content{display:flex;flex-direction:column;gap:.25rem}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-title{font-weight:500}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-description{font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__tbody .__row .__object-cell{border-bottom-width:1px;padding:.75rem 1rem;text-align:center;vertical-align:middle;position:relative}.axp-compare-view .__table .__tbody .__row .__object-cell.__cell--changed .__object-content{border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-200),var(--tw-border-opacity, 1));padding:.5rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-content{position:relative;display:flex;align-items:center;justify-content:center}.axp-compare-view .__table .__tbody .__row .__object-cell .__change-indicator{position:absolute;inset-inline-end:-.25rem;top:50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));line-height:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1));font-size:.875rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-placeholder{opacity:.75}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-900),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-900),var(--tw-bg-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb21wYXJlLXZpZXcvY29tcGFyZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb21wYXJlLXZpZXcvY29tcGFyZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLGlCQUFpQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBOEN4RixNQUFNLE9BQU8sdUJBQXVCO0lBdEJwQztRQXdCSSw0Q0FBNEM7UUFFNUMsV0FBTSxHQUFHLEtBQUssNERBQXdCLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsS0FBSywyREFBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxLQUFLLENBQXFCLFNB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Vzt3QkFDWCxzQkFBc0I7cUJBQ3pCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFFViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbnB1dCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLCBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBDb250ZXh0RGF0YSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tcGFyZVZpZXdGaWVsZCB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbXBhcmVWaWV3T2JqZWN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgY29udGV4dDogQVhQQ29udGV4dERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tcGFyZVZpZXdJbnB1dHMge1xuICAgIGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdO1xuICAgIG9iamVjdHM6IEFYUENvbXBhcmVWaWV3T2JqZWN0W107XG59XG5cbmV4cG9ydCB0eXBlIEFYUENvbXBhcmVWaWV3TW9kZSA9ICdjb21wYXJlJyB8ICdjaGFuZ2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtY29tcGFyZS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tcGFyZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29tcGFyZS12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhGb3JtTW9kdWxlLFxuICAgICAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWExhYmVsTW9kdWxlLFxuICAgICAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBQbGF0Zm9ybVxuICAgICAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcGFyZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgaW5wdXRzID0gaW5wdXQ8QVhQQ29tcGFyZVZpZXdJbnB1dHM+KCk7XG4gICAgc2hvd09ubHlDaGFuZ2VzID0gc2lnbmFsKGZhbHNlKTtcbiAgICBtb2RlID0gaW5wdXQ8QVhQQ29tcGFyZVZpZXdNb2RlPignY29tcGFyZScpO1xuXG4gICAgcHJpdmF0ZSByZW1vdmVkT2JqZWN0cyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuXG4gICAgcHJvdGVjdGVkIGlzQ2hhbmdlc01vZGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1vZGUoKSA9PT0gJ2NoYW5nZXMnKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogRmlsdGVyZWQgZmllbGRzIGJhc2VkIG9uIHNob3dPbmx5Q2hhbmdlcyB0b2dnbGVcbiAgICAgKi9cbiAgICBmaWx0ZXJlZEZpZWxkcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5pbnB1dHMoKT8uZmllbGRzID8/IFtdO1xuICAgICAgICAvLyBTZXQgcmVhZE9ubHkgdG8gdHJ1ZSBmb3IgYWxsIGZpZWxkc1xuICAgICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBmaWVsZC53aWRnZXQub3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi5maWVsZC53aWRnZXQub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBhbGxvd0VkaXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnNob3dPbmx5Q2hhbmdlcygpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsdGVyIHRvIHNob3cgb25seSBmaWVsZHMgd2hlcmUgdmFsdWVzIGRpZmZlciBhY3Jvc3Mgb2JqZWN0c1xuICAgICAgICByZXR1cm4gZmllbGRzLmZpbHRlcihmaWVsZCA9PiB0aGlzLmhhc1VuZXF1YWxWYWx1ZXMoZmllbGQucGF0aCkpO1xuICAgIH0pO1xuXG4gICAgcmVtYWluaW5nT2JqZWN0cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgb2JqZWN0cyA9IHRoaXMuaW5wdXRzKCk/Lm9iamVjdHMgPz8gW107XG4gICAgICAgIHJldHVybiBvYmplY3RzLmZpbHRlcihvYmogPT4gIXRoaXMucmVtb3ZlZE9iamVjdHMoKS5pbmNsdWRlcyhvYmouaWQpKTtcbiAgICB9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBVdGlsaXR5IE1ldGhvZHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhIGZpZWxkIHZhbHVlIHdpbGwgY2hhbmdlIGluIHRoZSBuZXh0IG9iamVjdCAodG8gc2hvdyBhcnJvdyBpbiBjdXJyZW50IGNlbGwpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhc1ZhbHVlQ2hhbmdpbmdUb05leHQoZmllbGRQYXRoOiBzdHJpbmcsIGN1cnJlbnRPYmplY3RJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLnJlbWFpbmluZ09iamVjdHMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRPYmplY3RJbmRleCA+PSBvYmplY3RzLmxlbmd0aCAtIDEpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBvYmplY3RzW2N1cnJlbnRPYmplY3RJbmRleF0/LmNvbnRleHRbZmllbGRQYXRoXTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gb2JqZWN0c1tjdXJyZW50T2JqZWN0SW5kZXggKyAxXT8uY29udGV4dFtmaWVsZFBhdGhdO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5hcmVWYWx1ZXNFcXVhbChjdXJyZW50VmFsdWUsIG5leHRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYSBmaWVsZCB2YWx1ZSBoYXMgY2hhbmdlZCBjb21wYXJlZCB0byB0aGUgcHJldmlvdXMgb2JqZWN0XG4gICAgICovXG4gICAgaGFzVmFsdWVDaGFuZ2VkRnJvbVByZXZpb3VzKGZpZWxkUGF0aDogc3RyaW5nLCBjdXJyZW50T2JqZWN0SW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBvYmplY3RzID0gdGhpcy5yZW1haW5pbmdPYmplY3RzKCk7XG4gICAgICAgIGlmIChjdXJyZW50T2JqZWN0SW5kZXggPT09IDAgfHwgb2JqZWN0cy5sZW5ndGggPD0gMSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IG9iamVjdHNbY3VycmVudE9iamVjdEluZGV4XT8uY29udGV4dFtmaWVsZFBhdGhdO1xuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gb2JqZWN0c1tjdXJyZW50T2JqZWN0SW5kZXggLSAxXT8uY29udGV4dFtmaWVsZFBhdGhdO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5hcmVWYWx1ZXNFcXVhbChjdXJyZW50VmFsdWUsIHByZXZpb3VzVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgZmllbGQgaGFzIHVuZXF1YWwgdmFsdWVzIGFjcm9zcyBvYmplY3RzXG4gICAgICovXG4gICAgaGFzVW5lcXVhbFZhbHVlcyhmaWVsZFBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBvYmplY3RzID0gdGhpcy5yZW1haW5pbmdPYmplY3RzKCk7XG4gICAgICAgIGlmIChvYmplY3RzLmxlbmd0aCA8PSAxKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gb2JqZWN0cy5tYXAob2JqID0+IG9iai5jb250ZXh0W2ZpZWxkUGF0aF0pO1xuICAgICAgICBjb25zdCBmaXJzdFZhbHVlID0gdmFsdWVzWzBdO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZXMuc29tZSh2YWx1ZSA9PiAhdGhpcy5hcmVWYWx1ZXNFcXVhbCh2YWx1ZSwgZmlyc3RWYWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgZmllbGQgaGFzIGVxdWFsIHZhbHVlcyBhY3Jvc3Mgb2JqZWN0c1xuICAgICAqL1xuICAgIGhhc0VxdWFsVmFsdWVzKGZpZWxkUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLnJlbWFpbmluZ09iamVjdHMoKTtcbiAgICAgICAgaWYgKG9iamVjdHMubGVuZ3RoIDw9IDEpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSBvYmplY3RzLm1hcChvYmogPT4gb2JqLmNvbnRleHRbZmllbGRQYXRoXSk7XG4gICAgICAgIGNvbnN0IGZpcnN0VmFsdWUgPSB2YWx1ZXNbMF07XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlcy5ldmVyeSh2YWx1ZSA9PiB0aGlzLmFyZVZhbHVlc0VxdWFsKHZhbHVlLCBmaXJzdFZhbHVlKSk7XG4gICAgfVxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZSB0d28gdmFsdWVzIGZvciBlcXVhbGl0eSAoZGVlcCBjb21wYXJpc29uIGZvciBvYmplY3RzL2FycmF5cylcbiAgICAgKi9cbiAgICBwcml2YXRlIGFyZVZhbHVlc0VxdWFsKHZhbHVlMTogYW55LCB2YWx1ZTI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodmFsdWUxID09PSB2YWx1ZTIpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGlmICh2YWx1ZTEgPT0gbnVsbCB8fCB2YWx1ZTIgPT0gbnVsbCkgcmV0dXJuIHZhbHVlMSA9PT0gdmFsdWUyO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUxICE9PSB0eXBlb2YgdmFsdWUyKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUxKSA9PT0gSlNPTi5zdHJpbmdpZnkodmFsdWUyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgdGhlIHNob3cgb25seSBjaGFuZ2VzIGZpbHRlclxuICAgICAqL1xuICAgIHRvZ2dsZVNob3dPbmx5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93T25seUNoYW5nZXMudXBkYXRlKHZhbHVlID0+ICF2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGFuIG9iamVjdCBmcm9tIHRoZSBjb21wYXJpc29uXG4gICAgICovXG4gICAgcmVtb3ZlT2JqZWN0KG9iamVjdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVkT2JqZWN0cy51cGRhdGUob2JqZWN0cyA9PiBbLi4ub2JqZWN0cywgb2JqZWN0SWRdKTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGlmZWN5Y2xlIE1ldGhvZHMgICAtLS0tXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcblxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuIiwiPCEtLVxuICAjcmVnaW9uIC0tLS0gICBDb21wYXJlIFZpZXcgVGFibGUgTGF5b3V0ICAgLS0tLVxuLS0+XG48ZGl2IGNsYXNzPVwiYXhwLWNvbXBhcmUtdmlld1wiPlxuICA8ZGl2IGNsYXNzPVwiX190YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJfX3RhYmxlXCI+XG4gICAgICA8dGhlYWQgY2xhc3M9XCJfX3RoZWFkXCI+XG4gICAgICAgIDx0ciBjbGFzcz1cIl9faGVhZGVyLXJvd1wiPlxuICAgICAgICAgIDx0aCBjbGFzcz1cIl9fZmllbGQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8YXgtY2hlY2stYm94IFt2YWx1ZV09XCJzaG93T25seUNoYW5nZXMoKVwiICh2YWx1ZUNoYW5nZSk9XCJ0b2dnbGVTaG93T25seUNoYW5nZXMoKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiX19zaG93LWNoYW5nZXMtdG9nZ2xlXCI+XG4gICAgICAgICAgICAgIDxheC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyAnY29tcGFyZS12aWV3LnNob3ctb25seS1kaWZmZXJlbmNlcycgfCB0cmFuc2xhdGU6IHsgc2NvcGU6ICdjb21tb24nIH0gfCBhc3luYyB9fVxuICAgICAgICAgICAgICA8L2F4LWxhYmVsPlxuICAgICAgICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICBAZm9yIChvYmogb2YgcmVtYWluaW5nT2JqZWN0cygpOyB0cmFjayBvYmouaWQpIHtcbiAgICAgICAgICA8dGggY2xhc3M9XCJfX29iamVjdC1oZWFkZXJcIiBbYXR0ci5kYXRhLWlkXT1cIm9iai5pZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fb2JqZWN0LXRpdGxlXCIgW3RpdGxlXT1cIm9iai5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBvYmoudGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgQGlmIChyZW1haW5pbmdPYmplY3RzKCkubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIl9fcmVtb3ZlLW9iamVjdC1idXR0b25cIiAoY2xpY2spPVwicmVtb3ZlT2JqZWN0KG9iai5pZClcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cIl9fdGJvZHlcIj5cbiAgICAgICAgQGZvciAoZmllbGQgb2YgZmlsdGVyZWRGaWVsZHMoKTsgdHJhY2sgZmllbGQucGF0aDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPHRyIGNsYXNzPVwiX19yb3dcIiBbY2xhc3MuX19yb3ctLW9kZF09XCJpICUgMiA9PT0gMVwiIFtjbGFzcy5fX3Jvdy0taGFzLWRpZmZlcmVuY2VzXT1cImhhc1VuZXF1YWxWYWx1ZXMoZmllbGQucGF0aClcIlxuICAgICAgICAgIFtjbGFzcy5fX3Jvdy0taGFzLWVxdWFsLXZhbHVlc109XCJoYXNFcXVhbFZhbHVlcyhmaWVsZC5wYXRoKVwiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cIl9fZmllbGQtY2VsbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fZmllbGQtY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19maWVsZC10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIEBpZiAoZmllbGQuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fZmllbGQtZGVzY3JpcHRpb25cIj57eyBmaWVsZC5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIEBmb3IgKG9iaiBvZiByZW1haW5pbmdPYmplY3RzKCk7IHRyYWNrIG9iai5pZDsgbGV0IG9iakluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgICAgPHRkIGNsYXNzPVwiX19vYmplY3QtY2VsbFwiIFthdHRyLmRhdGEtaWRdPVwib2JqLmlkXCJcbiAgICAgICAgICAgIFtjbGFzcy5fX2NlbGwtLWNoYW5nZWRdPVwiaGFzVmFsdWVDaGFuZ2VkRnJvbVByZXZpb3VzKGZpZWxkLnBhdGgsIG9iakluZGV4KSAmJiBpc0NoYW5nZXNNb2RlKClcIj5cbiAgICAgICAgICAgIEBpZiAob2JqLmNvbnRleHRbZmllbGQucGF0aF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fb2JqZWN0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJvYmouY29udGV4dFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJmaWVsZC53aWRnZXRcIiBbbW9kZV09XCIndmlldydcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9heHAtd2lkZ2V0cy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fb2JqZWN0LXBsYWNlaG9sZGVyXCI+LS0tPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGhhc1ZhbHVlQ2hhbmdpbmdUb05leHQoZmllbGQucGF0aCwgb2JqSW5kZXgpICYmIGlzQ2hhbmdlc01vZGUoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhbmdlLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWFycm93LXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdHI+XG4gICAgICAgIH1cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbjwhLS1cbiAgI2VuZHJlZ2lvblxuLS0+Il19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlot {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlot, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.6\", type: AXPComponentSlot, isStandalone: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlot, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50LXNsb3QvY29tcG9uZW50LXNsb3QudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFpQmhELE1BQU0sT0FBZ0IsZ0JBQWdCOzhHQUFoQixnQkFBZ0I7a0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUENvbnRleHREYXRhIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbXBvbmVudFNsb3RDb25maWcge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByaW9yaXR5PzogbnVtYmVyO1xuICBjb21wb25lbnQ/OiBUeXBlPGFueT47XG4gIGNvbmRpdGlvbj86ICgoY29udGV4dD86IEFYUENvbnRleHREYXRhKSA9PiAoYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4pKSB8IHN0cmluZztcbiAgbG9hZENvbXBvbmVudD86ICgpID0+IFR5cGU8YW55PiB8IFByb21pc2U8VHlwZTxhbnk+PjtcbiAgb3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9IHwgKCgpID0+IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb21wb25lbnRTbG90TW9kdWxlQ29uZmlncyB7XG4gIFtzbG90TmFtZTogc3RyaW5nXTogQVhQQ29tcG9uZW50U2xvdENvbmZpZ1tdO1xufVxuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUENvbXBvbmVudFNsb3Qge1xuICBob3N0OiBhbnk7XG59XG4iXX0=","import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlotRegistryService {\n constructor() {\n this.registry = new Map();\n }\n register(slotName, config) {\n let configs = this.registry.get(slotName) || [];\n // Check if the component is already registered in this slot\n const isDuplicate = configs.some(existingConfig => existingConfig.name === config.name);\n if (!isDuplicate) {\n configs = [...configs, config]; // Add the new configuration\n this.registry.set(slotName, configs);\n }\n }\n get(slotName) {\n return this.registry.get(slotName) || [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50LXNsb3QvY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLCtCQUErQjtJQUg1QztRQUtZLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztLQWlCbEU7SUFmRyxRQUFRLENBQUMsUUFBZ0IsRUFBRSxNQUE4QjtRQUNyRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFaEQsNERBQTREO1FBQzVELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDZixPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsUUFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQzs4R0FsQlEsK0JBQStCO2tIQUEvQiwrQkFBK0IsY0FGNUIsTUFBTTs7MkZBRVQsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RDb25maWcgfSBmcm9tIFwiLi9jb21wb25lbnQtc2xvdC50eXBlc1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBvbmVudFNsb3RSZWdpc3RyeVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBBWFBDb21wb25lbnRTbG90Q29uZmlnW10+KCk7XG5cbiAgICByZWdpc3RlcihzbG90TmFtZTogc3RyaW5nLCBjb25maWc6IEFYUENvbXBvbmVudFNsb3RDb25maWcpIHtcbiAgICAgICAgbGV0IGNvbmZpZ3MgPSB0aGlzLnJlZ2lzdHJ5LmdldChzbG90TmFtZSkgfHwgW107XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgaW4gdGhpcyBzbG90XG4gICAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gY29uZmlncy5zb21lKGV4aXN0aW5nQ29uZmlnID0+IGV4aXN0aW5nQ29uZmlnLm5hbWUgPT09IGNvbmZpZy5uYW1lKTtcblxuICAgICAgICBpZiAoIWlzRHVwbGljYXRlKSB7XG4gICAgICAgICAgICBjb25maWdzID0gWy4uLmNvbmZpZ3MsIGNvbmZpZ107IC8vIEFkZCB0aGUgbmV3IGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIHRoaXMucmVnaXN0cnkuc2V0KHNsb3ROYW1lLCBjb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldChzbG90TmFtZTogc3RyaW5nKTogQVhQQ29tcG9uZW50U2xvdENvbmZpZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0KHNsb3ROYW1lKSB8fCBbXTtcbiAgICB9XG59Il19","import { AXPContextStore, AXPExpressionEvaluatorService } from '@acorex/platform/core';\nimport { computed, Directive, effect, ElementRef, inject, Injector, input, runInInjectionContext, signal, ViewContainerRef, } from '@angular/core';\nimport { sortBy } from 'lodash-es';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlotDirective {\n constructor() {\n this.name = input.required(...(ngDevMode ? [{ debugName: \"name\" }] : []));\n this.host = input(...(ngDevMode ? [undefined, { debugName: \"host\" }] : []));\n this.context = input(...(ngDevMode ? [undefined, { debugName: \"context\" }] : []));\n this.elementRef = inject(ElementRef);\n this.registryService = inject(AXPComponentSlotRegistryService);\n this.injector = inject(Injector);\n this.evaluator = inject(AXPExpressionEvaluatorService);\n this.viewContainerRef = inject(ViewContainerRef);\n this.contextStore = inject(AXPContextStore);\n this.isEmpty = computed(() => this._viewCount() === 0, ...(ngDevMode ? [{ debugName: \"isEmpty\" }] : []));\n // Create a signal to store the count of children\n this._viewCount = signal(0, ...(ngDevMode ? [{ debugName: \"_viewCount\" }] : []));\n // Track component references for updates\n this.componentRefs = [];\n // Watch for context changes and update component instances\n effect(() => {\n const currentContext = this.context();\n const currentHost = this.host();\n // Update all component references with new context and host\n this.componentRefs.forEach(componentRef => {\n if (componentRef.instance) {\n Object.assign(componentRef.instance, {\n host: currentHost,\n context: currentContext,\n });\n }\n });\n });\n }\n async ngOnInit() {\n await this.loadComponents();\n // Update the signal after loading\n this._viewCount.set(this.viewContainerRef.length);\n }\n async loadComponents() {\n this.viewContainerRef.clear();\n // Clear previous component references\n this.componentRefs = [];\n const configs = sortBy(this.registryService.get(this.name()), (c) => c.priority ?? 0);\n if (!configs) {\n console.error(`No component found for slot ${this.name()}`);\n return;\n }\n const results = await Promise.all(configs.map(async (c) => ({\n config: c,\n visible: c.condition ? await this.evaluateCondition(c.condition) : true,\n })));\n const slots = results.filter((r) => r.visible).map((r) => r.config);\n this.viewContainerRef.clear();\n await Promise.all(slots.map(async (config) => {\n let component;\n let options = {};\n // load component\n if (typeof config.loadComponent === 'function') {\n await runInInjectionContext(this.injector, async () => {\n component = await config.loadComponent?.();\n });\n }\n else if (config.component) {\n component = config.component;\n }\n // load options\n if (typeof config.options === 'function') {\n runInInjectionContext(this.injector, () => {\n const fun = config.options;\n options = fun();\n });\n }\n else if (config.options) {\n options = await this.evaluator.evaluate(config.options, {});\n }\n // apply options and host\n const componentRef = this.viewContainerRef.createComponent(component);\n // Store the component reference for future updates\n this.componentRefs.push(componentRef);\n Object.assign(componentRef.instance, {\n host: this.host(),\n context: this.context(),\n ...options,\n });\n }));\n }\n async evaluateCondition(condition) {\n if (typeof condition === 'string') {\n const result = await this.evaluator.evaluate(condition, {});\n return result;\n }\n return condition(this.contextStore.data());\n //return condition(this.context());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.6\", type: AXPComponentSlotDirective, isStandalone: false, selector: \"axp-component-slot\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: true, transformFunction: null }, host: { classPropertyName: \"host\", publicName: \"host\", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: \"context\", publicName: \"context\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"slot\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'axp-component-slot',\n standalone: false,\n exportAs: 'slot',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudC1zbG90L2NvbXBvbmVudC1zbG90LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZHLE9BQU8sRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwscUJBQXFCLEVBQ3JCLE1BQU0sRUFFTixnQkFBZ0IsR0FFakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFPckYsTUFBTSxPQUFPLHlCQUF5QjtJQW9CcEM7UUFuQkEsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLCtDQUFVLENBQUM7UUFDaEMsU0FBSSxHQUFHLEtBQUssMERBQU8sQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyw2REFBTyxDQUFDO1FBRWYsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25ELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXZDLFlBQU8sR0FBRyxRQUFR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LEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzQyxtQ0FBbUM7SUFDckMsQ0FBQzs4R0F6R1UseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUENvbnRleHREYXRhLCBBWFBDb250ZXh0U3RvcmUsIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7XG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBzaWduYWwsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdheHAtY29tcG9uZW50LXNsb3QnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgZXhwb3J0QXM6ICdzbG90Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIGhvc3QgPSBpbnB1dDxhbnk+KCk7XG4gIGNvbnRleHQgPSBpbnB1dDxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlZ2lzdHJ5U2VydmljZSA9IGluamVjdChBWFBDb21wb25lbnRTbG90UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgZXZhbHVhdG9yID0gaW5qZWN0KEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlKTtcbiAgcHVibGljIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHB1YmxpYyBjb250ZXh0U3RvcmUgPSBpbmplY3QoQVhQQ29udGV4dFN0b3JlKTtcblxuICBwdWJsaWMgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX3ZpZXdDb3VudCgpID09PSAwKTtcblxuICAvLyBDcmVhdGUgYSBzaWduYWwgdG8gc3RvcmUgdGhlIGNvdW50IG9mIGNoaWxkcmVuXG4gIHByaXZhdGUgX3ZpZXdDb3VudCA9IHNpZ25hbCgwKTtcblxuICAvLyBUcmFjayBjb21wb25lbnQgcmVmZXJlbmNlcyBmb3IgdXBkYXRlc1xuICBwcml2YXRlIGNvbXBvbmVudFJlZnM6IENvbXBvbmVudFJlZjxhbnk+W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBXYXRjaCBmb3IgY29udGV4dCBjaGFuZ2VzIGFuZCB1cGRhdGUgY29tcG9uZW50IGluc3RhbmNlc1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50Q29udGV4dCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgY29uc3QgY3VycmVudEhvc3QgPSB0aGlzLmhvc3QoKTtcblxuICAgICAgLy8gVXBkYXRlIGFsbCBjb21wb25lbnQgcmVmZXJlbmNlcyB3aXRoIG5ldyBjb250ZXh0IGFuZCBob3N0XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZnMuZm9yRWFjaChjb21wb25lbnRSZWYgPT4ge1xuICAgICAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcbiAgICAgICAgICAgIGhvc3Q6IGN1cnJlbnRIb3N0LFxuICAgICAgICAgICAgY29udGV4dDogY3VycmVudENvbnRleHQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkQ29tcG9uZW50cygpO1xuICAgIC8vIFVwZGF0ZSB0aGUgc2lnbmFsIGFmdGVyIGxvYWRpbmdcbiAgICB0aGlzLl92aWV3Q291bnQuc2V0KHRoaXMudmlld0NvbnRhaW5lclJlZi5sZW5ndGgpO1xuICB9XG5cbiAgYXN5bmMgbG9hZENvbXBvbmVudHMoKSB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgLy8gQ2xlYXIgcHJldmlvdXMgY29tcG9uZW50IHJlZmVyZW5jZXNcbiAgICB0aGlzLmNvbXBvbmVudFJlZnMgPSBbXTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBzb3J0QnkodGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0KHRoaXMubmFtZSgpKSwgKGMpID0+IGMucHJpb3JpdHkgPz8gMCk7XG4gICAgaWYgKCFjb25maWdzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBObyBjb21wb25lbnQgZm91bmQgZm9yIHNsb3QgJHt0aGlzLm5hbWUoKX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29uZmlncy5tYXAoYXN5bmMgKGMpID0+ICh7XG4gICAgICAgIGNvbmZpZzogYyxcbiAgICAgICAgdmlzaWJsZTogYy5jb25kaXRpb24gPyBhd2FpdCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGMuY29uZGl0aW9uKSA6IHRydWUsXG4gICAgICB9KSksXG4gICAgKTtcbiAgICBjb25zdCBzbG90cyA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnZpc2libGUpLm1hcCgocikgPT4gci5jb25maWcpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgc2xvdHMubWFwKGFzeW5jIChjb25maWcpID0+IHtcbiAgICAgICAgbGV0IGNvbXBvbmVudCE6IFR5cGU8YW55PiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9IHt9O1xuICAgICAgICAvLyBsb2FkIGNvbXBvbmVudFxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZy5sb2FkQ29tcG9uZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgYXdhaXQgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbXBvbmVudCA9IGF3YWl0IGNvbmZpZy5sb2FkQ29tcG9uZW50Py4oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgICAgY29tcG9uZW50ID0gY29uZmlnLmNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBsb2FkIG9wdGlvbnNcbiAgICAgICAgaWYgKHR5cGVvZiBjb25maWcub3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmdW4gPSBjb25maWcub3B0aW9ucyBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBmdW4oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcub3B0aW9ucykge1xuICAgICAgICAgIG9wdGlvbnMgPSBhd2FpdCB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25maWcub3B0aW9ucywge30pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFwcGx5IG9wdGlvbnMgYW5kIGhvc3RcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQhKTtcblxuICAgICAgICAvLyBTdG9yZSB0aGUgY29tcG9uZW50IHJlZmVyZW5jZSBmb3IgZnV0dXJlIHVwZGF0ZXNcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWZzLnB1c2goY29tcG9uZW50UmVmKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xuICAgICAgICAgIGhvc3Q6IHRoaXMuaG9zdCgpLFxuICAgICAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dCgpLFxuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVDb25kaXRpb24oY29uZGl0aW9uOiBzdHJpbmcgfCAoKGNvbnRleHQ/OiBBWFBDb250ZXh0RGF0YSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4pKSB7XG4gICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24sIHt9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiBjb25kaXRpb24odGhpcy5jb250ZXh0U3RvcmUuZGF0YSgpKTtcbiAgICAvL3JldHVybiBjb25kaXRpb24odGhpcy5jb250ZXh0KCkpO1xuICB9XG59XG4iXX0=","import { Inject, NgModule, Optional } from '@angular/core';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport { AXPComponentSlotDirective } from './component-slot.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlotModule {\n static forRoot(configs) {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n });\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n ]\n };\n }\n static forChild(configs) {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n });\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n ]\n };\n }\n /**\n * @ignore\n */\n constructor(instances) {\n instances?.forEach(f => {\n f();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotModule, deps: [{ token: 'AXPComponentSlotModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotModule, declarations: [AXPComponentSlotDirective], exports: [AXPComponentSlotDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPComponentSlotModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXPComponentSlotDirective],\n exports: [AXPComponentSlotDirective]\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['AXPComponentSlotModuleFactory']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudC1zbG90L2NvbXBvbmVudC1zbG90Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU12RSxNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBdUM7UUFDbEQsT0FBTztZQUNILFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSwrQkFBK0I7b0JBQ3hDLFVBQVUsRUFBRSxDQUFDLFFBQXlDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTt3QkFDNUQsSUFBSSxPQUFPLEVBQUUsQ0FBQzs0QkFDVixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dDQUNqRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29DQUNkLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dDQUM5QixDQUFDLENBQUMsQ0FBQTs0QkFDTixDQUFDO3dCQUNMLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxJQUFJLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDdkMsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUF1QztRQUNuRCxPQUFPO1lBQ0gsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLCtCQUErQjtvQkFDeEMsVUFBVSxFQUFFLENBQUMsUUFBeUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO3dCQUM1RCxJQUFJLE9BQU8sRUFBRSxDQUFDOzRCQUNWLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0NBQ2pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0NBQ2QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0NBQzlCLENBQUMsQ0FBQyxDQUFBOzRCQUNOLENBQUM7d0JBQ0wsQ0FBQztvQkFDTCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUN2QyxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUVKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQWlFLFNBQWdCO1FBQzdFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdERRLHNCQUFzQixrQkFrREMsK0JBQStCOytHQWxEdEQsc0JBQXNCLGlCQUhoQix5QkFBeUIsYUFDOUIseUJBQXlCOytHQUUxQixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2Qzs7MEJBbURnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90TW9kdWxlQ29uZmlncyB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QudHlwZXMnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFBDb21wb25lbnRTbG90RGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSB7XG5cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWdzPzogQVhQQ29tcG9uZW50U2xvdE1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUENvbXBvbmVudFNsb3RNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBDb21wb25lbnRTbG90TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiAnQVhQQ29tcG9uZW50U2xvdE1vZHVsZUZhY3RvcnknLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUENvbXBvbmVudFNsb3RSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlncykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKGtleSwgdik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBmb3JDaGlsZChjb25maWdzPzogQVhQQ29tcG9uZW50U2xvdE1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUENvbXBvbmVudFNsb3RNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBDb21wb25lbnRTbG90TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiAnQVhQQ29tcG9uZW50U2xvdE1vZHVsZUZhY3RvcnknLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUENvbXBvbmVudFNsb3RSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlncykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKGtleSwgdik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUENvbXBvbmVudFNsb3RNb2R1bGVGYWN0b3J5JykgaW5zdGFuY2VzOiBhbnlbXSkge1xuICAgICAgICBpbnN0YW5jZXM/LmZvckVhY2goZiA9PiB7XG4gICAgICAgICAgICBmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19","import { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPGridLayoutDirective } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule, AXPPageStatus, AXPWidgetContainerComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, output, signal, ViewEncapsulation, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutSectionComponent } from '../blocks';\nimport { AXLabelComponent } from \"@acorex/components/label\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/form\";\nimport * as i2 from \"@acorex/platform/layout/builder\";\nexport class AXPDynamicFormComponent {\n constructor() {\n //#region ---- Inputs ----\n /**\n * Form definition containing groups and fields\n */\n this.formDefinition = input.required(...(ngDevMode ? [{ debugName: \"formDefinition\" }] : []));\n /**\n * Form context/model data\n */\n this.context = input.required(...(ngDevMode ? [{ debugName: \"context\" }] : []));\n /**\n * Layout style for the form (normal, compact, vertical, horizontal)\n */\n this.layoutStyle = input('normal', ...(ngDevMode ? [{ debugName: \"layoutStyle\" }] : []));\n /**\n * Custom layout configuration for form fields\n */\n this.layoutConfig = input({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 8 },\n lg: { colSpan: 6 },\n xl: { colSpan: 5 },\n xxl: { colSpan: 4 },\n },\n }, ...(ngDevMode ? [{ debugName: \"layoutConfig\" }] : []));\n //#endregion\n //#region ---- Outputs ----\n /**\n * Emitted when form context changes\n */\n this.contextChange = output();\n /**\n * Emitted when context change is initiated\n */\n this.contextInitiated = output();\n /**\n * Emitted when form becomes valid/invalid\n */\n this.validityChange = output();\n //#endregion\n //#region ---- Properties ----\n this.form = viewChild(AXFormComponent, ...(ngDevMode ? [{ debugName: \"form\" }] : []));\n this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: \"container\" }] : []));\n /**\n * Internal context signal for reactivity\n */\n this.internalContext = signal({}, ...(ngDevMode ? [{ debugName: \"internalContext\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Computed layout configuration\n */\n this.computedLayout = computed(() => this.layoutConfig(), ...(ngDevMode ? [{ debugName: \"computedLayout\" }] : []));\n /**\n * Computed form definition\n */\n this.computedFormDefinition = computed(() => this.formDefinition(), ...(ngDevMode ? [{ debugName: \"computedFormDefinition\" }] : []));\n /**\n * Host classes based on layout style\n */\n this.hostClasses = computed(() => {\n const classes = ['axp-dynamic-form'];\n const style = this.layoutStyle();\n if (style && style !== 'normal') {\n classes.push(`--${style}`);\n }\n return classes.join(' ');\n }, ...(ngDevMode ? [{ debugName: \"hostClasses\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to sync context changes\n */\n this.#contextSyncEffect = effect(() => {\n const context = this.context();\n this.internalContext.set(context);\n }, ...(ngDevMode ? [{ debugName: \"#contextSyncEffect\" }] : []));\n /**\n * Effect to handle form status changes\n */\n this.#formStatusEffect = effect(() => {\n const form = this.form();\n if (form) {\n // You can add form status tracking here if needed\n this.container()?.builderService.setStatus(AXPPageStatus.Rendered);\n }\n }, ...(ngDevMode ? [{ debugName: \"#formStatusEffect\" }] : []));\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n ngOnInit() {\n // Initialize internal context with input context\n this.internalContext.set(this.context());\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to sync context changes\n */\n #contextSyncEffect;\n /**\n * Effect to handle form status changes\n */\n #formStatusEffect;\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle context change events from widget container\n */\n handleContextChanged(event) {\n if (event.state === 'initiated') {\n this.contextInitiated.emit(event.data);\n }\n else {\n this.internalContext.set(event.data);\n this.contextChange.emit(event.data);\n }\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Get the form component instance\n */\n getForm() {\n return this.form();\n }\n /**\n * Get current form context\n */\n getContext() {\n return this.internalContext();\n }\n /**\n * Update form context programmatically\n */\n updateContext(context) {\n this.internalContext.set(context);\n }\n /**\n * Validate the form\n */\n async validate() {\n const form = this.form();\n if (form) {\n const isValid = await form.validate();\n this.validityChange.emit(isValid.result);\n return isValid.result;\n }\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPDynamicFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPDynamicFormComponent, isStandalone: true, selector: \"axp-dynamic-form\", inputs: { formDefinition: { classPropertyName: \"formDefinition\", publicName: \"formDefinition\", isSignal: true, isRequired: true, transformFunction: null }, context: { classPropertyName: \"context\", publicName: \"context\", isSignal: true, isRequired: true, transformFunction: null }, layoutStyle: { classPropertyName: \"layoutStyle\", publicName: \"layoutStyle\", isSignal: true, isRequired: false, transformFunction: null }, layoutConfig: { classPropertyName: \"layoutConfig\", publicName: \"layoutConfig\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contextChange: \"contextChange\", contextInitiated: \"contextInitiated\", validityChange: \"validityChange\" }, host: { properties: { \"class\": \"hostClasses()\" }, classAttribute: \"axp-dynamic-form\" }, viewQueries: [{ propertyName: \"form\", first: true, predicate: AXFormComponent, descendants: true, isSignal: true }, { propertyName: \"container\", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-form>\\n <axp-widgets-container [context]=\\\"internalContext()\\\" (onContextChanged)=\\\"handleContextChanged($event)\\\">\\n <axp-layout-sections>\\n @if (computedFormDefinition()) {\\n @for (group of computedFormDefinition().groups; track group.name) {\\n <axp-layout-section>\\n <axp-layout-header>\\n <axp-layout-title>{{ group.title }}</axp-layout-title>\\n @if (group.description) {\\n <axp-layout-description>{{ group.description }}</axp-layout-description>\\n }\\n </axp-layout-header>\\n <axp-layout-content>\\n @for (param of group.parameters; track param.path) {\\n <div class=\\\"__field-container\\\">\\n <ax-form-field class=\\\"__field-input\\\" [gridLayout]=\\\"computedLayout()\\\">\\n <ax-label>{{ param.title }}</ax-label>\\n <ng-container axp-widget-renderer [node]=\\\"param.widget\\\" [mode]=\\\"'edit'\\\"></ng-container>\\n <!-- @if (param.description) {\\n <axp-layout-description>{{ param.description }}</axp-layout-description>\\n } -->\\n </ax-form-field>\\n </div>\\n }\\n </axp-layout-content>\\n </axp-layout-section>\\n }\\n } @else {\\n <axp-layout-section>\\n <axp-layout-content>\\n <div class=\\\"__empty-state\\\">\\n <axp-layout-description>No form definition provided</axp-layout-description>\\n </div>\\n </axp-layout-content>\\n </axp-layout-section>\\n }\\n </axp-layout-sections>\\n </axp-widgets-container>\\n</ax-form>\\n\", styles: [\".axp-dynamic-form{width:100%}.axp-dynamic-form axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-dynamic-form axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12}@media (min-width: 768px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 3 / span 3}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-dynamic-form.--compact axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;margin-bottom:.5rem;border-width:0px}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container .__field-info{margin-bottom:.125rem;width:100%}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container .__field-input{width:100%}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.125rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--compact axp-layout-section{margin-bottom:.75rem}.axp-dynamic-form.--compact axp-layout-section axp-layout-header{margin-bottom:.5rem;gap:0px;padding:.5rem}.axp-dynamic-form.--compact axp-layout-section axp-layout-header axp-layout-title{font-size:1rem;line-height:1.5rem;font-weight:600}.axp-dynamic-form.--compact axp-layout-section axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container .__field-input{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:row;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container .__field-info{width:12rem;flex-shrink:0}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container .__field-input{flex:1 1 0%}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2rem;padding-bottom:2rem;text-align:center}.axp-dynamic-form .__empty-state .__message{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXFormModule }, { kind: \"component\", type: i1.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i1.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXValidationModule }, { kind: \"ngmodule\", type: \n // Platform\n AXPLayoutBuilderModule }, { kind: \"component\", type: i2.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i2.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \"\\n\\n axp-page-content, \\n axp-page-footer-container,\\n axp-page-footer,\\n axp-page-header,\\n axp-page-header-container,\\n axp-page-toolbar,\\n\\n axp-layout-content, \\n axp-layout-page-content, \\n\\n axp-layout-sections,\\n axp-layout-body,\\n axp-layout-page-body,\\n axp-layout-prefix,\\n axp-layout-suffix,\\n axp-layout-title-bar,\\n axp-layout-title, \\n axp-layout-title-actions, \\n axp-layout-nav-button, \\n axp-layout-description, \\n axp-layout-breadcrumbs,\\n axp-layout-list-action,\\n \" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutSectionComponent, selector: \"axp-layout-section\" }, { kind: \"directive\", type: AXPGridLayoutDirective, selector: \"[gridLayout]\", inputs: [\"gridLayout\"] }, { kind: \"component\", type: AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPDynamicFormComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, selector: 'axp-dynamic-form', imports: [\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXValidationModule,\n // Platform\n AXPLayoutBuilderModule,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutSectionComponent,\n AXPGridLayoutDirective,\n AXLabelComponent\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {\n class: 'axp-dynamic-form',\n '[class]': 'hostClasses()',\n }, template: \"<ax-form>\\n <axp-widgets-container [context]=\\\"internalContext()\\\" (onContextChanged)=\\\"handleContextChanged($event)\\\">\\n <axp-layout-sections>\\n @if (computedFormDefinition()) {\\n @for (group of computedFormDefinition().groups; track group.name) {\\n <axp-layout-section>\\n <axp-layout-header>\\n <axp-layout-title>{{ group.title }}</axp-layout-title>\\n @if (group.description) {\\n <axp-layout-description>{{ group.description }}</axp-layout-description>\\n }\\n </axp-layout-header>\\n <axp-layout-content>\\n @for (param of group.parameters; track param.path) {\\n <div class=\\\"__field-container\\\">\\n <ax-form-field class=\\\"__field-input\\\" [gridLayout]=\\\"computedLayout()\\\">\\n <ax-label>{{ param.title }}</ax-label>\\n <ng-container axp-widget-renderer [node]=\\\"param.widget\\\" [mode]=\\\"'edit'\\\"></ng-container>\\n <!-- @if (param.description) {\\n <axp-layout-description>{{ param.description }}</axp-layout-description>\\n } -->\\n </ax-form-field>\\n </div>\\n }\\n </axp-layout-content>\\n </axp-layout-section>\\n }\\n } @else {\\n <axp-layout-section>\\n <axp-layout-content>\\n <div class=\\\"__empty-state\\\">\\n <axp-layout-description>No form definition provided</axp-layout-description>\\n </div>\\n </axp-layout-content>\\n </axp-layout-section>\\n }\\n </axp-layout-sections>\\n </axp-widgets-container>\\n</ax-form>\\n\", styles: [\".axp-dynamic-form{width:100%}.axp-dynamic-form axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-dynamic-form axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12}@media (min-width: 768px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 3 / span 3}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-dynamic-form.--compact axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;margin-bottom:.5rem;border-width:0px}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container .__field-info{margin-bottom:.125rem;width:100%}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container .__field-input{width:100%}.axp-dynamic-form.--compact axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.125rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--compact axp-layout-section{margin-bottom:.75rem}.axp-dynamic-form.--compact axp-layout-section axp-layout-header{margin-bottom:.5rem;gap:0px;padding:.5rem}.axp-dynamic-form.--compact axp-layout-section axp-layout-header axp-layout-title{font-size:1rem;line-height:1.5rem;font-weight:600}.axp-dynamic-form.--compact axp-layout-section axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container .__field-input{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--vertical axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:row;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container .__field-info{width:12rem;flex-shrink:0}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container .__field-input{flex:1 1 0%}.axp-dynamic-form.--horizontal axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2rem;padding-bottom:2rem;text-align:center}.axp-dynamic-form .__empty-state .__message{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUErQixhQUFhLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU03QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUE0QjVELE1BQU0sT0FBTyx1QkFBdUI7SUExQnBDO1FBNEJJLDhCQUE4QjtRQUU5Qjs7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LE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0E3S1EsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaTNCQXVEUCxlQUFlLDRGQUNWLDJCQUEyQixnRUM1RzdELDhxREF1Q0EscXBLRFBRLFlBQVksOEJBQ1osV0FBVztnQkFDWCxTQUFTO2dCQUNULFlBQVksa1RBQ1osa0JBQWtCO2dCQUNsQixXQUFXO2dCQUNYLHNCQUFzQiwrWkFDdEIsNEJBQTRCLGdsQkFDNUIsNkJBQTZCLDhEQUM3Qiw4QkFBOEIsK0RBQzlCLHNCQUFzQixpRkFDdEIsZ0JBQWdCOzsyRkFTWCx1QkFBdUI7a0JBMUJuQyxTQUFTO2lDQUNNLElBQUksWUFDTixrQkFBa0IsV0FHbkI7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFdBQVc7d0JBQ1gsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5QixzQkFBc0I7d0JBQ3RCLGdCQUFnQjtxQkFDbkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjt3QkFDekIsU0FBUyxFQUFFLGVBQWU7cUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtQ29tcG9uZW50LCBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50LCBBWFBQYWdlU3RhdHVzLCBBWFBXaWRnZXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICB2aWV3Q2hpbGQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbixcbiAgICBBWFBEeW5hbWljRm9ybUxheW91dENvbmZpZyxcbiAgICBBWFBEeW5hbWljRm9ybUxheW91dFN0eWxlXG59IGZyb20gJy4vZHluYW1pYy1mb3JtLnR5cGVzJztcbmltcG9ydCB7IEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LCBBWFBUaGVtZUxheW91dFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9ibG9ja3MnO1xuaW1wb3J0IHsgQVhMYWJlbENvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWxcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2F4cC1keW5hbWljLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYRm9ybU1vZHVsZSxcbiAgICAgICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBQbGF0Zm9ybVxuICAgICAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgICAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlLFxuICAgICAgICBBWExhYmVsQ29tcG9uZW50XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdheHAtZHluYW1pYy1mb3JtJyxcbiAgICAgICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzZXMoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBJbnB1dHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGRlZmluaXRpb24gY29udGFpbmluZyBncm91cHMgYW5kIGZpZWxkc1xuICAgICAqL1xuICAgIGZvcm1EZWZpbml0aW9uID0gaW5wdXQucmVxdWlyZWQ8QVhQRHluYW1pY0Zvcm1EZWZpbml0aW9uPigpO1xuXG4gICAgLyoqXG4gICAgICogRm9ybSBjb250ZXh0L21vZGVsIGRhdGFcbiAgICAgKi9cbiAgICBjb250ZXh0ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogTGF5b3V0IHN0eWxlIGZvciB0aGUgZm9ybSAobm9ybWFsLCBjb21wYWN0LCB2ZXJ0aWNhbCwgaG9yaXpvbnRhbClcbiAgICAgKi9cbiAgICBsYXlvdXRTdHlsZSA9IGlucHV0PEFYUER5bmFtaWNGb3JtTGF5b3V0U3R5bGU+KCdub3JtYWwnKTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBsYXlvdXQgY29uZmlndXJhdGlvbiBmb3IgZm9ybSBmaWVsZHNcbiAgICAgKi9cbiAgICBsYXlvdXRDb25maWcgPSBpbnB1dDxBWFBEeW5hbWljRm9ybUxheW91dENvbmZpZz4oe1xuICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHsgY29sU3BhbjogMTIgfSxcbiAgICAgICAgICAgIG1kOiB7IGNvbFNwYW46IDggfSxcbiAgICAgICAgICAgIGxnOiB7IGNvbFNwYW46IDYgfSxcbiAgICAgICAgICAgIHhsOiB7IGNvbFNwYW46IDUgfSxcbiAgICAgICAgICAgIHh4bDogeyBjb2xTcGFuOiA0IH0sXG4gICAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBmb3JtIGNvbnRleHQgY2hhbmdlc1xuICAgICAqL1xuICAgIGNvbnRleHRDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGNvbnRleHQgY2hhbmdlIGlzIGluaXRpYXRlZFxuICAgICAqL1xuICAgIGNvbnRleHRJbml0aWF0ZWQgPSBvdXRwdXQ8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGZvcm0gYmVjb21lcyB2YWxpZC9pbnZhbGlkXG4gICAgICovXG4gICAgdmFsaWRpdHlDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSBmb3JtID0gdmlld0NoaWxkKEFYRm9ybUNvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSBjb250YWluZXIgPSB2aWV3Q2hpbGQoQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50KTtcblxuICAgIC8qKlxuICAgICAqIEludGVybmFsIGNvbnRleHQgc2lnbmFsIGZvciByZWFjdGl2aXR5XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGludGVybmFsQ29udGV4dCA9IHNpZ25hbDxhbnk+KHt9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZWQgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29tcHV0ZWRMYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxheW91dENvbmZpZygpKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVkIGZvcm0gZGVmaW5pdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb21wdXRlZEZvcm1EZWZpbml0aW9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5mb3JtRGVmaW5pdGlvbigpKTtcblxuICAgIC8qKlxuICAgICAqIEhvc3QgY2xhc3NlcyBiYXNlZCBvbiBsYXlvdXQgc3R5bGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaG9zdENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBbJ2F4cC1keW5hbWljLWZvcm0nXTtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLmxheW91dFN0eWxlKCk7XG4gICAgICAgIGlmIChzdHlsZSAmJiBzdHlsZSAhPT0gJ25vcm1hbCcpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChgLS0ke3N0eWxlfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgICB9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBMaWZlY3ljbGUgTWV0aG9kcyAgIC0tLS1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBJbml0aWFsaXplIGludGVybmFsIGNvbnRleHQgd2l0aCBpbnB1dCBjb250ZXh0XG4gICAgICAgIHRoaXMuaW50ZXJuYWxDb250ZXh0LnNldCh0aGlzLmNvbnRleHQoKSk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEVmZmVjdHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBFZmZlY3QgdG8gc3luYyBjb250ZXh0IGNoYW5nZXNcbiAgICAgKi9cbiAgICAjY29udGV4dFN5bmNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0KCk7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxDb250ZXh0LnNldChjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEVmZmVjdCB0byBoYW5kbGUgZm9ybSBzdGF0dXMgY2hhbmdlc1xuICAgICAqL1xuICAgICNmb3JtU3RhdHVzRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybSgpO1xuICAgICAgICBpZiAoZm9ybSkge1xuICAgICAgICAgICAgLy8gWW91IGNhbiBhZGQgZm9ybSBzdGF0dXMgdHJhY2tpbmcgaGVyZSBpZiBuZWVkZWRcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyKCk/LmJ1aWxkZXJTZXJ2aWNlLnNldFN0YXR1cyhBWFBQYWdlU3RhdHVzLlJlbmRlcmVkKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIGNvbnRleHQgY2hhbmdlIGV2ZW50cyBmcm9tIHdpZGdldCBjb250YWluZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ29udGV4dENoYW5nZWQoZXZlbnQ6IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQuc3RhdGUgPT09ICdpbml0aWF0ZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHRJbml0aWF0ZWQuZW1pdChldmVudC5kYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxDb250ZXh0LnNldChldmVudC5kYXRhKTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dENoYW5nZS5lbWl0KGV2ZW50LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFB1YmxpYyBNZXRob2RzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBmb3JtIGNvbXBvbmVudCBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGb3JtKCk6IEFYRm9ybUNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY3VycmVudCBmb3JtIGNvbnRleHRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29udGV4dCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbENvbnRleHQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgZm9ybSBjb250ZXh0IHByb2dyYW1tYXRpY2FsbHlcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlQ29udGV4dChjb250ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbENvbnRleHQuc2V0KGNvbnRleHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRlIHRoZSBmb3JtXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHZhbGlkYXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtKCk7XG4gICAgICAgIGlmIChmb3JtKSB7XG4gICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgICAgICAgICAgdGhpcy52YWxpZGl0eUNoYW5nZS5lbWl0KGlzVmFsaWQucmVzdWx0KTtcbiAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkLnJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59ICIsIjxheC1mb3JtPlxuICA8YXhwLXdpZGdldHMtY29udGFpbmVyIFtjb250ZXh0XT1cImludGVybmFsQ29udGV4dCgpXCIgKG9uQ29udGV4dENoYW5nZWQpPVwiaGFuZGxlQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDxheHAtbGF5b3V0LXNlY3Rpb25zPlxuICAgICAgQGlmIChjb21wdXRlZEZvcm1EZWZpbml0aW9uKCkpIHtcbiAgICAgICAgQGZvciAoZ3JvdXAgb2YgY29tcHV0ZWRGb3JtRGVmaW5pdGlvbigpLmdyb3VwczsgdHJhY2sgZ3JvdXAubmFtZSkge1xuICAgICAgICAgIDxheHAtbGF5b3V0LXNlY3Rpb24+XG4gICAgICAgICAgICA8YXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxheHAtbGF5b3V0LXRpdGxlPnt7IGdyb3VwLnRpdGxlIH19PC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICAgICAgICBAaWYgKGdyb3VwLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGF4cC1sYXlvdXQtZGVzY3JpcHRpb24+e3sgZ3JvdXAuZGVzY3JpcHRpb24gfX08L2F4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgICAgICBAZm9yIChwYXJhbSBvZiBncm91cC5wYXJhbWV0ZXJzOyB0cmFjayBwYXJhbS5wYXRoKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fZmllbGQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZCBjbGFzcz1cIl9fZmllbGQtaW5wdXRcIiBbZ3JpZExheW91dF09XCJjb21wdXRlZExheW91dCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyBwYXJhbS50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJwYXJhbS53aWRnZXRcIiBbbW9kZV09XCInZWRpdCdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBAaWYgKHBhcmFtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGF4cC1sYXlvdXQtZGVzY3JpcHRpb24+e3sgcGFyYW0uZGVzY3JpcHRpb24gfX08L2F4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH0gLS0+XG4gICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgIDwvYXhwLWxheW91dC1zZWN0aW9uPlxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGF4cC1sYXlvdXQtc2VjdGlvbj5cbiAgICAgICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fZW1wdHktc3RhdGVcIj5cbiAgICAgICAgICAgICAgPGF4cC1sYXlvdXQtZGVzY3JpcHRpb24+Tm8gZm9ybSBkZWZpbml0aW9uIHByb3ZpZGVkPC9heHAtbGF5b3V0LWRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9heHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICAgIDwvYXhwLWxheW91dC1zZWN0aW9uPlxuICAgICAgfVxuICAgIDwvYXhwLWxheW91dC1zZWN0aW9ucz5cbiAgPC9heHAtd2lkZ2V0cy1jb250YWluZXI+XG48L2F4LWZvcm0+XG4iXX0=","import { AXListNavigationModule } from '@acorex/cdk/list-navigation';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTagBoxModule } from '@acorex/components/tag-box';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { ALL_DEFAULT_OPERATORS, AXPFilterOperatorMiddlewareService } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, input, linkedSignal, output, QueryList, signal, untracked, viewChild, ViewChildren, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/popover\";\nimport * as i5 from \"@acorex/components/tag-box\";\nimport * as i6 from \"@acorex/platform/layout/builder\";\nimport * as i7 from \"@acorex/cdk/list-navigation\";\nimport * as i8 from \"@acorex/components/badge\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"@acorex/core/translation\";\nexport class AXPLayoutFiltersComponent {\n constructor() {\n this.translate = inject(AXTranslationService);\n this.calendarService = inject(AXCalendarService);\n this.filterOperatorMiddleware = inject(AXPFilterOperatorMiddlewareService);\n this.filtersDefinitions = input([], ...(ngDevMode ? [{ debugName: \"filtersDefinitions\" }] : []));\n this.initialFilters = input([], ...(ngDevMode ? [{ debugName: \"initialFilters\" }] : []));\n this.onFiltersChanged = output();\n this.tagBox = viewChild('tagBox', ...(ngDevMode ? [{ debugName: \"tagBox\" }] : []));\n this.selectedField = signal(null, ...(ngDevMode ? [{ debugName: \"selectedField\" }] : []));\n this.selectedFilters = linkedSignal(() => this.convertQueriesToDefinitions(this.initialFilters()).map((i) => ({ ...i, readOnly: true })));\n this.context = linkedSignal(() => this.convertQueriesToContext(this.initialFilters()));\n this.activeFilter = signal(null, ...(ngDevMode ? [{ debugName: \"activeFilter\" }] : []));\n this.asyncTags = signal([], ...(ngDevMode ? [{ debugName: \"asyncTags\" }] : []));\n this.popover = viewChild('popover', ...(ngDevMode ? [{ debugName: \"popover\" }] : []));\n this.inputValue = signal('', ...(ngDevMode ? [{ debugName: \"inputValue\" }] : []));\n this.inlineFilters = () => {\n return this.filtersDefinitions().filter((f) => f.filterType.inline &&\n !this.filterOperatorMiddleware\n .transformFilters(this.selectedFilters())\n .some((sf) => sf.field === f.field &&\n sf.operator?.type === (this.context()[sf.field]?.operation?.type || f.operator?.type)));\n };\n this.getDisplayValue = async (filter, val) => {\n if (filter.widget.type === 'select-editor' || filter.widget.type === 'select-filter') {\n const dataSource = filter.widget.options?.['dataSource'];\n const textField = filter.widget.options?.['textField'];\n const valueField = filter.widget.options?.['valueField'];\n if (dataSource?.config?.byKey) {\n if (Array.isArray(val)) {\n const results = await Promise.all(val.map((v) => dataSource.config.byKey(v)));\n return results.map((data) => data[textField]).join(', ');\n }\n else {\n const data = (await dataSource.config.byKey(val));\n return data?.[textField] || val;\n }\n }\n else if (Array.isArray(dataSource)) {\n if (Array.isArray(val)) {\n return dataSource.map((data) => data[textField]).join(', ');\n }\n else {\n const record = dataSource.find((d) => d[valueField] === val);\n return record ? record[textField] : '';\n }\n }\n }\n return typeof val === 'object' && !Array.isArray(val)\n ? `${this.convertIfISOStringDate(val.from)} and ${this.convertIfISOStringDate(val.to)}`\n : this.convertIfISOStringDate(val);\n };\n this.convertIfISOStringDate = (val) => {\n const isISOStringDate = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(val);\n if (isISOStringDate) {\n return this.calendarService.convert(val).date.toLocaleDateString();\n }\n return val;\n };\n this.filterFields = () => {\n return this.filtersDefinitions().filter((f) => {\n return (f.filterType.advance &&\n !this.selectedFilters().some((sf) => {\n return sf.field === f.field;\n }));\n });\n };\n this.#effect = effect(() => {\n const context = untracked(() => this.context());\n const selectedFilters = this.selectedFilters();\n untracked(() => {\n const convertedFilters = selectedFilters.map((f) => ({\n field: f.field,\n operator: context[f.field]?.operation,\n value: context[f.field]?.value,\n }));\n const newContext = {};\n convertedFilters.forEach((cf) => {\n newContext[cf.field] = {\n value: cf.value,\n operation: typeof cf.operator === 'string' ? { type: cf.operator } : cf.operator,\n };\n });\n this.context.set(newContext);\n this.deactivateAllListItems();\n this.onFiltersChanged.emit(convertedFilters);\n });\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n this.#effect2 = effect(() => {\n const filters = this.selectedFilters();\n const context = this.context();\n Promise.all(filters.map(async (filter) => {\n const val = context[filter.field]?.value;\n const displayValue = await this.getDisplayValue(filter, val);\n return {\n ...filter,\n query: `${this.translate.translateSync(filter.title)} ${this.getActiveOperator(filter)} '${displayValue}'`,\n };\n })).then((results) => {\n this.asyncTags.set(results);\n });\n }, ...(ngDevMode ? [{ debugName: \"#effect2\" }] : []));\n }\n convertQueriesToDefinitions(queries) {\n const definitions = this.filtersDefinitions();\n return queries.map((q) => {\n const definition = definitions.find((p) => p.field === q.field);\n return {\n field: q.field,\n operator: q.operator,\n value: q.value,\n title: definition?.title || '',\n widget: definition?.widget,\n filterType: definition?.filterType,\n };\n });\n }\n convertQueriesToContext(queries) {\n return queries.reduce((acc, q) => {\n acc[q.field] = { value: q.value, operation: q.operator };\n return acc;\n }, {});\n }\n ngOnInit() {\n this.tagBoxInput = this.tagBox()?.getHostElement().querySelector('input');\n }\n handleSelectField(field) {\n this.activeFilter.set(field);\n // this.inputValue.set('');\n this.tagBox()?.inputValue.set('');\n }\n handleFieldKeyDown(e, field) {\n if (e.key === 'Enter') {\n this.handleSelectField(field);\n }\n }\n onContextChanged(e) {\n this.context.set(e.data);\n }\n handleApplyFilter() {\n if (this.activeFilter()) {\n this.selectedFilters.update((prev) => [...prev, this.activeFilter()]);\n this.activeFilter.set(null);\n this.popover()?.close();\n }\n }\n handleButtonKeyDown(e) {\n if (this.popover()?.isOpen && !this.activeFilter()) {\n // Find first list item and focus it\n const firstItem = document.querySelector('[axListNavigationItem]');\n if (firstItem) {\n firstItem.focus();\n e?.preventDefault();\n }\n }\n }\n handleKeyDown(e) {\n if (e.nativeEvent?.key === 'ArrowDown') {\n if (this.popover()?.isOpen && !this.activeFilter()) {\n // Find first list item and focus it\n const firstItem = document.querySelector('[axListNavigationItem]');\n if (firstItem) {\n firstItem.focus();\n e.nativeEvent?.preventDefault();\n }\n }\n }\n else {\n this.popover()?.open();\n }\n }\n #effect;\n handleSelectFilters(e) {\n if (e.value?.length < this.selectedFilters().length) {\n this.selectedFilters.update((prev) => {\n return e.value;\n });\n }\n }\n getActiveOperator(filter) {\n if (!filter) {\n return undefined;\n }\n const contextOperation = this.context()?.[filter.field]?.operation?.type;\n const operatorType = contextOperation || filter.operator?.type;\n return ALL_DEFAULT_OPERATORS.find((o) => o.name === operatorType)?.title;\n }\n handleSelectInlineFilter(filter) {\n this.context.update((prev) => ({\n ...prev,\n [filter.field]: {\n value: this.tagBox()?.inputValue(),\n operation: { type: 'contains' },\n },\n }));\n this.tagBox()?.inputValue.set('');\n this.selectedFilters.update((prev) => [...prev, filter]);\n this.popover()?.close();\n }\n handleInlineFilterKeyDown(e, filter) {\n if (e.key === 'Enter') {\n this.handleSelectInlineFilter(filter);\n }\n }\n handlePopoverClosed(e) {\n this.activeFilter.set(null);\n }\n onPopoverOpened(e) {\n if (this.filtersDefinitions().length === 0) {\n this.popover()?.close();\n }\n }\n deactivateAllListItems() {\n if (this.listItems) {\n this.listItems.forEach((item) => {\n if (item.isActive()) {\n item.isActive.set(false);\n }\n });\n }\n }\n #effect2;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPLayoutFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPLayoutFiltersComponent, isStandalone: true, selector: \"axp-layout-filters\", inputs: { filtersDefinitions: { classPropertyName: \"filtersDefinitions\", publicName: \"filtersDefinitions\", isSignal: true, isRequired: false, transformFunction: null }, initialFilters: { classPropertyName: \"initialFilters\", publicName: \"initialFilters\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onFiltersChanged: \"onFiltersChanged\" }, viewQueries: [{ propertyName: \"tagBox\", first: true, predicate: [\"tagBox\"], descendants: true, isSignal: true }, { propertyName: \"popover\", first: true, predicate: [\"popover\"], descendants: true, isSignal: true }, { propertyName: \"listItems\", predicate: [\"caseItem\"], descendants: true }], ngImport: i0, template: \"<div class=\\\"ax-flex ax-items-center ax-gap-2 ax-p-2\\\">\\n <ax-button (keydown)=\\\"handleButtonKeyDown($event)\\\" (onClick)=\\\"popover.open()\\\" #filterButton [look]=\\\"'blank'\\\">\\n <ax-icon class=\\\"far fa-bars-filter ax-cursor-pointer\\\"> </ax-icon>\\n </ax-button>\\n <ax-tag-box\\n [ngModel]=\\\"asyncTags()\\\"\\n (onValueChanged)=\\\"handleSelectFilters($event)\\\"\\n [textField]=\\\"'query'\\\"\\n [valueField]=\\\"'id'\\\"\\n [readonly]=\\\"filtersDefinitions().length === 0\\\"\\n [look]=\\\"'none'\\\"\\n [readonlyField]=\\\"'readOnly'\\\"\\n (onKeyDown)=\\\"handleKeyDown($event)\\\"\\n [addOnEnter]=\\\"false\\\"\\n [placeholder]=\\\"(filtersDefinitions().length === 0 ? 'filter.noRecords' : 'filter.title') | translate | async\\\"\\n #tagBox\\n ></ax-tag-box>\\n</div>\\n\\n<ax-popover\\n [offsetY]=\\\"activeFilter() ? -30 : 0\\\"\\n [target]=\\\"tagBoxInput\\\"\\n [openOn]=\\\"'toggle'\\\"\\n (onOpened)=\\\"onPopoverOpened($event)\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n (onClosed)=\\\"handlePopoverClosed($event)\\\"\\n [adaptivityEnabled]=\\\"true\\\"\\n #popover\\n>\\n <div class=\\\"md:ax-min-w-72 ax-border ax-surface ax-w-full ax-rounded-md md:ax-max-h-96 md:ax-overflow-auto\\\">\\n <axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"onContextChanged($event)\\\">\\n @if (activeFilter()) {\\n <div class=\\\"ax-flex ax-flex-col ax-lightest-surface ax-shadow-md\\\">\\n <ax-header class=\\\"ax-border-b ax-border-light ax-px-4 ax-py-2\\\">{{\\n activeFilter()?.title! | translate | async\\n }}</ax-header>\\n <ax-content class=\\\"ax-p-4\\\">\\n <div class=\\\"ax-mb-2\\\">\\n <ax-badge [text]=\\\"getActiveOperator(activeFilter())!\\\"></ax-badge>\\n </div>\\n <ng-container\\n axp-widget-renderer\\n [node]=\\\"{\\n type: activeFilter()?.widget?.type || 'text-editor',\\n path: activeFilter()?.field,\\n options: activeFilter()?.widget?.options,\\n }\\\"\\n [mode]=\\\"'edit'\\\"\\n >\\n </ng-container>\\n </ax-content>\\n <ax-footer class=\\\"ax-border-t ax-flex ax-justify-end ax-border-light ax-w-full ax-px-4 ax-py-2\\\">\\n <ax-button class=\\\"ax-xs\\\" [text]=\\\"'apply' | translate | async\\\" (onClick)=\\\"handleApplyFilter()\\\"></ax-button>\\n </ax-footer>\\n </div>\\n } @else {\\n <div axListNavigation #list=\\\"axListNavigation\\\" class=\\\"axp-list-items\\\">\\n @if (tagBox.inputValue()) {\\n @for (inlineFilter of inlineFilters(); track inlineFilter.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n tabindex=\\\"0\\\"\\n (click)=\\\"handleSelectInlineFilter(inlineFilter)\\\"\\n (keydown)=\\\"handleInlineFilterKeyDown($event, inlineFilter)\\\"\\n >\\n {{ inlineFilter.title | translate | async }} {{ getActiveOperator(inlineFilter) }} '{{\\n tagBox.inputValue()\\n }}'\\n </div>\\n }\\n <span class=\\\"ax-w-full ax-border-t ax-border-light ax-my-1\\\"></span>\\n }\\n @for (field of filterFields(); track field.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n (click)=\\\"handleSelectField(field)\\\"\\n (keydown)=\\\"handleFieldKeyDown($event, field)\\\"\\n tabindex=\\\"0\\\"\\n >\\n <div class=\\\"ax-flex ax-items-end ax-gap-2\\\">\\n <ax-icon class=\\\"ax-w-5\\\" [class]=\\\"'fa-light ' + field.icon\\\"> </ax-icon>\\n {{ field.title | translate | async }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </axp-widgets-container>\\n </div>\\n</ax-popover>\\n\", styles: [\"axp-layout-filters{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"component\", type: i4.AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXSelectionListModule }, { kind: \"ngmodule\", type: AXTagBoxModule }, { kind: \"component\", type: i5.AXTagBoxComponent, selector: \"ax-tag-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"allowNull\", \"type\", \"look\", \"addOnComma\", \"addOnEnter\", \"valueField\", \"textField\", \"readonlyField\", \"allowDuplicateValues\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i6.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i6.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXListNavigationModule }, { kind: \"directive\", type: i7.AXListNavigationDirective, selector: \"[axListNavigation]\", inputs: [\"orientation\"], outputs: [\"onNavigationChanged\", \"onPressEnterOrSpace\"], exportAs: [\"axListNavigation\"] }, { kind: \"directive\", type: i7.AXListNavigationItemDirective, selector: \"[axListNavigationItem]\", exportAs: [\"axListNavigationItem\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: i8.AXBadgeComponent, selector: \"ax-badge\", inputs: [\"color\", \"look\", \"text\"] }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPLayoutFiltersComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-layout-filters', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n FormsModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXTagBoxModule,\n AXPLayoutBuilderModule,\n AXListNavigationModule,\n AXBadgeModule,\n ], template: \"<div class=\\\"ax-flex ax-items-center ax-gap-2 ax-p-2\\\">\\n <ax-button (keydown)=\\\"handleButtonKeyDown($event)\\\" (onClick)=\\\"popover.open()\\\" #filterButton [look]=\\\"'blank'\\\">\\n <ax-icon class=\\\"far fa-bars-filter ax-cursor-pointer\\\"> </ax-icon>\\n </ax-button>\\n <ax-tag-box\\n [ngModel]=\\\"asyncTags()\\\"\\n (onValueChanged)=\\\"handleSelectFilters($event)\\\"\\n [textField]=\\\"'query'\\\"\\n [valueField]=\\\"'id'\\\"\\n [readonly]=\\\"filtersDefinitions().length === 0\\\"\\n [look]=\\\"'none'\\\"\\n [readonlyField]=\\\"'readOnly'\\\"\\n (onKeyDown)=\\\"handleKeyDown($event)\\\"\\n [addOnEnter]=\\\"false\\\"\\n [placeholder]=\\\"(filtersDefinitions().length === 0 ? 'filter.noRecords' : 'filter.title') | translate | async\\\"\\n #tagBox\\n ></ax-tag-box>\\n</div>\\n\\n<ax-popover\\n [offsetY]=\\\"activeFilter() ? -30 : 0\\\"\\n [target]=\\\"tagBoxInput\\\"\\n [openOn]=\\\"'toggle'\\\"\\n (onOpened)=\\\"onPopoverOpened($event)\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n (onClosed)=\\\"handlePopoverClosed($event)\\\"\\n [adaptivityEnabled]=\\\"true\\\"\\n #popover\\n>\\n <div class=\\\"md:ax-min-w-72 ax-border ax-surface ax-w-full ax-rounded-md md:ax-max-h-96 md:ax-overflow-auto\\\">\\n <axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"onContextChanged($event)\\\">\\n @if (activeFilter()) {\\n <div class=\\\"ax-flex ax-flex-col ax-lightest-surface ax-shadow-md\\\">\\n <ax-header class=\\\"ax-border-b ax-border-light ax-px-4 ax-py-2\\\">{{\\n activeFilter()?.title! | translate | async\\n }}</ax-header>\\n <ax-content class=\\\"ax-p-4\\\">\\n <div class=\\\"ax-mb-2\\\">\\n <ax-badge [text]=\\\"getActiveOperator(activeFilter())!\\\"></ax-badge>\\n </div>\\n <ng-container\\n axp-widget-renderer\\n [node]=\\\"{\\n type: activeFilter()?.widget?.type || 'text-editor',\\n path: activeFilter()?.field,\\n options: activeFilter()?.widget?.options,\\n }\\\"\\n [mode]=\\\"'edit'\\\"\\n >\\n </ng-container>\\n </ax-content>\\n <ax-footer class=\\\"ax-border-t ax-flex ax-justify-end ax-border-light ax-w-full ax-px-4 ax-py-2\\\">\\n <ax-button class=\\\"ax-xs\\\" [text]=\\\"'apply' | translate | async\\\" (onClick)=\\\"handleApplyFilter()\\\"></ax-button>\\n </ax-footer>\\n </div>\\n } @else {\\n <div axListNavigation #list=\\\"axListNavigation\\\" class=\\\"axp-list-items\\\">\\n @if (tagBox.inputValue()) {\\n @for (inlineFilter of inlineFilters(); track inlineFilter.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n tabindex=\\\"0\\\"\\n (click)=\\\"handleSelectInlineFilter(inlineFilter)\\\"\\n (keydown)=\\\"handleInlineFilterKeyDown($event, inlineFilter)\\\"\\n >\\n {{ inlineFilter.title | translate | async }} {{ getActiveOperator(inlineFilter) }} '{{\\n tagBox.inputValue()\\n }}'\\n </div>\\n }\\n <span class=\\\"ax-w-full ax-border-t ax-border-light ax-my-1\\\"></span>\\n }\\n @for (field of filterFields(); track field.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n (click)=\\\"handleSelectField(field)\\\"\\n (keydown)=\\\"handleFieldKeyDown($event, field)\\\"\\n tabindex=\\\"0\\\"\\n >\\n <div class=\\\"ax-flex ax-items-end ax-gap-2\\\">\\n <ax-icon class=\\\"ax-w-5\\\" [class]=\\\"'fa-light ' + field.icon\\\"> </ax-icon>\\n {{ field.title | translate | async }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </axp-widgets-container>\\n </div>\\n</ax-popover>\\n\", styles: [\"axp-layout-filters{width:100%}\\n\"] }]\n }], propDecorators: { listItems: [{\n type: ViewChildren,\n args: ['caseItem']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2ZpbHRlcnMvbGF5b3V0LWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2ZpbHRlcnMvbGF5b3V0LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEcsT0FBTyxFQUFFLHNCQUFzQixFQUErQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFD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SUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzlCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FnQkw7OEdBdlFRLHlCQUF5QjtrR0FBekIseUJBQXlCLGl1QkNuRHRDLGs1SEE4RkEseUZEeERJLFlBQVksOEJBQ1osV0FBVyw4VkFDWCxjQUFjLDZYQUNkLGlCQUFpQixzVkFDakIsbUJBQW1CLDhCQUNuQixlQUFlLHVWQUNmLHFCQUFxQiw4QkFDckIsY0FBYyw2ZEFDZCxzQkFBc0IsOFpBQ3RCLHNCQUFzQixrWEFDdEIsYUFBYTs7MkZBR0oseUJBQXlCO2tCQXJCckMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUdoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsYUFBYTtxQkFDZDs4QkFjeUIsU0FBUztzQkFBbEMsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWEV2ZW50LCBBWEh0bWxFdmVudCwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWExpc3ROYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jZGsvbGlzdC1uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50LCBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQVhUYWdCb3hDb21wb25lbnQsIEFYVGFnQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhZy1ib3gnO1xuaW1wb3J0IHsgQVhDYWxlbmRhclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUsIEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFMTF9ERUZBVUxUX09QRVJBVE9SUywgQVhQRmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEZpbHRlckRlZmluaXRpb24sIEFYUEZpbHRlclF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxuICBvdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtZmlsdGVycycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtZmlsdGVycy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYU2VsZWN0aW9uTGlzdE1vZHVsZSxcbiAgICBBWFRhZ0JveE1vZHVsZSxcbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYTGlzdE5hdmlnYXRpb25Nb2R1bGUsXG4gICAgQVhCYWRnZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0RmlsdGVyc0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGUgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KEFYQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmUgPSBpbmplY3QoQVhQRmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlU2VydmljZSk7XG5cbiAgZmlsdGVyc0RlZmluaXRpb25zID0gaW5wdXQ8QVhQRmlsdGVyRGVmaW5pdGlvbltdPihbXSk7XG4gIGluaXRpYWxGaWx0ZXJzID0gaW5wdXQ8QVhQRmlsdGVyUXVlcnlbXT4oW10pO1xuICBvbkZpbHRlcnNDaGFuZ2VkID0gb3V0cHV0PEFYUEZpbHRlclF1ZXJ5W10+KCk7XG5cbiAgcHJvdGVjdGVkIHRhZ0JveCA9IHZpZXdDaGlsZDxBWFRhZ0JveENvbXBvbmVudD4oJ3RhZ0JveCcpO1xuICB0YWdCb3hJbnB1dCE6IGFueTtcblxuICBAVmlld0NoaWxkcmVuKCdjYXNlSXRlbScpIGxpc3RJdGVtcyE6IFF1ZXJ5TGlzdDxhbnk+O1xuXG4gIHByb3RlY3RlZCBzZWxlY3RlZEZpZWxkID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRGaWx0ZXJzID0gbGlua2VkU2lnbmFsPEFYUEZpbHRlckRlZmluaXRpb25bXT4oKCkgPT5cbiAgICB0aGlzLmNvbnZlcnRRdWVyaWVzVG9EZWZpbml0aW9ucyh0aGlzLmluaXRpYWxGaWx0ZXJzKCkpLm1hcCgoaSkgPT4gKHsgLi4uaSwgcmVhZE9ubHk6IHRydWUgfSkpLFxuICApO1xuXG4gIGNvbnRleHQgPSBsaW5rZWRTaWduYWw8YW55PigoKSA9PiB0aGlzLmNvbnZlcnRRdWVyaWVzVG9Db250ZXh0KHRoaXMuaW5pdGlhbEZpbHRlcnMoKSkpO1xuXG4gIHByb3RlY3RlZCBhY3RpdmVGaWx0ZXIgPSBzaWduYWw8QVhQRmlsdGVyRGVmaW5pdGlvbiB8IG51bGw+KG51bGwpO1xuXG4gIHByb3RlY3RlZCBhc3luY1RhZ3MgPSBzaWduYWw8YW55W10+KFtdKTtcblxuICBwcm90ZWN0ZWQgcG9wb3ZlciA9IHZpZXdDaGlsZDxBWFBvcG92ZXJDb21wb25lbnQ+KCdwb3BvdmVyJyk7XG5cbiAgaW5wdXRWYWx1ZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuICBpbmxpbmVGaWx0ZXJzID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcnNEZWZpbml0aW9ucygpLmZpbHRlcihcbiAgICAgIChmKSA9PlxuICAgICAgICBmLmZpbHRlclR5cGUuaW5saW5lICYmXG4gICAgICAgICF0aGlzLmZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVxuICAgICAgICAgIC50cmFuc2Zvcm1GaWx0ZXJzKHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCkpXG4gICAgICAgICAgLnNvbWUoXG4gICAgICAgICAgICAoc2YpID0+XG4gICAgICAgICAgICAgIHNmLmZpZWxkID09PSBmLmZpZWxkICYmXG4gICAgICAgICAgICAgIHNmLm9wZXJhdG9yPy50eXBlID09PSAodGhpcy5jb250ZXh0KClbc2YuZmllbGRdPy5vcGVyYXRpb24/LnR5cGUgfHwgZi5vcGVyYXRvcj8udHlwZSksXG4gICAgICAgICAgKSxcbiAgICApO1xuICB9O1xuXG4gIHByb3RlY3RlZCBnZXREaXNwbGF5VmFsdWUgPSBhc3luYyAoZmlsdGVyOiBBWFBGaWx0ZXJEZWZpbml0aW9uLCB2YWw6IGFueSkgPT4ge1xuICAgIGlmIChmaWx0ZXIud2lkZ2V0LnR5cGUgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCBmaWx0ZXIud2lkZ2V0LnR5cGUgPT09ICdzZWxlY3QtZmlsdGVyJykge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlID0gZmlsdGVyLndpZGdldC5vcHRpb25zPy5bJ2RhdGFTb3VyY2UnXTtcbiAgICAgIGNvbnN0IHRleHRGaWVsZCA9IGZpbHRlci53aWRnZXQub3B0aW9ucz8uWyd0ZXh0RmllbGQnXTtcbiAgICAgIGNvbnN0IHZhbHVlRmllbGQgPSBmaWx0ZXIud2lkZ2V0Lm9wdGlvbnM/LlsndmFsdWVGaWVsZCddO1xuICAgICAgaWYgKGRhdGFTb3VyY2U/LmNvbmZpZz8uYnlLZXkpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdHM6IHVua25vd25bXSA9IGF3YWl0IFByb21pc2UuYWxsKHZhbC5tYXAoKHYpID0+IGRhdGFTb3VyY2UuY29uZmlnLmJ5S2V5ISh2KSkpO1xuICAgICAgICAgIHJldHVybiByZXN1bHRzLm1hcCgoZGF0YSkgPT4gKGRhdGEgYXMgUmVjb3JkPHN0cmluZywgYW55PilbdGV4dEZpZWxkXSkuam9pbignLCAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gKGF3YWl0IGRhdGFTb3VyY2UuY29uZmlnLmJ5S2V5KHZhbCkpIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgcmV0dXJuIGRhdGE/Llt0ZXh0RmllbGRdIHx8IHZhbDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGFTb3VyY2UpKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YVNvdXJjZS5tYXAoKGRhdGEpID0+IChkYXRhIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW3RleHRGaWVsZF0pLmpvaW4oJywgJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcmVjb3JkOiBhbnkgPSBkYXRhU291cmNlLmZpbmQoKGQ6IGFueSkgPT4gZFt2YWx1ZUZpZWxkXSA9PT0gdmFsKTtcbiAgICAgICAgICByZXR1cm4gcmVjb3JkID8gcmVjb3JkW3RleHRGaWVsZF0gOiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkodmFsKVxuICAgICAgPyBgJHt0aGlzLmNvbnZlcnRJZklTT1N0cmluZ0RhdGUodmFsLmZyb20pfSBhbmQgJHt0aGlzLmNvbnZlcnRJZklTT1N0cmluZ0RhdGUodmFsLnRvKX1gXG4gICAgICA6IHRoaXMuY29udmVydElmSVNPU3RyaW5nRGF0ZSh2YWwpO1xuICB9O1xuXG4gIHByb3RlY3RlZCBjb252ZXJ0SWZJU09TdHJpbmdEYXRlID0gKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaXNJU09TdHJpbmdEYXRlID0gL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfVxcLlxcZHszfVokLy50ZXN0KHZhbCk7XG4gICAgaWYgKGlzSVNPU3RyaW5nRGF0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodmFsKS5kYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9O1xuXG4gIGNvbnZlcnRRdWVyaWVzVG9EZWZpbml0aW9ucyhxdWVyaWVzOiBBWFBGaWx0ZXJRdWVyeVtdKTogQVhQRmlsdGVyRGVmaW5pdGlvbltdIHtcbiAgICBjb25zdCBkZWZpbml0aW9ucyA9IHRoaXMuZmlsdGVyc0RlZmluaXRpb25zKCk7XG5cbiAgICByZXR1cm4gcXVlcmllcy5tYXAoKHEpID0+IHtcbiAgICAgIGNvbnN0IGRlZmluaXRpb24gPSBkZWZpbml0aW9ucy5maW5kKChwKSA9PiBwLmZpZWxkID09PSBxLmZpZWxkKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmllbGQ6IHEuZmllbGQsXG4gICAgICAgIG9wZXJhdG9yOiBxLm9wZXJhdG9yLFxuICAgICAgICB2YWx1ZTogcS52YWx1ZSxcbiAgICAgICAgdGl0bGU6IGRlZmluaXRpb24/LnRpdGxlIHx8ICcnLFxuICAgICAgICB3aWRnZXQ6IGRlZmluaXRpb24/LndpZGdldCEsXG4gICAgICAgIGZpbHRlclR5cGU6IGRlZmluaXRpb24/LmZpbHRlclR5cGUhLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnZlcnRRdWVyaWVzVG9Db250ZXh0KHF1ZXJpZXM6IEFYUEZpbHRlclF1ZXJ5W10pOiBhbnkge1xuICAgIHJldHVybiBxdWVyaWVzLnJlZHVjZSgoYWNjLCBxKSA9PiB7XG4gICAgICBhY2NbcS5maWVsZF0gPSB7IHZhbHVlOiBxLnZhbHVlLCBvcGVyYXRpb246IHEub3BlcmF0b3IgfTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgYW55KTtcbiAgfVxuXG4gIGZpbHRlckZpZWxkcyA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzRGVmaW5pdGlvbnMoKS5maWx0ZXIoKGYpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGYuZmlsdGVyVHlwZS5hZHZhbmNlICYmXG4gICAgICAgICF0aGlzLnNlbGVjdGVkRmlsdGVycygpLnNvbWUoKHNmKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHNmLmZpZWxkID09PSBmLmZpZWxkO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhZ0JveElucHV0ID0gdGhpcy50YWdCb3goKT8uZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0RmllbGQoZmllbGQ6IEFYUEZpbHRlckRlZmluaXRpb24pIHtcbiAgICB0aGlzLmFjdGl2ZUZpbHRlci5zZXQoZmllbGQpO1xuICAgIC8vIHRoaXMuaW5wdXRWYWx1ZS5zZXQoJycpO1xuICAgIHRoaXMudGFnQm94KCk/LmlucHV0VmFsdWUuc2V0KCcnKTtcbiAgfVxuICBoYW5kbGVGaWVsZEtleURvd24oZTogS2V5Ym9hcmRFdmVudCwgZmllbGQ6IEFYUEZpbHRlckRlZmluaXRpb24pIHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuaGFuZGxlU2VsZWN0RmllbGQoZmllbGQpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29udGV4dENoYW5nZWQoZTogQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50KSB7XG4gICAgdGhpcy5jb250ZXh0LnNldChlLmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlQXBwbHlGaWx0ZXIoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVyKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnVwZGF0ZSgocHJldikgPT4gWy4uLnByZXYsIHRoaXMuYWN0aXZlRmlsdGVyKCkgYXMgQVhQRmlsdGVyRGVmaW5pdGlvbl0pO1xuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXIuc2V0KG51bGwpO1xuICAgICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQnV0dG9uS2V5RG93bihlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLnBvcG92ZXIoKT8uaXNPcGVuICYmICF0aGlzLmFjdGl2ZUZpbHRlcigpKSB7XG4gICAgICAvLyBGaW5kIGZpcnN0IGxpc3QgaXRlbSBhbmQgZm9jdXMgaXRcbiAgICAgIGNvbnN0IGZpcnN0SXRlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1theExpc3ROYXZpZ2F0aW9uSXRlbV0nKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChmaXJzdEl0ZW0pIHtcbiAgICAgICAgZmlyc3RJdGVtLmZvY3VzKCk7XG4gICAgICAgIGU/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihlOiBBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pikge1xuICAgIGlmIChlLm5hdGl2ZUV2ZW50Py5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAodGhpcy5wb3BvdmVyKCk/LmlzT3BlbiAmJiAhdGhpcy5hY3RpdmVGaWx0ZXIoKSkge1xuICAgICAgICAvLyBGaW5kIGZpcnN0IGxpc3QgaXRlbSBhbmQgZm9jdXMgaXRcbiAgICAgICAgY29uc3QgZmlyc3RJdGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2F4TGlzdE5hdmlnYXRpb25JdGVtXScpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoZmlyc3RJdGVtKSB7XG4gICAgICAgICAgZmlyc3RJdGVtLmZvY3VzKCk7XG4gICAgICAgICAgZS5uYXRpdmVFdmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvcG92ZXIoKT8ub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5jb250ZXh0KCkpO1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVycyA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCk7XG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZEZpbHRlcnM6IEFYUEZpbHRlclF1ZXJ5W10gPSBzZWxlY3RlZEZpbHRlcnMubWFwKChmKSA9PiAoe1xuICAgICAgICBmaWVsZDogZi5maWVsZCxcbiAgICAgICAgb3BlcmF0b3I6IGNvbnRleHRbZi5maWVsZF0/Lm9wZXJhdGlvbixcbiAgICAgICAgdmFsdWU6IGNvbnRleHRbZi5maWVsZF0/LnZhbHVlLFxuICAgICAgfSkpO1xuICAgICAgY29uc3QgbmV3Q29udGV4dDogYW55ID0ge307XG4gICAgICBjb252ZXJ0ZWRGaWx0ZXJzLmZvckVhY2goKGNmKSA9PiB7XG4gICAgICAgIG5ld0NvbnRleHRbY2YuZmllbGRdID0ge1xuICAgICAgICAgIHZhbHVlOiBjZi52YWx1ZSxcbiAgICAgICAgICBvcGVyYXRpb246IHR5cGVvZiBjZi5vcGVyYXRvciA9PT0gJ3N0cmluZycgPyB7IHR5cGU6IGNmLm9wZXJhdG9yIH0gOiBjZi5vcGVyYXRvcixcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmNvbnRleHQuc2V0KG5ld0NvbnRleHQpO1xuICAgICAgdGhpcy5kZWFjdGl2YXRlQWxsTGlzdEl0ZW1zKCk7XG4gICAgICB0aGlzLm9uRmlsdGVyc0NoYW5nZWQuZW1pdChjb252ZXJ0ZWRGaWx0ZXJzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaGFuZGxlU2VsZWN0RmlsdGVycyhlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XG4gICAgaWYgKGUudmFsdWU/Lmxlbmd0aCA8IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCkubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIGUudmFsdWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QWN0aXZlT3BlcmF0b3IoZmlsdGVyOiBBWFBGaWx0ZXJEZWZpbml0aW9uIHwgbnVsbCkge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHRPcGVyYXRpb24gPSB0aGlzLmNvbnRleHQoKT8uW2ZpbHRlci5maWVsZF0/Lm9wZXJhdGlvbj8udHlwZTtcbiAgICBjb25zdCBvcGVyYXRvclR5cGUgPSBjb250ZXh0T3BlcmF0aW9uIHx8IGZpbHRlci5vcGVyYXRvcj8udHlwZTtcblxuICAgIHJldHVybiBBTExfREVGQVVMVF9PUEVSQVRPUlMuZmluZCgobykgPT4gby5uYW1lID09PSBvcGVyYXRvclR5cGUpPy50aXRsZTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdElubGluZUZpbHRlcihmaWx0ZXI6IEFYUEZpbHRlckRlZmluaXRpb24pIHtcbiAgICB0aGlzLmNvbnRleHQudXBkYXRlKChwcmV2KSA9PiAoe1xuICAgICAgLi4ucHJldixcbiAgICAgIFtmaWx0ZXIuZmllbGRdOiB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnRhZ0JveCgpPy5pbnB1dFZhbHVlKCksXG4gICAgICAgIG9wZXJhdGlvbjogeyB0eXBlOiAnY29udGFpbnMnIH0sXG4gICAgICB9LFxuICAgIH0pKTtcbiAgICB0aGlzLnRhZ0JveCgpPy5pbnB1dFZhbHVlLnNldCgnJyk7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMudXBkYXRlKChwcmV2KSA9PiBbLi4ucHJldiwgZmlsdGVyXSk7XG4gICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gIH1cblxuICBoYW5kbGVJbmxpbmVGaWx0ZXJLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQsIGZpbHRlcjogQVhQRmlsdGVyRGVmaW5pdGlvbikge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy5oYW5kbGVTZWxlY3RJbmxpbmVGaWx0ZXIoZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVQb3BvdmVyQ2xvc2VkKGU6IEFYRXZlbnQpIHtcbiAgICB0aGlzLmFjdGl2ZUZpbHRlci5zZXQobnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Qb3BvdmVyT3BlbmVkKGU6IEFYRXZlbnQpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJzRGVmaW5pdGlvbnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBkZWFjdGl2YXRlQWxsTGlzdEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xuICAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgaXRlbS5pc0FjdGl2ZS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjZWZmZWN0MiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCk7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dCgpO1xuXG4gICAgUHJvbWlzZS5hbGwoXG4gICAgICBmaWx0ZXJzLm1hcChhc3luYyAoZmlsdGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbCA9IGNvbnRleHRbZmlsdGVyLmZpZWxkXT8udmFsdWU7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGF3YWl0IHRoaXMuZ2V0RGlzcGxheVZhbHVlKGZpbHRlciwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgcXVlcnk6IGAke3RoaXMudHJhbnNsYXRlLnRyYW5zbGF0ZVN5bmMoZmlsdGVyLnRpdGxlKX0gJHt0aGlzLmdldEFjdGl2ZU9wZXJhdG9yKGZpbHRlcil9ICcke2Rpc3BsYXlWYWx1ZX0nYCxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICkudGhlbigocmVzdWx0cykgPT4ge1xuICAgICAgdGhpcy5hc3luY1RhZ3Muc2V0KHJlc3VsdHMpO1xuICAgIH0pO1xuICB9KTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMiBheC1wLTJcIj5cbiAgPGF4LWJ1dHRvbiAoa2V5ZG93bik9XCJoYW5kbGVCdXR0b25LZXlEb3duKCRldmVudClcIiAob25DbGljayk9XCJwb3BvdmVyLm9wZW4oKVwiICNmaWx0ZXJCdXR0b24gW2xvb2tdPVwiJ2JsYW5rJ1wiPlxuICAgIDxheC1pY29uIGNsYXNzPVwiZmFyIGZhLWJhcnMtZmlsdGVyIGF4LWN1cnNvci1wb2ludGVyXCI+IDwvYXgtaWNvbj5cbiAgPC9heC1idXR0b24+XG4gIDxheC10YWctYm94XG4gICAgW25nTW9kZWxdPVwiYXN5bmNUYWdzKClcIlxuICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVTZWxlY3RGaWx0ZXJzKCRldmVudClcIlxuICAgIFt0ZXh0RmllbGRdPVwiJ3F1ZXJ5J1wiXG4gICAgW3ZhbHVlRmllbGRdPVwiJ2lkJ1wiXG4gICAgW3JlYWRvbmx5XT1cImZpbHRlcnNEZWZpbml0aW9ucygpLmxlbmd0aCA9PT0gMFwiXG4gICAgW2xvb2tdPVwiJ25vbmUnXCJcbiAgICBbcmVhZG9ubHlGaWVsZF09XCIncmVhZE9ubHknXCJcbiAgICAob25LZXlEb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgW2FkZE9uRW50ZXJdPVwiZmFsc2VcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoZmlsdGVyc0RlZmluaXRpb25zKCkubGVuZ3RoID09PSAwID8gJ2ZpbHRlci5ub1JlY29yZHMnIDogJ2ZpbHRlci50aXRsZScpIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICN0YWdCb3hcbiAgPjwvYXgtdGFnLWJveD5cbjwvZGl2PlxuXG48YXgtcG9wb3ZlclxuICBbb2Zmc2V0WV09XCJhY3RpdmVGaWx0ZXIoKSA/IC0zMCA6IDBcIlxuICBbdGFyZ2V0XT1cInRhZ0JveElucHV0XCJcbiAgW29wZW5Pbl09XCIndG9nZ2xlJ1wiXG4gIChvbk9wZW5lZCk9XCJvblBvcG92ZXJPcGVuZWQoJGV2ZW50KVwiXG4gIFtjbG9zZU9uXT1cIidjbGlja091dCdcIlxuICAob25DbG9zZWQpPVwiaGFuZGxlUG9wb3ZlckNsb3NlZCgkZXZlbnQpXCJcbiAgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIlxuICAjcG9wb3ZlclxuPlxuICA8ZGl2IGNsYXNzPVwibWQ6YXgtbWluLXctNzIgYXgtYm9yZGVyIGF4LXN1cmZhY2UgYXgtdy1mdWxsIGF4LXJvdW5kZWQtbWQgbWQ6YXgtbWF4LWgtOTYgbWQ6YXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgIDxheHAtd2lkZ2V0cy1jb250YWluZXIgW2NvbnRleHRdPVwiY29udGV4dCgpXCIgKG9uQ29udGV4dENoYW5nZWQpPVwib25Db250ZXh0Q2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICBAaWYgKGFjdGl2ZUZpbHRlcigpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWxpZ2h0ZXN0LXN1cmZhY2UgYXgtc2hhZG93LW1kXCI+XG4gICAgICAgICAgPGF4LWhlYWRlciBjbGFzcz1cImF4LWJvcmRlci1iIGF4LWJvcmRlci1saWdodCBheC1weC00IGF4LXB5LTJcIj57e1xuICAgICAgICAgICAgYWN0aXZlRmlsdGVyKCk/LnRpdGxlISB8IHRyYW5zbGF0ZSB8IGFzeW5jXG4gICAgICAgICAgfX08L2F4LWhlYWRlcj5cbiAgICAgICAgICA8YXgtY29udGVudCBjbGFzcz1cImF4LXAtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1iLTJcIj5cbiAgICAgICAgICAgICAgPGF4LWJhZGdlIFt0ZXh0XT1cImdldEFjdGl2ZU9wZXJhdG9yKGFjdGl2ZUZpbHRlcigpKSFcIj48L2F4LWJhZGdlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgIGF4cC13aWRnZXQtcmVuZGVyZXJcbiAgICAgICAgICAgICAgW25vZGVdPVwie1xuICAgICAgICAgICAgICAgIHR5cGU6IGFjdGl2ZUZpbHRlcigpPy53aWRnZXQ/LnR5cGUgfHwgJ3RleHQtZWRpdG9yJyxcbiAgICAgICAgICAgICAgICBwYXRoOiBhY3RpdmVGaWx0ZXIoKT8uZmllbGQsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogYWN0aXZlRmlsdGVyKCk/LndpZGdldD8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIFttb2RlXT1cIidlZGl0J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgICAgPGF4LWZvb3RlciBjbGFzcz1cImF4LWJvcmRlci10IGF4LWZsZXggYXgtanVzdGlmeS1lbmQgYXgtYm9yZGVyLWxpZ2h0IGF4LXctZnVsbCBheC1weC00IGF4LXB5LTJcIj5cbiAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC14c1wiIFt0ZXh0XT1cIidhcHBseScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZUFwcGx5RmlsdGVyKClcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICA8L2F4LWZvb3Rlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBheExpc3ROYXZpZ2F0aW9uICNsaXN0PVwiYXhMaXN0TmF2aWdhdGlvblwiIGNsYXNzPVwiYXhwLWxpc3QtaXRlbXNcIj5cbiAgICAgICAgICBAaWYgKHRhZ0JveC5pbnB1dFZhbHVlKCkpIHtcbiAgICAgICAgICAgIEBmb3IgKGlubGluZUZpbHRlciBvZiBpbmxpbmVGaWx0ZXJzKCk7IHRyYWNrIGlubGluZUZpbHRlci5maWVsZCkge1xuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXhMaXN0TmF2aWdhdGlvbkl0ZW1cbiAgICAgICAgICAgICAgICAjY2FzZUl0ZW09XCJheExpc3ROYXZpZ2F0aW9uSXRlbVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmF4cC1zdGF0ZS1mb2N1c2VkXT1cImNhc2VJdGVtLmlzQWN0aXZlKClcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbGVjdElubGluZUZpbHRlcihpbmxpbmVGaWx0ZXIpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVJbmxpbmVGaWx0ZXJLZXlEb3duKCRldmVudCwgaW5saW5lRmlsdGVyKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpbmxpbmVGaWx0ZXIudGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYyB9fSB7eyBnZXRBY3RpdmVPcGVyYXRvcihpbmxpbmVGaWx0ZXIpIH19ICd7e1xuICAgICAgICAgICAgICAgICAgdGFnQm94LmlucHV0VmFsdWUoKVxuICAgICAgICAgICAgICAgIH19J1xuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdy1mdWxsIGF4LWJvcmRlci10IGF4LWJvcmRlci1saWdodCBheC1teS0xXCI+PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZm9yIChmaWVsZCBvZiBmaWx0ZXJGaWVsZHMoKTsgdHJhY2sgZmllbGQuZmllbGQpIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgYXhMaXN0TmF2aWdhdGlvbkl0ZW1cbiAgICAgICAgICAgICAgI2Nhc2VJdGVtPVwiYXhMaXN0TmF2aWdhdGlvbkl0ZW1cIlxuICAgICAgICAgICAgICBbY2xhc3MuYXhwLXN0YXRlLWZvY3VzZWRdPVwiY2FzZUl0ZW0uaXNBY3RpdmUoKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RGaWVsZChmaWVsZClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVGaWVsZEtleURvd24oJGV2ZW50LCBmaWVsZClcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1lbmQgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LXctNVwiIFtjbGFzc109XCInZmEtbGlnaHQgJyArIGZpZWxkLmljb25cIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvYXhwLXdpZGdldHMtY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvYXgtcG9wb3Zlcj5cbiJdfQ==","import { InjectionToken } from \"@angular/core\";\nexport const AXP_USER_AVATAR_PROVIDER = new InjectionToken('AXP_USER_AVATAR_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n return new AXPUserAvatarProviderDefault();\n }\n});\nclass AXPUserAvatarProviderDefault {\n provide(userId) {\n return Promise.resolve({\n id: userId,\n username: 'johndoe',\n firstName: 'John',\n lastName: 'Doe',\n status: 'online',\n avatarUrl: 'https://via.placeholder.com/150',\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvdXNlci1hdmF0YXIvdXNlci1hdmF0YXIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsMEJBQTBCLEVBQzFCO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE9BQU8sSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDSixDQUNKLENBQUM7QUFHRixNQUFNLDRCQUE0QjtJQUM5QixPQUFPLENBQUMsTUFBYztRQUNsQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbkIsRUFBRSxFQUFFLE1BQU07WUFDVixRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUUsTUFBTTtZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxpQ0FBaUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckRhdGEsIEFYUFVzZXJBdmF0YXJQcm92aWRlciB9IGZyb20gXCIuL3VzZXItYXZhdGFyLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBBWFBfVVNFUl9BVkFUQVJfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQVXNlckF2YXRhclByb3ZpZGVyPihcbiAgICAnQVhQX1VTRVJfQVZBVEFSX1BST1ZJREVSJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBVc2VyQXZhdGFyUHJvdmlkZXJEZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG4pO1xuXG5cbmNsYXNzIEFYUFVzZXJBdmF0YXJQcm92aWRlckRlZmF1bHQgaW1wbGVtZW50cyBBWFBVc2VyQXZhdGFyUHJvdmlkZXIge1xuICAgIHByb3ZpZGUodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFVzZXJBdmF0YXJEYXRhPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgaWQ6IHVzZXJJZCxcbiAgICAgICAgICAgIHVzZXJuYW1lOiAnam9obmRvZScsXG4gICAgICAgICAgICBmaXJzdE5hbWU6ICdKb2huJyxcbiAgICAgICAgICAgIGxhc3ROYW1lOiAnRG9lJyxcbiAgICAgICAgICAgIHN0YXR1czogJ29ubGluZScsXG4gICAgICAgICAgICBhdmF0YXJVcmw6ICdodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vMTUwJyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { AXP_USER_AVATAR_PROVIDER } from \"./user-avatar.provider\";\nimport { BehaviorSubject, timer } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class AXPUserAvatarService {\n constructor() {\n this.provider = inject(AXP_USER_AVATAR_PROVIDER);\n // Cache configuration\n this.cacheExpiryTime = 5 * 60 * 1000; // 5 minutes in milliseconds\n this.refreshInterval = 3 * 60 * 1000; // 3 minutes in milliseconds\n // Cache storage\n this.cache = new Map();\n }\n /**\n * Gets user information with caching and auto-refresh\n * @param userId The username to fetch information for\n * @returns Observable that emits user avatar data\n */\n getUserInfo$(userId) {\n // Check if we have a cached entry\n if (!this.cache.has(userId) || this.isExpired(userId)) {\n // Create a new cache entry with default values\n const defaultData = {\n id: userId,\n status: 'offline',\n username: '',\n firstName: '',\n lastName: ''\n };\n const subject = new BehaviorSubject(defaultData);\n this.cache.set(userId, {\n data: defaultData,\n timestamp: Date.now(),\n subject\n });\n // Fetch fresh data immediately\n this.fetchAndUpdateCache(userId);\n // Set up auto refresh\n timer(this.refreshInterval, this.refreshInterval)\n .pipe(tap(() => this.fetchAndUpdateCache(userId)))\n .subscribe();\n }\n return this.cache.get(userId).subject.asObservable();\n }\n /**\n * Gets user information (Promise-based for backward compatibility)\n * @param userId The username to fetch information for\n * @returns Promise that resolves to user avatar data\n */\n async getUserInfo(userId) {\n // Check if we have an unexpired cached entry\n if (this.cache.has(userId) && !this.isExpired(userId)) {\n return this.cache.get(userId).data;\n }\n // Fetch fresh data and cache it\n return this.fetchAndUpdateCache(userId);\n }\n /**\n * Clears the entire cache or a specific user's cache\n * @param userId Optional username to clear specific cache\n */\n clearCache(userId) {\n if (userId) {\n this.cache.delete(userId);\n }\n else {\n this.cache.clear();\n }\n }\n /**\n * Force refresh data for a specific username\n * @param userId The username to refresh\n * @returns Promise that resolves to the refreshed data\n */\n async refreshUserInfo(userId) {\n return this.fetchAndUpdateCache(userId);\n }\n /**\n * Checks if a cache entry is expired\n */\n isExpired(userId) {\n const entry = this.cache.get(userId);\n if (!entry)\n return true;\n return (Date.now() - entry.timestamp) > this.cacheExpiryTime;\n }\n /**\n * Fetches data from provider and updates the cache\n */\n async fetchAndUpdateCache(userId) {\n try {\n const data = await this.provider.provide(userId);\n if (!data) {\n throw new Error(`User info not found for ${userId}`);\n }\n const entry = this.cache.get(userId);\n // Update the cache entry\n if (entry) {\n entry.data = data;\n entry.timestamp = Date.now();\n entry.subject.next(data);\n }\n else {\n // Create a new cache entry if needed\n const subject = new BehaviorSubject(data);\n this.cache.set(userId, {\n data,\n timestamp: Date.now(),\n subject\n });\n }\n return data;\n }\n catch (error) {\n console.error(`Error fetching user info for ${userId}:`, error);\n throw error;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPUserAvatarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPUserAvatarService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPUserAvatarService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBK0IsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBV2xFLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJWSxhQUFRLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFcEQsc0JBQXNCO1FBQ0wsb0JBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLDRCQUE0QjtRQUM3RCxvQkFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsNEJBQTRCO1FBRTlFLGdCQUFnQjtRQUNSLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztLQXFIakQ7SUFuSEc7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxNQUFjO1FBQ3ZCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3BELCtDQUErQztZQUMvQyxNQUFNLFdBQVcsR0FBc0I7Z0JBQ25DLEVBQUUsRUFBRSxNQUFNO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixRQUFRLEVBQUUsRUFBRTtnQkFDWixT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QUUsQ0FBQztnQkFDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLHFDQUFxQztnQkFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7b0JBQ25CLElBQUk7b0JBQ0osU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3JCLE9BQU87aUJBQ1YsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsTUFBTSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEUsTUFBTSxLQUFLLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7OEdBNUhRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07OzJGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckRhdGEgfSBmcm9tIFwiLi91c2VyLWF2YXRhci50eXBlc1wiO1xuaW1wb3J0IHsgQVhQX1VTRVJfQVZBVEFSX1BST1ZJREVSIH0gZnJvbSBcIi4vdXNlci1hdmF0YXIucHJvdmlkZXJcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2UgQ2FjaGVFbnRyeSB7XG4gICAgZGF0YTogQVhQVXNlckF2YXRhckRhdGE7XG4gICAgdGltZXN0YW1wOiBudW1iZXI7XG4gICAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEFYUFVzZXJBdmF0YXJEYXRhPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVXNlckF2YXRhclNlcnZpY2Uge1xuICAgIHByaXZhdGUgcHJvdmlkZXIgPSBpbmplY3QoQVhQX1VTRVJfQVZBVEFSX1BST1ZJREVSKTtcblxuICAgIC8vIENhY2hlIGNvbmZpZ3VyYXRpb25cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRXhwaXJ5VGltZSA9IDUgKiA2MCAqIDEwMDA7IC8vIDUgbWludXRlcyBpbiBtaWxsaXNlY29uZHNcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2hJbnRlcnZhbCA9IDMgKiA2MCAqIDEwMDA7IC8vIDMgbWludXRlcyBpbiBtaWxsaXNlY29uZHNcblxuICAgIC8vIENhY2hlIHN0b3JhZ2VcbiAgICBwcml2YXRlIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIENhY2hlRW50cnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHVzZXIgaW5mb3JtYXRpb24gd2l0aCBjYWNoaW5nIGFuZCBhdXRvLXJlZnJlc2hcbiAgICAgKiBAcGFyYW0gdXNlcklkIFRoZSB1c2VybmFtZSB0byBmZXRjaCBpbmZvcm1hdGlvbiBmb3JcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdXNlciBhdmF0YXIgZGF0YVxuICAgICAqL1xuICAgIGdldFVzZXJJbmZvJCh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QVhQVXNlckF2YXRhckRhdGE+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBhIGNhY2hlZCBlbnRyeVxuICAgICAgICBpZiAoIXRoaXMuY2FjaGUuaGFzKHVzZXJJZCkgfHwgdGhpcy5pc0V4cGlyZWQodXNlcklkKSkge1xuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGNhY2hlIGVudHJ5IHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHREYXRhOiBBWFBVc2VyQXZhdGFyRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBpZDogdXNlcklkLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ29mZmxpbmUnLFxuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU6ICcnLFxuICAgICAgICAgICAgICAgIGxhc3ROYW1lOiAnJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUFVzZXJBdmF0YXJEYXRhPihkZWZhdWx0RGF0YSk7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnNldCh1c2VySWQsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiBkZWZhdWx0RGF0YSxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgc3ViamVjdFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEZldGNoIGZyZXNoIGRhdGEgaW1tZWRpYXRlbHlcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hBbmRVcGRhdGVDYWNoZSh1c2VySWQpO1xuXG4gICAgICAgICAgICAvLyBTZXQgdXAgYXV0byByZWZyZXNoXG4gICAgICAgICAgICB0aW1lcih0aGlzLnJlZnJlc2hJbnRlcnZhbCwgdGhpcy5yZWZyZXNoSW50ZXJ2YWwpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmZldGNoQW5kVXBkYXRlQ2FjaGUodXNlcklkKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHVzZXJJZCkhLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB1c2VyIGluZm9ybWF0aW9uIChQcm9taXNlLWJhc2VkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuICAgICAqIEBwYXJhbSB1c2VySWQgVGhlIHVzZXJuYW1lIHRvIGZldGNoIGluZm9ybWF0aW9uIGZvclxuICAgICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB1c2VyIGF2YXRhciBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgZ2V0VXNlckluZm8odXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFVzZXJBdmF0YXJEYXRhPiB7XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYW4gdW5leHBpcmVkIGNhY2hlZCBlbnRyeVxuICAgICAgICBpZiAodGhpcy5jYWNoZS5oYXModXNlcklkKSAmJiAhdGhpcy5pc0V4cGlyZWQodXNlcklkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHVzZXJJZCkhLmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGZXRjaCBmcmVzaCBkYXRhIGFuZCBjYWNoZSBpdFxuICAgICAgICByZXR1cm4gdGhpcy5mZXRjaEFuZFVwZGF0ZUNhY2hlKHVzZXJJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBlbnRpcmUgY2FjaGUgb3IgYSBzcGVjaWZpYyB1c2VyJ3MgY2FjaGVcbiAgICAgKiBAcGFyYW0gdXNlcklkIE9wdGlvbmFsIHVzZXJuYW1lIHRvIGNsZWFyIHNwZWNpZmljIGNhY2hlXG4gICAgICovXG4gICAgY2xlYXJDYWNoZSh1c2VySWQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHVzZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUodXNlcklkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcmNlIHJlZnJlc2ggZGF0YSBmb3IgYSBzcGVjaWZpYyB1c2VybmFtZVxuICAgICAqIEBwYXJhbSB1c2VySWQgVGhlIHVzZXJuYW1lIHRvIHJlZnJlc2hcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlZnJlc2hlZCBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgcmVmcmVzaFVzZXJJbmZvKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBVc2VyQXZhdGFyRGF0YT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mZXRjaEFuZFVwZGF0ZUNhY2hlKHVzZXJJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgY2FjaGUgZW50cnkgaXMgZXhwaXJlZFxuICAgICAqL1xuICAgIHByaXZhdGUgaXNFeHBpcmVkKHVzZXJJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5jYWNoZS5nZXQodXNlcklkKTtcbiAgICAgICAgaWYgKCFlbnRyeSkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgcmV0dXJuIChEYXRlLm5vdygpIC0gZW50cnkudGltZXN0YW1wKSA+IHRoaXMuY2FjaGVFeHBpcnlUaW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZldGNoZXMgZGF0YSBmcm9tIHByb3ZpZGVyIGFuZCB1cGRhdGVzIHRoZSBjYWNoZVxuICAgICAqL1xuICAgIHByaXZhdGUgYXN5bmMgZmV0Y2hBbmRVcGRhdGVDYWNoZSh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8QVhQVXNlckF2YXRhckRhdGE+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLnByb3ZpZGVyLnByb3ZpZGUodXNlcklkKTtcbiAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVXNlciBpbmZvIG5vdCBmb3VuZCBmb3IgJHt1c2VySWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2FjaGUuZ2V0KHVzZXJJZCk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgY2FjaGUgZW50cnlcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGVudHJ5LmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgIGVudHJ5LnRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgZW50cnkuc3ViamVjdC5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgY2FjaGUgZW50cnkgaWYgbmVlZGVkXG4gICAgICAgICAgICAgICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQVXNlckF2YXRhckRhdGE+KGRhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KHVzZXJJZCwge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3RcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBmZXRjaGluZyB1c2VyIGluZm8gZm9yICR7dXNlcklkfTpgLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=","import { Component, ViewEncapsulation, computed, inject, input, signal } from '@angular/core';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPUserAvatarService } from './user-avatar.service';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/avatar\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/image\";\nexport class AXPUserAvatarComponent {\n constructor() {\n this.userAvatarService = inject(AXPUserAvatarService);\n this.destroy$ = new Subject();\n this.userInfo = signal(null, ...(ngDevMode ? [{ debugName: \"userInfo\" }] : []));\n this.size = input(40, ...(ngDevMode ? [{ debugName: \"size\" }] : []));\n this.userId = input('', ...(ngDevMode ? [{ debugName: \"userId\" }] : []));\n this.src = signal('', ...(ngDevMode ? [{ debugName: \"src\" }] : []));\n this.userName = computed(() => this.userInfo()?.username || '', ...(ngDevMode ? [{ debugName: \"userName\" }] : []));\n this.firstName = computed(() => this.userInfo()?.firstName || 'Root', ...(ngDevMode ? [{ debugName: \"firstName\" }] : []));\n this.lastName = computed(() => this.userInfo()?.lastName || 'User', ...(ngDevMode ? [{ debugName: \"lastName\" }] : []));\n this.title = computed(() => `${this.firstName()} ${this.lastName()}`, ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.isOnline = computed(() => this.userInfo()?.status === 'online', ...(ngDevMode ? [{ debugName: \"isOnline\" }] : []));\n this.avatarText = computed(() => this.getInitials(), ...(ngDevMode ? [{ debugName: \"avatarText\" }] : []));\n this.avatarColor = computed(() => this.pickColor(this.avatarText()), ...(ngDevMode ? [{ debugName: \"avatarColor\" }] : []));\n this.hasPicture = signal(false, ...(ngDevMode ? [{ debugName: \"hasPicture\" }] : []));\n }\n onImageError(event) {\n this.hasPicture.set(false);\n }\n onImageLoad(event) {\n this.hasPicture.set(true);\n }\n ngOnInit() {\n this.loadUserData();\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n loadUserData() {\n // Skip if no username provided\n if (!this.userId()) {\n return;\n }\n // Subscribe to the user info observable to get real-time updates\n this.userAvatarService\n .getUserInfo$(this.userId())\n .pipe(takeUntil(this.destroy$))\n .subscribe((userData) => {\n this.userInfo.set(userData);\n // This is a placeholder - replace with your actual avatar URL logic\n this.generateAvatarSrc();\n });\n }\n /**\n * Generate avatar image source\n * This is a placeholder - implement based on your actual requirements\n */\n generateAvatarSrc() {\n // Example: Check if the user has a custom avatar URL\n // If not, generate a placeholder using initials\n if (this.userInfo()?.avatarUrl) {\n this.src.set(this.userInfo()?.avatarUrl);\n }\n else {\n // Generate a placeholder - you could use an external service like UI Avatars\n // or implement your own logic\n const initials = this.getInitials();\n this.src.set(`https://avatar.iran.liara.run/username?username=${encodeURIComponent(initials)}`);\n }\n }\n /**\n * Get initials from first and last name\n */\n getInitials() {\n const firstInitial = this.firstName().charAt(0).toUpperCase();\n const lastInitial = this.lastName().charAt(0).toUpperCase();\n return firstInitial + lastInitial;\n }\n hashString(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n }\n pickColor(initials) {\n const colors = ['primary', 'secondary', 'danger', 'warning', 'success', 'accent1', 'accent2', 'accent3'];\n const idx = this.hashString(initials) % colors.length;\n return colors[idx];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPUserAvatarComponent, isStandalone: true, selector: \"axp-user-avatar\", inputs: { size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, userId: { classPropertyName: \"userId\", publicName: \"userId\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], ngImport: i0, template: \"<ax-avatar #avatar [size]=\\\"size()\\\" class=\\\"ax-cursor-pointer\\\">\\n @if(hasPicture()){\\n <ax-image (onError)=\\\"onImageError($event)\\\" (onLoad)=\\\"onImageLoad($event)\\\" [src]=\\\"src()\\\"></ax-image>\\n }@else{\\n <ax-text class=\\\"ax-{{ avatarColor() }}-lightest \\\">\\n <small class=\\\"ax-text-xs ax-font-semibold\\\">{{ avatarText() }}</small>\\n </ax-text>\\n }\\n</ax-avatar>\\n\\n<!--\\n\\nax-primary-lightest\\nax-warning-lightest\\nax-success-lightest\\nax-danger-lightest\\nax-secondary-lightest\\nax-accent1-lightest\\nax-accent2-lightest\\nax-accent3-lightest\\n\\n-->\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AXAvatarModule }, { kind: \"component\", type: i1.AXAvatarComponent, selector: \"ax-avatar\", inputs: [\"color\", \"size\", \"shape\", \"look\"], outputs: [\"sizeChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXImageModule }, { kind: \"component\", type: i3.AXImageComponent, selector: \"ax-image\", inputs: [\"width\", \"height\", \"overlayMode\", \"src\", \"alt\", \"priority\", \"lazy\"], outputs: [\"onLoad\", \"onError\"] }, { kind: \"ngmodule\", type: AXBadgeModule }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPUserAvatarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-user-avatar', imports: [\n AXAvatarModule,\n AXDecoratorModule,\n AXImageModule,\n AXBadgeModule\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<ax-avatar #avatar [size]=\\\"size()\\\" class=\\\"ax-cursor-pointer\\\">\\n @if(hasPicture()){\\n <ax-image (onError)=\\\"onImageError($event)\\\" (onLoad)=\\\"onImageLoad($event)\\\" [src]=\\\"src()\\\"></ax-image>\\n }@else{\\n <ax-text class=\\\"ax-{{ avatarColor() }}-lightest \\\">\\n <small class=\\\"ax-text-xs ax-font-semibold\\\">{{ avatarText() }}</small>\\n </ax-text>\\n }\\n</ax-avatar>\\n\\n<!--\\n\\nax-primary-lightest\\nax-warning-lightest\\nax-success-lightest\\nax-danger-lightest\\nax-secondary-lightest\\nax-accent1-lightest\\nax-accent2-lightest\\nax-accent3-lightest\\n\\n-->\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUczRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBZXpELE1BQU0sT0FBTyxzQkFBc0I7SUFibkM7UUFjbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdEMsYUFBUSxHQUFHLE1BQU0sQ0FBMkIsSUFBSSxvREFBQyxDQUFDO1FBRTVELFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxnREFBQyxDQUFDO1FBQ3pCLFdBQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxr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QUFpQixxUEFDakIsYUFBYSxvTkFDYixhQUFhOzsyRkFLSixzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0UsaUJBQWlCLFdBR2xCO3dCQUNQLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7cUJBQ2hCLGlCQUNnQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhclNlcnZpY2UgfSBmcm9tICcuL3VzZXItYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWEF2YXRhck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckRhdGEgfSBmcm9tICcuL3VzZXItYXZhdGFyLnR5cGVzJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhJbWFnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9pbWFnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC11c2VyLWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWF2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi91c2VyLWF2YXRhci5jb21wb25lbnQuc2NzcycsXG4gIGltcG9ydHM6IFtcbiAgICBBWEF2YXRhck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEltYWdlTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGVcbl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFVzZXJBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlckF2YXRhclNlcnZpY2UgPSBpbmplY3QoQVhQVXNlckF2YXRhclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgdXNlckluZm8gPSBzaWduYWw8QVhQVXNlckF2YXRhckRhdGEgfCBudWxsPihudWxsKTtcblxuICBzaXplID0gaW5wdXQ8bnVtYmVyPig0MCk7XG4gIHVzZXJJZCA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIHNyYyA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgdXNlck5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnVzZXJJbmZvKCk/LnVzZXJuYW1lIHx8ICcnKTtcbiAgZmlyc3ROYW1lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy51c2VySW5mbygpPy5maXJzdE5hbWUgfHwgJ1Jvb3QnKTtcbiAgbGFzdE5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnVzZXJJbmZvKCk/Lmxhc3ROYW1lIHx8ICdVc2VyJyk7XG4gIHRpdGxlID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5maXJzdE5hbWUoKX0gJHt0aGlzLmxhc3ROYW1lKCl9YCk7XG4gIGlzT25saW5lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy51c2VySW5mbygpPy5zdGF0dXMgPT09ICdvbmxpbmUnKTtcblxuICBhdmF0YXJUZXh0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5nZXRJbml0aWFscygpKTtcbiAgYXZhdGFyQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBpY2tDb2xvcih0aGlzLmF2YXRhclRleHQoKSkpO1xuXG4gIHByb3RlY3RlZCBoYXNQaWN0dXJlID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgb25JbWFnZUVycm9yKGV2ZW50OiBBWEh0bWxFdmVudDxFcnJvckV2ZW50Pikge1xuICAgIHRoaXMuaGFzUGljdHVyZS5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW1hZ2VMb2FkKGV2ZW50OiBBWEh0bWxFdmVudDxFdmVudD4pIHtcbiAgICB0aGlzLmhhc1BpY3R1cmUuc2V0KHRydWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkVXNlckRhdGEoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIC8vIFNraXAgaWYgbm8gdXNlcm5hbWUgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMudXNlcklkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIHVzZXIgaW5mbyBvYnNlcnZhYmxlIHRvIGdldCByZWFsLXRpbWUgdXBkYXRlc1xuICAgIHRoaXMudXNlckF2YXRhclNlcnZpY2VcbiAgICAgIC5nZXRVc2VySW5mbyQodGhpcy51c2VySWQoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXJEYXRhKSA9PiB7XG4gICAgICAgIHRoaXMudXNlckluZm8uc2V0KHVzZXJEYXRhKTtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHBsYWNlaG9sZGVyIC0gcmVwbGFjZSB3aXRoIHlvdXIgYWN0dWFsIGF2YXRhciBVUkwgbG9naWNcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUF2YXRhclNyYygpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYXZhdGFyIGltYWdlIHNvdXJjZVxuICAgKiBUaGlzIGlzIGEgcGxhY2Vob2xkZXIgLSBpbXBsZW1lbnQgYmFzZWQgb24geW91ciBhY3R1YWwgcmVxdWlyZW1lbnRzXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlQXZhdGFyU3JjKCk6IHZvaWQge1xuICAgIC8vIEV4YW1wbGU6IENoZWNrIGlmIHRoZSB1c2VyIGhhcyBhIGN1c3RvbSBhdmF0YXIgVVJMXG4gICAgLy8gSWYgbm90LCBnZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIHVzaW5nIGluaXRpYWxzXG4gICAgaWYgKHRoaXMudXNlckluZm8oKT8uYXZhdGFyVXJsKSB7XG4gICAgICB0aGlzLnNyYy5zZXQodGhpcy51c2VySW5mbygpPy5hdmF0YXJVcmwhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciAtIHlvdSBjb3VsZCB1c2UgYW4gZXh0ZXJuYWwgc2VydmljZSBsaWtlIFVJIEF2YXRhcnNcbiAgICAgIC8vIG9yIGltcGxlbWVudCB5b3VyIG93biBsb2dpY1xuICAgICAgY29uc3QgaW5pdGlhbHMgPSB0aGlzLmdldEluaXRpYWxzKCk7XG4gICAgICB0aGlzLnNyYy5zZXQoYGh0dHBzOi8vYXZhdGFyLmlyYW4ubGlhcmEucnVuL3VzZXJuYW1lP3VzZXJuYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGluaXRpYWxzKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGluaXRpYWxzIGZyb20gZmlyc3QgYW5kIGxhc3QgbmFtZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbml0aWFscygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpcnN0SW5pdGlhbCA9IHRoaXMuZmlyc3ROYW1lKCkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgbGFzdEluaXRpYWwgPSB0aGlzLmxhc3ROYW1lKCkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCk7XG4gICAgcmV0dXJuIGZpcnN0SW5pdGlhbCArIGxhc3RJbml0aWFsO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNoU3RyaW5nKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgaGFzaCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgIGhhc2ggfD0gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGguYWJzKGhhc2gpO1xuICB9XG5cbiAgcHJpdmF0ZSBwaWNrQ29sb3IoaW5pdGlhbHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3JzID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICdkYW5nZXInLCAnd2FybmluZycsICdzdWNjZXNzJywgJ2FjY2VudDEnLCAnYWNjZW50MicsICdhY2NlbnQzJ107XG4gICAgY29uc3QgaWR4ID0gdGhpcy5oYXNoU3RyaW5nKGluaXRpYWxzKSAlIGNvbG9ycy5sZW5ndGg7XG4gICAgcmV0dXJuIGNvbG9yc1tpZHhdO1xuICB9XG59XG4iLCI8YXgtYXZhdGFyICNhdmF0YXIgW3NpemVdPVwic2l6ZSgpXCIgY2xhc3M9XCJheC1jdXJzb3ItcG9pbnRlclwiPlxuICBAaWYoaGFzUGljdHVyZSgpKXtcbiAgPGF4LWltYWdlIChvbkVycm9yKT1cIm9uSW1hZ2VFcnJvcigkZXZlbnQpXCIgKG9uTG9hZCk9XCJvbkltYWdlTG9hZCgkZXZlbnQpXCIgW3NyY109XCJzcmMoKVwiPjwvYXgtaW1hZ2U+XG4gIH1AZWxzZXtcbiAgPGF4LXRleHQgY2xhc3M9XCJheC17eyBhdmF0YXJDb2xvcigpIH19LWxpZ2h0ZXN0IFwiPlxuICAgIDxzbWFsbCBjbGFzcz1cImF4LXRleHQteHMgYXgtZm9udC1zZW1pYm9sZFwiPnt7IGF2YXRhclRleHQoKSB9fTwvc21hbGw+XG4gIDwvYXgtdGV4dD5cbiAgfVxuPC9heC1hdmF0YXI+XG5cbjwhLS1cblxuYXgtcHJpbWFyeS1saWdodGVzdFxuYXgtd2FybmluZy1saWdodGVzdFxuYXgtc3VjY2Vzcy1saWdodGVzdFxuYXgtZGFuZ2VyLWxpZ2h0ZXN0XG5heC1zZWNvbmRhcnktbGlnaHRlc3RcbmF4LWFjY2VudDEtbGlnaHRlc3RcbmF4LWFjY2VudDItbGlnaHRlc3RcbmF4LWFjY2VudDMtbGlnaHRlc3RcblxuLS0+XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { Component, input, output, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\n/**\n * Generic widget item component for displaying selectable widgets with icons, titles, and descriptions.\n * Can be used across different modules for consistent widget display and interaction.\n */\nexport class AXPWidgetItemComponent {\n constructor() {\n // Inputs\n /** The widget data to display */\n this.widget = input.required(...(ngDevMode ? [{ debugName: \"widget\" }] : []));\n /** Whether this widget is currently selected */\n this.isSelected = input(false, ...(ngDevMode ? [{ debugName: \"isSelected\" }] : []));\n /** Whether to show the pin button */\n this.showPinButton = input(true, ...(ngDevMode ? [{ debugName: \"showPinButton\" }] : []));\n /** Custom CSS classes to apply to the widget item */\n this.customClasses = input('', ...(ngDevMode ? [{ debugName: \"customClasses\" }] : []));\n // Outputs\n /** Emitted when the widget item is clicked */\n this.onWidgetClick = output();\n /** Emitted when the pin button is clicked */\n this.onPinClick = output();\n }\n /**\n * Handle widget item click event\n */\n handleClick(event) {\n this.onWidgetClick.emit({\n event,\n widget: this.widget()\n });\n }\n /**\n * Handle pin button click event\n */\n handlePinClick(event) {\n event.stopPropagation(); // Prevent widget click event\n this.onPinClick.emit({\n event,\n widget: this.widget()\n });\n }\n /**\n * Get the effective icon to display\n */\n getIconClass() {\n return this.widget().icon || 'fa-light fa-document';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWidgetItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPWidgetItemComponent, isStandalone: true, selector: \"axp-widget-item\", inputs: { widget: { classPropertyName: \"widget\", publicName: \"widget\", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: \"isSelected\", publicName: \"isSelected\", isSignal: true, isRequired: false, transformFunction: null }, showPinButton: { classPropertyName: \"showPinButton\", publicName: \"showPinButton\", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: \"customClasses\", publicName: \"customClasses\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onWidgetClick: \"onWidgetClick\", onPinClick: \"onPinClick\" }, ngImport: i0, template: \"<div (click)=\\\"handleClick($event)\\\"\\n class=\\\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-lightest/65 hover:ax-text-primary-on-lightest ax-cursor-pointer ax-w-full\\\"\\n [class.ax-bg-primary-lightest]=\\\"isSelected()\\\" [class.ax-text-primary-on-lightest]=\\\"isSelected()\\\"\\n [class.ax-border-primary-lightest]=\\\"isSelected()\\\" [class]=\\\"customClasses()\\\">\\n\\n <!-- Widget Icon -->\\n <div class=\\\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border group-hover:ax-bg-primary-lighter group-hover:ax-text-primary-on-lighter group-hover:ax-border-primary-lighter\\\"\\n [class.ax-bg-primary-light]=\\\"isSelected()\\\" [class.ax-text-primary-on-light]=\\\"isSelected()\\\"\\n [class.ax-border-primary-light]=\\\"isSelected()\\\" [class.ax-surface]=\\\"!isSelected()\\\">\\n <i [ngClass]=\\\"getIconClass()\\\" class=\\\"ax-text-lg\\\"></i>\\n </div>\\n\\n <!-- Widget Content -->\\n <div class=\\\"ax-flex ax-flex-col ax-gap-1 ax-flex-1 ax-w-[70%]\\\">\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-gap-2\\\">\\n <!-- Widget Title -->\\n <div class=\\\"ax-font-semibold ax-text-sm ax-truncate\\\" [title]=\\\"widget().title\\\">\\n {{ widget().title }}\\n </div>\\n\\n <!-- Pin Button -->\\n @if (showPinButton()) {\\n <div (click)=\\\"handlePinClick($event)\\\" class=\\\"ax-cursor-pointer\\\">\\n @if (widget().isPinned) {\\n <i class=\\\"fa-solid fa-thumbtack ax-text-sm ax-rotate-45\\\" title=\\\"Unpin\\\"></i>\\n } @else {\\n <i class=\\\"fa-light fa-thumbtack ax-text-sm ax-rotate-45 ax-invisible group-hover:ax-visible\\\"\\n title=\\\"Pin\\\"></i>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Widget Description -->\\n @if (widget().description) {\\n <span class=\\\"ax-text-xs ax-truncate\\\" [title]=\\\"widget().description\\\">\\n {{ widget().description }}\\n </span>\\n }\\n </div>\\n</div>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWidgetItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-widget-item', imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: \"<div (click)=\\\"handleClick($event)\\\"\\n class=\\\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-lightest/65 hover:ax-text-primary-on-lightest ax-cursor-pointer ax-w-full\\\"\\n [class.ax-bg-primary-lightest]=\\\"isSelected()\\\" [class.ax-text-primary-on-lightest]=\\\"isSelected()\\\"\\n [class.ax-border-primary-lightest]=\\\"isSelected()\\\" [class]=\\\"customClasses()\\\">\\n\\n <!-- Widget Icon -->\\n <div class=\\\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border group-hover:ax-bg-primary-lighter group-hover:ax-text-primary-on-lighter group-hover:ax-border-primary-lighter\\\"\\n [class.ax-bg-primary-light]=\\\"isSelected()\\\" [class.ax-text-primary-on-light]=\\\"isSelected()\\\"\\n [class.ax-border-primary-light]=\\\"isSelected()\\\" [class.ax-surface]=\\\"!isSelected()\\\">\\n <i [ngClass]=\\\"getIconClass()\\\" class=\\\"ax-text-lg\\\"></i>\\n </div>\\n\\n <!-- Widget Content -->\\n <div class=\\\"ax-flex ax-flex-col ax-gap-1 ax-flex-1 ax-w-[70%]\\\">\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-gap-2\\\">\\n <!-- Widget Title -->\\n <div class=\\\"ax-font-semibold ax-text-sm ax-truncate\\\" [title]=\\\"widget().title\\\">\\n {{ widget().title }}\\n </div>\\n\\n <!-- Pin Button -->\\n @if (showPinButton()) {\\n <div (click)=\\\"handlePinClick($event)\\\" class=\\\"ax-cursor-pointer\\\">\\n @if (widget().isPinned) {\\n <i class=\\\"fa-solid fa-thumbtack ax-text-sm ax-rotate-45\\\" title=\\\"Unpin\\\"></i>\\n } @else {\\n <i class=\\\"fa-light fa-thumbtack ax-text-sm ax-rotate-45 ax-invisible group-hover:ax-visible\\\"\\n title=\\\"Pin\\\"></i>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Widget Description -->\\n @if (widget().description) {\\n <span class=\\\"ax-text-xs ax-truncate\\\" [title]=\\\"widget().description\\\">\\n {{ widget().description }}\\n </span>\\n }\\n </div>\\n</div>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3dpZGdldC1pdGVtL3dpZGdldC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi93aWRnZXQtaXRlbS93aWRnZXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHNUU7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9JLFNBQVM7UUFDVCxpQ0FBaUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLGlEQUFxQixDQUFDO1FBRTdDLGdEQUFnRDtRQUNoRCxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssc0RBQUMsQ0FBQztRQUVuQyxxQ0FBcUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLENBQVUsSUFBSSx5REFBQyxDQUFDO1FBRXJDLHFEQUFxRDtRQUNyRCxrQkFBYSxHQUFHLEtBQUssQ0FBUyxFQUFFLHlEQUFDLENBQUM7UUFFbEMsVUFBVTtRQUNWLDhDQUE4QztRQUM5QyxrQkFBYSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztRQUVsRCw2Q0FBNkM7UUFDN0MsZUFBVSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztLQTZCbEQ7SUEzQkc7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxLQUFpQjtRQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDakIsS0FBSztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLElBQUksc0JBQXNCLENBQUM7SUFDeEQsQ0FBQzs4R0EvQ1Esc0JBQXNCO2tHQUF0QixzQkFBc0IsK3JCQ2RuQyw2aUVBd0NNLDJDRDlCUSxZQUFZOzsyRkFJYixzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksaUJBQWlCLFdBQ2xCLENBQUMsWUFBWSxDQUFDLGlCQUVSLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0SXRlbURhdGEsIEFYUFdpZGdldEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnLi93aWRnZXQtaXRlbS50eXBlcyc7XG5cbi8qKlxuICogR2VuZXJpYyB3aWRnZXQgaXRlbSBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgc2VsZWN0YWJsZSB3aWRnZXRzIHdpdGggaWNvbnMsIHRpdGxlcywgYW5kIGRlc2NyaXB0aW9ucy5cbiAqIENhbiBiZSB1c2VkIGFjcm9zcyBkaWZmZXJlbnQgbW9kdWxlcyBmb3IgY29uc2lzdGVudCB3aWRnZXQgZGlzcGxheSBhbmQgaW50ZXJhY3Rpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLXdpZGdldC1pdGVtJyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldEl0ZW1Db21wb25lbnQge1xuICAgIC8vIElucHV0c1xuICAgIC8qKiBUaGUgd2lkZ2V0IGRhdGEgdG8gZGlzcGxheSAqL1xuICAgIHdpZGdldCA9IGlucHV0LnJlcXVpcmVkPEFYUFdpZGdldEl0ZW1EYXRhPigpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyB3aWRnZXQgaXMgY3VycmVudGx5IHNlbGVjdGVkICovXG4gICAgaXNTZWxlY3RlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIHBpbiBidXR0b24gKi9cbiAgICBzaG93UGluQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIHRvIGFwcGx5IHRvIHRoZSB3aWRnZXQgaXRlbSAqL1xuICAgIGN1c3RvbUNsYXNzZXMgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAgIC8vIE91dHB1dHNcbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB3aWRnZXQgaXRlbSBpcyBjbGlja2VkICovXG4gICAgb25XaWRnZXRDbGljayA9IG91dHB1dDxBWFBXaWRnZXRJdGVtQ2xpY2tFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHBpbiBidXR0b24gaXMgY2xpY2tlZCAqL1xuICAgIG9uUGluQ2xpY2sgPSBvdXRwdXQ8QVhQV2lkZ2V0SXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgd2lkZ2V0IGl0ZW0gY2xpY2sgZXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uV2lkZ2V0Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHdpZGdldDogdGhpcy53aWRnZXQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgcGluIGJ1dHRvbiBjbGljayBldmVudFxuICAgICAqL1xuICAgIGhhbmRsZVBpbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IHdpZGdldCBjbGljayBldmVudFxuICAgICAgICB0aGlzLm9uUGluQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHdpZGdldDogdGhpcy53aWRnZXQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGVmZmVjdGl2ZSBpY29uIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBnZXRJY29uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0KCkuaWNvbiB8fCAnZmEtbGlnaHQgZmEtZG9jdW1lbnQnO1xuICAgIH1cbn0iLCI8ZGl2IChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICBjbGFzcz1cImF4LXB5LTIgYXgtcHgtMyBheC1yb3VuZGVkLW1kIGF4LWZsZXggYXgtZ2FwLTMgYXgtaXRlbXMtY2VudGVyIGF4LWdyb3VwIGhvdmVyOmF4LWJnLXByaW1hcnktbGlnaHRlc3QvNjUgaG92ZXI6YXgtdGV4dC1wcmltYXJ5LW9uLWxpZ2h0ZXN0IGF4LWN1cnNvci1wb2ludGVyIGF4LXctZnVsbFwiXG4gICAgW2NsYXNzLmF4LWJnLXByaW1hcnktbGlnaHRlc3RdPVwiaXNTZWxlY3RlZCgpXCIgW2NsYXNzLmF4LXRleHQtcHJpbWFyeS1vbi1saWdodGVzdF09XCJpc1NlbGVjdGVkKClcIlxuICAgIFtjbGFzcy5heC1ib3JkZXItcHJpbWFyeS1saWdodGVzdF09XCJpc1NlbGVjdGVkKClcIiBbY2xhc3NdPVwiY3VzdG9tQ2xhc3NlcygpXCI+XG5cbiAgICA8IS0tIFdpZGdldCBJY29uIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJheC1taW4tdy0xMCBheC1oLTEwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXJvdW5kZWQtbWQgYXgtYm9yZGVyIGdyb3VwLWhvdmVyOmF4LWJnLXByaW1hcnktbGlnaHRlciBncm91cC1ob3ZlcjpheC10ZXh0LXByaW1hcnktb24tbGlnaHRlciBncm91cC1ob3ZlcjpheC1ib3JkZXItcHJpbWFyeS1saWdodGVyXCJcbiAgICAgICAgW2NsYXNzLmF4LWJnLXByaW1hcnktbGlnaHRdPVwiaXNTZWxlY3RlZCgpXCIgW2NsYXNzLmF4LXRleHQtcHJpbWFyeS1vbi1saWdodF09XCJpc1NlbGVjdGVkKClcIlxuICAgICAgICBbY2xhc3MuYXgtYm9yZGVyLXByaW1hcnktbGlnaHRdPVwiaXNTZWxlY3RlZCgpXCIgW2NsYXNzLmF4LXN1cmZhY2VdPVwiIWlzU2VsZWN0ZWQoKVwiPlxuICAgICAgICA8aSBbbmdDbGFzc109XCJnZXRJY29uQ2xhc3MoKVwiIGNsYXNzPVwiYXgtdGV4dC1sZ1wiPjwvaT5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gV2lkZ2V0IENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTEgYXgtZmxleC0xIGF4LXctWzcwJV1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1nYXAtMlwiPlxuICAgICAgICAgICAgPCEtLSBXaWRnZXQgVGl0bGUgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtIGF4LXRydW5jYXRlXCIgW3RpdGxlXT1cIndpZGdldCgpLnRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3sgd2lkZ2V0KCkudGl0bGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIFBpbiBCdXR0b24gLS0+XG4gICAgICAgICAgICBAaWYgKHNob3dQaW5CdXR0b24oKSkge1xuICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiaGFuZGxlUGluQ2xpY2soJGV2ZW50KVwiIGNsYXNzPVwiYXgtY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHdpZGdldCgpLmlzUGlubmVkKSB7XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS10aHVtYnRhY2sgYXgtdGV4dC1zbSBheC1yb3RhdGUtNDVcIiB0aXRsZT1cIlVucGluXCI+PC9pPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGh1bWJ0YWNrIGF4LXRleHQtc20gYXgtcm90YXRlLTQ1IGF4LWludmlzaWJsZSBncm91cC1ob3ZlcjpheC12aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJQaW5cIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gV2lkZ2V0IERlc2NyaXB0aW9uIC0tPlxuICAgICAgICBAaWYgKHdpZGdldCgpLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC14cyBheC10cnVuY2F0ZVwiIFt0aXRsZV09XCJ3aWRnZXQoKS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAge3sgd2lkZ2V0KCkuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWxheW91dC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvYWNvcmV4LXBsYXRmb3JtLWxheW91dC1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i3","i2","i5","i4","i6","i9","i10"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-layout-components.mjs","sources":["../tmp-esm2022/layout/components/lib/activity-log/activity-log.component.js","../tmp-esm2022/layout/components/lib/badge/task-badge.type.js","../tmp-esm2022/layout/components/lib/badge/task-badge.service.js","../tmp-esm2022/layout/components/lib/badge/badge.directive.js","../tmp-esm2022/layout/components/lib/badge/badge-helper.js","../tmp-esm2022/layout/components/lib/blocks/layout-actions.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-blocks.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-footer.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-header.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-list.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-section.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-side.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-tool-bar.component.js","../tmp-esm2022/layout/components/lib/blocks/layout-container.component.js","../tmp-esm2022/layout/components/lib/columns/query-columns.component.js","../tmp-esm2022/layout/components/lib/compare-view/compare-view.component.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot.types.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot-registery.service.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot.directive.js","../tmp-esm2022/layout/components/lib/component-slot/component-slot.module.js","../tmp-esm2022/layout/components/lib/dynamic-form/dynamic-form.component.js","../tmp-esm2022/layout/components/lib/dynamic-dialog/dynamic-dialog.component.js","../tmp-esm2022/layout/components/lib/dynamic-dialog/dynamic-dialog.service.js","../tmp-esm2022/layout/components/lib/extra-properties/extra-properties.types.js","../tmp-esm2022/layout/components/lib/extra-properties/extra-properties.component.js","../tmp-esm2022/layout/components/lib/property-viewer/widget-property-viewer.component.js","../tmp-esm2022/layout/components/lib/extra-properties/extra-properties-schema.component.js","../tmp-esm2022/layout/components/lib/extra-properties/extra-properties-values.component.js","../tmp-esm2022/layout/components/lib/filters/query-filters.component.js","../tmp-esm2022/layout/components/lib/sorts/query-sorts.component.js","../tmp-esm2022/layout/components/lib/template-viewer/template-viewer.component.js","../tmp-esm2022/layout/components/lib/template-viewer/template-viewer.service.js","../tmp-esm2022/layout/components/lib/user-avatar/user-avatar.provider.js","../tmp-esm2022/layout/components/lib/user-avatar/user-avatar.service.js","../tmp-esm2022/layout/components/lib/user-avatar/user-avatar.component.js","../tmp-esm2022/layout/components/lib/views/query-views.component.js","../tmp-esm2022/layout/components/lib/widget-item/widget-item.component.js","../tmp-esm2022/layout/components/acorex-platform-layout-components.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { getSystemActions } from '@acorex/platform/core';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, inject, ViewEncapsulation, signal, effect } from '@angular/core';\nimport { AXAccordionCdkModule } from '@acorex/cdk/accordion';\nimport { AXTagModule } from '@acorex/components/tag';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/core/translation\";\nimport * as i3 from \"@acorex/components/skeleton\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/format\";\n//#region ---- Component Definition ----\nexport class AXPActivityLogComponent {\n //#endregion\n //#region ---- Constructor & Lifecycle ----\n constructor() {\n //#endregion\n //#region ---- Services & Dependencies ----\n this.translateService = inject(AXTranslationService);\n this.workflowService = inject(AXPWorkflowService);\n //#endregion\n //#region ---- Input Properties ----\n /**\n * Array of activity logs to display\n */\n this.activities = input([], ...(ngDevMode ? [{ debugName: \"activities\" }] : []));\n /**\n * Whether the component is in loading state\n */\n this.loading = input(false, ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n //#endregion\n //#region ---- Component Properties ----\n this.i18nScope = 'activity-log';\n this.Object = Object;\n /**\n * Set of expanded activity IDs\n */\n this.expandedItems = signal(new Set(), ...(ngDevMode ? [{ debugName: \"expandedItems\" }] : []));\n /**\n * Flag to track if component has been initialized\n */\n this.isInitialized = signal(false, ...(ngDevMode ? [{ debugName: \"isInitialized\" }] : []));\n /**\n * Set of items that have been manually toggled (for animation control)\n */\n this.manuallyToggledItems = signal(new Set(), ...(ngDevMode ? [{ debugName: \"manuallyToggledItems\" }] : []));\n // Auto-expand top 5 items when activities change\n effect(() => {\n const activities = this.activities();\n const currentExpanded = this.expandedItems();\n const initialized = this.isInitialized();\n // Only auto-expand if not initialized and activities exist\n if (!initialized && activities.length > 0 && currentExpanded.size === 0) {\n const top5Ids = activities.slice(0, 5).map((activity) => activity.id);\n this.expandedItems.set(new Set(top5Ids));\n this.isInitialized.set(true);\n }\n });\n }\n //#endregion\n //#region ---- Utility Methods ----\n /**\n * Gets the appropriate CSS class for the change type\n */\n getChangeClasses(changeType) {\n const action = getSystemActions(changeType);\n return {\n surface: action?.color ? `ax-${action.color}-surface` : 'ax-muted-surface',\n text: action?.color ? `ax-text-${action.color}` : 'ax-text-muted',\n icon: action?.icon ? `${action.icon}` : 'fa-light fa-pen'\n };\n }\n /**\n * Checks if an activity item is expanded\n */\n isExpanded(activityId) {\n return this.expandedItems().has(activityId);\n }\n /**\n * Toggles the expanded state of an activity item\n */\n toggleExpanded(activityId) {\n const currentExpanded = new Set(this.expandedItems());\n const currentManuallyToggled = new Set(this.manuallyToggledItems());\n // Mark this item as manually toggled for animation purposes\n currentManuallyToggled.add(activityId);\n this.manuallyToggledItems.set(currentManuallyToggled);\n if (currentExpanded.has(activityId)) {\n currentExpanded.delete(activityId);\n }\n else {\n currentExpanded.add(activityId);\n }\n this.expandedItems.set(currentExpanded);\n }\n /**\n * Checks if an item should have expand/collapse animation\n */\n shouldAnimate(activityId) {\n return this.manuallyToggledItems().has(activityId);\n }\n /**\n * Checks if an activity has expandable content (changes)\n */\n hasExpandableContent(activity) {\n return activity.changes && activity.changes.length > 0;\n }\n //#endregion\n //#region ---- Compare Methods ----\n /**\n * Handles the compare action for an activity\n */\n async handleCompare(activity, event) {\n event.stopPropagation(); // Prevent expanding/collapsing when clicking compare\n // Get the previous activity for comparison\n const currentIndex = this.activities().findIndex(a => a.id === activity.id);\n if (currentIndex <= 0)\n return; // No previous activity to compare with\n const previousActivity = this.activities()[currentIndex - 1];\n const ids = [\n previousActivity.id,\n activity.id\n ];\n // Execute the compare workflow\n await this.workflowService.execute('show-entity-record-versions-compare', {\n entity: activity.reference.type,\n data: {\n refId: activity.reference.id,\n refType: activity.reference.type,\n ids: ids\n }\n });\n }\n /**\n * Checks if an activity can be compared (has a previous version)\n */\n canCompare(activity) {\n const currentIndex = this.activities().findIndex(a => a.id === activity.id);\n return currentIndex > 0; // Can compare if not the first activity\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPActivityLogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPActivityLogComponent, isStandalone: true, selector: \"axp-activity-log\", inputs: { activities: { classPropertyName: \"activities\", publicName: \"activities\", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: \"loading\", publicName: \"loading\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"axp-activity-log ax-accent2\\\" *translate=\\\"let t\\\">\\n\\n <!-- Activity Log Content -->\\n <div class=\\\"__content\\\">\\n\\n <!-- Loading State -->\\n @if (loading()) {\\n <div class=\\\"__loading\\\">\\n @for (item of [1,2,3,4]; track $index) {\\n <div class=\\\"__item\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__avatar\\\"></ax-skeleton>\\n <div class=\\\"__content\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__title\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__subtitle\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__description\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__time\\\"></ax-skeleton>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Activity Feed -->\\n @if (!loading() && activities().length > 0) {\\n <div class=\\\"__feed\\\">\\n @for (activity of activities(); track activity.id) {\\n @let changeClasses = getChangeClasses(activity.changeType);\\n @let isItemExpanded = isExpanded(activity.id);\\n @let hasExpandableContentItem = hasExpandableContent(activity);\\n <div class=\\\"__item\\\" [class.__collapsed]=\\\"!isItemExpanded\\\" [class.__expandable]=\\\"hasExpandableContentItem\\\">\\n\\n <div\\n class=\\\"ax-size-10 ax-rounded-full ax-border ax-flex ax-items-center ax-justify-center ax-lightest-surface \\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}} fa-solid\\\"></i>\\n </div>\\n\\n <!-- Activity Content -->\\n <div class=\\\"__content\\\">\\n <!-- Main Activity Info -->\\n <div class=\\\"__main-info\\\">\\n\\n <!-- User and Action with Toggle Button -->\\n <div class=\\\"__action-line __header-line\\\" (click)=\\\"toggleExpanded(activity.id)\\\">\\n <span class=\\\"__user-name\\\">{{ activity.user.title }}</span>\\n <span class=\\\"__action-type\\\">\\n {{ t(`actions.${activity.changeType}.title`, {\\n scope: 'general' }) | async }}\\n </span>\\n <span class=\\\"__action-text\\\">\\n {{ activity.title | translate | async }}\\n </span>\\n\\n <!-- Compare Button -->\\n @if (canCompare(activity)) {\\n <button type=\\\"button\\\" class=\\\"__compare-button\\\" (click)=\\\"handleCompare(activity, $event)\\\"\\n [attr.aria-label]=\\\"t('compare.title', { scope: i18nScope }) | async\\\">\\n <i class=\\\"fa-solid fa-code-compare\\\"></i>\\n </button>\\n }\\n\\n <!-- Toggle Button (only show if there's expandable content) -->\\n @if (hasExpandableContentItem) {\\n <button type=\\\"button\\\" class=\\\"__toggle-button\\\" [attr.aria-expanded]=\\\"isItemExpanded\\\"\\n [attr.aria-label]=\\\"isItemExpanded ? 'Collapse details' : 'Expand details'\\\">\\n <i class=\\\"fa-solid\\\" [class.fa-chevron-down]=\\\"!isItemExpanded\\\"\\n [class.fa-chevron-up]=\\\"isItemExpanded\\\"></i>\\n </button>\\n }\\n </div>\\n\\n <!-- Expandable Description/Changes -->\\n @if (hasExpandableContentItem && isItemExpanded && activity.changes.length > 0) {\\n <div class=\\\"__action-lines __expandable-content\\\"\\n [class.__animated]=\\\"shouldAnimate(activity.id)\\\">\\n @for (change of activity.changes; track $index) {\\n @let changeClasses = getChangeClasses(change.type);\\n <div class=\\\"__action-line\\\">\\n <div class=\\\"ax-rounded-full ax-size-7 ax-grid ax-place-items-center\\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}}\\\"></i>\\n </div>\\n <span class=\\\"__action-text\\\">{{\\n change.description | translate | async }}</span>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Time -->\\n <div class=\\\"__time\\\">\\n {{ activity.date | format: 'datetime' : 'short' | async }}\\n </div>\\n\\n </div>\\n\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Empty State -->\\n @if (!loading() && activities().length === 0) {\\n <div class=\\\"__empty\\\">\\n <div class=\\\"__icon\\\">\\n <ax-icon icon=\\\"fa-light fa-history\\\" class=\\\"__svg\\\"></ax-icon>\\n </div>\\n <div class=\\\"__content\\\">\\n <h4 class=\\\"__title\\\">{{ t('no-history.title', { scope: i18nScope }) | async }}</h4>\\n <p class=\\\"__message\\\">{{ t('no-history.message', { scope: i18nScope }) | async }}\\n </p>\\n </div>\\n </div>\\n }\\n\\n </div>\\n</div>\\n\\n<!-- \\n\\nax-success-surface\\nax-primary-surface\\nax-danger-surface\\nax-warning-surface\\nax-info-surface\\nax-muted-surface\\nax-text-success\\n\\n -->\", styles: [\".axp-activity-log{height:100%;width:100%}.axp-activity-log .__content .__loading>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item{display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__loading .__item .__avatar{height:3rem;width:3rem;flex-shrink:0;border-radius:9999px}.axp-activity-log .__content .__loading .__item .__content{flex:1 1 0%}.axp-activity-log .__content .__loading .__item .__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item .__content .__title{height:1rem;width:75%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__subtitle{height:.75rem;width:50%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__description{height:.75rem;width:83.333333%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__time{height:.75rem;width:25%;border-radius:.25rem}.axp-activity-log .__content .__feed{position:relative}.axp-activity-log .__content .__feed>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__feed:before{content:\\\"\\\";position:absolute;inset-inline-start:1.25rem;top:.5rem;bottom:.5rem;width:0px;border-left:1px solid rgba(var(--ax-sys-color-border-surface));z-index:0}.axp-activity-log .__content .__feed .__item{position:relative;display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__feed .__item axp-user-avatar{position:relative;z-index:10}.axp-activity-log .__content .__feed .__item .__content{min-width:0px;flex:1 1 0%}.axp-activity-log .__content .__feed .__item .__content .__main-info{margin-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;line-height:1.5}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__user-name{font-weight:600}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-type,.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line{align-items:center;border-radius:.375rem;padding:.25rem .5rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line:hover{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button{margin-left:.5rem;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:hover{background-color:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface));border-color:rgb(var(--ax-sys-color-border-primary-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button i{font-size:.75rem;line-height:1rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button{margin-left:auto;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button i{font-size:.75rem;line-height:1rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines{margin-top:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;font-size:.875rem;line-height:1.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content{overflow:hidden}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content.__animated{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation:slideDown .3s ease-out}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line{display:flex;align-items:center;gap:.5rem;padding-top:.25rem;padding-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__time{padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-activity-log .__content .__feed .__item.__collapsed .__expandable-content{display:none}.axp-activity-log .__content .__feed .__item.__expandable .__header-line{cursor:pointer}.axp-activity-log .__content .__empty{display:flex;height:12rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-activity-log .__content .__empty .__icon{margin-bottom:1rem}.axp-activity-log .__content .__empty .__icon .__svg{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__message{max-width:20rem;line-height:1.625;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.axp-activity-log .__content .__feed .__item{gap:.625rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{flex-wrap:nowrap}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXCommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i2.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXSkeletonModule }, { kind: \"component\", type: i3.AXSkeletonComponent, selector: \"ax-skeleton\", inputs: [\"animated\"] }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXTagModule }, { kind: \"ngmodule\", type: AXAccordionCdkModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i2.AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: i5.AXFormatPipe, name: \"format\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPActivityLogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-activity-log', standalone: true, imports: [\n CommonModule,\n AXButtonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSkeletonModule,\n AXFormatModule,\n AXTagModule,\n AXAccordionCdkModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"axp-activity-log ax-accent2\\\" *translate=\\\"let t\\\">\\n\\n <!-- Activity Log Content -->\\n <div class=\\\"__content\\\">\\n\\n <!-- Loading State -->\\n @if (loading()) {\\n <div class=\\\"__loading\\\">\\n @for (item of [1,2,3,4]; track $index) {\\n <div class=\\\"__item\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__avatar\\\"></ax-skeleton>\\n <div class=\\\"__content\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__title\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__subtitle\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__description\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"__time\\\"></ax-skeleton>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Activity Feed -->\\n @if (!loading() && activities().length > 0) {\\n <div class=\\\"__feed\\\">\\n @for (activity of activities(); track activity.id) {\\n @let changeClasses = getChangeClasses(activity.changeType);\\n @let isItemExpanded = isExpanded(activity.id);\\n @let hasExpandableContentItem = hasExpandableContent(activity);\\n <div class=\\\"__item\\\" [class.__collapsed]=\\\"!isItemExpanded\\\" [class.__expandable]=\\\"hasExpandableContentItem\\\">\\n\\n <div\\n class=\\\"ax-size-10 ax-rounded-full ax-border ax-flex ax-items-center ax-justify-center ax-lightest-surface \\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}} fa-solid\\\"></i>\\n </div>\\n\\n <!-- Activity Content -->\\n <div class=\\\"__content\\\">\\n <!-- Main Activity Info -->\\n <div class=\\\"__main-info\\\">\\n\\n <!-- User and Action with Toggle Button -->\\n <div class=\\\"__action-line __header-line\\\" (click)=\\\"toggleExpanded(activity.id)\\\">\\n <span class=\\\"__user-name\\\">{{ activity.user.title }}</span>\\n <span class=\\\"__action-type\\\">\\n {{ t(`actions.${activity.changeType}.title`, {\\n scope: 'general' }) | async }}\\n </span>\\n <span class=\\\"__action-text\\\">\\n {{ activity.title | translate | async }}\\n </span>\\n\\n <!-- Compare Button -->\\n @if (canCompare(activity)) {\\n <button type=\\\"button\\\" class=\\\"__compare-button\\\" (click)=\\\"handleCompare(activity, $event)\\\"\\n [attr.aria-label]=\\\"t('compare.title', { scope: i18nScope }) | async\\\">\\n <i class=\\\"fa-solid fa-code-compare\\\"></i>\\n </button>\\n }\\n\\n <!-- Toggle Button (only show if there's expandable content) -->\\n @if (hasExpandableContentItem) {\\n <button type=\\\"button\\\" class=\\\"__toggle-button\\\" [attr.aria-expanded]=\\\"isItemExpanded\\\"\\n [attr.aria-label]=\\\"isItemExpanded ? 'Collapse details' : 'Expand details'\\\">\\n <i class=\\\"fa-solid\\\" [class.fa-chevron-down]=\\\"!isItemExpanded\\\"\\n [class.fa-chevron-up]=\\\"isItemExpanded\\\"></i>\\n </button>\\n }\\n </div>\\n\\n <!-- Expandable Description/Changes -->\\n @if (hasExpandableContentItem && isItemExpanded && activity.changes.length > 0) {\\n <div class=\\\"__action-lines __expandable-content\\\"\\n [class.__animated]=\\\"shouldAnimate(activity.id)\\\">\\n @for (change of activity.changes; track $index) {\\n @let changeClasses = getChangeClasses(change.type);\\n <div class=\\\"__action-line\\\">\\n <div class=\\\"ax-rounded-full ax-size-7 ax-grid ax-place-items-center\\\">\\n <i class=\\\"{{changeClasses.icon}} {{changeClasses.text}}\\\"></i>\\n </div>\\n <span class=\\\"__action-text\\\">{{\\n change.description | translate | async }}</span>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Time -->\\n <div class=\\\"__time\\\">\\n {{ activity.date | format: 'datetime' : 'short' | async }}\\n </div>\\n\\n </div>\\n\\n </div>\\n }\\n </div>\\n }\\n\\n <!-- Empty State -->\\n @if (!loading() && activities().length === 0) {\\n <div class=\\\"__empty\\\">\\n <div class=\\\"__icon\\\">\\n <ax-icon icon=\\\"fa-light fa-history\\\" class=\\\"__svg\\\"></ax-icon>\\n </div>\\n <div class=\\\"__content\\\">\\n <h4 class=\\\"__title\\\">{{ t('no-history.title', { scope: i18nScope }) | async }}</h4>\\n <p class=\\\"__message\\\">{{ t('no-history.message', { scope: i18nScope }) | async }}\\n </p>\\n </div>\\n </div>\\n }\\n\\n </div>\\n</div>\\n\\n<!-- \\n\\nax-success-surface\\nax-primary-surface\\nax-danger-surface\\nax-warning-surface\\nax-info-surface\\nax-muted-surface\\nax-text-success\\n\\n -->\", styles: [\".axp-activity-log{height:100%;width:100%}.axp-activity-log .__content .__loading>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item{display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__loading .__item .__avatar{height:3rem;width:3rem;flex-shrink:0;border-radius:9999px}.axp-activity-log .__content .__loading .__item .__content{flex:1 1 0%}.axp-activity-log .__content .__loading .__item .__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__loading .__item .__content .__title{height:1rem;width:75%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__subtitle{height:.75rem;width:50%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__description{height:.75rem;width:83.333333%;border-radius:.25rem}.axp-activity-log .__content .__loading .__item .__content .__time{height:.75rem;width:25%;border-radius:.25rem}.axp-activity-log .__content .__feed{position:relative}.axp-activity-log .__content .__feed>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.axp-activity-log .__content .__feed:before{content:\\\"\\\";position:absolute;inset-inline-start:1.25rem;top:.5rem;bottom:.5rem;width:0px;border-left:1px solid rgba(var(--ax-sys-color-border-surface));z-index:0}.axp-activity-log .__content .__feed .__item{position:relative;display:flex;align-items:flex-start;gap:1rem}.axp-activity-log .__content .__feed .__item axp-user-avatar{position:relative;z-index:10}.axp-activity-log .__content .__feed .__item .__content{min-width:0px;flex:1 1 0%}.axp-activity-log .__content .__feed .__item .__content .__main-info{margin-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;line-height:1.5}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__user-name{font-weight:600}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-type,.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line{align-items:center;border-radius:.375rem;padding:.25rem .5rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line:hover{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button{margin-left:.5rem;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:hover{background-color:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface));border-color:rgb(var(--ax-sys-color-border-primary-surface))}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__compare-button i{font-size:.75rem;line-height:1rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button{margin-left:auto;border-radius:9999px;padding:.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--ax-sys-color-primary-500), var(--tw-ring-opacity, 1));--tw-ring-offset-width: 1px}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line.__header-line .__toggle-button i{font-size:.75rem;line-height:1rem;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines{margin-top:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;font-size:.875rem;line-height:1.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content{overflow:hidden}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines.__expandable-content.__animated{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation:slideDown .3s ease-out}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line{display:flex;align-items:center;gap:.5rem;padding-top:.25rem;padding-bottom:.25rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-lines .__action-line .__action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;opacity:.85}.axp-activity-log .__content .__feed .__item .__content .__time{padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-activity-log .__content .__feed .__item.__collapsed .__expandable-content{display:none}.axp-activity-log .__content .__feed .__item.__expandable .__header-line{cursor:pointer}.axp-activity-log .__content .__empty{display:flex;height:12rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-activity-log .__content .__empty .__icon{margin-bottom:1rem}.axp-activity-log .__content .__empty .__icon .__svg{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.axp-activity-log .__content .__empty .__content .__message{max-width:20rem;line-height:1.625;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.axp-activity-log .__content .__feed .__item{gap:.625rem}.axp-activity-log .__content .__feed .__item .__content .__main-info .__action-line{flex-wrap:nowrap}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9hY3Rpdml0eS1sb2cvYWN0aXZpdHktbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9hY3Rpdml0eS1sb2cvYWN0aXZpdHktbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBdUMsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFN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QkFDaEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG9CQUFvQjtxQkFDdkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb21tb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlLCBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NrZWxldG9uJztcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUxvZywgQVhQU3lzdGVtQWN0aW9uVHlwZSwgZ2V0U3lzdGVtQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgc2lnbmFsLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQWNjb3JkaW9uQ2RrTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jZGsvYWNjb3JkaW9uJztcbmltcG9ydCB7IEFYVGFnTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhZyc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgQ29tcG9uZW50IERlZmluaXRpb24gICAtLS0tXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLWFjdGl2aXR5LWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYQ29tbW9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhTa2VsZXRvbk1vZHVsZSxcbiAgICAgICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgICAgIEFYVGFnTW9kdWxlLFxuICAgICAgICBBWEFjY29yZGlvbkNka01vZHVsZSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQVhQQWN0aXZpdHlMb2dDb21wb25lbnQge1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIElucHV0IFByb3BlcnRpZXMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBBcnJheSBvZiBhY3Rpdml0eSBsb2dzIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBhY3Rpdml0aWVzID0gaW5wdXQ8QVhQQWN0aXZpdHlMb2dbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGluIGxvYWRpbmcgc3RhdGVcbiAgICAgKi9cbiAgICBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGkxOG5TY29wZSA9ICdhY3Rpdml0eS1sb2cnO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBPYmplY3QgPSBPYmplY3Q7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgb2YgZXhwYW5kZWQgYWN0aXZpdHkgSURzXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHBhbmRlZEl0ZW1zID0gc2lnbmFsPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpO1xuXG4gICAgLyoqXG4gICAgICogRmxhZyB0byB0cmFjayBpZiBjb21wb25lbnQgaGFzIGJlZW4gaW5pdGlhbGl6ZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogU2V0IG9mIGl0ZW1zIHRoYXQgaGF2ZSBiZWVuIG1hbnVhbGx5IHRvZ2dsZWQgKGZvciBhbmltYXRpb24gY29udHJvbClcbiAgICAgKi9cbiAgICBwcml2YXRlIG1hbnVhbGx5VG9nZ2xlZEl0ZW1zID0gc2lnbmFsPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbnN0cnVjdG9yICYgTGlmZWN5Y2xlICAgLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIEF1dG8tZXhwYW5kIHRvcCA1IGl0ZW1zIHdoZW4gYWN0aXZpdGllcyBjaGFuZ2VcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2aXRpZXMgPSB0aGlzLmFjdGl2aXRpZXMoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFeHBhbmRlZCA9IHRoaXMuZXhwYW5kZWRJdGVtcygpO1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbGl6ZWQgPSB0aGlzLmlzSW5pdGlhbGl6ZWQoKTtcblxuICAgICAgICAgICAgLy8gT25seSBhdXRvLWV4cGFuZCBpZiBub3QgaW5pdGlhbGl6ZWQgYW5kIGFjdGl2aXRpZXMgZXhpc3RcbiAgICAgICAgICAgIGlmICghaW5pdGlhbGl6ZWQgJiYgYWN0aXZpdGllcy5sZW5ndGggPiAwICYmIGN1cnJlbnRFeHBhbmRlZC5zaXplID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9wNUlkcyA9IGFjdGl2aXRpZXMuc2xpY2UoMCwgNSkubWFwKChhY3Rpdml0eTogQVhQQWN0aXZpdHlMb2cpID0+IGFjdGl2aXR5LmlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkSXRlbXMuc2V0KG5ldyBTZXQodG9wNUlkcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBVdGlsaXR5IE1ldGhvZHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBhcHByb3ByaWF0ZSBDU1MgY2xhc3MgZm9yIHRoZSBjaGFuZ2UgdHlwZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRDaGFuZ2VDbGFzc2VzKGNoYW5nZVR5cGU6IEFYUFN5c3RlbUFjdGlvblR5cGUpOiB7IHN1cmZhY2U6IHN0cmluZywgdGV4dDogc3RyaW5nLCBpY29uOiBzdHJpbmcgfSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IGdldFN5c3RlbUFjdGlvbnMoY2hhbmdlVHlwZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdXJmYWNlOiBhY3Rpb24/LmNvbG9yID8gYGF4LSR7YWN0aW9uLmNvbG9yfS1zdXJmYWNlYCA6ICdheC1tdXRlZC1zdXJmYWNlJyxcbiAgICAgICAgICAgIHRleHQ6IGFjdGlvbj8uY29sb3IgPyBgYXgtdGV4dC0ke2FjdGlvbi5jb2xvcn1gIDogJ2F4LXRleHQtbXV0ZWQnLFxuICAgICAgICAgICAgaWNvbjogYWN0aW9uPy5pY29uID8gYCR7YWN0aW9uLmljb259YCA6ICdmYS1saWdodCBmYS1wZW4nXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gKiBDaGVja3MgaWYgYW4gYWN0aXZpdHkgaXRlbSBpcyBleHBhbmRlZFxuICovXG4gICAgcHJvdGVjdGVkIGlzRXhwYW5kZWQoYWN0aXZpdHlJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkSXRlbXMoKS5oYXMoYWN0aXZpdHlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gKiBUb2dnbGVzIHRoZSBleHBhbmRlZCBzdGF0ZSBvZiBhbiBhY3Rpdml0eSBpdGVtXG4gKi9cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRXhwYW5kZWQoYWN0aXZpdHlJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFeHBhbmRlZCA9IG5ldyBTZXQodGhpcy5leHBhbmRlZEl0ZW1zKCkpO1xuICAgICAgICBjb25zdCBjdXJyZW50TWFudWFsbHlUb2dnbGVkID0gbmV3IFNldCh0aGlzLm1hbnVhbGx5VG9nZ2xlZEl0ZW1zKCkpO1xuXG4gICAgICAgIC8vIE1hcmsgdGhpcyBpdGVtIGFzIG1hbnVhbGx5IHRvZ2dsZWQgZm9yIGFuaW1hdGlvbiBwdXJwb3Nlc1xuICAgICAgICBjdXJyZW50TWFudWFsbHlUb2dnbGVkLmFkZChhY3Rpdml0eUlkKTtcbiAgICAgICAgdGhpcy5tYW51YWxseVRvZ2dsZWRJdGVtcy5zZXQoY3VycmVudE1hbnVhbGx5VG9nZ2xlZCk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRFeHBhbmRlZC5oYXMoYWN0aXZpdHlJZCkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBhbmRlZC5kZWxldGUoYWN0aXZpdHlJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwYW5kZWQuYWRkKGFjdGl2aXR5SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZEl0ZW1zLnNldChjdXJyZW50RXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhbiBpdGVtIHNob3VsZCBoYXZlIGV4cGFuZC9jb2xsYXBzZSBhbmltYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2hvdWxkQW5pbWF0ZShhY3Rpdml0eUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFudWFsbHlUb2dnbGVkSXRlbXMoKS5oYXMoYWN0aXZpdHlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGFuIGFjdGl2aXR5IGhhcyBleHBhbmRhYmxlIGNvbnRlbnQgKGNoYW5nZXMpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhc0V4cGFuZGFibGVDb250ZW50KGFjdGl2aXR5OiBBWFBBY3Rpdml0eUxvZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYWN0aXZpdHkuY2hhbmdlcyAmJiBhY3Rpdml0eS5jaGFuZ2VzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBhcmUgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgdGhlIGNvbXBhcmUgYWN0aW9uIGZvciBhbiBhY3Rpdml0eVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDb21wYXJlKGFjdGl2aXR5OiBBWFBBY3Rpdml0eUxvZywgZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IGV4cGFuZGluZy9jb2xsYXBzaW5nIHdoZW4gY2xpY2tpbmcgY29tcGFyZVxuXG4gICAgICAgIC8vIEdldCB0aGUgcHJldmlvdXMgYWN0aXZpdHkgZm9yIGNvbXBhcmlzb25cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5hY3Rpdml0aWVzKCkuZmluZEluZGV4KGEgPT4gYS5pZCA9PT0gYWN0aXZpdHkuaWQpO1xuICAgICAgICBpZiAoY3VycmVudEluZGV4IDw9IDApIHJldHVybjsgLy8gTm8gcHJldmlvdXMgYWN0aXZpdHkgdG8gY29tcGFyZSB3aXRoXG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNBY3Rpdml0eSA9IHRoaXMuYWN0aXZpdGllcygpW2N1cnJlbnRJbmRleCAtIDFdO1xuICAgICAgICBjb25zdCBpZHMgPSBbXG4gICAgICAgICAgICBwcmV2aW91c0FjdGl2aXR5LmlkLFxuICAgICAgICAgICAgYWN0aXZpdHkuaWRcbiAgICAgICAgXTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBjb21wYXJlIHdvcmtmbG93XG4gICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3dTZXJ2aWNlLmV4ZWN1dGUoJ3Nob3ctZW50aXR5LXJlY29yZC12ZXJzaW9ucy1jb21wYXJlJywge1xuICAgICAgICAgICAgZW50aXR5OiBhY3Rpdml0eS5yZWZlcmVuY2UudHlwZSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICByZWZJZDogYWN0aXZpdHkucmVmZXJlbmNlLmlkLFxuICAgICAgICAgICAgICAgIHJlZlR5cGU6IGFjdGl2aXR5LnJlZmVyZW5jZS50eXBlLFxuICAgICAgICAgICAgICAgIGlkczogaWRzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhbiBhY3Rpdml0eSBjYW4gYmUgY29tcGFyZWQgKGhhcyBhIHByZXZpb3VzIHZlcnNpb24pXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNhbkNvbXBhcmUoYWN0aXZpdHk6IEFYUEFjdGl2aXR5TG9nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuYWN0aXZpdGllcygpLmZpbmRJbmRleChhID0+IGEuaWQgPT09IGFjdGl2aXR5LmlkKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleCA+IDA7IC8vIENhbiBjb21wYXJlIGlmIG5vdCB0aGUgZmlyc3QgYWN0aXZpdHlcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn0gIiwiPGRpdiBjbGFzcz1cImF4cC1hY3Rpdml0eS1sb2cgYXgtYWNjZW50MlwiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuXG4gICAgPCEtLSBBY3Rpdml0eSBMb2cgQ29udGVudCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG5cbiAgICAgICAgPCEtLSBMb2FkaW5nIFN0YXRlIC0tPlxuICAgICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19sb2FkaW5nXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIFsxLDIsMyw0XTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGF4LXNrZWxldG9uIFthbmltYXRlZF09XCJ0cnVlXCIgY2xhc3M9XCJfX2F2YXRhclwiPjwvYXgtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fdGl0bGVcIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fc3VidGl0bGVcIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fZGVzY3JpcHRpb25cIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cIl9fdGltZVwiPjwvYXgtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEFjdGl2aXR5IEZlZWQgLS0+XG4gICAgICAgIEBpZiAoIWxvYWRpbmcoKSAmJiBhY3Rpdml0aWVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19mZWVkXCI+XG4gICAgICAgICAgICBAZm9yIChhY3Rpdml0eSBvZiBhY3Rpdml0aWVzKCk7IHRyYWNrIGFjdGl2aXR5LmlkKSB7XG4gICAgICAgICAgICBAbGV0IGNoYW5nZUNsYXNzZXMgPSBnZXRDaGFuZ2VDbGFzc2VzKGFjdGl2aXR5LmNoYW5nZVR5cGUpO1xuICAgICAgICAgICAgQGxldCBpc0l0ZW1FeHBhbmRlZCA9IGlzRXhwYW5kZWQoYWN0aXZpdHkuaWQpO1xuICAgICAgICAgICAgQGxldCBoYXNFeHBhbmRhYmxlQ29udGVudEl0ZW0gPSBoYXNFeHBhbmRhYmxlQ29udGVudChhY3Rpdml0eSk7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtXCIgW2NsYXNzLl9fY29sbGFwc2VkXT1cIiFpc0l0ZW1FeHBhbmRlZFwiIFtjbGFzcy5fX2V4cGFuZGFibGVdPVwiaGFzRXhwYW5kYWJsZUNvbnRlbnRJdGVtXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtc2l6ZS0xMCBheC1yb3VuZGVkLWZ1bGwgYXgtYm9yZGVyIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWxpZ2h0ZXN0LXN1cmZhY2UgIFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7Y2hhbmdlQ2xhc3Nlcy5pY29ufX0ge3tjaGFuZ2VDbGFzc2VzLnRleHR9fSBmYS1zb2xpZFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQWN0aXZpdHkgQ29udGVudCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gTWFpbiBBY3Rpdml0eSBJbmZvIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19tYWluLWluZm9cIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGFuZCBBY3Rpb24gd2l0aCBUb2dnbGUgQnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fYWN0aW9uLWxpbmUgX19oZWFkZXItbGluZVwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZChhY3Rpdml0eS5pZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIl9fdXNlci1uYW1lXCI+e3sgYWN0aXZpdHkudXNlci50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIl9fYWN0aW9uLXR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdChgYWN0aW9ucy4ke2FjdGl2aXR5LmNoYW5nZVR5cGV9LnRpdGxlYCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogJ2dlbmVyYWwnIH0pIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJfX2FjdGlvbi10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGl2aXR5LnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBhcmUgQnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY2FuQ29tcGFyZShhY3Rpdml0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIl9fY29tcGFyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlQ29tcGFyZShhY3Rpdml0eSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnY29tcGFyZS50aXRsZScsIHsgc2NvcGU6IGkxOG5TY29wZSB9KSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtY29kZS1jb21wYXJlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVG9nZ2xlIEJ1dHRvbiAob25seSBzaG93IGlmIHRoZXJlJ3MgZXhwYW5kYWJsZSBjb250ZW50KSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc0V4cGFuZGFibGVDb250ZW50SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiX190b2dnbGUtYnV0dG9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0l0ZW1FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXNJdGVtRXhwYW5kZWQgPyAnQ29sbGFwc2UgZGV0YWlscycgOiAnRXhwYW5kIGRldGFpbHMnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWRcIiBbY2xhc3MuZmEtY2hldnJvbi1kb3duXT1cIiFpc0l0ZW1FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmEtY2hldnJvbi11cF09XCJpc0l0ZW1FeHBhbmRlZFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFeHBhbmRhYmxlIERlc2NyaXB0aW9uL0NoYW5nZXMgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc0V4cGFuZGFibGVDb250ZW50SXRlbSAmJiBpc0l0ZW1FeHBhbmRlZCAmJiBhY3Rpdml0eS5jaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2FjdGlvbi1saW5lcyBfX2V4cGFuZGFibGUtY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLl9fYW5pbWF0ZWRdPVwic2hvdWxkQW5pbWF0ZShhY3Rpdml0eS5pZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChjaGFuZ2Ugb2YgYWN0aXZpdHkuY2hhbmdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGxldCBjaGFuZ2VDbGFzc2VzID0gZ2V0Q2hhbmdlQ2xhc3NlcyhjaGFuZ2UudHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fYWN0aW9uLWxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXJvdW5kZWQtZnVsbCBheC1zaXplLTcgYXgtZ3JpZCBheC1wbGFjZS1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3tjaGFuZ2VDbGFzc2VzLmljb259fSB7e2NoYW5nZUNsYXNzZXMudGV4dH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJfX2FjdGlvbi10ZXh0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRpbWUgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGl2aXR5LmRhdGUgfCBmb3JtYXQ6ICdkYXRldGltZScgOiAnc2hvcnQnIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBFbXB0eSBTdGF0ZSAtLT5cbiAgICAgICAgQGlmICghbG9hZGluZygpICYmIGFjdGl2aXRpZXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fZW1wdHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2ljb25cIj5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtaGlzdG9yeVwiIGNsYXNzPVwiX19zdmdcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJfX3RpdGxlXCI+e3sgdCgnbm8taGlzdG9yeS50aXRsZScsIHsgc2NvcGU6IGkxOG5TY29wZSB9KSB8IGFzeW5jIH19PC9oND5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIl9fbWVzc2FnZVwiPnt7IHQoJ25vLWhpc3RvcnkubWVzc2FnZScsIHsgc2NvcGU6IGkxOG5TY29wZSB9KSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIFxuXG5heC1zdWNjZXNzLXN1cmZhY2VcbmF4LXByaW1hcnktc3VyZmFjZVxuYXgtZGFuZ2VyLXN1cmZhY2VcbmF4LXdhcm5pbmctc3VyZmFjZVxuYXgtaW5mby1zdXJmYWNlXG5heC1tdXRlZC1zdXJmYWNlXG5heC10ZXh0LXN1Y2Nlc3NcblxuIC0tPiJdfQ==","import { InjectionToken } from \"@angular/core\";\nexport const AXP_TASK_BADGE_PROVIDERS = new InjectionToken('AXP_TASK_BADGE_PROVIDERS');\nexport class AXPTaskBadgeProvider {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYWRnZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL3Rhc2stYmFkZ2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF5QiwwQkFBMEIsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sT0FBZ0Isb0JBQW9CO0NBR3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBWFBfVEFTS19CQURHRV9QUk9WSURFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQVGFza0JhZGdlUHJvdmlkZXJbXT4oJ0FYUF9UQVNLX0JBREdFX1BST1ZJREVSUycpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQVGFza0JhZGdlUHJvdmlkZXIge1xuICAgIGFic3RyYWN0IGtleTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGNvdW50OiBTaWduYWw8bnVtYmVyPjtcbn0iXX0=","import { computed, inject, Injectable, signal } from '@angular/core';\nimport { AXP_TASK_BADGE_PROVIDERS } from './task-badge.type';\nimport * as i0 from \"@angular/core\";\nexport class AXPTaskBadgeService {\n constructor() {\n this.badgeMap = new Map();\n this.providers = inject(AXP_TASK_BADGE_PROVIDERS, { optional: true }) ?? [];\n this.computedCache = new Map();\n for (const provider of this.providers) {\n if (!this.badgeMap.has(provider.key)) {\n this.badgeMap.set(provider.key, []);\n }\n this.badgeMap.get(provider.key).push(provider.count);\n }\n }\n getCount(key) {\n if (this.computedCache.has(key)) {\n return this.computedCache.get(key);\n }\n const signals = this.badgeMap.get(key) ?? [];\n const total = signals.length > 0 ? computed(() => signals.reduce((sum, s) => sum + s(), 0)) : signal(0);\n this.computedCache.set(key, total);\n return total;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTaskBadgeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTaskBadgeService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTaskBadgeService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYWRnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL3Rhc2stYmFkZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkYsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QjtRQUpRLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUMvQyxjQUFTLEdBQTJCLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO1FBR3hELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsR0FBVztRQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0F4QlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUsIFNpZ25hbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBfVEFTS19CQURHRV9QUk9WSURFUlMsIEFYUFRhc2tCYWRnZVByb3ZpZGVyIH0gZnJvbSAnLi90YXNrLWJhZGdlLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUFRhc2tCYWRnZVNlcnZpY2Uge1xuICBwcml2YXRlIGJhZGdlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFNpZ25hbDxudW1iZXI+W10+KCk7XG4gIHByaXZhdGUgcHJvdmlkZXJzOiBBWFBUYXNrQmFkZ2VQcm92aWRlcltdID0gaW5qZWN0KEFYUF9UQVNLX0JBREdFX1BST1ZJREVSUywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBbXTtcbiAgcHJpdmF0ZSBjb21wdXRlZENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFNpZ25hbDxudW1iZXI+PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5wcm92aWRlcnMpIHtcbiAgICAgIGlmICghdGhpcy5iYWRnZU1hcC5oYXMocHJvdmlkZXIua2V5KSkge1xuICAgICAgICB0aGlzLmJhZGdlTWFwLnNldChwcm92aWRlci5rZXksIFtdKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYmFkZ2VNYXAuZ2V0KHByb3ZpZGVyLmtleSkhLnB1c2gocHJvdmlkZXIuY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvdW50KGtleTogc3RyaW5nKTogU2lnbmFsPG51bWJlcj4ge1xuICAgIGlmICh0aGlzLmNvbXB1dGVkQ2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkQ2FjaGUuZ2V0KGtleSkhO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25hbHMgPSB0aGlzLmJhZGdlTWFwLmdldChrZXkpID8/IFtdO1xuICAgIGNvbnN0IHRvdGFsID0gc2lnbmFscy5sZW5ndGggPiAwID8gY29tcHV0ZWQoKCkgPT4gc2lnbmFscy5yZWR1Y2UoKHN1bSwgcykgPT4gc3VtICsgcygpLCAwKSkgOiBzaWduYWwoMCk7XG5cbiAgICB0aGlzLmNvbXB1dGVkQ2FjaGUuc2V0KGtleSwgdG90YWwpO1xuICAgIHJldHVybiB0b3RhbDtcbiAgfVxufVxuIl19","import { input, computed, inject, effect, Directive } from \"@angular/core\";\nimport { SIGNAL, signalSetFn } from \"@angular/core/primitives/signals\";\nimport { AXPTaskBadgeService } from \"./task-badge.service\";\nimport { AXBadgeComponent } from \"@acorex/components/badge\";\nimport * as i0 from \"@angular/core\";\nexport class AXPTaskBadgeDirective {\n constructor() {\n this.badgeService = inject(AXPTaskBadgeService);\n this.host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>\n this.hostElement = this.host.getHostElement();\n this.badgeKey = input(undefined, ...(ngDevMode ? [{ debugName: \"badgeKey\" }] : []));\n this.count = input(0, ...(ngDevMode ? [{ debugName: \"count\", alias: 'axp-task-badge' }] : [{ alias: 'axp-task-badge' }]));\n this.displayCount = computed(() => {\n const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey())());\n return value ? value.toString() : '';\n }, ...(ngDevMode ? [{ debugName: \"displayCount\" }] : []));\n this.#eff = effect(() => {\n this.setValueOfInputSignal(this.host.text, this.displayCount());\n if (!this.displayCount()) {\n this.hostElement.style.display = 'none';\n }\n else {\n this.hostElement.style.removeProperty('display');\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n setValueOfInputSignal(signal, value) {\n const node = signal[SIGNAL];\n signalSetFn(node, value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTaskBadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.8\", type: AXPTaskBadgeDirective, isStandalone: true, selector: \"[axp-task-badge]\", inputs: { badgeKey: { classPropertyName: \"badgeKey\", publicName: \"badgeKey\", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: \"count\", publicName: \"axp-task-badge\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTaskBadgeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-task-badge]',\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU81RCxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS1ksaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7UUFDdEUsZ0JBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRWpELGFBQVEsR0FBRyxLQUFLLENBQXFCLFNBQVMsb0RBQUMsQ0FBQztRQUNoRCxVQUFLLEdBQUcsS0FBSyxDQUFTLENBQUMseUNBQUksS0FBSyxFQUFFLGdCQUFnQixPQUF6QixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7UUFFckMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pDLENBQUMsd0RBQUMsQ0FBQztRQUVILFNBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUM1QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDLGdEQUFDLENBQUM7S0FNTjtJQWJHLElBQUksQ0FPRDtJQUVLLHFCQUFxQixDQUFJLE1BQXNCLEVBQUUsS0FBUTtRQUM3RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFRLENBQUM7UUFDbkMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQXpCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnB1dCwgY29tcHV0ZWQsIGluamVjdCwgZWZmZWN0LCBEaXJlY3RpdmUsIElucHV0U2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFNJR05BTCwgc2lnbmFsU2V0Rm4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9wcmltaXRpdmVzL3NpZ25hbHNcIjtcbmltcG9ydCB7IEFYUFRhc2tCYWRnZVNlcnZpY2UgfSBmcm9tIFwiLi90YXNrLWJhZGdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFYQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2JhZGdlXCI7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXhwLXRhc2stYmFkZ2VdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBUYXNrQmFkZ2VEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgYmFkZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUFRhc2tCYWRnZVNlcnZpY2UpO1xuICAgIHByaXZhdGUgaG9zdCA9IGluamVjdChBWEJhZGdlQ29tcG9uZW50KTsgLy8gYXNzdW1lcyBpdCdzIGFwcGxpZWQgb24gPGF4LWJhZGdlPlxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQgPSB0aGlzLmhvc3QuZ2V0SG9zdEVsZW1lbnQoKTtcblxuICAgIGJhZGdlS2V5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIGNvdW50ID0gaW5wdXQ8bnVtYmVyPigwLCB7IGFsaWFzOiAnYXhwLXRhc2stYmFkZ2UnIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXNwbGF5Q291bnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb3VudCgpIHx8ICh0aGlzLmJhZGdlS2V5KCkgJiYgdGhpcy5iYWRnZVNlcnZpY2UuZ2V0Q291bnQodGhpcy5iYWRnZUtleSgpISkoKSk7XG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICB9KTtcblxuICAgICNlZmYgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFZhbHVlT2ZJbnB1dFNpZ25hbCh0aGlzLmhvc3QudGV4dCwgdGhpcy5kaXNwbGF5Q291bnQoKSk7XG4gICAgICAgIGlmICghdGhpcy5kaXNwbGF5Q291bnQoKSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHNldFZhbHVlT2ZJbnB1dFNpZ25hbDxUPihzaWduYWw6IElucHV0U2lnbmFsPFQ+LCB2YWx1ZTogVCkge1xuICAgICAgICBjb25zdCBub2RlID0gc2lnbmFsW1NJR05BTF0gYXMgYW55O1xuICAgICAgICBzaWduYWxTZXRGbihub2RlLCB2YWx1ZSk7XG4gICAgfVxufSJdfQ==","import { computed } from \"@angular/core\";\nexport class AXPMenuBadgeHelper {\n static { this.cache = new WeakMap(); }\n static getTotalCount(item, badgeService) {\n if (this.cache.has(item))\n return this.cache.get(item);\n const own = item.badgeKey ? badgeService.getCount(item.badgeKey) : () => 0;\n const children = item.children?.map(child => this.getTotalCount(child, badgeService)) ?? [];\n const total = computed(() => own() + children.reduce((sum, s) => sum + s(), 0), ...(ngDevMode ? [{ debugName: \"total\" }] : []));\n this.cache.set(item, total);\n return total;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2JhZGdlL2JhZGdlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWpELE1BQU0sT0FBTyxrQkFBa0I7YUFFZCxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQStCLENBQUM7SUFFbEUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFpQixFQUFFLFlBQWlDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQztRQUV2RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUN4QyxJQUFJLEVBQUUsQ0FBQztRQUVSLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsaURBQ2xELENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBjb21wdXRlZCwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUE1lbnVJdGVtIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBUYXNrQmFkZ2VTZXJ2aWNlIH0gZnJvbSBcIi4vdGFzay1iYWRnZS5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBBWFBNZW51QmFkZ2VIZWxwZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhY2hlID0gbmV3IFdlYWtNYXA8QVhQTWVudUl0ZW0sIFNpZ25hbDxudW1iZXI+PigpO1xuXG4gIHN0YXRpYyBnZXRUb3RhbENvdW50KGl0ZW06IEFYUE1lbnVJdGVtLCBiYWRnZVNlcnZpY2U6IEFYUFRhc2tCYWRnZVNlcnZpY2UpOiBTaWduYWw8bnVtYmVyPiB7XG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGl0ZW0pKSByZXR1cm4gdGhpcy5jYWNoZS5nZXQoaXRlbSkhO1xuXG4gICAgY29uc3Qgb3duID0gaXRlbS5iYWRnZUtleSA/IGJhZGdlU2VydmljZS5nZXRDb3VudChpdGVtLmJhZGdlS2V5KSA6ICgpID0+IDA7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuPy5tYXAoY2hpbGQgPT5cbiAgICAgIHRoaXMuZ2V0VG90YWxDb3VudChjaGlsZCwgYmFkZ2VTZXJ2aWNlKVxuICAgICkgPz8gW107XG5cbiAgICBjb25zdCB0b3RhbCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICBvd24oKSArIGNoaWxkcmVuLnJlZHVjZSgoc3VtLCBzKSA9PiBzdW0gKyBzKCksIDApXG4gICAgKTtcblxuICAgIHRoaXMuY2FjaGUuc2V0KGl0ZW0sIHRvdGFsKTtcbiAgICByZXR1cm4gdG90YWw7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, contentChild, viewChild, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutPagePrimaryActionsComponent, isStandalone: true, selector: \"axp-layout-actions-primary\", ngImport: i0, template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutPageSecondaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutPageSecondaryActionsComponent, isStandalone: true, selector: \"axp-layout-actions-secondary\", ngImport: i0, template: `<ng-content select=\"ax-button-item,ax-divider,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutPageSecondaryActionsComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item,ax-divider,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutActionsComponent {\n constructor() {\n this.primaryTemplate = viewChild('primary', ...(ngDevMode ? [{ debugName: \"primaryTemplate\" }] : []));\n this.primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent, ...(ngDevMode ? [{ debugName: \"primaryContent\" }] : []));\n this.hasPrimary = computed(() => this.primaryContent() != null, ...(ngDevMode ? [{ debugName: \"hasPrimary\" }] : []));\n this.secondaryTemplate = viewChild('secondary', ...(ngDevMode ? [{ debugName: \"secondaryTemplate\" }] : []));\n this.secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent, ...(ngDevMode ? [{ debugName: \"secondaryContent\" }] : []));\n this.hasSecondary = computed(() => this.secondaryContent() != null, ...(ngDevMode ? [{ debugName: \"hasSecondary\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.8\", type: AXPThemeLayoutActionsComponent, isStandalone: true, selector: \"axp-layout-actions\", queries: [{ propertyName: \"primaryContent\", first: true, predicate: AXPThemeLayoutPagePrimaryActionsComponent, descendants: true, isSignal: true }, { propertyName: \"secondaryContent\", first: true, predicate: AXPThemeLayoutPageSecondaryActionsComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"primaryTemplate\", first: true, predicate: [\"primary\"], descendants: true, isSignal: true }, { propertyName: \"secondaryTemplate\", first: true, predicate: [\"secondary\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutActionsComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVdEksTUFBTSxPQUFPLHlDQUF5Qzs4R0FBekMseUNBQXlDO2tHQUF6Qyx5Q0FBeUMsc0ZBSnhDLGlFQUFpRTs7MkZBSWxFLHlDQUF5QztrQkFQckQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLGlFQUFpRTtvQkFDM0UsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7QUFXRCxNQUFNLE9BQU8sMkNBQTJDOzhHQUEzQywyQ0FBMkM7a0dBQTNDLDJDQUEyQyx3RkFKMUMsMkVBQTJFOzsyRkFJNUUsMkNBQTJDO2tCQVB2RCxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsMkVBQTJFO29CQUNyRixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOztBQXdCRCxNQUFNLE9BQU8sOEJBQThCO0lBcEIzQztRQXNCb0Isb0JBQWUsR0FBRyxTQUFTLENBQW1CLFNBQVMsMkRBQUMsQ0FBQztRQUN4RCxtQkFBYyxHQUFHLFlBQVksQ0FBQyx5Q0FBeUMsMERBQUMsQ0FBQztRQUNuRixlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLHNEQUFDLENBQUM7UUFFbEQsc0JBQWlCLEdBQUcsU0FBUyxDQUFtQixXQUFXLDZEQUFDLENBQUM7UUFDNUQscUJBQWdCLEdBQUcsWUFBWSxDQUFDLDJDQUEyQyw0REFBQyxDQUFDO1FBQ3ZGLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLElBQUksd0RBQUMsQ0FBQztLQUV6RTs4R0FWWSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwwSEFHUSx5Q0FBeUMsbUdBSXZDLDJDQUEyQyw2U0F2QmxGOzs7Ozs7Ozs7OztLQVdUOzsyRkFLUSw4QkFBOEI7a0JBcEIxQyxTQUFTO21CQUFDO29CQUNQLE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0tBV1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWxheW91dC1hY3Rpb25zLXByaW1hcnknLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtYnV0dG9uLGF4LWRyb3Bkb3duLWJ1dHRvblwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRQYWdlUHJpbWFyeUFjdGlvbnNDb21wb25lbnQge1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWxheW91dC1hY3Rpb25zLXNlY29uZGFyeScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheC1idXR0b24taXRlbSxheC1kaXZpZGVyLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRQYWdlU2Vjb25kYXJ5QWN0aW9uc0NvbXBvbmVudCB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlOiBgXG5cbiAgICA8bmctdGVtcGxhdGUgI3ByaW1hcnk+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtYWN0aW9ucy1wcmltYXJ5XCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3NlY29uZGFyeT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1hY3Rpb25zLXNlY29uZGFyeVwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0QWN0aW9uc0NvbXBvbmVudCB7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJpbWFyeVRlbXBsYXRlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCdwcmltYXJ5Jyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltYXJ5Q29udGVudCA9IGNvbnRlbnRDaGlsZChBWFBUaGVtZUxheW91dFBhZ2VQcmltYXJ5QWN0aW9uc0NvbXBvbmVudCk7XG4gICAgcHVibGljIGhhc1ByaW1hcnkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByaW1hcnlDb250ZW50KCkgIT0gbnVsbCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2Vjb25kYXJ5VGVtcGxhdGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ3NlY29uZGFyeScpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vjb25kYXJ5Q29udGVudCA9IGNvbnRlbnRDaGlsZChBWFBUaGVtZUxheW91dFBhZ2VTZWNvbmRhcnlBY3Rpb25zQ29tcG9uZW50KTtcbiAgICBwdWJsaWMgaGFzU2Vjb25kYXJ5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWNvbmRhcnlDb250ZW50KCkgIT0gbnVsbCk7XG5cbn1cblxuXG4iXX0=","import { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutBlockComponent {\n constructor() {\n this.elementRef = inject(ElementRef);\n this.hostElement = this.elementRef.nativeElement;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutBlockComponent, isStandalone: true, selector: \"\\n\\n axp-page-content, \\n axp-page-footer-container,\\n axp-page-footer,\\n axp-page-header,\\n axp-page-header-container,\\n axp-page-toolbar,\\n\\n axp-layout-content, \\n axp-layout-page-content, \\n\\n axp-layout-sections,\\n axp-layout-body,\\n axp-layout-page-body,\\n axp-layout-prefix,\\n axp-layout-suffix,\\n axp-layout-title-bar,\\n axp-layout-title, \\n axp-layout-title-actions, \\n axp-layout-nav-button, \\n axp-layout-description, \\n axp-layout-breadcrumbs,\\n axp-layout-list-action,\\n \", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutBlockComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: `\n\n axp-page-content, \n axp-page-footer-container,\n axp-page-footer,\n axp-page-header,\n axp-page-header-container,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWJsb2Nrcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1ibG9ja3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQzFHLE1BQU0sT0FBTyw0QkFBNEI7SUEvQnpDO1FBa0NxQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7S0FHN0Q7OEdBUFksNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK2xCQUo3QiwyQkFBMkI7OzJGQUkxQiw0QkFBNEI7a0JBL0J4QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXdCUDtvQkFDSCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6IGBcblxuICAgIGF4cC1wYWdlLWNvbnRlbnQsIFxuICAgIGF4cC1wYWdlLWZvb3Rlci1jb250YWluZXIsXG4gICAgYXhwLXBhZ2UtZm9vdGVyLFxuICAgIGF4cC1wYWdlLWhlYWRlcixcbiAgICBheHAtcGFnZS1oZWFkZXItY29udGFpbmVyLFxuICAgIGF4cC1wYWdlLXRvb2xiYXIsXG5cbiAgICBheHAtbGF5b3V0LWNvbnRlbnQsIFxuICAgIGF4cC1sYXlvdXQtcGFnZS1jb250ZW50LCBcblxuICAgIGF4cC1sYXlvdXQtc2VjdGlvbnMsXG4gICAgYXhwLWxheW91dC1ib2R5LFxuICAgIGF4cC1sYXlvdXQtcGFnZS1ib2R5LFxuICAgIGF4cC1sYXlvdXQtcHJlZml4LFxuICAgIGF4cC1sYXlvdXQtc3VmZml4LFxuICAgIGF4cC1sYXlvdXQtdGl0bGUtYmFyLFxuICAgIGF4cC1sYXlvdXQtdGl0bGUsIFxuICAgIGF4cC1sYXlvdXQtdGl0bGUtYWN0aW9ucywgXG4gICAgYXhwLWxheW91dC1uYXYtYnV0dG9uLCBcbiAgICBheHAtbGF5b3V0LWRlc2NyaXB0aW9uLCBcbiAgICBheHAtbGF5b3V0LWJyZWFkY3J1bWJzLFxuICAgIGF4cC1sYXlvdXQtbGlzdC1hY3Rpb24sXG4gICAgYCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQge1xuXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutFooterComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutFooterComponent, isStandalone: true, selector: \"axp-layout-footer, axp-layout-page-footer\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutFooterComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-footer, axp-layout-page-footer',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1mb290ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBY3RGLE1BQU0sT0FBTyw2QkFBNkI7OEdBQTdCLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHFHQVI5Qjs7OztHQUlUOzsyRkFJVSw2QkFBNkI7a0JBWnpDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQ0FBMkM7b0JBQ3JELFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWZvb3RlciwgYXhwLWxheW91dC1wYWdlLWZvb3RlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRGb290ZXJDb21wb25lbnQge1xufVxuXG5cbiJdfQ==","import { ChangeDetectionStrategy, Component, viewChild, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutPageHeaderComponent {\n constructor() {\n this.title = viewChild('title', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.description = viewChild('description', ...(ngDevMode ? [{ debugName: \"description\" }] : []));\n this.actions = viewChild('actions', ...(ngDevMode ? [{ debugName: \"actions\" }] : []));\n this.navbar = viewChild('navbar', ...(ngDevMode ? [{ debugName: \"navbar\" }] : []));\n this.breadcrumbs = viewChild('breadcrumbs', ...(ngDevMode ? [{ debugName: \"breadcrumbs\" }] : []));\n this.navButton = viewChild('navButton', ...(ngDevMode ? [{ debugName: \"navButton\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.8\", type: AXPThemeLayoutPageHeaderComponent, isStandalone: true, selector: \"axp-layout-page-header\", viewQueries: [{ propertyName: \"title\", first: true, predicate: [\"title\"], descendants: true, isSignal: true }, { propertyName: \"description\", first: true, predicate: [\"description\"], descendants: true, isSignal: true }, { propertyName: \"actions\", first: true, predicate: [\"actions\"], descendants: true, isSignal: true }, { propertyName: \"navbar\", first: true, predicate: [\"navbar\"], descendants: true, isSignal: true }, { propertyName: \"breadcrumbs\", first: true, predicate: [\"breadcrumbs\"], descendants: true, isSignal: true }, { propertyName: \"navButton\", first: true, predicate: [\"navButton\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutPageHeaderComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-page-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\nexport class AXPThemeLayoutHeaderComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutHeaderComponent, isStandalone: true, selector: \"axp-layout-header\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutHeaderComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXNCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQ3JILE1BQU0sT0FBTyxpQ0FBaUM7SUEvQjlDO1FBaUNrQixVQUFLLEdBQUcsU0FBUyxDQUFtQixPQUFPLGlEQUFDLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxTQUFTLENBQW1CLGFBQWEsdURBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQUcsU0FBUyxDQUFtQixTQUFTLG1EQUFDLENBQUM7UUFDakQsV0FBTSxHQUFHLFNBQVMsQ0FBbUIsUUFBUSxrREFBQyxDQUFDO1FBQy9DLGdCQUFXLEdBQUcsU0FBUyxDQUFtQixhQUFhLHVEQUFDLENBQUM7UUFDekQsY0FBUyxHQUFHLFNBQVMsQ0FBbUIsV0FBVyxxREFBQyxDQUFDO0tBQ3RFOzhHQVJZLGlDQUFpQztrR0FBakMsaUNBQWlDLDZzQkEzQmxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDs7MkZBSVUsaUNBQWlDO2tCQS9CN0MsU0FBUzttQkFBQztvQkFDVCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOztBQXlCRCxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2Qiw2RUFSOUI7Ozs7R0FJVDs7MkZBSVUsNkJBQTZCO2tCQVp6QyxTQUFTO21CQUFDO29CQUNULE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtcGFnZS1oZWFkZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjYnJlYWRjcnVtYnM+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWJyZWFkY3J1bWJzXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI25hdmJhcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtdG9vbGJhclwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNhY3Rpb25zPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Rlc2NyaXB0aW9uPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1kZXNjcmlwdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0aXRsZT5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25hdkJ1dHRvbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtbmF2LWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRQYWdlSGVhZGVyQ29tcG9uZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ3RpdGxlJyk7XG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdGlvbiA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignZGVzY3JpcHRpb24nKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ2FjdGlvbnMnKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hdmJhciA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignbmF2YmFyJyk7XG4gIHB1YmxpYyByZWFkb25seSBicmVhZGNydW1icyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignYnJlYWRjcnVtYnMnKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hdkJ1dHRvbiA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxhbnk+PignbmF2QnV0dG9uJyk7XG59XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYXhwLWxheW91dC1oZWFkZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50IHtcblxufVxuIl19","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutListComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutListComponent, isStandalone: true, selector: \"axp-layout-list\", ngImport: i0, template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutListComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutListItemsGroupComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutListItemsGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutListItemsGroupComponent, isStandalone: true, selector: \"axp-layout-list-group\", ngImport: i0, template: `<ng-content select=\"axp-layout-list-item, axp-layout-title, axp-layout-header ,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutListItemsGroupComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item, axp-layout-title, axp-layout-header ,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\nexport class AXPThemeLayoutListItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutListItemComponent, isStandalone: true, selector: \"axp-layout-list-item\", ngImport: i0, template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutListItemComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXBHLE1BQU0sT0FBTywyQkFBMkI7OEdBQTNCLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDJFQUoxQiw0RkFBNEY7OzJGQUk3RiwyQkFBMkI7a0JBUHZDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSw0RkFBNEY7b0JBQ3RHLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7O0FBV0QsTUFBTSxPQUFPLHFDQUFxQzs4R0FBckMscUNBQXFDO2tHQUFyQyxxQ0FBcUMsaUZBSnBDLDRHQUE0Rzs7MkZBSTdHLHFDQUFxQztrQkFQakQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLDRHQUE0RztvQkFDdEgsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7QUFXRCxNQUFNLE9BQU8sK0JBQStCOzhHQUEvQiwrQkFBK0I7a0dBQS9CLCtCQUErQixnRkFKOUIsd0dBQXdHOzsyRkFJekcsK0JBQStCO2tCQVAzQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsd0dBQXdHO29CQUNsSCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29udGVudENoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWxpc3QnLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1saXN0LWl0ZW0sYXhwLWxheW91dC1saXN0LWdyb3VwLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRMaXN0Q29tcG9uZW50IHtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtbGlzdC1ncm91cCcsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWxpc3QtaXRlbSwgYXhwLWxheW91dC10aXRsZSwgYXhwLWxheW91dC1oZWFkZXIgLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbXNHcm91cENvbXBvbmVudCB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LWxpc3QtaXRlbScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWNvbnRlbnQsYXhwLWxheW91dC1wcmVmaXgsYXhwLWxheW91dC1zdWZmaXgsbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBWFBUaGVtZUxheW91dExpc3RJdGVtQ29tcG9uZW50IHtcblxufSJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutSectionComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutSectionComponent, isStandalone: true, selector: \"axp-layout-section\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutSectionComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQWF2QixNQUFNLE9BQU8sOEJBQThCOzhHQUE5Qiw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw4RUFQL0I7OztHQUdUOzsyRkFJVSw4QkFBOEI7a0JBWDFDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7O0dBR1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYXhwLWxheW91dC1zZWN0aW9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRTZWN0aW9uQ29tcG9uZW50IHtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutStartSideComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutStartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutStartSideComponent, isStandalone: true, selector: \"axp-layout-page-start-side, axp-layout-start-side\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutStartSideComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-page-start-side, axp-layout-start-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\nexport class AXPThemeLayoutEndSideComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutEndSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutEndSideComponent, isStandalone: true, selector: \"axp-layout-page-end-side, axp-layout-end-side\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutEndSideComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-page-end-side, axp-layout-end-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2Jsb2Nrcy9sYXlvdXQtc2lkZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFldEYsTUFBTSxPQUFPLGdDQUFnQzs4R0FBaEMsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsNkdBVGpDOzs7OztHQUtUOzsyRkFJVSxnQ0FBZ0M7a0JBYjVDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELFFBQVEsRUFBRTs7Ozs7R0FLVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOztBQWVELE1BQU0sT0FBTyw4QkFBOEI7OEdBQTlCLDhCQUE4QjtrR0FBOUIsOEJBQThCLHlHQVIvQjs7OztHQUlUOzsyRkFJVSw4QkFBOEI7a0JBWjFDLFNBQVM7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwrQ0FBK0M7b0JBQ3pELFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdheHAtbGF5b3V0LXBhZ2Utc3RhcnQtc2lkZSwgYXhwLWxheW91dC1zdGFydC1zaWRlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtcGFnZS1lbmQtc2lkZSwgYXhwLWxheW91dC1lbmQtc2lkZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLWxheW91dC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVGhlbWVMYXlvdXRFbmRTaWRlQ29tcG9uZW50IHt9XG4iXX0=","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutToolbarComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutToolbarComponent, isStandalone: true, selector: \"axp-layout-toolbar\", ngImport: i0, template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutToolbarComponent, decorators: [{\n type: Component,\n args: [{\n imports: [],\n standalone: true,\n selector: 'axp-layout-toolbar',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXRvb2wtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9ibG9ja3MvbGF5b3V0LXRvb2wtYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWV0RixNQUFNLE9BQU8sOEJBQThCOzhHQUE5Qiw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw4RUFUN0I7Ozs7S0FJVDs7MkZBS1EsOEJBQThCO2tCQWIxQyxTQUFTO21CQUFDO29CQUNQLE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWxheW91dC10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1sYXlvdXQtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBBWFBUaGVtZUxheW91dFRvb2xiYXJDb21wb25lbnQge1xuXG59XG5cblxuIl19","import { ChangeDetectionStrategy, Component, ElementRef, inject, signal, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPThemeLayoutContainerComponent {\n constructor() {\n this.elementRef = inject((ElementRef));\n this.hostElement = this.elementRef.nativeElement;\n this._isEmptySignal = signal(this.hostElement.children.length === 0, ...(ngDevMode ? [{ debugName: \"_isEmptySignal\" }] : []));\n this.isEmpty = this._isEmptySignal.asReadonly();\n }\n ngOnInit() {\n this.mutationObserver = new MutationObserver(() => {\n this._isEmptySignal.set(this.hostElement.children.length === 0);\n });\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n }\n ngOnDestroy() {\n this.mutationObserver?.disconnect();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPThemeLayoutContainerComponent, isStandalone: true, selector: \"axp-layout-container\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPThemeLayoutContainerComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: `axp-layout-container`,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvYmxvY2tzL2xheW91dC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVksVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU3BJLE1BQU0sT0FBTyxnQ0FBZ0M7SUFQN0M7UUFVdUIsZUFBVSxHQUErQixNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQUMsQ0FBQztRQUMvRSxnQkFBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBR3BELG1CQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLDBEQUFDLENBQUM7UUFDeEQsWUFBTyxHQUFvQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBcUIvRTtJQWpCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLENBQUM7OEdBekJRLGdDQUFnQztrR0FBaEMsZ0NBQWdDLGdGQUovQiwyQkFBMkI7OzJGQUk1QixnQ0FBZ0M7a0JBUDVDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgRWxlbWVudFJlZiwgaW5qZWN0LCBzaWduYWwsIFNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogYGF4cC1sYXlvdXQtY29udGFpbmVyYCxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRoZW1lTGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IHtcblxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuXG4gICAgcHJpdmF0ZSBfaXNFbXB0eVNpZ25hbCA9IHNpZ25hbCh0aGlzLmhvc3RFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGlzRW1wdHk6IFNpZ25hbDxib29sZWFuPiA9IHRoaXMuX2lzRW1wdHlTaWduYWwuYXNSZWFkb25seSgpO1xuXG4gICAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pc0VtcHR5U2lnbmFsLnNldCh0aGlzLmhvc3RFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuaG9zdEVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB9XG5cblxuXG59XG4iXX0=","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { Component, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/switch\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXPQueryColumnsComponent {\n constructor() {\n this.columns = model([], ...(ngDevMode ? [{ debugName: \"columns\" }] : []));\n }\n handleVisibilityChange(e, name) {\n if (e.isUserInteraction) {\n this.columns.update((prev) => {\n return prev.map((c) => {\n return c.name === name ? { ...c, visible: e.value ?? true } : c;\n });\n });\n }\n }\n drop(event) {\n const columns = cloneDeep(this.columns());\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n this.columns.set(columns);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQueryColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPQueryColumnsComponent, isStandalone: true, selector: \"axp-query-columns\", inputs: { columns: { classPropertyName: \"columns\", publicName: \"columns\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { columns: \"columnsChange\" }, ngImport: i0, template: \"<div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-select-none\\\" cdkDropList (cdkDropListDropped)=\\\"drop($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\\\">\\n @for (item of columns(); track item.name) {\\n <div class=\\\"ax-flex ax-py-1 ax-items-center ax-justify-between\\\" cdkDrag cdkDragBoundary=\\\".ax-sorted-list\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-3\\\" cdkDragHandle>\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move\\\"></ax-icon>\\n <p class=\\\"ax-font-medium ax-text-sm\\\">{{ item.title | translate | async }}</p>\\n </div>\\n <ax-switch\\n class=\\\"ax-sm\\\"\\n [ngModel]=\\\"item.visible\\\"\\n (onValueChanged)=\\\"handleVisibilityChange($event, item.name)\\\"\\n ></ax-switch>\\n </div>\\n }\\n </div>\\n</div>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXSwitchModule }, { kind: \"component\", type: i3.AXSwitchComponent, selector: \"ax-switch\", inputs: [\"disabled\", \"readonly\", \"color\", \"tabIndex\", \"value\", \"name\", \"isLoading\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQueryColumnsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-query-columns', imports: [\n CommonModule,\n FormsModule,\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n AXButtonModule,\n AXDecoratorModule,\n AXSwitchModule,\n AXTranslationModule,\n ], template: \"<div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-select-none\\\" cdkDropList (cdkDropListDropped)=\\\"drop($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\\\">\\n @for (item of columns(); track item.name) {\\n <div class=\\\"ax-flex ax-py-1 ax-items-center ax-justify-between\\\" cdkDrag cdkDragBoundary=\\\".ax-sorted-list\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-3\\\" cdkDragHandle>\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move\\\"></ax-icon>\\n <p class=\\\"ax-font-medium ax-text-sm\\\">{{ item.title | translate | async }}</p>\\n </div>\\n <ax-switch\\n class=\\\"ax-sm\\\"\\n [ngModel]=\\\"item.visible\\\"\\n (onValueChanged)=\\\"handleVisibilityChange($event, item.name)\\\"\\n ></ax-switch>\\n </div>\\n }\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvY29sdW1ucy9xdWVyeS1jb2x1bW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb2x1bW5zL3F1ZXJ5LWNvbHVtbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsT0FBTyxFQUFlLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7O0FBaUJ0QyxNQUFNLE9BQU8sd0JBQXdCO0lBZnJDO1FBZ0JFLFlBQU8sR0FBRyxLQUFLLENBQW1CLEVBQUUsbURBQUMsQ0FBQztLQWlCdkM7SUFmQyxzQkFBc0IsQ0FBQyxDQUErQixFQUFFLElBQVk7UUFDbEUsSUFBSSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRSxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFUyxJQUFJLENBQUMsS0FBNkI7UUFDMUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs4R0FqQlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsOFBDNUJyQyxzM0JBaUJBLDJDREFJLFlBQVksOEJBQ1osV0FBVywrVkFDWCxXQUFXLHNoQkFDWCxPQUFPLHdjQUNQLGFBQWEsOEZBQ2IsY0FBYyw4QkFDZCxpQkFBaUIsK0hBQ2pCLGNBQWMsa1NBQ2QsbUJBQW1COzsyRkFHVix3QkFBd0I7a0JBZnBDLFNBQVM7K0JBQ0UsbUJBQW1CLFdBRXBCO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7cUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFN3aXRjaE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5cbmltcG9ydCB7IEFYUENvbHVtblF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtcXVlcnktY29sdW1ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDZGtEcm9wTGlzdCxcbiAgICBDZGtEcmFnLFxuICAgIENka0RyYWdIYW5kbGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhTd2l0Y2hNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUXVlcnlDb2x1bW5zQ29tcG9uZW50IHtcbiAgY29sdW1ucyA9IG1vZGVsPEFYUENvbHVtblF1ZXJ5W10+KFtdKTtcblxuICBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8Ym9vbGVhbj4sIG5hbWU6IHN0cmluZykge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICAgIHJldHVybiBwcmV2Lm1hcCgoYzogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGMubmFtZSA9PT0gbmFtZSA/IHsgLi4uYywgdmlzaWJsZTogZS52YWx1ZSA/PyB0cnVlIH0gOiBjO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDx1bmtub3duW10+KSB7XG4gICAgY29uc3QgY29sdW1ucyA9IGNsb25lRGVlcCh0aGlzLmNvbHVtbnMoKSk7XG4gICAgbW92ZUl0ZW1JbkFycmF5KGNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5jb2x1bW5zLnNldChjb2x1bW5zKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtc2VsZWN0LW5vbmVcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC13LWZ1bGwgYXgtc29ydGVkLWxpc3QgYXgtbWF4LWgtW2NhbGMoMTAwdmgtMjgwcHgpXSBheC1vdmVyZmxvdy1hdXRvXCI+XG4gICAgQGZvciAoaXRlbSBvZiBjb2x1bW5zKCk7IHRyYWNrIGl0ZW0ubmFtZSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtcHktMSBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc29ydGVkLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCIgY2RrRHJhZ0hhbmRsZT5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbWVkaXVtIGF4LXRleHQtc21cIj57eyBpdGVtLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXgtc3dpdGNoXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiaXRlbS52aXNpYmxlXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQsIGl0ZW0ubmFtZSlcIlxuICAgICAgICA+PC9heC1zd2l0Y2g+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { Component, ViewEncapsulation, input, computed, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/label\";\nimport * as i2 from \"@acorex/components/check-box\";\nimport * as i3 from \"@acorex/platform/layout/builder\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXPCompareViewComponent {\n constructor() {\n //#region ---- Component Properties ----\n this.inputs = input(...(ngDevMode ? [undefined, { debugName: \"inputs\" }] : []));\n this.showOnlyChanges = signal(false, ...(ngDevMode ? [{ debugName: \"showOnlyChanges\" }] : []));\n this.mode = input('compare', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.removedObjects = signal([], ...(ngDevMode ? [{ debugName: \"removedObjects\" }] : []));\n this.isChangesMode = computed(() => this.mode() === 'changes', ...(ngDevMode ? [{ debugName: \"isChangesMode\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Filtered fields based on showOnlyChanges toggle\n */\n this.filteredFields = computed(() => {\n const fields = this.inputs()?.fields ?? [];\n // Set readOnly to true for all fields\n fields.forEach(field => {\n field.widget.options = {\n ...field.widget.options,\n allowEdit: false,\n readOnly: true,\n };\n });\n if (!this.showOnlyChanges()) {\n return fields;\n }\n // Filter to show only fields where values differ across objects\n return fields.filter(field => this.hasUnequalValues(field.path));\n }, ...(ngDevMode ? [{ debugName: \"filteredFields\" }] : []));\n this.remainingObjects = computed(() => {\n const objects = this.inputs()?.objects ?? [];\n return objects.filter(obj => !this.removedObjects().includes(obj.id));\n }, ...(ngDevMode ? [{ debugName: \"remainingObjects\" }] : []));\n }\n //#endregion\n //#region ---- Utility Methods ----\n /**\n * Check if a field value will change in the next object (to show arrow in current cell)\n */\n hasValueChangingToNext(fieldPath, currentObjectIndex) {\n const objects = this.remainingObjects();\n if (currentObjectIndex >= objects.length - 1)\n return false;\n const currentValue = objects[currentObjectIndex]?.context[fieldPath];\n const nextValue = objects[currentObjectIndex + 1]?.context[fieldPath];\n return !this.areValuesEqual(currentValue, nextValue);\n }\n /**\n * Check if a field value has changed compared to the previous object\n */\n hasValueChangedFromPrevious(fieldPath, currentObjectIndex) {\n const objects = this.remainingObjects();\n if (currentObjectIndex === 0 || objects.length <= 1)\n return false;\n const currentValue = objects[currentObjectIndex]?.context[fieldPath];\n const previousValue = objects[currentObjectIndex - 1]?.context[fieldPath];\n return !this.areValuesEqual(currentValue, previousValue);\n }\n /**\n * Check if a field has unequal values across objects\n */\n hasUnequalValues(fieldPath) {\n const objects = this.remainingObjects();\n if (objects.length <= 1)\n return false;\n const values = objects.map(obj => obj.context[fieldPath]);\n const firstValue = values[0];\n return values.some(value => !this.areValuesEqual(value, firstValue));\n }\n /**\n * Check if a field has equal values across objects\n */\n hasEqualValues(fieldPath) {\n const objects = this.remainingObjects();\n if (objects.length <= 1)\n return false;\n const values = objects.map(obj => obj.context[fieldPath]);\n const firstValue = values[0];\n return values.every(value => this.areValuesEqual(value, firstValue));\n }\n /**\n * Compare two values for equality (deep comparison for objects/arrays)\n */\n areValuesEqual(value1, value2) {\n if (value1 === value2)\n return true;\n if (value1 == null || value2 == null)\n return value1 === value2;\n if (typeof value1 !== typeof value2)\n return false;\n if (typeof value1 === 'object') {\n return JSON.stringify(value1) === JSON.stringify(value2);\n }\n return false;\n }\n /**\n * Toggle the show only changes filter\n */\n toggleShowOnlyChanges() {\n this.showOnlyChanges.update(value => !value);\n }\n /**\n * Remove an object from the comparison\n */\n removeObject(objectId) {\n this.removedObjects.update(objects => [...objects, objectId]);\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n ngOnInit() {\n }\n ngOnDestroy() {\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCompareViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPCompareViewComponent, isStandalone: true, selector: \"axp-compare-view\", inputs: { inputs: { classPropertyName: \"inputs\", publicName: \"inputs\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], ngImport: i0, template: \"<!--\\n #region ---- Compare View Table Layout ----\\n-->\\n<div class=\\\"axp-compare-view\\\">\\n <div class=\\\"__table-container\\\">\\n <table class=\\\"__table\\\">\\n <thead class=\\\"__thead\\\">\\n <tr class=\\\"__header-row\\\">\\n <th class=\\\"__field-header\\\">\\n <ax-check-box\\n [value]=\\\"showOnlyChanges()\\\"\\n (valueChange)=\\\"toggleShowOnlyChanges()\\\"\\n class=\\\"__show-changes-toggle\\\"\\n >\\n <ax-label>\\n {{ '@activity-log:compare-view.show-only-differences' | translate | async }}\\n </ax-label>\\n </ax-check-box>\\n </th>\\n @for (obj of remainingObjects(); track obj.id) {\\n <th class=\\\"__object-header\\\" [attr.data-id]=\\\"obj.id\\\">\\n <div class=\\\"__object-title\\\" [title]=\\\"obj.description\\\">\\n <span>{{ obj.title | translate | async }}</span>\\n @if (remainingObjects().length > 2) {\\n <span class=\\\"__remove-object-button\\\" (click)=\\\"removeObject(obj.id)\\\">\\n <i class=\\\"fa-light fa-times\\\"></i>\\n </span>\\n }\\n </div>\\n </th>\\n }\\n </tr>\\n </thead>\\n <tbody class=\\\"__tbody\\\">\\n @for (field of filteredFields(); track field.path; let i = $index) {\\n <tr\\n class=\\\"__row\\\"\\n [class.__row--odd]=\\\"i % 2 === 1\\\"\\n [class.__row--has-differences]=\\\"hasUnequalValues(field.path)\\\"\\n [class.__row--has-equal-values]=\\\"hasEqualValues(field.path)\\\"\\n >\\n <td class=\\\"__field-cell\\\">\\n <div class=\\\"__field-content\\\">\\n <div class=\\\"__field-title\\\">\\n {{ field.title | translate | async }}\\n </div>\\n @if (field.description) {\\n <div class=\\\"__field-description\\\">{{ field.description }}</div>\\n }\\n </div>\\n </td>\\n @for (obj of remainingObjects(); track obj.id; let objIndex = $index) {\\n <td\\n class=\\\"__object-cell\\\"\\n [attr.data-id]=\\\"obj.id\\\"\\n [class.__cell--changed]=\\\"hasValueChangedFromPrevious(field.path, objIndex) && isChangesMode()\\\"\\n >\\n @if (obj.context[field.path] !== undefined) {\\n <div class=\\\"__object-content\\\">\\n <axp-widgets-container [context]=\\\"obj.context\\\">\\n <ng-container axp-widget-renderer [node]=\\\"field.widget\\\" [mode]=\\\"'view'\\\"></ng-container>\\n </axp-widgets-container>\\n </div>\\n } @else {\\n <div class=\\\"__object-placeholder\\\">---</div>\\n }\\n @if (hasValueChangingToNext(field.path, objIndex) && isChangesMode()) {\\n <div class=\\\"__change-indicator\\\">\\n <i class=\\\"fa-light fa-arrow-right\\\"></i>\\n </div>\\n }\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n</div>\\n<!--\\n #endregion\\n-->\\n\", styles: [\".axp-compare-view{display:flex;height:100%;width:100%;flex-direction:column;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:relative}.axp-compare-view .__filter-controls{flex-shrink:0;border-bottom-width:1px;padding:1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.axp-compare-view .__filter-controls .__show-changes-toggle{font-size:.875rem;line-height:1.25rem}.axp-compare-view .__table-container{flex:1 1 0%;overflow:auto;position:relative}.axp-compare-view .__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.axp-compare-view .__table .__thead{position:-webkit-sticky;position:sticky;top:0;z-index:20}.axp-compare-view .__table .__thead .__header-row .__field-header{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;text-align:left;font-weight:700;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));position:-webkit-sticky;position:sticky;left:0;z-index:25}.axp-compare-view .__table .__thead .__header-row .__object-header{position:relative;border-bottom-width:1px;padding:.75rem 1rem;text-align:center;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));min-width:250px;width:250px}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;position:absolute;top:50%;inset-inline-end:0px;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-danger-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-600),var(--tw-text-opacity, 1))}.axp-compare-view .__table .__tbody .__row{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-compare-view .__table .__tbody .__row.__row--odd{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-compare-view .__table .__tbody .__row.__row--has-differences{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{background-color:rgba(var(--ax-sys-color-warning-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{background-color:rgba(var(--ax-sys-color-success-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row .__field-cell{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;vertical-align:top;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:-webkit-sticky;position:sticky;left:0;z-index:15}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content{display:flex;flex-direction:column;gap:.25rem}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-title{font-weight:500}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-description{font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__tbody .__row .__object-cell{border-bottom-width:1px;padding:.75rem 1rem;text-align:center;vertical-align:middle;position:relative}.axp-compare-view .__table .__tbody .__row .__object-cell.__cell--changed .__object-content{border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-200),var(--tw-border-opacity, 1));padding:.5rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-content{position:relative;display:flex;align-items:center;justify-content:center}.axp-compare-view .__table .__tbody .__row .__object-cell .__change-indicator{position:absolute;inset-inline-end:-.25rem;top:50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));line-height:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1));font-size:.875rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-placeholder{opacity:.75}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-900),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-900),var(--tw-bg-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXFormModule }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i1.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i2.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: \n // Platform\n AXPLayoutBuilderModule }, { kind: \"component\", type: i3.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i3.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCompareViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-compare-view', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTranslationModule,\n // Platform\n AXPLayoutBuilderModule\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<!--\\n #region ---- Compare View Table Layout ----\\n-->\\n<div class=\\\"axp-compare-view\\\">\\n <div class=\\\"__table-container\\\">\\n <table class=\\\"__table\\\">\\n <thead class=\\\"__thead\\\">\\n <tr class=\\\"__header-row\\\">\\n <th class=\\\"__field-header\\\">\\n <ax-check-box\\n [value]=\\\"showOnlyChanges()\\\"\\n (valueChange)=\\\"toggleShowOnlyChanges()\\\"\\n class=\\\"__show-changes-toggle\\\"\\n >\\n <ax-label>\\n {{ '@activity-log:compare-view.show-only-differences' | translate | async }}\\n </ax-label>\\n </ax-check-box>\\n </th>\\n @for (obj of remainingObjects(); track obj.id) {\\n <th class=\\\"__object-header\\\" [attr.data-id]=\\\"obj.id\\\">\\n <div class=\\\"__object-title\\\" [title]=\\\"obj.description\\\">\\n <span>{{ obj.title | translate | async }}</span>\\n @if (remainingObjects().length > 2) {\\n <span class=\\\"__remove-object-button\\\" (click)=\\\"removeObject(obj.id)\\\">\\n <i class=\\\"fa-light fa-times\\\"></i>\\n </span>\\n }\\n </div>\\n </th>\\n }\\n </tr>\\n </thead>\\n <tbody class=\\\"__tbody\\\">\\n @for (field of filteredFields(); track field.path; let i = $index) {\\n <tr\\n class=\\\"__row\\\"\\n [class.__row--odd]=\\\"i % 2 === 1\\\"\\n [class.__row--has-differences]=\\\"hasUnequalValues(field.path)\\\"\\n [class.__row--has-equal-values]=\\\"hasEqualValues(field.path)\\\"\\n >\\n <td class=\\\"__field-cell\\\">\\n <div class=\\\"__field-content\\\">\\n <div class=\\\"__field-title\\\">\\n {{ field.title | translate | async }}\\n </div>\\n @if (field.description) {\\n <div class=\\\"__field-description\\\">{{ field.description }}</div>\\n }\\n </div>\\n </td>\\n @for (obj of remainingObjects(); track obj.id; let objIndex = $index) {\\n <td\\n class=\\\"__object-cell\\\"\\n [attr.data-id]=\\\"obj.id\\\"\\n [class.__cell--changed]=\\\"hasValueChangedFromPrevious(field.path, objIndex) && isChangesMode()\\\"\\n >\\n @if (obj.context[field.path] !== undefined) {\\n <div class=\\\"__object-content\\\">\\n <axp-widgets-container [context]=\\\"obj.context\\\">\\n <ng-container axp-widget-renderer [node]=\\\"field.widget\\\" [mode]=\\\"'view'\\\"></ng-container>\\n </axp-widgets-container>\\n </div>\\n } @else {\\n <div class=\\\"__object-placeholder\\\">---</div>\\n }\\n @if (hasValueChangingToNext(field.path, objIndex) && isChangesMode()) {\\n <div class=\\\"__change-indicator\\\">\\n <i class=\\\"fa-light fa-arrow-right\\\"></i>\\n </div>\\n }\\n </td>\\n }\\n </tr>\\n }\\n </tbody>\\n </table>\\n </div>\\n</div>\\n<!--\\n #endregion\\n-->\\n\", styles: [\".axp-compare-view{display:flex;height:100%;width:100%;flex-direction:column;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:relative}.axp-compare-view .__filter-controls{flex-shrink:0;border-bottom-width:1px;padding:1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.axp-compare-view .__filter-controls .__show-changes-toggle{font-size:.875rem;line-height:1.25rem}.axp-compare-view .__table-container{flex:1 1 0%;overflow:auto;position:relative}.axp-compare-view .__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.axp-compare-view .__table .__thead{position:-webkit-sticky;position:sticky;top:0;z-index:20}.axp-compare-view .__table .__thead .__header-row .__field-header{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;text-align:left;font-weight:700;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));position:-webkit-sticky;position:sticky;left:0;z-index:25}.axp-compare-view .__table .__thead .__header-row .__object-header{position:relative;border-bottom-width:1px;padding:.75rem 1rem;text-align:center;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface));min-width:250px;width:250px}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600}.axp-compare-view .__table .__thead .__header-row .__object-header .__object-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;position:absolute;top:50%;inset-inline-end:0px;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.axp-compare-view .__table .__thead .__header-row .__object-header .__remove-object-button:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-danger-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-600),var(--tw-text-opacity, 1))}.axp-compare-view .__table .__tbody .__row{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.axp-compare-view .__table .__tbody .__row.__row--odd{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-compare-view .__table .__tbody .__row.__row--has-differences{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{background-color:rgba(var(--ax-sys-color-warning-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{background-color:rgba(var(--ax-sys-color-success-500),var(--tw-bg-opacity, 1));--tw-bg-opacity: .05}.axp-compare-view .__table .__tbody .__row .__field-cell{width:14rem;border-bottom-width:1px;border-right-width:1px;padding:.75rem 1rem;vertical-align:top;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));position:-webkit-sticky;position:sticky;left:0;z-index:15}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content{display:flex;flex-direction:column;gap:.25rem}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-title{font-weight:500}.axp-compare-view .__table .__tbody .__row .__field-cell .__field-content .__field-description{font-size:.75rem;line-height:1rem;opacity:.75}.axp-compare-view .__table .__tbody .__row .__object-cell{border-bottom-width:1px;padding:.75rem 1rem;text-align:center;vertical-align:middle;position:relative}.axp-compare-view .__table .__tbody .__row .__object-cell.__cell--changed .__object-content{border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-200),var(--tw-border-opacity, 1));padding:.5rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-content{position:relative;display:flex;align-items:center;justify-content:center}.axp-compare-view .__table .__tbody .__row .__object-cell .__change-indicator{position:absolute;inset-inline-end:-.25rem;top:50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));line-height:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1));font-size:.875rem}.axp-compare-view .__table .__tbody .__row .__object-cell .__object-placeholder{opacity:.75}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-differences .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-900),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell{border-inline-start-width:4px;--tw-border-opacity: 1;border-inline-start-color:rgba(var(--ax-sys-color-success-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-50),var(--tw-bg-opacity, 1))}.axp-compare-view .__table .__tbody .__row.__row--has-equal-values .__field-cell:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-success-900),var(--tw-bg-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb21wYXJlLXZpZXcvY29tcGFyZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb21wYXJlLXZpZXcvY29tcGFyZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLGlCQUFpQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBOEN4RixNQUFNLE9BQU8sdUJBQXVCO0lBdEJwQztRQXdCSSw0Q0FBNEM7UUFFNUMsV0FBTSxHQUFHLEtBQUssNERBQXdCLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsS0FBSywyREFBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxLQUFLLENBQXFCLFNB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Vzt3QkFDWCxzQkFBc0I7cUJBQ3pCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFFViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbnB1dCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLCBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBDb250ZXh0RGF0YSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tcGFyZVZpZXdGaWVsZCB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbXBhcmVWaWV3T2JqZWN0IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgY29udGV4dDogQVhQQ29udGV4dERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tcGFyZVZpZXdJbnB1dHMge1xuICAgIGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdO1xuICAgIG9iamVjdHM6IEFYUENvbXBhcmVWaWV3T2JqZWN0W107XG59XG5cbmV4cG9ydCB0eXBlIEFYUENvbXBhcmVWaWV3TW9kZSA9ICdjb21wYXJlJyB8ICdjaGFuZ2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtY29tcGFyZS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tcGFyZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29tcGFyZS12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhGb3JtTW9kdWxlLFxuICAgICAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWExhYmVsTW9kdWxlLFxuICAgICAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBQbGF0Zm9ybVxuICAgICAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcGFyZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgaW5wdXRzID0gaW5wdXQ8QVhQQ29tcGFyZVZpZXdJbnB1dHM+KCk7XG4gICAgc2hvd09ubHlDaGFuZ2VzID0gc2lnbmFsKGZhbHNlKTtcbiAgICBtb2RlID0gaW5wdXQ8QVhQQ29tcGFyZVZpZXdNb2RlPignY29tcGFyZScpO1xuXG4gICAgcHJpdmF0ZSByZW1vdmVkT2JqZWN0cyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuXG4gICAgcHJvdGVjdGVkIGlzQ2hhbmdlc01vZGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1vZGUoKSA9PT0gJ2NoYW5nZXMnKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogRmlsdGVyZWQgZmllbGRzIGJhc2VkIG9uIHNob3dPbmx5Q2hhbmdlcyB0b2dnbGVcbiAgICAgKi9cbiAgICBmaWx0ZXJlZEZpZWxkcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5pbnB1dHMoKT8uZmllbGRzID8/IFtdO1xuICAgICAgICAvLyBTZXQgcmVhZE9ubHkgdG8gdHJ1ZSBmb3IgYWxsIGZpZWxkc1xuICAgICAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBmaWVsZC53aWRnZXQub3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi5maWVsZC53aWRnZXQub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBhbGxvd0VkaXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnNob3dPbmx5Q2hhbmdlcygpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsdGVyIHRvIHNob3cgb25seSBmaWVsZHMgd2hlcmUgdmFsdWVzIGRpZmZlciBhY3Jvc3Mgb2JqZWN0c1xuICAgICAgICByZXR1cm4gZmllbGRzLmZpbHRlcihmaWVsZCA9PiB0aGlzLmhhc1VuZXF1YWxWYWx1ZXMoZmllbGQucGF0aCkpO1xuICAgIH0pO1xuXG4gICAgcmVtYWluaW5nT2JqZWN0cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgb2JqZWN0cyA9IHRoaXMuaW5wdXRzKCk/Lm9iamVjdHMgPz8gW107XG4gICAgICAgIHJldHVybiBvYmplY3RzLmZpbHRlcihvYmogPT4gIXRoaXMucmVtb3ZlZE9iamVjdHMoKS5pbmNsdWRlcyhvYmouaWQpKTtcbiAgICB9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBVdGlsaXR5IE1ldGhvZHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhIGZpZWxkIHZhbHVlIHdpbGwgY2hhbmdlIGluIHRoZSBuZXh0IG9iamVjdCAodG8gc2hvdyBhcnJvdyBpbiBjdXJyZW50IGNlbGwpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhc1ZhbHVlQ2hhbmdpbmdUb05leHQoZmllbGRQYXRoOiBzdHJpbmcsIGN1cnJlbnRPYmplY3RJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLnJlbWFpbmluZ09iamVjdHMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRPYmplY3RJbmRleCA+PSBvYmplY3RzLmxlbmd0aCAtIDEpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBvYmplY3RzW2N1cnJlbnRPYmplY3RJbmRleF0/LmNvbnRleHRbZmllbGRQYXRoXTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gb2JqZWN0c1tjdXJyZW50T2JqZWN0SW5kZXggKyAxXT8uY29udGV4dFtmaWVsZFBhdGhdO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5hcmVWYWx1ZXNFcXVhbChjdXJyZW50VmFsdWUsIG5leHRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYSBmaWVsZCB2YWx1ZSBoYXMgY2hhbmdlZCBjb21wYXJlZCB0byB0aGUgcHJldmlvdXMgb2JqZWN0XG4gICAgICovXG4gICAgaGFzVmFsdWVDaGFuZ2VkRnJvbVByZXZpb3VzKGZpZWxkUGF0aDogc3RyaW5nLCBjdXJyZW50T2JqZWN0SW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBvYmplY3RzID0gdGhpcy5yZW1haW5pbmdPYmplY3RzKCk7XG4gICAgICAgIGlmIChjdXJyZW50T2JqZWN0SW5kZXggPT09IDAgfHwgb2JqZWN0cy5sZW5ndGggPD0gMSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IG9iamVjdHNbY3VycmVudE9iamVjdEluZGV4XT8uY29udGV4dFtmaWVsZFBhdGhdO1xuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gb2JqZWN0c1tjdXJyZW50T2JqZWN0SW5kZXggLSAxXT8uY29udGV4dFtmaWVsZFBhdGhdO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5hcmVWYWx1ZXNFcXVhbChjdXJyZW50VmFsdWUsIHByZXZpb3VzVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgZmllbGQgaGFzIHVuZXF1YWwgdmFsdWVzIGFjcm9zcyBvYmplY3RzXG4gICAgICovXG4gICAgaGFzVW5lcXVhbFZhbHVlcyhmaWVsZFBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBvYmplY3RzID0gdGhpcy5yZW1haW5pbmdPYmplY3RzKCk7XG4gICAgICAgIGlmIChvYmplY3RzLmxlbmd0aCA8PSAxKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gb2JqZWN0cy5tYXAob2JqID0+IG9iai5jb250ZXh0W2ZpZWxkUGF0aF0pO1xuICAgICAgICBjb25zdCBmaXJzdFZhbHVlID0gdmFsdWVzWzBdO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZXMuc29tZSh2YWx1ZSA9PiAhdGhpcy5hcmVWYWx1ZXNFcXVhbCh2YWx1ZSwgZmlyc3RWYWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgZmllbGQgaGFzIGVxdWFsIHZhbHVlcyBhY3Jvc3Mgb2JqZWN0c1xuICAgICAqL1xuICAgIGhhc0VxdWFsVmFsdWVzKGZpZWxkUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLnJlbWFpbmluZ09iamVjdHMoKTtcbiAgICAgICAgaWYgKG9iamVjdHMubGVuZ3RoIDw9IDEpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSBvYmplY3RzLm1hcChvYmogPT4gb2JqLmNvbnRleHRbZmllbGRQYXRoXSk7XG4gICAgICAgIGNvbnN0IGZpcnN0VmFsdWUgPSB2YWx1ZXNbMF07XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlcy5ldmVyeSh2YWx1ZSA9PiB0aGlzLmFyZVZhbHVlc0VxdWFsKHZhbHVlLCBmaXJzdFZhbHVlKSk7XG4gICAgfVxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZSB0d28gdmFsdWVzIGZvciBlcXVhbGl0eSAoZGVlcCBjb21wYXJpc29uIGZvciBvYmplY3RzL2FycmF5cylcbiAgICAgKi9cbiAgICBwcml2YXRlIGFyZVZhbHVlc0VxdWFsKHZhbHVlMTogYW55LCB2YWx1ZTI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodmFsdWUxID09PSB2YWx1ZTIpIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGlmICh2YWx1ZTEgPT0gbnVsbCB8fCB2YWx1ZTIgPT0gbnVsbCkgcmV0dXJuIHZhbHVlMSA9PT0gdmFsdWUyO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUxICE9PSB0eXBlb2YgdmFsdWUyKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUxKSA9PT0gSlNPTi5zdHJpbmdpZnkodmFsdWUyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgdGhlIHNob3cgb25seSBjaGFuZ2VzIGZpbHRlclxuICAgICAqL1xuICAgIHRvZ2dsZVNob3dPbmx5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93T25seUNoYW5nZXMudXBkYXRlKHZhbHVlID0+ICF2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGFuIG9iamVjdCBmcm9tIHRoZSBjb21wYXJpc29uXG4gICAgICovXG4gICAgcmVtb3ZlT2JqZWN0KG9iamVjdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVkT2JqZWN0cy51cGRhdGUob2JqZWN0cyA9PiBbLi4ub2JqZWN0cywgb2JqZWN0SWRdKTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGlmZWN5Y2xlIE1ldGhvZHMgICAtLS0tXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcblxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuIiwiPCEtLVxuICAjcmVnaW9uIC0tLS0gICBDb21wYXJlIFZpZXcgVGFibGUgTGF5b3V0ICAgLS0tLVxuLS0+XG48ZGl2IGNsYXNzPVwiYXhwLWNvbXBhcmUtdmlld1wiPlxuICA8ZGl2IGNsYXNzPVwiX190YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJfX3RhYmxlXCI+XG4gICAgICA8dGhlYWQgY2xhc3M9XCJfX3RoZWFkXCI+XG4gICAgICAgIDx0ciBjbGFzcz1cIl9faGVhZGVyLXJvd1wiPlxuICAgICAgICAgIDx0aCBjbGFzcz1cIl9fZmllbGQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8YXgtY2hlY2stYm94XG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJzaG93T25seUNoYW5nZXMoKVwiXG4gICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ0b2dnbGVTaG93T25seUNoYW5nZXMoKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiX19zaG93LWNoYW5nZXMtdG9nZ2xlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7ICdAYWN0aXZpdHktbG9nOmNvbXBhcmUtdmlldy5zaG93LW9ubHktZGlmZmVyZW5jZXMnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPC9heC1sYWJlbD5cbiAgICAgICAgICAgIDwvYXgtY2hlY2stYm94PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgQGZvciAob2JqIG9mIHJlbWFpbmluZ09iamVjdHMoKTsgdHJhY2sgb2JqLmlkKSB7XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJfX29iamVjdC1oZWFkZXJcIiBbYXR0ci5kYXRhLWlkXT1cIm9iai5pZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19vYmplY3QtdGl0bGVcIiBbdGl0bGVdPVwib2JqLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgb2JqLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChyZW1haW5pbmdPYmplY3RzKCkubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJfX3JlbW92ZS1vYmplY3QtYnV0dG9uXCIgKGNsaWNrKT1cInJlbW92ZU9iamVjdChvYmouaWQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGltZXNcIj48L2k+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cIl9fdGJvZHlcIj5cbiAgICAgICAgQGZvciAoZmllbGQgb2YgZmlsdGVyZWRGaWVsZHMoKTsgdHJhY2sgZmllbGQucGF0aDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICA8dHJcbiAgICAgICAgICAgIGNsYXNzPVwiX19yb3dcIlxuICAgICAgICAgICAgW2NsYXNzLl9fcm93LS1vZGRdPVwiaSAlIDIgPT09IDFcIlxuICAgICAgICAgICAgW2NsYXNzLl9fcm93LS1oYXMtZGlmZmVyZW5jZXNdPVwiaGFzVW5lcXVhbFZhbHVlcyhmaWVsZC5wYXRoKVwiXG4gICAgICAgICAgICBbY2xhc3MuX19yb3ctLWhhcy1lcXVhbC12YWx1ZXNdPVwiaGFzRXF1YWxWYWx1ZXMoZmllbGQucGF0aClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cIl9fZmllbGQtY2VsbFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19maWVsZC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fZmllbGQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19maWVsZC1kZXNjcmlwdGlvblwiPnt7IGZpZWxkLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICBAZm9yIChvYmogb2YgcmVtYWluaW5nT2JqZWN0cygpOyB0cmFjayBvYmouaWQ7IGxldCBvYmpJbmRleCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICBjbGFzcz1cIl9fb2JqZWN0LWNlbGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtaWRdPVwib2JqLmlkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuX19jZWxsLS1jaGFuZ2VkXT1cImhhc1ZhbHVlQ2hhbmdlZEZyb21QcmV2aW91cyhmaWVsZC5wYXRoLCBvYmpJbmRleCkgJiYgaXNDaGFuZ2VzTW9kZSgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAob2JqLmNvbnRleHRbZmllbGQucGF0aF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fb2JqZWN0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJvYmouY29udGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJmaWVsZC53aWRnZXRcIiBbbW9kZV09XCIndmlldydcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9heHAtd2lkZ2V0cy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX29iamVjdC1wbGFjZWhvbGRlclwiPi0tLTwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGhhc1ZhbHVlQ2hhbmdpbmdUb05leHQoZmllbGQucGF0aCwgb2JqSW5kZXgpICYmIGlzQ2hhbmdlc01vZGUoKSkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhbmdlLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWFycm93LXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIH1cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbjwhLS1cbiAgI2VuZHJlZ2lvblxuLS0+XG4iXX0=","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlot {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlot, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AXPComponentSlot, isStandalone: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlot, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50LXNsb3QvY29tcG9uZW50LXNsb3QudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFpQmhELE1BQU0sT0FBZ0IsZ0JBQWdCOzhHQUFoQixnQkFBZ0I7a0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUENvbnRleHREYXRhLCBBWFBPcHRpb25zRGF0YSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb21wb25lbnRTbG90Q29uZmlnIHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcmlvcml0eT86IG51bWJlcjtcbiAgY29tcG9uZW50PzogVHlwZTxhbnk+O1xuICBjb25kaXRpb24/OiAoKGNvbnRleHQ/OiBBWFBDb250ZXh0RGF0YSkgPT4gKGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+KSkgfCBzdHJpbmc7XG4gIGxvYWRDb21wb25lbnQ/OiAoKSA9PiBUeXBlPGFueT4gfCBQcm9taXNlPFR5cGU8YW55Pj47XG4gIG9wdGlvbnM/OiBBWFBPcHRpb25zRGF0YSB8ICgoKSA9PiBBWFBPcHRpb25zRGF0YSkgfCAoKCkgPT4gUHJvbWlzZTxBWFBPcHRpb25zRGF0YT4pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbXBvbmVudFNsb3RNb2R1bGVDb25maWdzIHtcbiAgW3Nsb3ROYW1lOiBzdHJpbmddOiBBWFBDb21wb25lbnRTbG90Q29uZmlnW107XG59XG5cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQQ29tcG9uZW50U2xvdCB7XG4gIGhvc3Q6IGFueTtcbn1cbiJdfQ==","import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlotRegistryService {\n constructor() {\n this.registry = new Map();\n }\n register(slotName, config) {\n let configs = this.registry.get(slotName) || [];\n // Check if the component is already registered in this slot\n const isDuplicate = configs.some(existingConfig => existingConfig.name === config.name);\n if (!isDuplicate) {\n configs = [...configs, config]; // Add the new configuration\n this.registry.set(slotName, configs);\n }\n }\n get(slotName) {\n return this.registry.get(slotName) || [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50LXNsb3QvY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLCtCQUErQjtJQUg1QztRQUtZLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztLQWlCbEU7SUFmRyxRQUFRLENBQUMsUUFBZ0IsRUFBRSxNQUE4QjtRQUNyRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFaEQsNERBQTREO1FBQzVELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDZixPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsUUFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQzs4R0FsQlEsK0JBQStCO2tIQUEvQiwrQkFBK0IsY0FGNUIsTUFBTTs7MkZBRVQsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RDb25maWcgfSBmcm9tIFwiLi9jb21wb25lbnQtc2xvdC50eXBlc1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBvbmVudFNsb3RSZWdpc3RyeVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBBWFBDb21wb25lbnRTbG90Q29uZmlnW10+KCk7XG5cbiAgICByZWdpc3RlcihzbG90TmFtZTogc3RyaW5nLCBjb25maWc6IEFYUENvbXBvbmVudFNsb3RDb25maWcpIHtcbiAgICAgICAgbGV0IGNvbmZpZ3MgPSB0aGlzLnJlZ2lzdHJ5LmdldChzbG90TmFtZSkgfHwgW107XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgaW4gdGhpcyBzbG90XG4gICAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gY29uZmlncy5zb21lKGV4aXN0aW5nQ29uZmlnID0+IGV4aXN0aW5nQ29uZmlnLm5hbWUgPT09IGNvbmZpZy5uYW1lKTtcblxuICAgICAgICBpZiAoIWlzRHVwbGljYXRlKSB7XG4gICAgICAgICAgICBjb25maWdzID0gWy4uLmNvbmZpZ3MsIGNvbmZpZ107IC8vIEFkZCB0aGUgbmV3IGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIHRoaXMucmVnaXN0cnkuc2V0KHNsb3ROYW1lLCBjb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldChzbG90TmFtZTogc3RyaW5nKTogQVhQQ29tcG9uZW50U2xvdENvbmZpZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0KHNsb3ROYW1lKSB8fCBbXTtcbiAgICB9XG59Il19","import { AXPContextStore, AXPExpressionEvaluatorService } from '@acorex/platform/core';\nimport { computed, Directive, effect, ElementRef, inject, Injector, input, runInInjectionContext, signal, ViewContainerRef, } from '@angular/core';\nimport { sortBy } from 'lodash-es';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlotDirective {\n constructor() {\n this.name = input.required(...(ngDevMode ? [{ debugName: \"name\" }] : []));\n this.host = input(...(ngDevMode ? [undefined, { debugName: \"host\" }] : []));\n this.context = input(...(ngDevMode ? [undefined, { debugName: \"context\" }] : []));\n this.elementRef = inject(ElementRef);\n this.registryService = inject(AXPComponentSlotRegistryService);\n this.injector = inject(Injector);\n this.evaluator = inject(AXPExpressionEvaluatorService);\n this.viewContainerRef = inject(ViewContainerRef);\n this.contextStore = inject(AXPContextStore);\n this.isEmpty = computed(() => this._viewCount() === 0, ...(ngDevMode ? [{ debugName: \"isEmpty\" }] : []));\n // Create a signal to store the count of children\n this._viewCount = signal(0, ...(ngDevMode ? [{ debugName: \"_viewCount\" }] : []));\n // Track component references for updates\n this.componentRefs = [];\n // Watch for context changes and update component instances\n effect(() => {\n const currentContext = this.context();\n const currentHost = this.host();\n // Update all component references with new context and host\n this.componentRefs.forEach(componentRef => {\n if (componentRef.instance) {\n Object.assign(componentRef.instance, {\n host: currentHost,\n context: currentContext,\n });\n }\n });\n });\n }\n async ngOnInit() {\n await this.loadComponents();\n // Update the signal after loading\n this._viewCount.set(this.viewContainerRef.length);\n }\n async loadComponents() {\n this.viewContainerRef.clear();\n // Clear previous component references\n this.componentRefs = [];\n const configs = sortBy(this.registryService.get(this.name()), (c) => c.priority ?? 0);\n if (!configs) {\n console.error(`No component found for slot ${this.name()}`);\n return;\n }\n const results = await Promise.all(configs.map(async (c) => ({\n config: c,\n visible: c.condition ? await this.evaluateCondition(c.condition) : true,\n })));\n const slots = results.filter((r) => r.visible).map((r) => r.config);\n this.viewContainerRef.clear();\n await Promise.all(slots.map(async (config) => {\n let component;\n let options = {};\n // load component\n if (typeof config.loadComponent === 'function') {\n await runInInjectionContext(this.injector, async () => {\n component = await config.loadComponent?.();\n });\n }\n else if (config.component) {\n component = config.component;\n }\n // load options\n if (typeof config.options === 'function') {\n await runInInjectionContext(this.injector, async () => {\n const fun = config.options;\n options = await fun();\n });\n }\n else if (config.options) {\n options = await this.evaluator.evaluate(config.options, {});\n }\n // apply options and host\n const componentRef = this.viewContainerRef.createComponent(component);\n // Store the component reference for future updates\n this.componentRefs.push(componentRef);\n Object.assign(componentRef.instance, {\n host: this.host(),\n context: this.context(),\n ...options,\n });\n }));\n }\n async evaluateCondition(condition) {\n if (typeof condition === 'string') {\n const result = await this.evaluator.evaluate(condition, {});\n return result;\n }\n return condition(this.contextStore.data());\n //return condition(this.context());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.8\", type: AXPComponentSlotDirective, isStandalone: false, selector: \"axp-component-slot\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: true, transformFunction: null }, host: { classPropertyName: \"host\", publicName: \"host\", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: \"context\", publicName: \"context\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"slot\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'axp-component-slot',\n standalone: false,\n exportAs: 'slot',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudC1zbG90L2NvbXBvbmVudC1zbG90LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZHLE9BQU8sRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwscUJBQXFCLEVBQ3JCLE1BQU0sRUFFTixnQkFBZ0IsR0FFakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFPckYsTUFBTSxPQUFPLHlCQUF5QjtJQW9CcEM7UUFuQkEsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLCtDQUFVLENBQUM7UUFDaEMsU0FBSSxHQUFHLEtBQUssMERBQU8sQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyw2REFBTyxDQUFDO1FBRWYsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25ELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXZDLFlBQU8sR0FBRyxRQUFR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LElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzQyxtQ0FBbUM7SUFDckMsQ0FBQzs4R0F6R1UseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUENvbnRleHREYXRhLCBBWFBDb250ZXh0U3RvcmUsIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7XG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBzaWduYWwsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdheHAtY29tcG9uZW50LXNsb3QnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgZXhwb3J0QXM6ICdzbG90Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIGhvc3QgPSBpbnB1dDxhbnk+KCk7XG4gIGNvbnRleHQgPSBpbnB1dDxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlZ2lzdHJ5U2VydmljZSA9IGluamVjdChBWFBDb21wb25lbnRTbG90UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgZXZhbHVhdG9yID0gaW5qZWN0KEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlKTtcbiAgcHVibGljIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHB1YmxpYyBjb250ZXh0U3RvcmUgPSBpbmplY3QoQVhQQ29udGV4dFN0b3JlKTtcblxuICBwdWJsaWMgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX3ZpZXdDb3VudCgpID09PSAwKTtcblxuICAvLyBDcmVhdGUgYSBzaWduYWwgdG8gc3RvcmUgdGhlIGNvdW50IG9mIGNoaWxkcmVuXG4gIHByaXZhdGUgX3ZpZXdDb3VudCA9IHNpZ25hbCgwKTtcblxuICAvLyBUcmFjayBjb21wb25lbnQgcmVmZXJlbmNlcyBmb3IgdXBkYXRlc1xuICBwcml2YXRlIGNvbXBvbmVudFJlZnM6IENvbXBvbmVudFJlZjxhbnk+W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBXYXRjaCBmb3IgY29udGV4dCBjaGFuZ2VzIGFuZCB1cGRhdGUgY29tcG9uZW50IGluc3RhbmNlc1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50Q29udGV4dCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgY29uc3QgY3VycmVudEhvc3QgPSB0aGlzLmhvc3QoKTtcblxuICAgICAgLy8gVXBkYXRlIGFsbCBjb21wb25lbnQgcmVmZXJlbmNlcyB3aXRoIG5ldyBjb250ZXh0IGFuZCBob3N0XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZnMuZm9yRWFjaChjb21wb25lbnRSZWYgPT4ge1xuICAgICAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcbiAgICAgICAgICAgIGhvc3Q6IGN1cnJlbnRIb3N0LFxuICAgICAgICAgICAgY29udGV4dDogY3VycmVudENvbnRleHQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkQ29tcG9uZW50cygpO1xuICAgIC8vIFVwZGF0ZSB0aGUgc2lnbmFsIGFmdGVyIGxvYWRpbmdcbiAgICB0aGlzLl92aWV3Q291bnQuc2V0KHRoaXMudmlld0NvbnRhaW5lclJlZi5sZW5ndGgpO1xuICB9XG5cbiAgYXN5bmMgbG9hZENvbXBvbmVudHMoKSB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgLy8gQ2xlYXIgcHJldmlvdXMgY29tcG9uZW50IHJlZmVyZW5jZXNcbiAgICB0aGlzLmNvbXBvbmVudFJlZnMgPSBbXTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBzb3J0QnkodGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0KHRoaXMubmFtZSgpKSwgKGMpID0+IGMucHJpb3JpdHkgPz8gMCk7XG4gICAgaWYgKCFjb25maWdzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBObyBjb21wb25lbnQgZm91bmQgZm9yIHNsb3QgJHt0aGlzLm5hbWUoKX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29uZmlncy5tYXAoYXN5bmMgKGMpID0+ICh7XG4gICAgICAgIGNvbmZpZzogYyxcbiAgICAgICAgdmlzaWJsZTogYy5jb25kaXRpb24gPyBhd2FpdCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGMuY29uZGl0aW9uKSA6IHRydWUsXG4gICAgICB9KSksXG4gICAgKTtcbiAgICBjb25zdCBzbG90cyA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnZpc2libGUpLm1hcCgocikgPT4gci5jb25maWcpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgc2xvdHMubWFwKGFzeW5jIChjb25maWcpID0+IHtcbiAgICAgICAgbGV0IGNvbXBvbmVudCE6IFR5cGU8YW55PiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9IHt9O1xuICAgICAgICAvLyBsb2FkIGNvbXBvbmVudFxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZy5sb2FkQ29tcG9uZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgYXdhaXQgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbXBvbmVudCA9IGF3YWl0IGNvbmZpZy5sb2FkQ29tcG9uZW50Py4oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgICAgY29tcG9uZW50ID0gY29uZmlnLmNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBsb2FkIG9wdGlvbnNcbiAgICAgICAgaWYgKHR5cGVvZiBjb25maWcub3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGF3YWl0IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmdW4gPSBjb25maWcub3B0aW9ucyBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBhd2FpdCBmdW4oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcub3B0aW9ucykge1xuICAgICAgICAgIG9wdGlvbnMgPSBhd2FpdCB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25maWcub3B0aW9ucywge30pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFwcGx5IG9wdGlvbnMgYW5kIGhvc3RcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQhKTtcblxuICAgICAgICAvLyBTdG9yZSB0aGUgY29tcG9uZW50IHJlZmVyZW5jZSBmb3IgZnV0dXJlIHVwZGF0ZXNcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWZzLnB1c2goY29tcG9uZW50UmVmKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xuICAgICAgICAgIGhvc3Q6IHRoaXMuaG9zdCgpLFxuICAgICAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dCgpLFxuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVDb25kaXRpb24oY29uZGl0aW9uOiBzdHJpbmcgfCAoKGNvbnRleHQ/OiBBWFBDb250ZXh0RGF0YSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4pKSB7XG4gICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24sIHt9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiBjb25kaXRpb24odGhpcy5jb250ZXh0U3RvcmUuZGF0YSgpKTtcbiAgICAvL3JldHVybiBjb25kaXRpb24odGhpcy5jb250ZXh0KCkpO1xuICB9XG59XG4iXX0=","import { Inject, NgModule, Optional } from '@angular/core';\nimport { AXPComponentSlotRegistryService } from './component-slot-registery.service';\nimport { AXPComponentSlotDirective } from './component-slot.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXPComponentSlotModule {\n static forRoot(configs) {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n });\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n ]\n };\n }\n static forChild(configs) {\n return {\n ngModule: AXPComponentSlotModule,\n providers: [\n {\n provide: 'AXPComponentSlotModuleFactory',\n useFactory: (registry) => () => {\n if (configs) {\n for (const [key, value] of Object.entries(configs)) {\n value.forEach(v => {\n registry.register(key, v);\n });\n }\n }\n },\n deps: [AXPComponentSlotRegistryService],\n multi: true\n }\n ]\n };\n }\n /**\n * @ignore\n */\n constructor(instances) {\n instances?.forEach(f => {\n f();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotModule, deps: [{ token: 'AXPComponentSlotModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotModule, declarations: [AXPComponentSlotDirective], exports: [AXPComponentSlotDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComponentSlotModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXPComponentSlotDirective],\n exports: [AXPComponentSlotDirective]\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['AXPComponentSlotModuleFactory']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudC1zbG90L2NvbXBvbmVudC1zbG90Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU12RSxNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBdUM7UUFDbEQsT0FBTztZQUNILFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSwrQkFBK0I7b0JBQ3hDLFVBQVUsRUFBRSxDQUFDLFFBQXlDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTt3QkFDNUQsSUFBSSxPQUFPLEVBQUUsQ0FBQzs0QkFDVixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dDQUNqRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29DQUNkLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dDQUM5QixDQUFDLENBQUMsQ0FBQTs0QkFDTixDQUFDO3dCQUNMLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxJQUFJLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDdkMsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUF1QztRQUNuRCxPQUFPO1lBQ0gsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLCtCQUErQjtvQkFDeEMsVUFBVSxFQUFFLENBQUMsUUFBeUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO3dCQUM1RCxJQUFJLE9BQU8sRUFBRSxDQUFDOzRCQUNWLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0NBQ2pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0NBQ2QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0NBQzlCLENBQUMsQ0FBQyxDQUFBOzRCQUNOLENBQUM7d0JBQ0wsQ0FBQztvQkFDTCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUN2QyxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUVKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQWlFLFNBQWdCO1FBQzdFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdERRLHNCQUFzQixrQkFrREMsK0JBQStCOytHQWxEdEQsc0JBQXNCLGlCQUhoQix5QkFBeUIsYUFDOUIseUJBQXlCOytHQUUxQixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2Qzs7MEJBbURnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90TW9kdWxlQ29uZmlncyB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QudHlwZXMnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFBDb21wb25lbnRTbG90RGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSB7XG5cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWdzPzogQVhQQ29tcG9uZW50U2xvdE1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUENvbXBvbmVudFNsb3RNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBDb21wb25lbnRTbG90TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiAnQVhQQ29tcG9uZW50U2xvdE1vZHVsZUZhY3RvcnknLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUENvbXBvbmVudFNsb3RSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlncykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKGtleSwgdik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBmb3JDaGlsZChjb25maWdzPzogQVhQQ29tcG9uZW50U2xvdE1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUENvbXBvbmVudFNsb3RNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBDb21wb25lbnRTbG90TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiAnQVhQQ29tcG9uZW50U2xvdE1vZHVsZUZhY3RvcnknLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUENvbXBvbmVudFNsb3RSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlncykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKGtleSwgdik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUENvbXBvbmVudFNsb3RNb2R1bGVGYWN0b3J5JykgaW5zdGFuY2VzOiBhbnlbXSkge1xuICAgICAgICBpbnN0YW5jZXM/LmZvckVhY2goZiA9PiB7XG4gICAgICAgICAgICBmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19","import { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPGridLayoutDirective } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule, AXPPageStatus, AXPWidgetContainerComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, output, signal, ViewEncapsulation, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutSectionComponent } from '../blocks';\nimport { AXLabelComponent } from \"@acorex/components/label\";\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/form\";\nimport * as i2 from \"@acorex/platform/layout/builder\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPDynamicFormComponent {\n constructor() {\n //#region ---- Inputs ----\n /**\n * Form definition containing groups and fields\n */\n this.formDefinition = input.required(...(ngDevMode ? [{ debugName: \"formDefinition\" }] : []));\n /**\n * Form context/model data\n */\n this.context = input.required(...(ngDevMode ? [{ debugName: \"context\" }] : []));\n /**\n * Form appearance and density styling (normal, compact, spacious)\n */\n this.layoutLook = input('normal', ...(ngDevMode ? [{ debugName: \"layoutLook\" }] : []));\n /**\n * Form layout direction and flow (vertical, horizontal, grid)\n */\n this.layoutDirection = input('vertical', ...(ngDevMode ? [{ debugName: \"layoutDirection\" }] : []));\n /**\n * Custom layout configuration for form fields\n */\n this.layoutConfig = input({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 8 },\n lg: { colSpan: 6 },\n xl: { colSpan: 5 },\n xxl: { colSpan: 4 },\n },\n }, ...(ngDevMode ? [{ debugName: \"layoutConfig\" }] : []));\n //#endregion\n //#region ---- Outputs ----\n /**\n * Emitted when form context changes\n */\n this.contextChange = output();\n /**\n * Emitted when context change is initiated\n */\n this.contextInitiated = output();\n /**\n * Emitted when form becomes valid/invalid\n */\n this.validityChange = output();\n //#endregion\n //#region ---- Properties ----\n this.form = viewChild(AXFormComponent, ...(ngDevMode ? [{ debugName: \"form\" }] : []));\n this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: \"container\" }] : []));\n /**\n * Internal context signal for reactivity\n */\n this.internalContext = signal({}, ...(ngDevMode ? [{ debugName: \"internalContext\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Computed layout configuration\n */\n this.computedLayout = computed(() => this.layoutConfig(), ...(ngDevMode ? [{ debugName: \"computedLayout\" }] : []));\n /**\n * Host classes based on layout look and direction\n */\n this.hostClasses = computed(() => {\n const classes = ['axp-dynamic-form'];\n const look = this.layoutLook();\n const direction = this.layoutDirection();\n if (look && look !== 'normal') {\n classes.push(`--look-${look}`);\n }\n if (direction && direction !== 'vertical') {\n classes.push(`--direction-${direction}`);\n }\n return classes.join(' ');\n }, ...(ngDevMode ? [{ debugName: \"hostClasses\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to sync context changes\n */\n this.#contextSyncEffect = effect(() => {\n const context = this.context();\n this.internalContext.set(context);\n }, ...(ngDevMode ? [{ debugName: \"#contextSyncEffect\" }] : []));\n /**\n * Effect to handle form status changes\n */\n this.#formStatusEffect = effect(() => {\n const form = this.form();\n if (form) {\n // You can add form status tracking here if needed\n this.container()?.builderService.setStatus(AXPPageStatus.Rendered);\n }\n }, ...(ngDevMode ? [{ debugName: \"#formStatusEffect\" }] : []));\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n ngOnInit() {\n // Initialize internal context with input context\n this.internalContext.set(this.context());\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to sync context changes\n */\n #contextSyncEffect;\n /**\n * Effect to handle form status changes\n */\n #formStatusEffect;\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle context change events from widget container\n */\n handleContextChanged(event) {\n if (event.state === 'initiated') {\n this.contextInitiated.emit(event.data);\n }\n else {\n this.internalContext.set(event.data);\n this.contextChange.emit(event.data);\n }\n }\n isRequired(param) {\n const validations = param.widget?.options?.['validations'];\n if (Array.isArray(validations)) {\n return validations.some((v) => v?.rule === 'required');\n }\n if (validations && typeof validations === 'object') {\n // Support object-shaped validations like { required: true }\n return Boolean(validations['required']);\n }\n return false;\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Get the form component instance\n */\n getForm() {\n return this.form();\n }\n /**\n * Get current form context\n */\n getContext() {\n return this.internalContext();\n }\n /**\n * Update form context programmatically\n */\n updateContext(context) {\n this.internalContext.set(context);\n }\n /**\n * Validate the form\n */\n async validate() {\n const form = this.form();\n if (form) {\n const isValid = await form.validate();\n this.validityChange.emit(isValid.result);\n return isValid.result;\n }\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPDynamicFormComponent, isStandalone: true, selector: \"axp-dynamic-form\", inputs: { formDefinition: { classPropertyName: \"formDefinition\", publicName: \"formDefinition\", isSignal: true, isRequired: true, transformFunction: null }, context: { classPropertyName: \"context\", publicName: \"context\", isSignal: true, isRequired: true, transformFunction: null }, layoutLook: { classPropertyName: \"layoutLook\", publicName: \"layoutLook\", isSignal: true, isRequired: false, transformFunction: null }, layoutDirection: { classPropertyName: \"layoutDirection\", publicName: \"layoutDirection\", isSignal: true, isRequired: false, transformFunction: null }, layoutConfig: { classPropertyName: \"layoutConfig\", publicName: \"layoutConfig\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contextChange: \"contextChange\", contextInitiated: \"contextInitiated\", validityChange: \"validityChange\" }, host: { properties: { \"class\": \"hostClasses()\" }, classAttribute: \"axp-dynamic-form\" }, viewQueries: [{ propertyName: \"form\", first: true, predicate: AXFormComponent, descendants: true, isSignal: true }, { propertyName: \"container\", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-form>\\n <axp-widgets-container [context]=\\\"internalContext()\\\" (onContextChanged)=\\\"handleContextChanged($event)\\\">\\n <axp-layout-sections>\\n @for (group of formDefinition().groups; track group.name) {\\n <axp-layout-section>\\n @if (group.title || group.description) {\\n <axp-layout-header>\\n <axp-layout-title>{{ group.title }}</axp-layout-title>\\n @if (group.description) {\\n <axp-layout-description>{{ group.description }}</axp-layout-description>\\n }\\n </axp-layout-header>\\n }\\n <axp-layout-content>\\n @for (param of group.parameters; track param.path) {\\n <div class=\\\"__field-container\\\">\\n <ax-form-field class=\\\"__field-input\\\" [gridLayout]=\\\"computedLayout()\\\">\\n <ax-label [required]=\\\"isRequired(param)\\\">{{ param.title! | translate | async }}</ax-label>\\n <ng-container axp-widget-renderer [node]=\\\"param.widget\\\" [mode]=\\\"'edit'\\\"></ng-container>\\n @if (param.description) {\\n <axp-layout-description>{{ param.description! | translate | async }}</axp-layout-description>\\n }\\n </ax-form-field>\\n </div>\\n }\\n </axp-layout-content>\\n </axp-layout-section>\\n } @empty {\\n <axp-layout-section>\\n <axp-layout-content>\\n <div class=\\\"__empty-state\\\">\\n <axp-layout-description>No form definition provided</axp-layout-description>\\n </div>\\n </axp-layout-content>\\n </axp-layout-section>\\n }\\n </axp-layout-sections>\\n </axp-widgets-container>\\n</ax-form>\\n\", styles: [\".axp-dynamic-form{width:100%}.axp-dynamic-form axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-dynamic-form axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12}@media (min-width: 768px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 3 / span 3}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;margin-bottom:.5rem;border-width:0px}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container .__field-info{margin-bottom:.125rem;width:100%}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container .__field-input{width:100%}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.125rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--look-compact axp-layout-section{margin-bottom:.75rem}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-header{margin-bottom:.5rem;gap:0px;padding:.5rem}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-header axp-layout-title{font-size:1rem;line-height:1.5rem;font-weight:600}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-dynamic-form.--look-borderless axp-layout-section{border-width:0px!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;margin-bottom:.5rem;border-width:0px}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container .__field-info{margin-bottom:.125rem;width:100%}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container .__field-input{width:100%}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.125rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container .__field-input{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:row;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container .__field-info{width:12rem;flex-shrink:0}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container .__field-input{flex:1 1 0%}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{display:grid;grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 768px){.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{grid-template-columns:repeat(4,minmax(0,1fr))}}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{gap:1rem;padding:1rem}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:1 / -1}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container .__field-input{grid-column:1 / -1}.axp-dynamic-form .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2rem;padding-bottom:2rem;text-align:center}.axp-dynamic-form .__empty-state .__message{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXFormModule }, { kind: \"component\", type: i1.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i1.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXValidationModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: \n // Platform\n AXPLayoutBuilderModule }, { kind: \"component\", type: i2.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i2.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \"\\n\\n axp-page-content, \\n axp-page-footer-container,\\n axp-page-footer,\\n axp-page-header,\\n axp-page-header-container,\\n axp-page-toolbar,\\n\\n axp-layout-content, \\n axp-layout-page-content, \\n\\n axp-layout-sections,\\n axp-layout-body,\\n axp-layout-page-body,\\n axp-layout-prefix,\\n axp-layout-suffix,\\n axp-layout-title-bar,\\n axp-layout-title, \\n axp-layout-title-actions, \\n axp-layout-nav-button, \\n axp-layout-description, \\n axp-layout-breadcrumbs,\\n axp-layout-list-action,\\n \" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutSectionComponent, selector: \"axp-layout-section\" }, { kind: \"directive\", type: AXPGridLayoutDirective, selector: \"[gridLayout]\", inputs: [\"gridLayout\"] }, { kind: \"component\", type: AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicFormComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, selector: 'axp-dynamic-form', imports: [\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXValidationModule,\n AXTranslationModule,\n // Platform\n AXPLayoutBuilderModule,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutSectionComponent,\n AXPGridLayoutDirective,\n AXLabelComponent\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {\n class: 'axp-dynamic-form',\n '[class]': 'hostClasses()',\n }, template: \"<ax-form>\\n <axp-widgets-container [context]=\\\"internalContext()\\\" (onContextChanged)=\\\"handleContextChanged($event)\\\">\\n <axp-layout-sections>\\n @for (group of formDefinition().groups; track group.name) {\\n <axp-layout-section>\\n @if (group.title || group.description) {\\n <axp-layout-header>\\n <axp-layout-title>{{ group.title }}</axp-layout-title>\\n @if (group.description) {\\n <axp-layout-description>{{ group.description }}</axp-layout-description>\\n }\\n </axp-layout-header>\\n }\\n <axp-layout-content>\\n @for (param of group.parameters; track param.path) {\\n <div class=\\\"__field-container\\\">\\n <ax-form-field class=\\\"__field-input\\\" [gridLayout]=\\\"computedLayout()\\\">\\n <ax-label [required]=\\\"isRequired(param)\\\">{{ param.title! | translate | async }}</ax-label>\\n <ng-container axp-widget-renderer [node]=\\\"param.widget\\\" [mode]=\\\"'edit'\\\"></ng-container>\\n @if (param.description) {\\n <axp-layout-description>{{ param.description! | translate | async }}</axp-layout-description>\\n }\\n </ax-form-field>\\n </div>\\n }\\n </axp-layout-content>\\n </axp-layout-section>\\n } @empty {\\n <axp-layout-section>\\n <axp-layout-content>\\n <div class=\\\"__empty-state\\\">\\n <axp-layout-description>No form definition provided</axp-layout-description>\\n </div>\\n </axp-layout-content>\\n </axp-layout-section>\\n }\\n </axp-layout-sections>\\n </axp-widgets-container>\\n</ax-form>\\n\", styles: [\".axp-dynamic-form{width:100%}.axp-dynamic-form axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-dynamic-form axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12}@media (min-width: 768px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1024px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 4 / span 4}}@media (min-width: 1536px){.axp-dynamic-form axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 3 / span 3}}.axp-dynamic-form axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;margin-bottom:.5rem;border-width:0px}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container .__field-info{margin-bottom:.125rem;width:100%}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container .__field-input{width:100%}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.125rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--look-compact axp-layout-section{margin-bottom:.75rem}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-header{margin-bottom:.5rem;gap:0px;padding:.5rem}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-header axp-layout-title{font-size:1rem;line-height:1.5rem;font-weight:600}.axp-dynamic-form.--look-compact axp-layout-section axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.75rem;line-height:1rem;opacity:.75}.axp-dynamic-form.--look-borderless axp-layout-section{border-width:0px!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;margin-bottom:.5rem;border-width:0px}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container .__field-info{margin-bottom:.125rem;width:100%}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container .__field-input{width:100%}.axp-dynamic-form.--look-borderless axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.125rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container .__field-input{grid-column:span 12 / span 12;width:100%}.axp-dynamic-form.--direction-vertical axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){border-style:none}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container{display:flex;flex-direction:row;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container .__field-info{width:12rem;flex-shrink:0}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container .__field-info axp-layout-title{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container .__field-input{flex:1 1 0%}.axp-dynamic-form.--direction-horizontal axp-layout-section axp-layout-content .__field-container axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important;opacity:.75!important}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{display:grid;grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 768px){.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{grid-template-columns:repeat(4,minmax(0,1fr))}}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container{gap:1rem;padding:1rem}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container .__field-info{grid-column:1 / -1}.axp-dynamic-form.--direction-grid axp-layout-section axp-layout-content .__field-container .__field-input{grid-column:1 / -1}.axp-dynamic-form .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2rem;padding-bottom:2rem;text-align:center}.axp-dynamic-form .__empty-state .__message{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUErQixhQUFhLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVE3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQTZC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U0FBUztpQ0FDTSxJQUFJLFlBQ04sa0JBQWtCLFdBR25CO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxTQUFTO3dCQUNULFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5QixzQkFBc0I7d0JBQ3RCLGdCQUFnQjtxQkFDbkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjt3QkFDekIsU0FBUyxFQUFFLGVBQWU7cUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtQ29tcG9uZW50LCBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50LCBBWFBQYWdlU3RhdHVzLCBBWFBXaWRnZXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICB2aWV3Q2hpbGQsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbixcbiAgICBBWFBEeW5hbWljRm9ybUxheW91dENvbmZpZyxcbiAgICBBWFBEeW5hbWljRm9ybUxvb2ssXG4gICAgQVhQRHluYW1pY0Zvcm1EaXJlY3Rpb24sXG4gICAgQVhQRHluYW1pY0Zvcm1GaWVsZERlZmluaXRpb24sXG59IGZyb20gJy4vZHluYW1pYy1mb3JtLnR5cGVzJztcbmltcG9ydCB7IEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LCBBWFBUaGVtZUxheW91dFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9ibG9ja3MnO1xuaW1wb3J0IHsgQVhMYWJlbENvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWxcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYXhwLWR5bmFtaWMtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhGb3JtTW9kdWxlLFxuICAgICAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIC8vIFBsYXRmb3JtXG4gICAgICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgICAgIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dFNlY3Rpb25Db21wb25lbnQsXG4gICAgICAgIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gICAgICAgIEFYTGFiZWxDb21wb25lbnRcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2F4cC1keW5hbWljLWZvcm0nLFxuICAgICAgICAnW2NsYXNzXSc6ICdob3N0Q2xhc3NlcygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEeW5hbWljRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIElucHV0cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEZvcm0gZGVmaW5pdGlvbiBjb250YWluaW5nIGdyb3VwcyBhbmQgZmllbGRzXG4gICAgICovXG4gICAgZm9ybURlZmluaXRpb24gPSBpbnB1dC5yZXF1aXJlZDxBWFBEeW5hbWljRm9ybURlZmluaXRpb24+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGNvbnRleHQvbW9kZWwgZGF0YVxuICAgICAqL1xuICAgIGNvbnRleHQgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGFwcGVhcmFuY2UgYW5kIGRlbnNpdHkgc3R5bGluZyAobm9ybWFsLCBjb21wYWN0LCBzcGFjaW91cylcbiAgICAgKi9cbiAgICBsYXlvdXRMb29rID0gaW5wdXQ8QVhQRHluYW1pY0Zvcm1Mb29rPignbm9ybWFsJyk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGxheW91dCBkaXJlY3Rpb24gYW5kIGZsb3cgKHZlcnRpY2FsLCBob3Jpem9udGFsLCBncmlkKVxuICAgICAqL1xuICAgIGxheW91dERpcmVjdGlvbiA9IGlucHV0PEFYUER5bmFtaWNGb3JtRGlyZWN0aW9uPigndmVydGljYWwnKTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBsYXlvdXQgY29uZmlndXJhdGlvbiBmb3IgZm9ybSBmaWVsZHNcbiAgICAgKi9cbiAgICBsYXlvdXRDb25maWcgPSBpbnB1dDxBWFBEeW5hbWljRm9ybUxheW91dENvbmZpZz4oe1xuICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHsgY29sU3BhbjogMTIgfSxcbiAgICAgICAgICAgIG1kOiB7IGNvbFNwYW46IDggfSxcbiAgICAgICAgICAgIGxnOiB7IGNvbFNwYW46IDYgfSxcbiAgICAgICAgICAgIHhsOiB7IGNvbFNwYW46IDUgfSxcbiAgICAgICAgICAgIHh4bDogeyBjb2xTcGFuOiA0IH0sXG4gICAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBmb3JtIGNvbnRleHQgY2hhbmdlc1xuICAgICAqL1xuICAgIGNvbnRleHRDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGNvbnRleHQgY2hhbmdlIGlzIGluaXRpYXRlZFxuICAgICAqL1xuICAgIGNvbnRleHRJbml0aWF0ZWQgPSBvdXRwdXQ8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIGZvcm0gYmVjb21lcyB2YWxpZC9pbnZhbGlkXG4gICAgICovXG4gICAgdmFsaWRpdHlDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSBmb3JtID0gdmlld0NoaWxkKEFYRm9ybUNvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSBjb250YWluZXIgPSB2aWV3Q2hpbGQoQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50KTtcblxuICAgIC8qKlxuICAgICAqIEludGVybmFsIGNvbnRleHQgc2lnbmFsIGZvciByZWFjdGl2aXR5XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGludGVybmFsQ29udGV4dCA9IHNpZ25hbDxhbnk+KHt9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZWQgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29tcHV0ZWRMYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxheW91dENvbmZpZygpKTtcblxuXG5cbiAgICAvKipcbiAgICAgKiBIb3N0IGNsYXNzZXMgYmFzZWQgb24gbGF5b3V0IGxvb2sgYW5kIGRpcmVjdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBob3N0Q2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IFsnYXhwLWR5bmFtaWMtZm9ybSddO1xuICAgICAgICBjb25zdCBsb29rID0gdGhpcy5sYXlvdXRMb29rKCk7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMubGF5b3V0RGlyZWN0aW9uKCk7XG5cbiAgICAgICAgaWYgKGxvb2sgJiYgbG9vayAhPT0gJ25vcm1hbCcpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChgLS1sb29rLSR7bG9va31gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGlyZWN0aW9uICYmIGRpcmVjdGlvbiAhPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGAtLWRpcmVjdGlvbi0ke2RpcmVjdGlvbn1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGlmZWN5Y2xlIE1ldGhvZHMgICAtLS0tXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBpbnRlcm5hbCBjb250ZXh0IHdpdGggaW5wdXQgY29udGV4dFxuICAgICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQodGhpcy5jb250ZXh0KCkpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFZmZlY3RzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogRWZmZWN0IHRvIHN5bmMgY29udGV4dCBjaGFuZ2VzXG4gICAgICovXG4gICAgI2NvbnRleHRTeW5jRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQoY29udGV4dCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBFZmZlY3QgdG8gaGFuZGxlIGZvcm0gc3RhdHVzIGNoYW5nZXNcbiAgICAgKi9cbiAgICAjZm9ybVN0YXR1c0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm0oKTtcbiAgICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgICAgIC8vIFlvdSBjYW4gYWRkIGZvcm0gc3RhdHVzIHRyYWNraW5nIGhlcmUgaWYgbmVlZGVkXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lcigpPy5idWlsZGVyU2VydmljZS5zZXRTdGF0dXMoQVhQUGFnZVN0YXR1cy5SZW5kZXJlZCk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBjb250ZXh0IGNoYW5nZSBldmVudHMgZnJvbSB3aWRnZXQgY29udGFpbmVyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNvbnRleHRDaGFuZ2VkKGV2ZW50OiBBWFBMYXlvdXRDb250ZXh0Q2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnN0YXRlID09PSAnaW5pdGlhdGVkJykge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0SW5pdGlhdGVkLmVtaXQoZXZlbnQuZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQoZXZlbnQuZGF0YSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHRDaGFuZ2UuZW1pdChldmVudC5kYXRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc1JlcXVpcmVkKHBhcmFtOiBBWFBEeW5hbWljRm9ybUZpZWxkRGVmaW5pdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9ucyA9IHBhcmFtLndpZGdldD8ub3B0aW9ucz8uWyd2YWxpZGF0aW9ucyddIGFzIHVua25vd247XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbGlkYXRpb25zKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25zLnNvbWUoKHY6IGFueSkgPT4gdj8ucnVsZSA9PT0gJ3JlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbGlkYXRpb25zICYmIHR5cGVvZiB2YWxpZGF0aW9ucyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIC8vIFN1cHBvcnQgb2JqZWN0LXNoYXBlZCB2YWxpZGF0aW9ucyBsaWtlIHsgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4oKHZhbGlkYXRpb25zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVsncmVxdWlyZWQnXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQdWJsaWMgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgZm9ybSBjb21wb25lbnQgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Rm9ybSgpOiBBWEZvcm1Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGN1cnJlbnQgZm9ybSBjb250ZXh0XG4gICAgICovXG4gICAgcHVibGljIGdldENvbnRleHQoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIGZvcm0gY29udGV4dCBwcm9ncmFtbWF0aWNhbGx5XG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZUNvbnRleHQoY29udGV4dDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxDb250ZXh0LnNldChjb250ZXh0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZSB0aGUgZm9ybVxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyB2YWxpZGF0ZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybSgpO1xuICAgICAgICBpZiAoZm9ybSkge1xuICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IGF3YWl0IGZvcm0udmFsaWRhdGUoKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRpdHlDaGFuZ2UuZW1pdChpc1ZhbGlkLnJlc3VsdCk7XG4gICAgICAgICAgICByZXR1cm4gaXNWYWxpZC5yZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufSIsIjxheC1mb3JtPlxuICA8YXhwLXdpZGdldHMtY29udGFpbmVyIFtjb250ZXh0XT1cImludGVybmFsQ29udGV4dCgpXCIgKG9uQ29udGV4dENoYW5nZWQpPVwiaGFuZGxlQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDxheHAtbGF5b3V0LXNlY3Rpb25zPlxuICAgICAgQGZvciAoZ3JvdXAgb2YgZm9ybURlZmluaXRpb24oKS5ncm91cHM7IHRyYWNrIGdyb3VwLm5hbWUpIHtcbiAgICAgICAgPGF4cC1sYXlvdXQtc2VjdGlvbj5cbiAgICAgICAgICBAaWYgKGdyb3VwLnRpdGxlIHx8IGdyb3VwLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8YXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxheHAtbGF5b3V0LXRpdGxlPnt7IGdyb3VwLnRpdGxlIH19PC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICAgICAgICBAaWYgKGdyb3VwLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGF4cC1sYXlvdXQtZGVzY3JpcHRpb24+e3sgZ3JvdXAuZGVzY3JpcHRpb24gfX08L2F4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxheHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICAgICAgICBAZm9yIChwYXJhbSBvZiBncm91cC5wYXJhbWV0ZXJzOyB0cmFjayBwYXJhbS5wYXRoKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2ZpZWxkLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkIGNsYXNzPVwiX19maWVsZC1pbnB1dFwiIFtncmlkTGF5b3V0XT1cImNvbXB1dGVkTGF5b3V0KClcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1sYWJlbCBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZChwYXJhbSlcIj57eyBwYXJhbS50aXRsZSEgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4cC13aWRnZXQtcmVuZGVyZXIgW25vZGVdPVwicGFyYW0ud2lkZ2V0XCIgW21vZGVdPVwiJ2VkaXQnXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICBAaWYgKHBhcmFtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxheHAtbGF5b3V0LWRlc2NyaXB0aW9uPnt7IHBhcmFtLmRlc2NyaXB0aW9uISB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LWRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICAgIDwvYXhwLWxheW91dC1zZWN0aW9uPlxuICAgICAgfSBAZW1wdHkge1xuICAgICAgICA8YXhwLWxheW91dC1zZWN0aW9uPlxuICAgICAgICAgIDxheHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19lbXB0eS1zdGF0ZVwiPlxuICAgICAgICAgICAgICA8YXhwLWxheW91dC1kZXNjcmlwdGlvbj5ObyBmb3JtIGRlZmluaXRpb24gcHJvdmlkZWQ8L2F4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICAgICAgPC9heHAtbGF5b3V0LXNlY3Rpb24+XG4gICAgICB9XG4gICAgPC9heHAtbGF5b3V0LXNlY3Rpb25zPlxuICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbjwvYXgtZm9ybT5cbiJdfQ==","import { Component, Input, signal, computed, viewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPDynamicFormComponent } from '../dynamic-form/dynamic-form.component';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/dropdown\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXPDynamicDialogComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.dynamicForm = viewChild(AXPDynamicFormComponent, ...(ngDevMode ? [{ debugName: \"dynamicForm\" }] : []));\n this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: \"isSubmitting\" }] : []));\n this.previousContext = signal({}, ...(ngDevMode ? [{ debugName: \"previousContext\" }] : []));\n this.formData = signal({}, ...(ngDevMode ? [{ debugName: \"formData\" }] : []));\n //#region ---- Computed Properties ----\n /**\n * Form context for widget container\n */\n this.formContext = computed(() => this.formData(), ...(ngDevMode ? [{ debugName: \"formContext\" }] : []));\n this.defaultLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 8 },\n lg: { colSpan: 6 },\n xl: { colSpan: 5 },\n xxl: { colSpan: 4 }\n }\n });\n /**\n * Footer actions for dynamic button system\n */\n this.footerPrefixActions = computed(() => this.config.actions?.footer?.prefix || [], ...(ngDevMode ? [{ debugName: \"footerPrefixActions\" }] : []));\n this.footerSuffixActions = computed(() => this.config.actions?.footer?.suffix || [], ...(ngDevMode ? [{ debugName: \"footerSuffixActions\" }] : []));\n this.hasFooterActions = computed(() => {\n const prefixActions = this.footerPrefixActions();\n const suffixActions = this.footerSuffixActions();\n return prefixActions.length > 0 || suffixActions.length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasFooterActions\" }] : []));\n this.hasVisibleFooterPrefixActions = computed(() => {\n const prefixFooterActions = this.footerPrefixActions();\n return prefixFooterActions.some((action) => action.visible != false);\n }, ...(ngDevMode ? [{ debugName: \"hasVisibleFooterPrefixActions\" }] : []));\n this.hasVisibleFooterSuffixActions = computed(() => {\n const suffixFooterActions = this.footerSuffixActions();\n return suffixFooterActions.some((action) => action.visible != false);\n }, ...(ngDevMode ? [{ debugName: \"hasVisibleFooterSuffixActions\" }] : []));\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n ngOnInit() {\n this.formData.set(this.config.context ?? {});\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleContextInitiated(context) {\n this.previousContext.set(context);\n }\n handleContextChanged(context) {\n this.formData.set(context);\n }\n //#endregion\n //#region ---- Action Execution ----\n /**\n * Execute a dynamic action\n */\n async executeAction(action) {\n if (action.command) {\n // Execute the command if provided\n await this.executeCommand(action.command);\n }\n else {\n // Handle custom action logic here\n const result = {\n context: this.formData(),\n action: action.name || action.title\n };\n this.close(result);\n }\n }\n /**\n * Execute a command\n */\n async executeCommand(command) {\n // Handle command execution logic here\n // This can be extended based on your command system\n console.log('Executing command:', command);\n if (command.options?.['validate'] == true) {\n if (!await this.isFormValid()) {\n return;\n }\n }\n const result = {\n context: this.formData(),\n action: command.name\n };\n this.close(result);\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Check if form is valid\n */\n async isFormValid() {\n return await this.dynamicForm()?.validate() ?? false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPDynamicDialogComponent, isStandalone: true, selector: \"axp-dynamic-dialog\", inputs: { config: \"config\" }, viewQueries: [{ propertyName: \"dynamicForm\", first: true, predicate: AXPDynamicFormComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-4\\\">\\n <axp-dynamic-form\\n [formDefinition]=\\\"config.formDefinition\\\"\\n [context]=\\\"formContext()\\\"\\n [layoutConfig]=\\\"config.layoutConfig || defaultLayout()\\\"\\n [layoutLook]=\\\"'borderless'\\\"\\n [layoutDirection]=\\\"'vertical'\\\"\\n (contextChange)=\\\"handleContextChanged($event)\\\"\\n (contextInitiated)=\\\"handleContextInitiated($event)\\\"\\n >\\n </axp-dynamic-form>\\n</div>\\n\\n<ax-footer>\\n <ax-prefix>\\n <!-- Dynamic footer prefix actions -->\\n @if (hasVisibleFooterPrefixActions()) {\\n @for (action of footerPrefixActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [disabled]=\\\"action.disabled || isSubmitting()\\\"\\n [text]=\\\"(action.title | translate | async)!\\\"\\n [look]=\\\"'outline'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"executeAction(action)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(sub.title | translate | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"executeAction(sub)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-light {{ sub.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <div class=\\\"ax-divider\\\"></div>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n </ax-prefix>\\n <ax-suffix>\\n <!-- Dynamic footer suffix actions -->\\n @if (hasFooterActions()) {\\n <!-- Suffix actions -->\\n @if (hasVisibleFooterSuffixActions()) {\\n @for (action of footerSuffixActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [disabled]=\\\"action.disabled || isSubmitting()\\\"\\n [text]=\\\"(action.title | translate | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"executeAction(action)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(sub.title | translate | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"executeAction(sub)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-light {{ sub.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <div class=\\\"ax-divider\\\"></div>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n }\\n </ax-suffix>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"ngmodule\", type: AXValidationModule }, { kind: \"component\", type: AXPDynamicFormComponent, selector: \"axp-dynamic-form\", inputs: [\"formDefinition\", \"context\", \"layoutLook\", \"layoutDirection\", \"layoutConfig\"], outputs: [\"contextChange\", \"contextInitiated\", \"validityChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i3.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicDialogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-dynamic-dialog', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n CommonModule,\n AXFormModule,\n AXValidationModule,\n AXPDynamicFormComponent,\n AXDecoratorModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXLoadingModule,\n AXTranslationModule,\n ], template: \"<div class=\\\"ax-p-4\\\">\\n <axp-dynamic-form\\n [formDefinition]=\\\"config.formDefinition\\\"\\n [context]=\\\"formContext()\\\"\\n [layoutConfig]=\\\"config.layoutConfig || defaultLayout()\\\"\\n [layoutLook]=\\\"'borderless'\\\"\\n [layoutDirection]=\\\"'vertical'\\\"\\n (contextChange)=\\\"handleContextChanged($event)\\\"\\n (contextInitiated)=\\\"handleContextInitiated($event)\\\"\\n >\\n </axp-dynamic-form>\\n</div>\\n\\n<ax-footer>\\n <ax-prefix>\\n <!-- Dynamic footer prefix actions -->\\n @if (hasVisibleFooterPrefixActions()) {\\n @for (action of footerPrefixActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [disabled]=\\\"action.disabled || isSubmitting()\\\"\\n [text]=\\\"(action.title | translate | async)!\\\"\\n [look]=\\\"'outline'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"executeAction(action)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(sub.title | translate | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"executeAction(sub)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-light {{ sub.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <div class=\\\"ax-divider\\\"></div>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n </ax-prefix>\\n <ax-suffix>\\n <!-- Dynamic footer suffix actions -->\\n @if (hasFooterActions()) {\\n <!-- Suffix actions -->\\n @if (hasVisibleFooterSuffixActions()) {\\n @for (action of footerSuffixActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [disabled]=\\\"action.disabled || isSubmitting()\\\"\\n [text]=\\\"(action.title | translate | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"executeAction(action)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(sub.title | translate | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"executeAction(sub)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-light {{ sub.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <div class=\\\"ax-divider\\\"></div>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n }\\n </ax-suffix>\\n</ax-footer>\\n\" }]\n }], propDecorators: { config: [{\n type: Input,\n args: [{ required: true }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2R5bmFtaWMtZGlhbG9nL2R5bmFtaWMtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWRpYWxvZy9keW5hbWljLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFD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SUFBSSxLQUFLLENBQUM7SUFDdkQsQ0FBQzs4R0F2SFUseUJBQXlCO2tHQUF6Qix5QkFBeUIseUpBR0ssdUJBQXVCLHVGQ3BDbEUsa3ZIQXdHQSwyQ0RuRkksWUFBWSw4QkFDWixZQUFZLDhCQUNaLGtCQUFrQiwrQkFDbEIsdUJBQXVCLHNOQUN2QixpQkFBaUIscVBBQ2pCLGNBQWMsb3VCQUNkLHNCQUFzQiw4QkFDdEIsZ0JBQWdCLHFRQUNoQixlQUFlLDhCQUNmLG1CQUFtQjs7MkZBR1YseUJBQXlCO2tCQWxCckMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxtQkFFQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7OEJBRzBCLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgc2lnbmFsLCBjb21wdXRlZCwgdmlld0NoaWxkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYUER5bmFtaWNEaWFsb2dDb25maWcsIEFYUER5bmFtaWNEaWFsb2dSZXN1bHQgfSBmcm9tICcuL2R5bmFtaWMtZGlhbG9nLnR5cGVzJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQsIEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYVmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS92YWxpZGF0aW9uJztcbmltcG9ydCB7IEFYUER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEFjdGlvbk1lbnVJdGVtLCBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1keW5hbWljLWRpYWxvZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhQRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEeW5hbWljRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbmZpZyE6IEFYUER5bmFtaWNEaWFsb2dDb25maWc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkeW5hbWljRm9ybSA9IHZpZXdDaGlsZChBWFBEeW5hbWljRm9ybUNvbXBvbmVudCk7XG5cbiAgaXNTdWJtaXR0aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBwcmV2aW91c0NvbnRleHQgPSBzaWduYWw8YW55Pih7fSk7XG4gIHByaXZhdGUgZm9ybURhdGEgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgYW55Pj4oe30pO1xuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuICAvKipcbiAgICogRm9ybSBjb250ZXh0IGZvciB3aWRnZXQgY29udGFpbmVyXG4gICAqL1xuICBwcm90ZWN0ZWQgZm9ybUNvbnRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZvcm1EYXRhKCkpO1xuXG4gIHByb3RlY3RlZCBkZWZhdWx0TGF5b3V0ID0gKCkgPT4gKHtcbiAgICBwb3NpdGlvbnM6IHtcbiAgICAgIGRlZmF1bHQ6IHsgY29sU3BhbjogMTIgfSxcbiAgICAgIG1kOiB7IGNvbFNwYW46IDggfSxcbiAgICAgIGxnOiB7IGNvbFNwYW46IDYgfSxcbiAgICAgIHhsOiB7IGNvbFNwYW46IDUgfSxcbiAgICAgIHh4bDogeyBjb2xTcGFuOiA0IH1cbiAgICB9XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBGb290ZXIgYWN0aW9ucyBmb3IgZHluYW1pYyBidXR0b24gc3lzdGVtXG4gICAqL1xuICBwcm90ZWN0ZWQgZm9vdGVyUHJlZml4QWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnLmFjdGlvbnM/LmZvb3Rlcj8ucHJlZml4IHx8IFtdKTtcbiAgcHJvdGVjdGVkIGZvb3RlclN1ZmZpeEFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZy5hY3Rpb25zPy5mb290ZXI/LnN1ZmZpeCB8fCBbXSk7XG5cbiAgcHJvdGVjdGVkIGhhc0Zvb3RlckFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJlZml4QWN0aW9ucyA9IHRoaXMuZm9vdGVyUHJlZml4QWN0aW9ucygpO1xuICAgIGNvbnN0IHN1ZmZpeEFjdGlvbnMgPSB0aGlzLmZvb3RlclN1ZmZpeEFjdGlvbnMoKTtcbiAgICByZXR1cm4gcHJlZml4QWN0aW9ucy5sZW5ndGggPiAwIHx8IHN1ZmZpeEFjdGlvbnMubGVuZ3RoID4gMDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhc1Zpc2libGVGb290ZXJQcmVmaXhBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHByZWZpeEZvb3RlckFjdGlvbnMgPSB0aGlzLmZvb3RlclByZWZpeEFjdGlvbnMoKTtcbiAgICByZXR1cm4gcHJlZml4Rm9vdGVyQWN0aW9ucy5zb21lKChhY3Rpb246IEFYUEFjdGlvbk1lbnVJdGVtKSA9PiBhY3Rpb24udmlzaWJsZSAhPSBmYWxzZSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBoYXNWaXNpYmxlRm9vdGVyU3VmZml4QWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdWZmaXhGb290ZXJBY3Rpb25zID0gdGhpcy5mb290ZXJTdWZmaXhBY3Rpb25zKCk7XG4gICAgcmV0dXJuIHN1ZmZpeEZvb3RlckFjdGlvbnMuc29tZSgoYWN0aW9uOiBBWFBBY3Rpb25NZW51SXRlbSkgPT4gYWN0aW9uLnZpc2libGUgIT0gZmFsc2UpO1xuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIExpZmVjeWNsZSBNZXRob2RzICAgLS0tLVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybURhdGEuc2V0KHRoaXMuY29uZmlnLmNvbnRleHQgPz8ge30pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ29udGV4dEluaXRpYXRlZChjb250ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZpb3VzQ29udGV4dC5zZXQoY29udGV4dCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ29udGV4dENoYW5nZWQoY29udGV4dDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGF0YS5zZXQoY29udGV4dCk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEFjdGlvbiBFeGVjdXRpb24gICAtLS0tXG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBkeW5hbWljIGFjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGVBY3Rpb24oYWN0aW9uOiBBWFBBY3Rpb25NZW51SXRlbSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhY3Rpb24uY29tbWFuZCkge1xuICAgICAgLy8gRXhlY3V0ZSB0aGUgY29tbWFuZCBpZiBwcm92aWRlZFxuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlQ29tbWFuZChhY3Rpb24uY29tbWFuZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEhhbmRsZSBjdXN0b20gYWN0aW9uIGxvZ2ljIGhlcmVcbiAgICAgIGNvbnN0IHJlc3VsdDogQVhQRHluYW1pY0RpYWxvZ1Jlc3VsdCA9IHtcbiAgICAgICAgY29udGV4dDogdGhpcy5mb3JtRGF0YSgpLFxuICAgICAgICBhY3Rpb246IGFjdGlvbi5uYW1lIHx8IGFjdGlvbi50aXRsZVxuICAgICAgfTtcbiAgICAgIHRoaXMuY2xvc2UocmVzdWx0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIGNvbW1hbmRcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEhhbmRsZSBjb21tYW5kIGV4ZWN1dGlvbiBsb2dpYyBoZXJlXG4gICAgLy8gVGhpcyBjYW4gYmUgZXh0ZW5kZWQgYmFzZWQgb24geW91ciBjb21tYW5kIHN5c3RlbVxuICAgIGNvbnNvbGUubG9nKCdFeGVjdXRpbmcgY29tbWFuZDonLCBjb21tYW5kKTtcblxuICAgIGlmIChjb21tYW5kLm9wdGlvbnM/LlsndmFsaWRhdGUnXSA9PSB0cnVlKSB7XG4gICAgICBpZiAoIWF3YWl0IHRoaXMuaXNGb3JtVmFsaWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0OiBBWFBEeW5hbWljRGlhbG9nUmVzdWx0ID0ge1xuICAgICAgY29udGV4dDogdGhpcy5mb3JtRGF0YSgpLFxuICAgICAgYWN0aW9uOiBjb21tYW5kLm5hbWVcbiAgICB9O1xuICAgIHRoaXMuY2xvc2UocmVzdWx0KTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUHVibGljIE1ldGhvZHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGZvcm0gaXMgdmFsaWRcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBpc0Zvcm1WYWxpZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5keW5hbWljRm9ybSgpPy52YWxpZGF0ZSgpID8/IGZhbHNlO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtcC00XCI+XG4gIDxheHAtZHluYW1pYy1mb3JtXG4gICAgW2Zvcm1EZWZpbml0aW9uXT1cImNvbmZpZy5mb3JtRGVmaW5pdGlvblwiXG4gICAgW2NvbnRleHRdPVwiZm9ybUNvbnRleHQoKVwiXG4gICAgW2xheW91dENvbmZpZ109XCJjb25maWcubGF5b3V0Q29uZmlnIHx8IGRlZmF1bHRMYXlvdXQoKVwiXG4gICAgW2xheW91dExvb2tdPVwiJ2JvcmRlcmxlc3MnXCJcbiAgICBbbGF5b3V0RGlyZWN0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgIChjb250ZXh0Q2hhbmdlKT1cImhhbmRsZUNvbnRleHRDaGFuZ2VkKCRldmVudClcIlxuICAgIChjb250ZXh0SW5pdGlhdGVkKT1cImhhbmRsZUNvbnRleHRJbml0aWF0ZWQoJGV2ZW50KVwiXG4gID5cbiAgPC9heHAtZHluYW1pYy1mb3JtPlxuPC9kaXY+XG5cbjxheC1mb290ZXI+XG4gIDxheC1wcmVmaXg+XG4gICAgPCEtLSBEeW5hbWljIGZvb3RlciBwcmVmaXggYWN0aW9ucyAtLT5cbiAgICBAaWYgKGhhc1Zpc2libGVGb290ZXJQcmVmaXhBY3Rpb25zKCkpIHtcbiAgICAgIEBmb3IgKGFjdGlvbiBvZiBmb290ZXJQcmVmaXhBY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAaWYgKGFjdGlvbi52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZCB8fCBpc1N1Ym1pdHRpbmcoKVwiXG4gICAgICAgICAgICBbdGV4dF09XCIoYWN0aW9uLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICBbbG9va109XCInb3V0bGluZSdcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImFjdGlvbi5jb2xvclwiXG4gICAgICAgICAgICAob25DbGljayk9XCJleGVjdXRlQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIEBpZiAoYWN0aW9uPy5pdGVtcykge1xuICAgICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgQGZvciAoc3ViIG9mIGFjdGlvbj8uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCIoc3ViLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwic3ViLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWIuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZXhlY3V0ZUFjdGlvbihzdWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IHt7IHN1Yi5pY29uIH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi5icmVhaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIDwvYXgtcHJlZml4PlxuICA8YXgtc3VmZml4PlxuICAgIDwhLS0gRHluYW1pYyBmb290ZXIgc3VmZml4IGFjdGlvbnMgLS0+XG4gICAgQGlmIChoYXNGb290ZXJBY3Rpb25zKCkpIHtcbiAgICAgIDwhLS0gU3VmZml4IGFjdGlvbnMgLS0+XG4gICAgICBAaWYgKGhhc1Zpc2libGVGb290ZXJTdWZmaXhBY3Rpb25zKCkpIHtcbiAgICAgICAgQGZvciAoYWN0aW9uIG9mIGZvb3RlclN1ZmZpeEFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgQGlmIChhY3Rpb24udmlzaWJsZSAhPSBmYWxzZSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkIHx8IGlzU3VibWl0dGluZygpXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiKGFjdGlvbi50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICBbbG9va109XCInc29saWQnXCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImFjdGlvbi5jb2xvclwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oYWN0aW9uKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgIEBpZiAoYWN0aW9uPy5pdGVtcykge1xuICAgICAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAjcGFuZWw+XG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoc3ViIG9mIGFjdGlvbj8uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc3ViLnZpc2libGUgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCIoc3ViLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdWIuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic3ViLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZXhlY3V0ZUFjdGlvbihzdWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IHt7IHN1Yi5pY29uIH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi5icmVhaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbiJdfQ==","import { inject, Injectable } from '@angular/core';\nimport { AXPopupService } from '@acorex/components/popup';\nimport * as i0 from \"@angular/core\";\nexport class AXPDynamicDialogService {\n constructor() {\n this.popupService = inject(AXPopupService);\n }\n /**\n * Show a dynamic dialog with the given configuration\n * @param config Dialog configuration including fields, validation, and UI options\n * @returns Promise resolving to dialog result with form values and cancellation status\n */\n async showDialog(config) {\n const component = await import('./dynamic-dialog.component').then(c => c.AXPDynamicDialogComponent);\n const result = await this.popupService.open(component, {\n title: config.title,\n size: config.size || 'md',\n closeButton: false,\n closeOnBackdropClick: false,\n draggable: false,\n data: { config }\n });\n return result?.data || { context: config.context, cancelled: true };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicDialogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPDynamicDialogService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWRpYWxvZy9keW5hbWljLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUlxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQW9CMUQ7SUFsQkc7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBOEI7UUFDM0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNwRyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSTtZQUN6QixXQUFXLEVBQUUsS0FBSztZQUNsQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtTQUNuQixDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sRUFBRSxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQzs4R0FwQlEsdUJBQXVCO2tIQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7MkZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhQRHluYW1pY0RpYWxvZ0NvbmZpZywgQVhQRHluYW1pY0RpYWxvZ1Jlc3VsdCB9IGZyb20gJy4vZHluYW1pYy1kaWFsb2cudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUER5bmFtaWNEaWFsb2dTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG93IGEgZHluYW1pYyBkaWFsb2cgd2l0aCB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvblxuICAgICAqIEBwYXJhbSBjb25maWcgRGlhbG9nIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIGZpZWxkcywgdmFsaWRhdGlvbiwgYW5kIFVJIG9wdGlvbnNcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byBkaWFsb2cgcmVzdWx0IHdpdGggZm9ybSB2YWx1ZXMgYW5kIGNhbmNlbGxhdGlvbiBzdGF0dXNcbiAgICAgKi9cbiAgICBhc3luYyBzaG93RGlhbG9nKGNvbmZpZzogQVhQRHluYW1pY0RpYWxvZ0NvbmZpZyk6IFByb21pc2U8QVhQRHluYW1pY0RpYWxvZ1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCBpbXBvcnQoJy4vZHluYW1pYy1kaWFsb2cuY29tcG9uZW50JykudGhlbihjID0+IGMuQVhQRHluYW1pY0RpYWxvZ0NvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCB7XG4gICAgICAgICAgICB0aXRsZTogY29uZmlnLnRpdGxlLFxuICAgICAgICAgICAgc2l6ZTogY29uZmlnLnNpemUgfHwgJ21kJyxcbiAgICAgICAgICAgIGNsb3NlQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGNsb3NlT25CYWNrZHJvcENsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiB7IGNvbmZpZyB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ/LmRhdGEgfHwgeyBjb250ZXh0OiBjb25maWcuY29udGV4dCwgY2FuY2VsbGVkOiB0cnVlIH07XG4gICAgfVxufVxuIl19","import { InjectionToken } from '@angular/core';\n//#endregion\n//#region ---- Injection Tokens ----\n/**\n * Injection token to provide available extra property types.\n */\nexport const AXP_EXTRA_PROPERTY_TYPES = new InjectionToken('AXP_EXTRA_PROPERTY_TYPES');\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9leHRyYS1wcm9wZXJ0aWVzL2V4dHJhLXByb3BlcnRpZXMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQThDL0MsWUFBWTtBQUVaLHdDQUF3QztBQUV4Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUN0RCwwQkFBMEIsQ0FDN0IsQ0FBQztBQUVGLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBPcHRpb25zRGF0YSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyNyZWdpb24gLS0tLSAgIFR5cGVzICAgLS0tLVxuXG4vKipcbiAqIERlc2NyaWJlcyBhIHNjaGVtYS1vbmx5IGRlZmluaXRpb24gZm9yIGFuIGV4dHJhIHByb3BlcnR5IChubyB2YWx1ZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRXh0cmFQcm9wZXJ0eVNjaGVtYUl0ZW0ge1xuICAgIC8qKiBVbmlxdWUga2V5IGZvciB0aGUgcHJvcGVydHkgKHVzZWQgYXMgaWRlbnRpZmllcikgKi9cbiAgICBrZXk6IHN0cmluZztcblxuICAgIC8qKiBIdW1hbi1yZWFkYWJsZSB0aXRsZS9sYWJlbCAqL1xuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogV2lkZ2V0IG5hbWUvaWQgdG8gcmVuZGVyIChlLmcuLCAndGV4dC1lZGl0b3InLCAnY2hlY2tib3gtZWRpdG9yJykgKi9cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKiogT3B0aW9uYWwgd2lkZ2V0LXNwZWNpZmljIG9wdGlvbnMgKi9cbiAgICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgc2luZ2xlIGV4dHJhIHByb3BlcnR5IHJvdy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBFeHRyYVByb3BlcnR5SXRlbSBleHRlbmRzIEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtIHtcbiAgICAvKiogQ3VycmVudCB2YWx1ZSBib3VuZCB0byB0aGUgcmVuZGVyZWQgd2lkZ2V0ICovXG4gICAgdmFsdWU6IHVua25vd247XG59XG5cblxuXG4vKipcbiAqIERlc2NyaWJlcyBhbiBhdmFpbGFibGUgZXh0cmEgcHJvcGVydHkgdHlwZSB0aGF0IHVzZXIgY2FuIHNlbGVjdCB3aGVuIGFkZGluZyByb3dzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4dHJhUHJvcGVydHlUeXBlIHtcbiAgICAvKiogVW5pcXVlIGlkIGZvciB0aGUgdHlwZSAoaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSB3aWRnZXQgbmFtZSkgKi9cbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqIFVJIHRpdGxlIGZvciBzZWxlY3Rpb24gZHJvcGRvd24gKi9cbiAgICB0aXRsZTogc3RyaW5nO1xuXG5cbiAgICAvKiogRGVmYXVsdCB3aWRnZXQgb3B0aW9ucyBhcHBsaWVkIG9uIGNyZWF0ZSAqL1xuICAgIGRlZmF1bHRPcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIEluamVjdGlvbiBUb2tlbnMgICAtLS0tXG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRvIHByb3ZpZGUgYXZhaWxhYmxlIGV4dHJhIHByb3BlcnR5IHR5cGVzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX0VYVFJBX1BST1BFUlRZX1RZUEVTID0gbmV3IEluamVjdGlvblRva2VuPEFYUEV4dHJhUHJvcGVydHlUeXBlW10+KFxuICAgICdBWFBfRVhUUkFfUFJPUEVSVFlfVFlQRVMnLFxuKTtcblxuLy8jZW5kcmVnaW9uXG5cblxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, signal, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { camelCase, cloneDeep, isEqual } from 'lodash-es';\nimport { AXP_EXTRA_PROPERTY_TYPES } from './extra-properties.types';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/form\";\nimport * as i3 from \"@acorex/components/label\";\nimport * as i4 from \"@acorex/components/text-box\";\nimport * as i5 from \"@acorex/components/select-box\";\nimport * as i6 from \"@acorex/components/button\";\nimport * as i7 from \"@acorex/components/decorators\";\nimport * as i8 from \"@acorex/platform/layout/builder\";\nimport * as i9 from \"@angular/cdk/drag-drop\";\nimport * as i10 from \"@angular/common\";\nimport * as i11 from \"@acorex/core/translation\";\nexport class AXPExtraPropertiesComponent {\n constructor() {\n //#region ---- Inputs ----\n this.items = input([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n this.mode = input('edit', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n //#endregion\n //#region ---- Outputs ----\n this.itemsChange = output();\n //#endregion\n //#region ---- Services & Dependencies ----\n this.providedTypes = inject(AXP_EXTRA_PROPERTY_TYPES, { optional: true }) ?? [];\n this.translationService = inject(AXTranslationService);\n //#endregion\n //#region ---- Class Properties ----\n this.newKey = signal('', ...(ngDevMode ? [{ debugName: \"newKey\" }] : []));\n this.newTitle = signal('', ...(ngDevMode ? [{ debugName: \"newTitle\" }] : []));\n this.newTypeId = signal('', ...(ngDevMode ? [{ debugName: \"newTypeId\" }] : []));\n this.newValue = signal(undefined, ...(ngDevMode ? [{ debugName: \"newValue\" }] : []));\n /** Local, ephemeral context for widget rendering */\n this.internalContext = signal({}, ...(ngDevMode ? [{ debugName: \"internalContext\" }] : []));\n this.lastTypeByKey = {};\n this.draftVersion = signal(0, ...(ngDevMode ? [{ debugName: \"draftVersion\" }] : []));\n this.draftKey = computed(() => `__draft__v${this.draftVersion()}`, ...(ngDevMode ? [{ debugName: \"draftKey\" }] : []));\n this.typeOptions = computed(() => this.providedTypes, ...(ngDevMode ? [{ debugName: \"typeOptions\" }] : []));\n this.presetTypes = computed(() => this.providedTypes.slice(0, 5), ...(ngDevMode ? [{ debugName: \"presetTypes\" }] : []));\n this.canAdd = computed(() => {\n const key = this.newKey()?.trim();\n const title = this.newTitle()?.trim();\n const typeId = this.newTypeId();\n const val = this.newValue();\n const hasValue = val !== undefined && val !== null && (typeof val !== 'string' || val.trim() !== '');\n if (!key || !title || !typeId || !hasValue)\n return false;\n return !this.items().some((i) => i.key === key);\n }, ...(ngDevMode ? [{ debugName: \"canAdd\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /** Sync incoming items' values into internal context for rendering */\n this.syncContextFromItems = effect(() => {\n const items = this.items();\n const current = this.internalContext();\n const currentExtra = current['extra'] ?? {};\n const extra = { ...currentExtra };\n for (const it of items) {\n if (it.value !== undefined && it.value !== null) {\n extra[it.key] = it.value;\n }\n else if (Object.prototype.hasOwnProperty.call(extra, it.key)) {\n delete extra[it.key];\n }\n }\n const nextContext = { ...current, extra };\n if (!isEqual(nextContext, current)) {\n this.internalContext.set(nextContext);\n }\n }, ...(ngDevMode ? [{ debugName: \"syncContextFromItems\" }] : []));\n /**\n * Clear item values when their widget type changes to avoid incompatible stale values\n */\n this.clearValueOnTypeChange = effect(() => {\n const items = this.items();\n const changedKeys = new Set();\n for (const it of items) {\n const prevType = this.lastTypeByKey[it.key];\n if (prevType && prevType !== it.type) {\n changedKeys.add(it.key);\n }\n this.lastTypeByKey[it.key] = it.type;\n }\n if (changedKeys.size > 0) {\n const updated = items.map((it) => (changedKeys.has(it.key) ? { ...it, value: undefined } : it));\n // Reset cached default values for affected nodes\n changedKeys.forEach((k) => {\n const node = this.nodeCache[k];\n if (node) {\n node.defaultValue = undefined;\n }\n });\n this.itemsChange.emit(updated);\n }\n }, ...(ngDevMode ? [{ debugName: \"clearValueOnTypeChange\" }] : []));\n this.nodeCache = {};\n }\n //#endregion\n //#region ---- Event Handlers ----\n onContextChanged(event) {\n // Ignore initial bootstrapping to prevent cycles\n if (event.state === 'initiated')\n return;\n const data = (event.data ?? {});\n const extra = data['extra'] ?? {};\n // sync draft value\n const dk = this.draftKey();\n if (Object.prototype.hasOwnProperty.call(extra, dk)) {\n this.newValue.set(extra[dk]);\n }\n const nextItems = this.items().map((it) => ({ ...it, value: extra[it.key] }));\n if (!isEqual(nextItems, this.items())) {\n this.itemsChange.emit(nextItems);\n }\n }\n //#endregion\n //#region ---- Utility Methods ----\n handleAddItem() {\n if (!this.canAdd())\n return;\n const type = this.typeOptions().find((t) => t.id === this.newTypeId());\n const next = {\n key: this.newKey().trim(),\n title: this.newTitle().trim(),\n type: this.newTypeId(),\n value: this.newValue(),\n options: cloneDeep(type?.defaultOptions ?? {}),\n };\n const updated = [...this.items(), next];\n this.itemsChange.emit(updated);\n // reset inputs\n this.newKey.set('');\n this.newTitle.set('');\n this.newTypeId.set('');\n this.newValue.set(undefined);\n // clear draft from context\n const ctx = { ...this.internalContext() };\n const draftExtra = { ...(ctx['extra'] ?? {}) };\n const dk = this.draftKey();\n if (Object.prototype.hasOwnProperty.call(draftExtra, dk)) {\n delete draftExtra[dk];\n this.internalContext.set({ ...ctx, extra: draftExtra });\n }\n }\n handleRemoveItem(key) {\n const updated = this.items().filter((i) => i.key !== key);\n this.itemsChange.emit(updated);\n // prune context\n const ctx = { ...this.internalContext() };\n if (ctx['extra']) {\n const { [key]: _, ...rest } = ctx['extra'];\n this.internalContext.set({ ...ctx, ['extra']: rest });\n }\n }\n handleDrop(event) {\n const arr = [...this.items()];\n moveItemInArray(arr, event.previousIndex, event.currentIndex);\n this.itemsChange.emit(arr);\n }\n selectPreset(id) {\n this.newTypeId.set(id);\n }\n getNode(item) {\n const key = item.key;\n let node = this.nodeCache[key];\n if (!node) {\n node = {\n type: item.type,\n path: `extra.${item.key}`,\n options: item.options ?? {},\n defaultValue: item.value,\n };\n this.nodeCache[key] = node;\n }\n else {\n // Keep reference stable; update nested fields if essential changes happen\n node.type = item.type;\n node.options = item.options ?? node.options;\n // Do not overwrite defaultValue during editing to avoid resets\n }\n return node;\n }\n draftNode() {\n const typeId = this.newTypeId();\n const type = this.typeOptions().find((t) => t.id === typeId);\n let node = this.draftNodeCache;\n const resolvedType = typeId;\n if (!node || node.type !== resolvedType) {\n node = {\n type: resolvedType,\n path: `extra.${this.draftKey()}`,\n options: cloneDeep(type?.defaultOptions ?? {}),\n defaultValue: this.newValue(),\n };\n this.draftNodeCache = node;\n }\n else {\n node.options = cloneDeep(type?.defaultOptions ?? {});\n }\n return node;\n }\n //#region ---- Utility Helpers ----\n newTypeChanged(val) {\n this.newTypeId.set(val);\n // force draft widget re-render on type change\n this.draftNodeCache = undefined;\n // clear draft value from both signal and context to avoid type mismatch\n const prevDraftKey = this.draftKey();\n this.newValue.set(undefined);\n const ctx = { ...this.internalContext() };\n const draftExtra = { ...(ctx['extra'] ?? {}) };\n if (Object.prototype.hasOwnProperty.call(draftExtra, prevDraftKey)) {\n delete draftExtra[prevDraftKey];\n this.internalContext.set({ ...ctx, extra: draftExtra });\n }\n // bump draft version so new draft path is isolated from old widget emissions\n this.draftVersion.set(this.draftVersion() + 1);\n const t = this.typeOptions().find((x) => x.id === val);\n if (t) {\n const autoTitle = t.title ?? val;\n const autoKey = this.sanitizeKey(autoTitle);\n // Only auto-fill when empty\n if (!this.newTitle()?.trim())\n this.newTitle.set(autoTitle);\n // always derive key from title\n this.newKey.set(autoKey);\n }\n }\n ngOnInit() {\n // auto-select first item of type list\n const types = this.typeOptions();\n if (!this.newTypeId() && types && types.length > 0) {\n this.newTypeChanged(types[0].id);\n }\n }\n handleTitleChange(val) {\n this.newTitle.set(val);\n this.newKey.set(this.sanitizeKey(val));\n }\n sanitizeKey(input) {\n if (!input)\n return '';\n // Convert to camelCase, remove invalid chars, ensure starts with letter/_\n let k = camelCase(String(input));\n k = k.replace(/[^a-zA-Z0-9_]/g, '');\n if (!/^[a-zA-Z_]/.test(k))\n k = `_${k}`;\n // enforce uniqueness by suffixing if needed\n const exists = (candidate) => this.items().some((i) => i.key === candidate);\n if (!exists(k))\n return k;\n let i = 1;\n while (exists(`${k}${i}`))\n i++;\n return `${k}${i}`;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPExtraPropertiesComponent, isStandalone: true, selector: \"axp-extra-properties\", inputs: { items: { classPropertyName: \"items\", publicName: \"items\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemsChange: \"itemsChange\" }, host: { classAttribute: \"ax-block ax-flex-1\" }, ngImport: i0, template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"internalContext()\" (onContextChanged)=\"onContextChanged($event)\">\n <div cdkDropList (cdkDropListDropped)=\"handleDrop($event)\" class=\"ax-col-span-12 ax-flex ax-flex-col ax-gap-3\">\n @for(item of items(); track item.key){\n @if(mode()==='edit'){\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center\" cdkDrag [cdkDragDisabled]=\"false\">\n <div class=\"ax-col-span-12 md:ax-col-span-3 ax-flex ax-items-center ax-gap-3\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-neutral-500\" cdkDragHandle></ax-icon>\n <div>\n <div class=\"ax-font-semibold\">{{item.title}}</div>\n </div>\n <!-- Small-screen delete aligned with title -->\n <ax-button class=\"ax-ml-auto md:ax-hidden\" look=\"blank\" color=\"danger\" (onClick)=\"handleRemoveItem(item.key)\">\n <ax-prefix><ax-icon class=\"fa-light fa-trash-can\"></ax-icon></ax-prefix>\n </ax-button>\n </div>\n <div class=\"ax-col-span-12 md:ax-col-span-8\">\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </div>\n <div class=\"ax-hidden md:ax-block md:ax-col-span-1 md:ax-justify-self-end\">\n <ax-button look=\"blank\" color=\"danger\" (onClick)=\"handleRemoveItem(item.key)\">\n <ax-prefix><ax-icon class=\"fa-light fa-trash-can\"></ax-icon></ax-prefix>\n </ax-button>\n </div>\n </div>\n } @else {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-1\">\n <div class=\"ax-font-semibold\">{{item.title}}</div>\n <div class=\"ax-col-span-12 ax-text-muted\">\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'view'\"\n ></ng-container>\n </div>\n </div>\n }\n } @empty {\n <div class=\"ax-col-span-12 ax-text-sm ax-text-gray-400\">\n {{ 'extra-properties:messages.no-extra-properties' | translate | async }}\n </div>\n }\n @if(mode()==='edit'){\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-end ax-mt-4 ax-border-t ax-border-dashed ax-pt-4\">\n <!-- Type -->\n <ax-form-field class=\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-3\">\n <ax-label>{{ 'extra-properties:labels.type' | translate | async }}</ax-label>\n <ax-select-box\n [value]=\"newTypeId()\"\n [dataSource]=\"typeOptions()\"\n valueField=\"id\"\n textField=\"title\"\n (onValueChanged)=\"newTypeChanged($event.value)\"\n ></ax-select-box>\n </ax-form-field>\n <!-- Title -->\n <ax-form-field class=\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-5\">\n <ax-label>{{ 'extra-properties:labels.title' | translate | async }}</ax-label>\n <ax-text-box [ngModel]=\"newTitle()\" (onValueChanged)=\"handleTitleChange($event.value)\"></ax-text-box>\n </ax-form-field>\n <!-- Value -->\n @if(newTypeId()){\n <ax-form-field class=\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-4\">\n <ax-label>{{ 'extra-properties:labels.value' | translate | async }}</ax-label>\n <div (keydown.enter)=\"handleAddItem()\">\n <ng-container\n axp-widget-renderer\n [node]=\"draftNode()\"\n [mode]=\"'edit'\"\n ></ng-container>\n </div>\n </ax-form-field>\n }\n <!-- Add moved to bottom (same as before) -->\n <div class=\"ax-col-span-12 ax-flex ax-justify-end\">\n <ax-button look=\"solid\" (onClick)=\"handleAddItem()\" [disabled]=\"!canAdd()\" text=\"{{ 'extra-properties:actions.add-field' | translate | async }}\">\n <ax-prefix><ax-icon class=\"fa-solid fa-add\"></ax-icon></ax-prefix>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </div>\n \n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i2.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i3.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i4.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i5.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i6.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i7.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i7.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i8.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i8.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: DragDropModule }, { kind: \"directive\", type: i9.CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: i9.CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: i9.CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i10.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i11.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axp-extra-properties',\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"internalContext()\" (onContextChanged)=\"onContextChanged($event)\">\n <div cdkDropList (cdkDropListDropped)=\"handleDrop($event)\" class=\"ax-col-span-12 ax-flex ax-flex-col ax-gap-3\">\n @for(item of items(); track item.key){\n @if(mode()==='edit'){\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center\" cdkDrag [cdkDragDisabled]=\"false\">\n <div class=\"ax-col-span-12 md:ax-col-span-3 ax-flex ax-items-center ax-gap-3\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-neutral-500\" cdkDragHandle></ax-icon>\n <div>\n <div class=\"ax-font-semibold\">{{item.title}}</div>\n </div>\n <!-- Small-screen delete aligned with title -->\n <ax-button class=\"ax-ml-auto md:ax-hidden\" look=\"blank\" color=\"danger\" (onClick)=\"handleRemoveItem(item.key)\">\n <ax-prefix><ax-icon class=\"fa-light fa-trash-can\"></ax-icon></ax-prefix>\n </ax-button>\n </div>\n <div class=\"ax-col-span-12 md:ax-col-span-8\">\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </div>\n <div class=\"ax-hidden md:ax-block md:ax-col-span-1 md:ax-justify-self-end\">\n <ax-button look=\"blank\" color=\"danger\" (onClick)=\"handleRemoveItem(item.key)\">\n <ax-prefix><ax-icon class=\"fa-light fa-trash-can\"></ax-icon></ax-prefix>\n </ax-button>\n </div>\n </div>\n } @else {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-1\">\n <div class=\"ax-font-semibold\">{{item.title}}</div>\n <div class=\"ax-col-span-12 ax-text-muted\">\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'view'\"\n ></ng-container>\n </div>\n </div>\n }\n } @empty {\n <div class=\"ax-col-span-12 ax-text-sm ax-text-gray-400\">\n {{ 'extra-properties:messages.no-extra-properties' | translate | async }}\n </div>\n }\n @if(mode()==='edit'){\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-end ax-mt-4 ax-border-t ax-border-dashed ax-pt-4\">\n <!-- Type -->\n <ax-form-field class=\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-3\">\n <ax-label>{{ 'extra-properties:labels.type' | translate | async }}</ax-label>\n <ax-select-box\n [value]=\"newTypeId()\"\n [dataSource]=\"typeOptions()\"\n valueField=\"id\"\n textField=\"title\"\n (onValueChanged)=\"newTypeChanged($event.value)\"\n ></ax-select-box>\n </ax-form-field>\n <!-- Title -->\n <ax-form-field class=\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-5\">\n <ax-label>{{ 'extra-properties:labels.title' | translate | async }}</ax-label>\n <ax-text-box [ngModel]=\"newTitle()\" (onValueChanged)=\"handleTitleChange($event.value)\"></ax-text-box>\n </ax-form-field>\n <!-- Value -->\n @if(newTypeId()){\n <ax-form-field class=\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-4\">\n <ax-label>{{ 'extra-properties:labels.value' | translate | async }}</ax-label>\n <div (keydown.enter)=\"handleAddItem()\">\n <ng-container\n axp-widget-renderer\n [node]=\"draftNode()\"\n [mode]=\"'edit'\"\n ></ng-container>\n </div>\n </ax-form-field>\n }\n <!-- Add moved to bottom (same as before) -->\n <div class=\"ax-col-span-12 ax-flex ax-justify-end\">\n <ax-button look=\"solid\" (onClick)=\"handleAddItem()\" [disabled]=\"!canAdd()\" text=\"{{ 'extra-properties:actions.add-field' | translate | async }}\">\n <ax-prefix><ax-icon class=\"fa-solid fa-add\"></ax-icon></ax-prefix>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </div>\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXLabelModule,\n AXTextBoxModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXPLayoutBuilderModule,\n DragDropModule,\n AXTranslationModule,\n //AXPGridLayoutDirective,\n ],\n standalone: true,\n host: {\n class: 'ax-block ax-flex-1',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUE4QyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JILE9BQU8sRUFBRSxjQUFjLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUE4QyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxt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QVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EwRlA7b0JBQ0gsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIseUJBQXlCO3FCQUMxQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLCBBWFBMYXlvdXRDb250ZXh0Q2hhbmdlRXZlbnQsIEFYUFdpZGdldE5vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlLCBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2FtZWxDYXNlLCBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQX0VYVFJBX1BST1BFUlRZX1RZUEVTLCBBWFBFeHRyYVByb3BlcnR5SXRlbSwgQVhQRXh0cmFQcm9wZXJ0eVR5cGUgfSBmcm9tICcuL2V4dHJhLXByb3BlcnRpZXMudHlwZXMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSwgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtZXh0cmEtcHJvcGVydGllcycsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgICAgPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJpbnRlcm5hbENvbnRleHQoKVwiIChvbkNvbnRleHRDaGFuZ2VkKT1cIm9uQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVEcm9wKCRldmVudClcIiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTNcIj5cbiAgICAgICAgICAgIEBmb3IoaXRlbSBvZiBpdGVtcygpOyB0cmFjayBpdGVtLmtleSl7XG4gICAgICAgICAgICAgIEBpZihtb2RlKCk9PT0nZWRpdCcpe1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNCBheC1pdGVtcy1jZW50ZXJcIiBjZGtEcmFnIFtjZGtEcmFnRGlzYWJsZWRdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi0zIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlIGF4LXRleHQtbmV1dHJhbC01MDBcIiBjZGtEcmFnSGFuZGxlPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7aXRlbS50aXRsZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFNtYWxsLXNjcmVlbiBkZWxldGUgYWxpZ25lZCB3aXRoIHRpdGxlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbWwtYXV0byBtZDpheC1oaWRkZW5cIiBsb29rPVwiYmxhbmtcIiBjb2xvcj1cImRhbmdlclwiIChvbkNsaWNrKT1cImhhbmRsZVJlbW92ZUl0ZW0oaXRlbS5rZXkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD48YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLXRyYXNoLWNhblwiPjwvYXgtaWNvbj48L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi04XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgW25vZGVdPVwiZ2V0Tm9kZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ2VkaXQnXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtaGlkZGVuIG1kOmF4LWJsb2NrIG1kOmF4LWNvbC1zcGFuLTEgbWQ6YXgtanVzdGlmeS1zZWxmLWVuZFwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiIGNvbG9yPVwiZGFuZ2VyXCIgKG9uQ2xpY2spPVwiaGFuZGxlUmVtb3ZlSXRlbShpdGVtLmtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PjxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtdHJhc2gtY2FuXCI+PC9heC1pY29uPjwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mb250LXNlbWlib2xkXCI+e3tpdGVtLnRpdGxlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgW25vZGVdPVwiZ2V0Tm9kZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ3ZpZXcnXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIGF4LXRleHQtc20gYXgtdGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgICAgIHt7ICdleHRyYS1wcm9wZXJ0aWVzOm1lc3NhZ2VzLm5vLWV4dHJhLXByb3BlcnRpZXMnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYobW9kZSgpPT09J2VkaXQnKXtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEyIGF4LWdhcC00IGF4LWl0ZW1zLWVuZCBheC1tdC00ICBheC1ib3JkZXItdCBheC1ib3JkZXItZGFzaGVkIGF4LXB0LTRcIj5cbiAgICAgICAgICAgICAgICA8IS0tIFR5cGUgLS0+XG4gICAgICAgICAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi02IGxnOmF4LWNvbC1zcGFuLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyAnZXh0cmEtcHJvcGVydGllczpsYWJlbHMudHlwZScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibmV3VHlwZUlkKClcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ0eXBlT3B0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwibmV3VHlwZUNoYW5nZWQoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICA+PC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkIGNsYXNzPVwiYXgtY29sLXNwYW4tMTIgbWQ6YXgtY29sLXNwYW4tNiBsZzpheC1jb2wtc3Bhbi01XCI+XG4gICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2V4dHJhLXByb3BlcnRpZXM6bGFiZWxzLnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCBbbmdNb2RlbF09XCJuZXdUaXRsZSgpXCIgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVRpdGxlQ2hhbmdlKCRldmVudC52YWx1ZSlcIj48L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8IS0tIFZhbHVlIC0tPlxuICAgICAgICAgICAgICAgIEBpZihuZXdUeXBlSWQoKSl7XG4gICAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZCBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIG1kOmF4LWNvbC1zcGFuLTYgbGc6YXgtY29sLXNwYW4tNFwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2V4dHJhLXByb3BlcnRpZXM6bGFiZWxzLnZhbHVlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAoa2V5ZG93bi5lbnRlcik9XCJoYW5kbGVBZGRJdGVtKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbm9kZV09XCJkcmFmdE5vZGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCInZWRpdCdcIlxuICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwhLS0gQWRkIG1vdmVkIHRvIGJvdHRvbSAoc2FtZSBhcyBiZWZvcmUpIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1mbGV4IGF4LWp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIChvbkNsaWNrKT1cImhhbmRsZUFkZEl0ZW0oKVwiIFtkaXNhYmxlZF09XCIhY2FuQWRkKClcIiB0ZXh0PVwie3sgJ2V4dHJhLXByb3BlcnRpZXM6YWN0aW9ucy5hZGQtZmllbGQnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD48YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWFkZFwiPjwvYXgtaWNvbj48L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9heHAtd2lkZ2V0cy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgXG4gICAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhGb3JtTW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAvL0FYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F4LWJsb2NrIGF4LWZsZXgtMScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEV4dHJhUHJvcGVydGllc0NvbXBvbmVudCB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXRzICAgLS0tLVxuXG4gIGl0ZW1zID0gaW5wdXQ8QVhQRXh0cmFQcm9wZXJ0eUl0ZW1bXT4oW10pO1xuICBtb2RlID0gaW5wdXQ8J2VkaXQnIHwgJ3ZpZXcnPignZWRpdCcpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRXZlbnQgSGFuZGxlcnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIG9uQ29udGV4dENoYW5nZWQoZXZlbnQ6IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCkge1xuICAgIC8vIElnbm9yZSBpbml0aWFsIGJvb3RzdHJhcHBpbmcgdG8gcHJldmVudCBjeWNsZXNcbiAgICBpZiAoKGV2ZW50IGFzIGFueSkuc3RhdGUgPT09ICdpbml0aWF0ZWQnKSByZXR1cm47XG4gICAgY29uc3QgZGF0YSA9IChldmVudC5kYXRhID8/IHt9KSBhcyBhbnk7XG4gICAgY29uc3QgZXh0cmEgPSBkYXRhWydleHRyYSddID8/IHt9O1xuICAgIC8vIHN5bmMgZHJhZnQgdmFsdWVcbiAgICBjb25zdCBkayA9IHRoaXMuZHJhZnRLZXkoKTtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGV4dHJhLCBkaykpIHtcbiAgICAgIHRoaXMubmV3VmFsdWUuc2V0KGV4dHJhW2RrXSk7XG4gICAgfVxuICAgIGNvbnN0IG5leHRJdGVtcyA9IHRoaXMuaXRlbXMoKS5tYXAoKGl0KSA9PiAoeyAuLi5pdCwgdmFsdWU6IGV4dHJhW2l0LmtleV0gfSkpO1xuICAgIGlmICghaXNFcXVhbChuZXh0SXRlbXMsIHRoaXMuaXRlbXMoKSkpIHtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdChuZXh0SXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0cyAgIC0tLS1cblxuICBpdGVtc0NoYW5nZSA9IG91dHB1dDxBWFBFeHRyYVByb3BlcnR5SXRlbVtdPigpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgU2VydmljZXMgJiBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlZFR5cGVzID0gaW5qZWN0KEFYUF9FWFRSQV9QUk9QRVJUWV9UWVBFUywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ2xhc3MgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgbmV3S2V5OiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+ID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIG5ld1RpdGxlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+ID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIG5ld1R5cGVJZDogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnJyk7XG4gIHByb3RlY3RlZCBuZXdWYWx1ZTogV3JpdGFibGVTaWduYWw8YW55PiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuXG4gIC8qKiBMb2NhbCwgZXBoZW1lcmFsIGNvbnRleHQgZm9yIHdpZGdldCByZW5kZXJpbmcgKi9cbiAgcHJvdGVjdGVkIGludGVybmFsQ29udGV4dCA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG5cbiAgcHJpdmF0ZSBsYXN0VHlwZUJ5S2V5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIHByb3RlY3RlZCBkcmFmdFZlcnNpb246IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4gPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCBkcmFmdEtleSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gYF9fZHJhZnRfX3Yke3RoaXMuZHJhZnRWZXJzaW9uKCl9YCk7XG5cbiAgcHJvdGVjdGVkIHR5cGVPcHRpb25zID0gY29tcHV0ZWQ8QVhQRXh0cmFQcm9wZXJ0eVR5cGVbXT4oKCkgPT4gdGhpcy5wcm92aWRlZFR5cGVzKTtcbiAgcHJvdGVjdGVkIHByZXNldFR5cGVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm92aWRlZFR5cGVzLnNsaWNlKDAsIDUpKTtcbiAgcHJvdGVjdGVkIGNhbkFkZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLm5ld0tleSgpPy50cmltKCk7XG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLm5ld1RpdGxlKCk/LnRyaW0oKTtcbiAgICBjb25zdCB0eXBlSWQgPSB0aGlzLm5ld1R5cGVJZCgpO1xuICAgIGNvbnN0IHZhbCA9IHRoaXMubmV3VmFsdWUoKTtcbiAgICBjb25zdCBoYXNWYWx1ZSA9IHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCAmJiAodHlwZW9mIHZhbCAhPT0gJ3N0cmluZycgfHwgdmFsLnRyaW0oKSAhPT0gJycpO1xuICAgIGlmICgha2V5IHx8ICF0aXRsZSB8fCAhdHlwZUlkIHx8ICFoYXNWYWx1ZSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAhdGhpcy5pdGVtcygpLnNvbWUoKGkpID0+IGkua2V5ID09PSBrZXkpO1xuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEVmZmVjdHMgICAtLS0tXG5cbiAgLyoqIFN5bmMgaW5jb21pbmcgaXRlbXMnIHZhbHVlcyBpbnRvIGludGVybmFsIGNvbnRleHQgZm9yIHJlbmRlcmluZyAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN5bmNDb250ZXh0RnJvbUl0ZW1zID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5pbnRlcm5hbENvbnRleHQoKTtcbiAgICBjb25zdCBjdXJyZW50RXh0cmEgPSAoY3VycmVudCBhcyBhbnkpWydleHRyYSddID8/IHt9O1xuICAgIGNvbnN0IGV4dHJhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0geyAuLi5jdXJyZW50RXh0cmEgfTtcbiAgICBmb3IgKGNvbnN0IGl0IG9mIGl0ZW1zKSB7XG4gICAgICBpZiAoaXQudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBpdC52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICBleHRyYVtpdC5rZXldID0gaXQudmFsdWU7XG4gICAgICB9IGVsc2UgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChleHRyYSwgaXQua2V5KSkge1xuICAgICAgICBkZWxldGUgZXh0cmFbaXQua2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmV4dENvbnRleHQgPSB7IC4uLmN1cnJlbnQsIGV4dHJhIH07XG4gICAgaWYgKCFpc0VxdWFsKG5leHRDb250ZXh0LCBjdXJyZW50KSkge1xuICAgICAgdGhpcy5pbnRlcm5hbENvbnRleHQuc2V0KG5leHRDb250ZXh0KTtcbiAgICB9XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBDbGVhciBpdGVtIHZhbHVlcyB3aGVuIHRoZWlyIHdpZGdldCB0eXBlIGNoYW5nZXMgdG8gYXZvaWQgaW5jb21wYXRpYmxlIHN0YWxlIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjbGVhclZhbHVlT25UeXBlQ2hhbmdlID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICBjb25zdCBjaGFuZ2VkS2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGZvciAoY29uc3QgaXQgb2YgaXRlbXMpIHtcbiAgICAgIGNvbnN0IHByZXZUeXBlID0gdGhpcy5sYXN0VHlwZUJ5S2V5W2l0LmtleV07XG4gICAgICBpZiAocHJldlR5cGUgJiYgcHJldlR5cGUgIT09IGl0LnR5cGUpIHtcbiAgICAgICAgY2hhbmdlZEtleXMuYWRkKGl0LmtleSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxhc3RUeXBlQnlLZXlbaXQua2V5XSA9IGl0LnR5cGU7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRLZXlzLnNpemUgPiAwKSB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gaXRlbXMubWFwKChpdCkgPT4gKGNoYW5nZWRLZXlzLmhhcyhpdC5rZXkpID8geyAuLi5pdCwgdmFsdWU6IHVuZGVmaW5lZCB9IDogaXQpKTtcblxuICAgICAgLy8gUmVzZXQgY2FjaGVkIGRlZmF1bHQgdmFsdWVzIGZvciBhZmZlY3RlZCBub2Rlc1xuICAgICAgY2hhbmdlZEtleXMuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlQ2FjaGVba107XG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgKG5vZGUgYXMgYW55KS5kZWZhdWx0VmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodXBkYXRlZCk7XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFV0aWxpdHkgTWV0aG9kcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWRkSXRlbSgpIHtcbiAgICBpZiAoIXRoaXMuY2FuQWRkKCkpIHJldHVybjtcbiAgICBjb25zdCB0eXBlID0gdGhpcy50eXBlT3B0aW9ucygpLmZpbmQoKHQpID0+IHQuaWQgPT09IHRoaXMubmV3VHlwZUlkKCkpO1xuICAgIGNvbnN0IG5leHQ6IEFYUEV4dHJhUHJvcGVydHlJdGVtID0ge1xuICAgICAga2V5OiB0aGlzLm5ld0tleSgpLnRyaW0oKSxcbiAgICAgIHRpdGxlOiB0aGlzLm5ld1RpdGxlKCkudHJpbSgpLFxuICAgICAgdHlwZTogdGhpcy5uZXdUeXBlSWQoKSxcbiAgICAgIHZhbHVlOiB0aGlzLm5ld1ZhbHVlKCksXG4gICAgICBvcHRpb25zOiBjbG9uZURlZXAodHlwZT8uZGVmYXVsdE9wdGlvbnMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgdXBkYXRlZCA9IFsuLi50aGlzLml0ZW1zKCksIG5leHRdO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh1cGRhdGVkKTtcbiAgICAvLyByZXNldCBpbnB1dHNcbiAgICB0aGlzLm5ld0tleS5zZXQoJycpO1xuICAgIHRoaXMubmV3VGl0bGUuc2V0KCcnKTtcbiAgICB0aGlzLm5ld1R5cGVJZC5zZXQoJycpO1xuICAgIHRoaXMubmV3VmFsdWUuc2V0KHVuZGVmaW5lZCk7XG4gICAgLy8gY2xlYXIgZHJhZnQgZnJvbSBjb250ZXh0XG4gICAgY29uc3QgY3R4OiBhbnkgPSB7IC4uLnRoaXMuaW50ZXJuYWxDb250ZXh0KCkgfTtcbiAgICBjb25zdCBkcmFmdEV4dHJhID0geyAuLi4oY3R4WydleHRyYSddID8/IHt9KSB9O1xuICAgIGNvbnN0IGRrID0gdGhpcy5kcmFmdEtleSgpO1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZHJhZnRFeHRyYSwgZGspKSB7XG4gICAgICBkZWxldGUgZHJhZnRFeHRyYVtka107XG4gICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQoeyAuLi5jdHgsIGV4dHJhOiBkcmFmdEV4dHJhIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSZW1vdmVJdGVtKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgdXBkYXRlZCA9IHRoaXMuaXRlbXMoKS5maWx0ZXIoKGkpID0+IGkua2V5ICE9PSBrZXkpO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh1cGRhdGVkKTtcbiAgICAvLyBwcnVuZSBjb250ZXh0XG4gICAgY29uc3QgY3R4OiBhbnkgPSB7IC4uLnRoaXMuaW50ZXJuYWxDb250ZXh0KCkgfTtcbiAgICBpZiAoY3R4WydleHRyYSddKSB7XG4gICAgICBjb25zdCB7IFtrZXldOiBfLCAuLi5yZXN0IH0gPSBjdHhbJ2V4dHJhJ107XG4gICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQoeyAuLi5jdHgsIFsnZXh0cmEnXTogcmVzdCB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8QVhQRXh0cmFQcm9wZXJ0eUl0ZW1bXT4pIHtcbiAgICBjb25zdCBhcnIgPSBbLi4udGhpcy5pdGVtcygpXTtcbiAgICBtb3ZlSXRlbUluQXJyYXkoYXJyLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdChhcnIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdFByZXNldChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5uZXdUeXBlSWQuc2V0KGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9kZUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBBWFBXaWRnZXROb2RlPiA9IHt9O1xuICBwcml2YXRlIGRyYWZ0Tm9kZUNhY2hlPzogQVhQV2lkZ2V0Tm9kZTtcblxuICBwcm90ZWN0ZWQgZ2V0Tm9kZShpdGVtOiBBWFBFeHRyYVByb3BlcnR5SXRlbSk6IEFYUFdpZGdldE5vZGUge1xuICAgIGNvbnN0IGtleSA9IGl0ZW0ua2V5O1xuICAgIGxldCBub2RlID0gdGhpcy5ub2RlQ2FjaGVba2V5XTtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgIG5vZGUgPSB7XG4gICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcbiAgICAgICAgcGF0aDogYGV4dHJhLiR7aXRlbS5rZXl9YCxcbiAgICAgICAgb3B0aW9uczogaXRlbS5vcHRpb25zID8/IHt9LFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICB9IGFzIEFYUFdpZGdldE5vZGU7XG4gICAgICB0aGlzLm5vZGVDYWNoZVtrZXldID0gbm9kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gS2VlcCByZWZlcmVuY2Ugc3RhYmxlOyB1cGRhdGUgbmVzdGVkIGZpZWxkcyBpZiBlc3NlbnRpYWwgY2hhbmdlcyBoYXBwZW5cbiAgICAgIG5vZGUudHlwZSA9IGl0ZW0udHlwZTtcbiAgICAgIG5vZGUub3B0aW9ucyA9IGl0ZW0ub3B0aW9ucyA/PyBub2RlLm9wdGlvbnM7XG4gICAgICAvLyBEbyBub3Qgb3ZlcndyaXRlIGRlZmF1bHRWYWx1ZSBkdXJpbmcgZWRpdGluZyB0byBhdm9pZCByZXNldHNcbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZHJhZnROb2RlKCk6IEFYUFdpZGdldE5vZGUge1xuICAgIGNvbnN0IHR5cGVJZCA9IHRoaXMubmV3VHlwZUlkKCk7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZU9wdGlvbnMoKS5maW5kKCh0KSA9PiB0LmlkID09PSB0eXBlSWQpO1xuICAgIGxldCBub2RlID0gdGhpcy5kcmFmdE5vZGVDYWNoZTtcbiAgICBjb25zdCByZXNvbHZlZFR5cGUgPSB0eXBlSWQ7XG4gICAgaWYgKCFub2RlIHx8IG5vZGUudHlwZSAhPT0gcmVzb2x2ZWRUeXBlKSB7XG4gICAgICBub2RlID0ge1xuICAgICAgICB0eXBlOiByZXNvbHZlZFR5cGUsXG4gICAgICAgIHBhdGg6IGBleHRyYS4ke3RoaXMuZHJhZnRLZXkoKX1gLFxuICAgICAgICBvcHRpb25zOiBjbG9uZURlZXAodHlwZT8uZGVmYXVsdE9wdGlvbnMgPz8ge30pLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMubmV3VmFsdWUoKSxcbiAgICAgIH0gYXMgQVhQV2lkZ2V0Tm9kZTtcbiAgICAgIHRoaXMuZHJhZnROb2RlQ2FjaGUgPSBub2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLm9wdGlvbnMgPSBjbG9uZURlZXAodHlwZT8uZGVmYXVsdE9wdGlvbnMgPz8ge30pO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVXRpbGl0eSBIZWxwZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBuZXdUeXBlQ2hhbmdlZCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMubmV3VHlwZUlkLnNldCh2YWwpO1xuICAgIC8vIGZvcmNlIGRyYWZ0IHdpZGdldCByZS1yZW5kZXIgb24gdHlwZSBjaGFuZ2VcbiAgICB0aGlzLmRyYWZ0Tm9kZUNhY2hlID0gdW5kZWZpbmVkO1xuICAgIC8vIGNsZWFyIGRyYWZ0IHZhbHVlIGZyb20gYm90aCBzaWduYWwgYW5kIGNvbnRleHQgdG8gYXZvaWQgdHlwZSBtaXNtYXRjaFxuICAgIGNvbnN0IHByZXZEcmFmdEtleSA9IHRoaXMuZHJhZnRLZXkoKTtcbiAgICB0aGlzLm5ld1ZhbHVlLnNldCh1bmRlZmluZWQpO1xuICAgIGNvbnN0IGN0eDogYW55ID0geyAuLi50aGlzLmludGVybmFsQ29udGV4dCgpIH07XG4gICAgY29uc3QgZHJhZnRFeHRyYSA9IHsgLi4uKGN0eFsnZXh0cmEnXSA/PyB7fSkgfTtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRyYWZ0RXh0cmEsIHByZXZEcmFmdEtleSkpIHtcbiAgICAgIGRlbGV0ZSBkcmFmdEV4dHJhW3ByZXZEcmFmdEtleV07XG4gICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQoeyAuLi5jdHgsIGV4dHJhOiBkcmFmdEV4dHJhIH0pO1xuICAgIH1cbiAgICAvLyBidW1wIGRyYWZ0IHZlcnNpb24gc28gbmV3IGRyYWZ0IHBhdGggaXMgaXNvbGF0ZWQgZnJvbSBvbGQgd2lkZ2V0IGVtaXNzaW9uc1xuICAgIHRoaXMuZHJhZnRWZXJzaW9uLnNldCh0aGlzLmRyYWZ0VmVyc2lvbigpICsgMSk7XG4gICAgY29uc3QgdCA9IHRoaXMudHlwZU9wdGlvbnMoKS5maW5kKCh4KSA9PiB4LmlkID09PSB2YWwpO1xuICAgIGlmICh0KSB7XG4gICAgICBjb25zdCBhdXRvVGl0bGUgPSB0LnRpdGxlID8/IHZhbDtcbiAgICAgIGNvbnN0IGF1dG9LZXkgPSB0aGlzLnNhbml0aXplS2V5KGF1dG9UaXRsZSk7XG4gICAgICAvLyBPbmx5IGF1dG8tZmlsbCB3aGVuIGVtcHR5XG4gICAgICBpZiAoIXRoaXMubmV3VGl0bGUoKT8udHJpbSgpKSB0aGlzLm5ld1RpdGxlLnNldChhdXRvVGl0bGUpO1xuICAgICAgLy8gYWx3YXlzIGRlcml2ZSBrZXkgZnJvbSB0aXRsZVxuICAgICAgdGhpcy5uZXdLZXkuc2V0KGF1dG9LZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uSW5pdCgpIHtcbiAgICAvLyBhdXRvLXNlbGVjdCBmaXJzdCBpdGVtIG9mIHR5cGUgbGlzdFxuICAgIGNvbnN0IHR5cGVzID0gdGhpcy50eXBlT3B0aW9ucygpO1xuICAgIGlmICghdGhpcy5uZXdUeXBlSWQoKSAmJiB0eXBlcyAmJiB0eXBlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm5ld1R5cGVDaGFuZ2VkKHR5cGVzWzBdLmlkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVGl0bGVDaGFuZ2UodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5ld1RpdGxlLnNldCh2YWwpO1xuICAgIHRoaXMubmV3S2V5LnNldCh0aGlzLnNhbml0aXplS2V5KHZhbCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNhbml0aXplS2V5KGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaW5wdXQpIHJldHVybiAnJztcbiAgICAvLyBDb252ZXJ0IHRvIGNhbWVsQ2FzZSwgcmVtb3ZlIGludmFsaWQgY2hhcnMsIGVuc3VyZSBzdGFydHMgd2l0aCBsZXR0ZXIvX1xuICAgIGxldCBrID0gY2FtZWxDYXNlKFN0cmluZyhpbnB1dCkpO1xuICAgIGsgPSBrLnJlcGxhY2UoL1teYS16QS1aMC05X10vZywgJycpO1xuICAgIGlmICghL15bYS16QS1aX10vLnRlc3QoaykpIGsgPSBgXyR7a31gO1xuICAgIC8vIGVuZm9yY2UgdW5pcXVlbmVzcyBieSBzdWZmaXhpbmcgaWYgbmVlZGVkXG4gICAgY29uc3QgZXhpc3RzID0gKGNhbmRpZGF0ZTogc3RyaW5nKSA9PiB0aGlzLml0ZW1zKCkuc29tZSgoaSkgPT4gaS5rZXkgPT09IGNhbmRpZGF0ZSk7XG4gICAgaWYgKCFleGlzdHMoaykpIHJldHVybiBrO1xuICAgIGxldCBpID0gMTtcbiAgICB3aGlsZSAoZXhpc3RzKGAke2t9JHtpfWApKSBpKys7XG4gICAgcmV0dXJuIGAke2t9JHtpfWA7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNlbmRyZWdpb25cbn1cblxuXG4iXX0=","import { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXPLayoutBuilderModule, AXPWidgetRegistryService, } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, EventEmitter, inject, input, Output, signal, untracked, } from '@angular/core';\nimport { capitalize, cloneDeep, isArray, isEmpty, isNil, merge, set, sortBy, unionBy } from 'lodash-es';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/collapse\";\nimport * as i2 from \"@acorex/components/tabs\";\nimport * as i3 from \"@acorex/platform/layout/builder\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXPWidgetPropertyViewerComponent {\n constructor() {\n this.widget = input.required(...(ngDevMode ? [{ debugName: \"widget\" }] : []));\n this.mode = input('simple', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.widgetRegistryService = inject(AXPWidgetRegistryService);\n // Designer connector removed to avoid cross-entry circular dependency\n this.currentTabIndex = signal(0, ...(ngDevMode ? [{ debugName: \"currentTabIndex\" }] : []));\n this.config = signal(null, ...(ngDevMode ? [{ debugName: \"config\" }] : []));\n this.allPoperties = [];\n this.tabs = signal([], ...(ngDevMode ? [{ debugName: \"tabs\" }] : []));\n this.groups = computed(() => {\n return this.tabs().length ? this.tabs()[this.currentTabIndex()].groups : [];\n }, ...(ngDevMode ? [{ debugName: \"groups\" }] : []));\n this.groupCollapsedStates = new Map();\n this.onChanged = new EventEmitter();\n this.context = signal({}, ...(ngDevMode ? [{ debugName: \"context\" }] : []));\n this.initialContext = {};\n effect(() => {\n if (!this.widget())\n return;\n const config = this.widgetRegistryService.resolve(this.widget()?.type);\n if (config) {\n this.initialContext = {};\n this.config.set(config);\n this.fillTabs();\n }\n else {\n console.error(`Invalid widget name: ${this.widget()}`);\n }\n });\n }\n update(values) {\n this.context.set(merge(cloneDeep(this.context()), values));\n }\n fillTabs() {\n const tabs = [\n {\n name: 'general',\n title: 'General',\n groups: [],\n },\n ];\n Object.entries(this.config()?.components ?? {}).forEach((c) => {\n if (c[1].component != null && c[1].properties?.length) {\n tabs.push({ name: c[0], title: capitalize(c[0]), groups: [] });\n }\n });\n ///\n this.allPoperties = [];\n ///\n tabs.forEach((tab) => {\n const props = tab.name == 'general'\n ? (this.config()?.properties ?? [])\n : ((this.config()?.components)[tab.name]?.properties ?? []);\n //\n const visibleProps = props.filter((c) => c.visible != false);\n this.allPoperties.push(...props);\n tab.groups = unionBy(sortBy(visibleProps.map((pg) => ({\n isCollapsed: !!this.groupCollapsedStates.get(pg.group.name),\n name: pg.group.name,\n title: pg.group.title,\n props: sortBy(visibleProps.filter((p) => p.group.name == pg.group.name && pg.visible), ['order', 'title']),\n })), ['order', 'title']), 'name').filter((c) => c.props.length);\n });\n this.tabs.set(tabs.filter((c) => c.groups.length));\n //\n this.initialContext = this.allPoperties\n .filter((c) => (!isArray(c.schema.defaultValue) && !isNil(c.schema.defaultValue)) ||\n (isArray(c.schema.defaultValue) && !isEmpty(c.schema.defaultValue)))\n .reduce((acc, c) => {\n set(acc, c.schema.interface.path, c.schema.defaultValue);\n return acc;\n }, {});\n //\n untracked(() => {\n this.context.set(merge(cloneDeep(this.initialContext), this.widget()));\n this.onChanged.emit({ values: this.context(), mode: 'init' });\n });\n }\n handleContextChange(e) {\n untracked(() => {\n this.context.set(e.data);\n this.onChanged.emit({ values: this.context(), mode: e.state == 'initiated' ? 'init' : 'update' });\n });\n }\n handleTabChange(event) {\n const indx = event.index;\n if (this.currentTabIndex() != indx) {\n this.currentTabIndex.set(indx);\n }\n }\n handleCollapsedChange(group, collapsed) {\n this.groupCollapsedStates.set(group, collapsed);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPWidgetPropertyViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPWidgetPropertyViewerComponent, isStandalone: true, selector: \"axp-widget-property-viewer\", inputs: { widget: { classPropertyName: \"widget\", publicName: \"widget\", isSignal: true, isRequired: true, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChanged: \"onChanged\" }, ngImport: i0, template: \"<axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"handleContextChange($event)\\\">\\n @if (mode() == 'advanced') {\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n @if (tabs().length > 1) {\\n <div class=\\\"ax-pb-2\\\">\\n <ax-tabs look=\\\"default\\\" (onActiveTabChanged)=\\\"handleTabChange($event)\\\" [look]=\\\"'with-line'\\\">\\n @for (tab of tabs(); track $index) {\\n <ax-tab-item [text]=\\\"tab.title\\\" [key]=\\\"$index.toString()\\\" [active]=\\\"currentTabIndex() === $index\\\">\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </div>\\n }\\n <div class=\\\"ax-flex-1 ax-overflow-auto\\\">\\n <ax-collapse-group class=\\\"ax-h-fit\\\" [look]=\\\"'flat'\\\">\\n @for (group of groups(); track $index) {\\n <ax-collapse\\n class=\\\"!ax-mb-0\\\"\\n [caption]=\\\"group.title\\\"\\n [(isCollapsed)]=\\\"group.isCollapsed\\\"\\n (isCollapsedChange)=\\\"handleCollapsedChange(group.name, $event)\\\"\\n >\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n @for (p of group.props; track $index) {\\n <div class=\\\"ax-flex ax-flex-col ax-gap-1 ax-py-2\\\">\\n <span class=\\\"ax-font-semibold\\\">{{ p.title }}</span>\\n @if (p.schema.interface) {\\n <ng-container axp-widget-renderer [node]=\\\"p.schema.interface\\\" [mode]=\\\"'edit'\\\"> </ng-container>\\n }\\n </div>\\n }\\n </div>\\n </ax-collapse>\\n }\\n </ax-collapse-group>\\n </div>\\n </div>\\n }\\n <!-- Simple-->\\n @else {\\n <div class=\\\"ax-flex ax-flex-col ax-p-4 ax-gap-4\\\">\\n <!-- groups -->\\n @for (group of groups(); track $index) {\\n <!-- props -->\\n @for (p of group.props; track $index) {\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2\\\">\\n <span class=\\\"ax-font-semibold\\\">{{ p.title | translate | async }}</span>\\n @if (p.schema.interface) {\\n <ng-container axp-widget-renderer [node]=\\\"p.schema.interface\\\" [mode]=\\\"'edit'\\\"> </ng-container>\\n }\\n </div>\\n }\\n }\\n </div>\\n }\\n</axp-widgets-container>\\n\", styles: [\":host ax-collapse .ax-collapse-header{font-weight:600}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i1.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i1.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i2.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i2.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i3.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i3.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPWidgetPropertyViewerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-widget-property-viewer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, AXCollapseModule, AXTabsModule, AXPLayoutBuilderModule, AXTranslationModule], template: \"<axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"handleContextChange($event)\\\">\\n @if (mode() == 'advanced') {\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n @if (tabs().length > 1) {\\n <div class=\\\"ax-pb-2\\\">\\n <ax-tabs look=\\\"default\\\" (onActiveTabChanged)=\\\"handleTabChange($event)\\\" [look]=\\\"'with-line'\\\">\\n @for (tab of tabs(); track $index) {\\n <ax-tab-item [text]=\\\"tab.title\\\" [key]=\\\"$index.toString()\\\" [active]=\\\"currentTabIndex() === $index\\\">\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </div>\\n }\\n <div class=\\\"ax-flex-1 ax-overflow-auto\\\">\\n <ax-collapse-group class=\\\"ax-h-fit\\\" [look]=\\\"'flat'\\\">\\n @for (group of groups(); track $index) {\\n <ax-collapse\\n class=\\\"!ax-mb-0\\\"\\n [caption]=\\\"group.title\\\"\\n [(isCollapsed)]=\\\"group.isCollapsed\\\"\\n (isCollapsedChange)=\\\"handleCollapsedChange(group.name, $event)\\\"\\n >\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n @for (p of group.props; track $index) {\\n <div class=\\\"ax-flex ax-flex-col ax-gap-1 ax-py-2\\\">\\n <span class=\\\"ax-font-semibold\\\">{{ p.title }}</span>\\n @if (p.schema.interface) {\\n <ng-container axp-widget-renderer [node]=\\\"p.schema.interface\\\" [mode]=\\\"'edit'\\\"> </ng-container>\\n }\\n </div>\\n }\\n </div>\\n </ax-collapse>\\n }\\n </ax-collapse-group>\\n </div>\\n </div>\\n }\\n <!-- Simple-->\\n @else {\\n <div class=\\\"ax-flex ax-flex-col ax-p-4 ax-gap-4\\\">\\n <!-- groups -->\\n @for (group of groups(); track $index) {\\n <!-- props -->\\n @for (p of group.props; track $index) {\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2\\\">\\n <span class=\\\"ax-font-semibold\\\">{{ p.title | translate | async }}</span>\\n @if (p.schema.interface) {\\n <ng-container axp-widget-renderer [node]=\\\"p.schema.interface\\\" [mode]=\\\"'edit'\\\"> </ng-container>\\n }\\n </div>\\n }\\n }\\n </div>\\n }\\n</axp-widgets-container>\\n\", styles: [\":host ax-collapse .ax-collapse-header{font-weight:600}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { onChanged: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXByb3BlcnR5LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvcHJvcGVydHktdmlld2VyL3dpZGdldC1wcm9wZXJ0eS12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3Byb3BlcnR5LXZpZXdlci93aWRnZXQtcHJvcGVydHktdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQTBCLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUNMLHNCQUFzQixFQUt0Qix3QkFBd0IsR0FDekIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUF5Qi9ELE1BQU0sT0FBTyxnQ0FBZ0M7SUE2QjNDO1FBNUJBLFdBQU0sR0FBRyxLQUFLLENBQUMs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QUFNLFdBQ3RDLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQzt3REF5QnBHLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sbGFwc2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlLCBBWFRhYlN0cmlwQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHtcbiAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50LFxuICBBWFBXaWRnZXRDb25maWcsXG4gIEFYUFdpZGdldE5vZGUsXG4gIEFYUFdpZGdldFByb3BlcnR5LFxuICBBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXBpdGFsaXplLCBjbG9uZURlZXAsIGlzQXJyYXksIGlzRW1wdHksIGlzTmlsLCBtZXJnZSwgc2V0LCBzb3J0QnksIHVuaW9uQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0UHJvcGVydHlUYWIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGdyb3Vwczoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGlzQ29sbGFwc2VkOiBib29sZWFuO1xuICAgIHByb3BzOiBBWFBXaWRnZXRQcm9wZXJ0eVtdO1xuICB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0UHJvcGVydGllc0NoYW5nZWRFdmVudCB7XG4gIHZhbHVlczogYW55O1xuICBtb2RlOiAnaW5pdCcgfCAndXBkYXRlJztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXdpZGdldC1wcm9wZXJ0eS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LXByb3BlcnR5LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpZGdldC1wcm9wZXJ0eS12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYQ29sbGFwc2VNb2R1bGUsIEFYVGFic01vZHVsZSwgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhUcmFuc2xhdGlvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldFByb3BlcnR5Vmlld2VyQ29tcG9uZW50IHtcbiAgd2lkZ2V0ID0gaW5wdXQucmVxdWlyZWQ8QVhQV2lkZ2V0Tm9kZT4oKTtcblxuICBtb2RlID0gaW5wdXQ8J3NpbXBsZScgfCAnYWR2YW5jZWQnPignc2ltcGxlJyk7XG5cbiAgcHJpdmF0ZSB3aWRnZXRSZWdpc3RyeVNlcnZpY2UgPSBpbmplY3QoQVhQV2lkZ2V0UmVnaXN0cnlTZXJ2aWNlKTtcblxuICAvLyBEZXNpZ25lciBjb25uZWN0b3IgcmVtb3ZlZCB0byBhdm9pZCBjcm9zcy1lbnRyeSBjaXJjdWxhciBkZXBlbmRlbmN5XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRUYWJJbmRleDogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbCgwKTtcblxuICBwcm90ZWN0ZWQgY29uZmlnID0gc2lnbmFsPEFYUFdpZGdldENvbmZpZyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgYWxsUG9wZXJ0aWVzOiBBWFBXaWRnZXRQcm9wZXJ0eVtdID0gW107XG5cbiAgcHJvdGVjdGVkIHRhYnMgPSBzaWduYWw8QVhQV2lkZ2V0UHJvcGVydHlUYWJbXT4oW10pO1xuXG4gIHByb3RlY3RlZCBncm91cHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudGFicygpLmxlbmd0aCA/IHRoaXMudGFicygpW3RoaXMuY3VycmVudFRhYkluZGV4KCldLmdyb3VwcyA6IFtdO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgZ3JvdXBDb2xsYXBzZWRTdGF0ZXM6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcCgpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFYUFdpZGdldFByb3BlcnRpZXNDaGFuZ2VkRXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIGNvbnRleHQgPSBzaWduYWw8YW55Pih7fSk7XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxDb250ZXh0OiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLndpZGdldCgpKSByZXR1cm47XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLndpZGdldFJlZ2lzdHJ5U2VydmljZS5yZXNvbHZlKHRoaXMud2lkZ2V0KCk/LnR5cGUpO1xuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICB0aGlzLmluaXRpYWxDb250ZXh0ID0ge307XG4gICAgICAgIHRoaXMuY29uZmlnLnNldChjb25maWcpO1xuICAgICAgICB0aGlzLmZpbGxUYWJzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHdpZGdldCBuYW1lOiAke3RoaXMud2lkZ2V0KCl9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKHZhbHVlczogYW55KSB7XG4gICAgdGhpcy5jb250ZXh0LnNldChtZXJnZShjbG9uZURlZXAodGhpcy5jb250ZXh0KCkpLCB2YWx1ZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbFRhYnMoKSB7XG4gICAgY29uc3QgdGFiczogQVhQV2lkZ2V0UHJvcGVydHlUYWJbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2dlbmVyYWwnLFxuICAgICAgICB0aXRsZTogJ0dlbmVyYWwnLFxuICAgICAgICBncm91cHM6IFtdLFxuICAgICAgfSxcbiAgICBdO1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuY29uZmlnKCk/LmNvbXBvbmVudHMgPz8ge30pLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGlmIChjWzFdLmNvbXBvbmVudCAhPSBudWxsICYmIGNbMV0ucHJvcGVydGllcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRhYnMucHVzaCh7IG5hbWU6IGNbMF0sIHRpdGxlOiBjYXBpdGFsaXplKGNbMF0pLCBncm91cHM6IFtdIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vL1xuICAgIHRoaXMuYWxsUG9wZXJ0aWVzID0gW107XG4gICAgLy8vXG4gICAgdGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzID1cbiAgICAgICAgdGFiLm5hbWUgPT0gJ2dlbmVyYWwnXG4gICAgICAgICAgPyAodGhpcy5jb25maWcoKT8ucHJvcGVydGllcyA/PyBbXSlcbiAgICAgICAgICA6ICgoKHRoaXMuY29uZmlnKCk/LmNvbXBvbmVudHMgYXMgYW55KVt0YWIubmFtZV0/LnByb3BlcnRpZXMgYXMgQVhQV2lkZ2V0UHJvcGVydHlbXSkgPz8gW10pO1xuICAgICAgLy9cbiAgICAgIGNvbnN0IHZpc2libGVQcm9wcyA9IHByb3BzLmZpbHRlcigoYykgPT4gYy52aXNpYmxlICE9IGZhbHNlKTtcbiAgICAgIHRoaXMuYWxsUG9wZXJ0aWVzLnB1c2goLi4ucHJvcHMpO1xuICAgICAgdGFiLmdyb3VwcyA9IHVuaW9uQnkoXG4gICAgICAgIHNvcnRCeShcbiAgICAgICAgICB2aXNpYmxlUHJvcHMubWFwKChwZykgPT4gKHtcbiAgICAgICAgICAgIGlzQ29sbGFwc2VkOiAhIXRoaXMuZ3JvdXBDb2xsYXBzZWRTdGF0ZXMuZ2V0KHBnLmdyb3VwLm5hbWUpLFxuICAgICAgICAgICAgbmFtZTogcGcuZ3JvdXAubmFtZSxcbiAgICAgICAgICAgIHRpdGxlOiBwZy5ncm91cC50aXRsZSxcbiAgICAgICAgICAgIHByb3BzOiBzb3J0QnkoXG4gICAgICAgICAgICAgIHZpc2libGVQcm9wcy5maWx0ZXIoKHApID0+IHAuZ3JvdXAubmFtZSA9PSBwZy5ncm91cC5uYW1lICYmIHBnLnZpc2libGUpLFxuICAgICAgICAgICAgICBbJ29yZGVyJywgJ3RpdGxlJ10sXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgICBbJ29yZGVyJywgJ3RpdGxlJ10sXG4gICAgICAgICksXG4gICAgICAgICduYW1lJyxcbiAgICAgICkuZmlsdGVyKChjKSA9PiBjLnByb3BzLmxlbmd0aCk7XG4gICAgfSk7XG4gICAgdGhpcy50YWJzLnNldCh0YWJzLmZpbHRlcigoYykgPT4gYy5ncm91cHMubGVuZ3RoKSk7XG4gICAgLy9cbiAgICB0aGlzLmluaXRpYWxDb250ZXh0ID0gdGhpcy5hbGxQb3BlcnRpZXNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChjKSA9PlxuICAgICAgICAgICghaXNBcnJheShjLnNjaGVtYS5kZWZhdWx0VmFsdWUpICYmICFpc05pbChjLnNjaGVtYS5kZWZhdWx0VmFsdWUpKSB8fFxuICAgICAgICAgIChpc0FycmF5KGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSkgJiYgIWlzRW1wdHkoYy5zY2hlbWEuZGVmYXVsdFZhbHVlKSksXG4gICAgICApXG4gICAgICAucmVkdWNlKChhY2MsIGMpID0+IHtcbiAgICAgICAgc2V0KGFjYywgYy5zY2hlbWEuaW50ZXJmYWNlLnBhdGgsIGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gICAgLy9cbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0LnNldChtZXJnZShjbG9uZURlZXAodGhpcy5pbml0aWFsQ29udGV4dCksIHRoaXMud2lkZ2V0KCkpKTtcbiAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoeyB2YWx1ZXM6IHRoaXMuY29udGV4dCgpLCBtb2RlOiAnaW5pdCcgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ29udGV4dENoYW5nZShlOiBBWFBMYXlvdXRDb250ZXh0Q2hhbmdlRXZlbnQpIHtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0LnNldChlLmRhdGEpO1xuICAgICAgdGhpcy5vbkNoYW5nZWQuZW1pdCh7IHZhbHVlczogdGhpcy5jb250ZXh0KCksIG1vZGU6IGUuc3RhdGUgPT0gJ2luaXRpYXRlZCcgPyAnaW5pdCcgOiAndXBkYXRlJyB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVUYWJDaGFuZ2UoZXZlbnQ6IEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmR4ID0gZXZlbnQuaW5kZXg7XG4gICAgaWYgKHRoaXMuY3VycmVudFRhYkluZGV4KCkgIT0gaW5keCkge1xuICAgICAgdGhpcy5jdXJyZW50VGFiSW5kZXguc2V0KGluZHgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDb2xsYXBzZWRDaGFuZ2UoZ3JvdXA6IHN0cmluZywgY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5ncm91cENvbGxhcHNlZFN0YXRlcy5zZXQoZ3JvdXAsIGNvbGxhcHNlZCk7XG4gIH1cblxufVxuIiwiPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJjb250ZXh0KClcIiAob25Db250ZXh0Q2hhbmdlZCk9XCJoYW5kbGVDb250ZXh0Q2hhbmdlKCRldmVudClcIj5cbiAgQGlmIChtb2RlKCkgPT0gJ2FkdmFuY2VkJykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sXCI+XG4gICAgICBAaWYgKHRhYnMoKS5sZW5ndGggPiAxKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1wYi0yXCI+XG4gICAgICAgICAgPGF4LXRhYnMgbG9vaz1cImRlZmF1bHRcIiAob25BY3RpdmVUYWJDaGFuZ2VkKT1cImhhbmRsZVRhYkNoYW5nZSgkZXZlbnQpXCIgW2xvb2tdPVwiJ3dpdGgtbGluZSdcIj5cbiAgICAgICAgICAgIEBmb3IgKHRhYiBvZiB0YWJzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwidGFiLnRpdGxlXCIgW2tleV09XCIkaW5kZXgudG9TdHJpbmcoKVwiIFthY3RpdmVdPVwiY3VycmVudFRhYkluZGV4KCkgPT09ICRpbmRleFwiPlxuICAgICAgICAgICAgICA8L2F4LXRhYi1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYXgtdGFicz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0xIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgPGF4LWNvbGxhcHNlLWdyb3VwIGNsYXNzPVwiYXgtaC1maXRcIiBbbG9va109XCInZmxhdCdcIj5cbiAgICAgICAgICBAZm9yIChncm91cCBvZiBncm91cHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8YXgtY29sbGFwc2VcbiAgICAgICAgICAgICAgY2xhc3M9XCIhYXgtbWItMFwiXG4gICAgICAgICAgICAgIFtjYXB0aW9uXT1cImdyb3VwLnRpdGxlXCJcbiAgICAgICAgICAgICAgWyhpc0NvbGxhcHNlZCldPVwiZ3JvdXAuaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAoaXNDb2xsYXBzZWRDaGFuZ2UpPVwiaGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGdyb3VwLm5hbWUsICRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZ3JvdXAucHJvcHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTEgYXgtcHktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBwLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHAuc2NoZW1hLmludGVyZmFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJwLnNjaGVtYS5pbnRlcmZhY2VcIiBbbW9kZV09XCInZWRpdCdcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2F4LWNvbGxhcHNlPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG4gIDwhLS0gU2ltcGxlLS0+XG4gIEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1wLTQgYXgtZ2FwLTRcIj5cbiAgICAgIDwhLS0gZ3JvdXBzIC0tPlxuICAgICAgQGZvciAoZ3JvdXAgb2YgZ3JvdXBzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8IS0tIHByb3BzIC0tPlxuICAgICAgICBAZm9yIChwIG9mIGdyb3VwLnByb3BzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LXNlbWlib2xkXCI+e3sgcC50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgQGlmIChwLnNjaGVtYS5pbnRlcmZhY2UpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBheHAtd2lkZ2V0LXJlbmRlcmVyIFtub2RlXT1cInAuc2NoZW1hLmludGVyZmFjZVwiIFttb2RlXT1cIidlZGl0J1wiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, signal, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { camelCase, cloneDeep } from 'lodash-es';\nimport { AXP_EXTRA_PROPERTY_TYPES } from './extra-properties.types';\nimport { AXPWidgetPropertyViewerComponent } from '../property-viewer/widget-property-viewer.component';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/form\";\nimport * as i3 from \"@acorex/components/label\";\nimport * as i4 from \"@acorex/components/text-box\";\nimport * as i5 from \"@acorex/components/select-box\";\nimport * as i6 from \"@acorex/components/button\";\nimport * as i7 from \"@acorex/components/decorators\";\nimport * as i8 from \"@angular/cdk/drag-drop\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"@acorex/core/translation\";\nexport class AXPExtraPropertiesSchemaComponent {\n constructor() {\n //#region ---- Inputs ----\n this.schema = input([], ...(ngDevMode ? [{ debugName: \"schema\" }] : []));\n this.mode = input('edit', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n //#endregion\n //#region ---- Outputs ----\n this.schemaChange = output();\n //#endregion\n //#region ---- Services & Dependencies ----\n this.providedTypes = inject(AXP_EXTRA_PROPERTY_TYPES, { optional: true }) ?? [];\n this.translationService = inject(AXTranslationService);\n //#endregion\n //#region ---- Class Properties ----\n this.newTitle = signal('', ...(ngDevMode ? [{ debugName: \"newTitle\" }] : []));\n this.newTypeId = signal('', ...(ngDevMode ? [{ debugName: \"newTypeId\" }] : []));\n this.typeOptions = computed(() => this.providedTypes, ...(ngDevMode ? [{ debugName: \"typeOptions\" }] : []));\n this.canAdd = computed(() => {\n const title = this.newTitle()?.trim();\n const typeId = this.newTypeId();\n const key = this.deriveKey(title);\n if (!key || !title || !typeId)\n return false;\n return !this.schema().some((i) => i.key === key);\n }, ...(ngDevMode ? [{ debugName: \"canAdd\" }] : []));\n // Selection state for right panel editor\n this.selectedKey = signal(null, ...(ngDevMode ? [{ debugName: \"selectedKey\" }] : []));\n this.selectedItem = computed(() => this.schema().find((i) => i.key === this.selectedKey()) ?? null, ...(ngDevMode ? [{ debugName: \"selectedItem\" }] : []));\n // Auto-select first item when schema changes or current selection removed\n effect(() => {\n const items = this.schema();\n const current = this.selectedKey();\n if (!items.length) {\n if (current !== null)\n this.selectedKey.set(null);\n return;\n }\n if (!current || !items.some((i) => i.key === current)) {\n this.selectedKey.set(items[0].key);\n }\n });\n }\n //#endregion\n //#region ---- Utility Methods ----\n handleAdd() {\n if (!this.canAdd())\n return;\n const type = this.typeOptions().find((t) => t.id === this.newTypeId());\n const title = this.newTitle().trim();\n const key = this.deriveKey(title);\n const next = {\n key,\n title,\n type: this.newTypeId(),\n options: cloneDeep(type?.defaultOptions ?? {}),\n };\n const updated = [...this.schema(), next];\n this.schemaChange.emit(updated);\n this.newTitle.set('');\n this.newTypeId.set('');\n // select newly added item\n this.selectedKey.set(key);\n }\n handleRemove(key) {\n const updated = this.schema().filter((i) => i.key !== key);\n this.schemaChange.emit(updated);\n if (this.selectedKey() === key) {\n this.selectedKey.set(updated.length ? updated[0].key : null);\n }\n }\n handleDrop(event) {\n const arr = [...this.schema()];\n moveItemInArray(arr, event.previousIndex, event.currentIndex);\n this.schemaChange.emit(arr);\n }\n handleUpdateTitle(key, title) {\n const updated = this.schema().map((it) => (it.key === key ? { ...it, title } : it));\n this.schemaChange.emit(updated);\n }\n handleUpdateType(key, typeId) {\n const type = this.typeOptions().find((t) => t.id === typeId);\n const updated = this.schema().map((it) => it.key === key ? { ...it, type: typeId, options: cloneDeep(type?.defaultOptions ?? {}) } : it);\n this.schemaChange.emit(updated);\n }\n newTypeChanged(val) {\n this.newTypeId.set(val);\n const t = this.typeOptions().find((x) => x.id === val);\n if (t) {\n const autoTitle = t.title ?? val;\n if (!this.newTitle()?.trim())\n this.newTitle.set(autoTitle);\n }\n }\n handleTitleChange(val) {\n this.newTitle.set(val);\n }\n handleSelect(key) {\n this.selectedKey.set(key);\n }\n handleViewerChanged(e) {\n // Ignore initial emissions to prevent change detection loops\n if (e?.mode === 'init')\n return;\n const key = this.selectedKey();\n if (!key)\n return;\n const nextOptions = e?.values?.options ?? {};\n const updated = this.schema().map((it) => (it.key === key ? { ...it, options: cloneDeep(nextOptions) } : it));\n this.schemaChange.emit(updated);\n }\n deriveKey(input) {\n if (!input)\n return '';\n let k = camelCase(String(input));\n k = k.replace(/[^a-zA-Z0-9_]/g, '');\n if (!/^[a-zA-Z_]/.test(k))\n k = `_${k}`;\n const exists = (candidate) => this.schema().some((i) => i.key === candidate);\n if (!exists(k))\n return k;\n let i = 1;\n while (exists(`${k}${i}`))\n i++;\n return `${k}${i}`;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesSchemaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPExtraPropertiesSchemaComponent, isStandalone: true, selector: \"axp-extra-properties-schema\", inputs: { schema: { classPropertyName: \"schema\", publicName: \"schema\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { schemaChange: \"schemaChange\" }, host: { classAttribute: \"ax-flex ax-flex-1 ax-h-full ax-gap-4 ax-p-4\" }, ngImport: i0, template: \"<!-- Left Panel: list/manage properties -->\\n<div class=\\\"ax-flex ax-flex-col ax-gap-3 ax-min-h-0 ax-h-full ax-w-2/3\\\">\\n <div class=\\\"ax-overflow-y-auto ax-min-h-0 ax-h-full ax-pe-2 -ax-me-2\\\">\\n <div cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\" class=\\\"ax-flex ax-flex-col ax-gap-3\\\">\\n @for (item of schema(); track item.key) {\\n @if (mode() === 'edit') {\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center ax-rounded ax-border ax-p-3 ax-cursor-pointer ax-lightest-surface \\\"\\n [class.!ax-lighter-surface]=\\\"item.key === selectedKey()\\\" (click)=\\\"handleSelect(item.key)\\\" cdkDrag\\n [cdkDragDisabled]=\\\"false\\\">\\n <div class=\\\"ax-col-span-12 md:ax-col-span-4 ax-flex ax-items-center ax-gap-3\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-neutral-500\\\"\\n cdkDragHandle></ax-icon>\\n <div>\\n <div class=\\\"ax-font-semibold\\\">{{ item.title }}</div>\\n </div>\\n </div>\\n <div class=\\\"ax-col-span-12 md:ax-col-span-7 ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center\\\">\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6\\\">\\n <ax-select-box [value]=\\\"item.type\\\" [dataSource]=\\\"typeOptions()\\\" valueField=\\\"id\\\"\\n textField=\\\"title\\\"\\n (onValueChanged)=\\\"handleUpdateType(item.key, $event.value)\\\"></ax-select-box>\\n </ax-form-field>\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6\\\">\\n <ax-text-box [ngModel]=\\\"item.title\\\"\\n (onValueChanged)=\\\"handleUpdateTitle(item.key, $event.value)\\\"></ax-text-box>\\n </ax-form-field>\\n </div>\\n <div class=\\\"ax-hidden md:ax-block md:ax-col-span-1 md:ax-justify-self-end\\\">\\n <ax-button look=\\\"blank\\\" color=\\\"danger\\\" (onClick)=\\\"handleRemove(item.key)\\\">\\n <ax-prefix><ax-icon class=\\\"fa-light fa-trash-can\\\"></ax-icon></ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n } @else {\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-1 ax-rounded ax-border ax-p-3\\\">\\n <div class=\\\"ax-font-semibold\\\">{{ item.title }}</div>\\n <div class=\\\"ax-col-span-12 ax-text-xs ax-text-muted\\\">{{ item.key }}</div>\\n </div>\\n }\\n } @empty {\\n <div class=\\\"ax-text-sm ax-text-gray-400\\\">{{ '@extra-properties:messages.no-schema-fields' | translate |\\n async\\n }}</div>\\n }\\n\\n @if (mode() === 'edit') {\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-end ax-mt-4 ax-border-t ax-border-dashed ax-pt-4\\\">\\n <!-- Type -->\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-6\\\">\\n <ax-label>{{ '@extra-properties:labels.type' | translate | async }}</ax-label>\\n <ax-select-box [ngModel]=\\\"newTypeId()\\\" [dataSource]=\\\"typeOptions()\\\" valueField=\\\"id\\\"\\n textField=\\\"title\\\" (onValueChanged)=\\\"newTypeChanged($event.value)\\\"></ax-select-box>\\n </ax-form-field>\\n <!-- Title -->\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-6\\\">\\n <ax-label>{{ '@extra-properties:labels.title' | translate | async }}</ax-label>\\n <ax-text-box [ngModel]=\\\"newTitle()\\\"\\n (onValueChanged)=\\\"handleTitleChange($event.value)\\\"></ax-text-box>\\n </ax-form-field>\\n <!-- Add -->\\n <div class=\\\"ax-col-span-12 ax-flex ax-justify-end\\\">\\n <ax-button look=\\\"solid\\\" (onClick)=\\\"handleAdd()\\\" [disabled]=\\\"!canAdd()\\\"\\n text=\\\"{{ '@extra-properties:actions.add-field' | translate | async }}\\\">\\n <ax-prefix><ax-icon class=\\\"fa-solid fa-add\\\"></ax-icon></ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n\\n<!-- Right Panel: widget property viewer for selected item -->\\n<div class=\\\"ax-w-1/3 ax-border ax-rounded ax-h-full ax-flex ax-flex-col ax-lightest-surface\\\">\\n @if (mode() === 'edit' && selectedItem()) {\\n <div class=\\\"ax-p-4 ax-font-semibold ax-border-b ax-lighter-surface\\\">\\n {{selectedItem()?.title}}\\n </div>\\n <div class=\\\"ax-overflow-y-auto ax-flex-1\\\">\\n <axp-widget-property-viewer [widget]=\\\"{ type: selectedItem()!.type, options: selectedItem()!.options }\\\"\\n [mode]=\\\"'advanced'\\\" (onChanged)=\\\"handleViewerChanged($event)\\\" />\\n </div>\\n }\\n @else {\\n <div class=\\\"ax-text-sm ax-text-muted ax-p-4 ax-text-center\\\">{{ '@extra-properties:messages.select-field-to-edit' |\\n translate | async }}</div>\\n }\\n</div>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i2.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i3.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i4.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i5.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i6.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i7.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i7.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: DragDropModule }, { kind: \"directive\", type: i8.CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: i8.CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: i8.CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"component\", type: AXPWidgetPropertyViewerComponent, selector: \"axp-widget-property-viewer\", inputs: [\"widget\", \"mode\"], outputs: [\"onChanged\"] }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesSchemaComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-extra-properties-schema', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXLabelModule,\n AXTextBoxModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n DragDropModule,\n AXTranslationModule,\n AXPWidgetPropertyViewerComponent,\n ], standalone: true, host: {\n class: 'ax-flex ax-flex-1 ax-h-full ax-gap-4 ax-p-4',\n }, template: \"<!-- Left Panel: list/manage properties -->\\n<div class=\\\"ax-flex ax-flex-col ax-gap-3 ax-min-h-0 ax-h-full ax-w-2/3\\\">\\n <div class=\\\"ax-overflow-y-auto ax-min-h-0 ax-h-full ax-pe-2 -ax-me-2\\\">\\n <div cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\" class=\\\"ax-flex ax-flex-col ax-gap-3\\\">\\n @for (item of schema(); track item.key) {\\n @if (mode() === 'edit') {\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center ax-rounded ax-border ax-p-3 ax-cursor-pointer ax-lightest-surface \\\"\\n [class.!ax-lighter-surface]=\\\"item.key === selectedKey()\\\" (click)=\\\"handleSelect(item.key)\\\" cdkDrag\\n [cdkDragDisabled]=\\\"false\\\">\\n <div class=\\\"ax-col-span-12 md:ax-col-span-4 ax-flex ax-items-center ax-gap-3\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-neutral-500\\\"\\n cdkDragHandle></ax-icon>\\n <div>\\n <div class=\\\"ax-font-semibold\\\">{{ item.title }}</div>\\n </div>\\n </div>\\n <div class=\\\"ax-col-span-12 md:ax-col-span-7 ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center\\\">\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6\\\">\\n <ax-select-box [value]=\\\"item.type\\\" [dataSource]=\\\"typeOptions()\\\" valueField=\\\"id\\\"\\n textField=\\\"title\\\"\\n (onValueChanged)=\\\"handleUpdateType(item.key, $event.value)\\\"></ax-select-box>\\n </ax-form-field>\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6\\\">\\n <ax-text-box [ngModel]=\\\"item.title\\\"\\n (onValueChanged)=\\\"handleUpdateTitle(item.key, $event.value)\\\"></ax-text-box>\\n </ax-form-field>\\n </div>\\n <div class=\\\"ax-hidden md:ax-block md:ax-col-span-1 md:ax-justify-self-end\\\">\\n <ax-button look=\\\"blank\\\" color=\\\"danger\\\" (onClick)=\\\"handleRemove(item.key)\\\">\\n <ax-prefix><ax-icon class=\\\"fa-light fa-trash-can\\\"></ax-icon></ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n } @else {\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-1 ax-rounded ax-border ax-p-3\\\">\\n <div class=\\\"ax-font-semibold\\\">{{ item.title }}</div>\\n <div class=\\\"ax-col-span-12 ax-text-xs ax-text-muted\\\">{{ item.key }}</div>\\n </div>\\n }\\n } @empty {\\n <div class=\\\"ax-text-sm ax-text-gray-400\\\">{{ '@extra-properties:messages.no-schema-fields' | translate |\\n async\\n }}</div>\\n }\\n\\n @if (mode() === 'edit') {\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-end ax-mt-4 ax-border-t ax-border-dashed ax-pt-4\\\">\\n <!-- Type -->\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-6\\\">\\n <ax-label>{{ '@extra-properties:labels.type' | translate | async }}</ax-label>\\n <ax-select-box [ngModel]=\\\"newTypeId()\\\" [dataSource]=\\\"typeOptions()\\\" valueField=\\\"id\\\"\\n textField=\\\"title\\\" (onValueChanged)=\\\"newTypeChanged($event.value)\\\"></ax-select-box>\\n </ax-form-field>\\n <!-- Title -->\\n <ax-form-field class=\\\"ax-col-span-12 md:ax-col-span-6 lg:ax-col-span-6\\\">\\n <ax-label>{{ '@extra-properties:labels.title' | translate | async }}</ax-label>\\n <ax-text-box [ngModel]=\\\"newTitle()\\\"\\n (onValueChanged)=\\\"handleTitleChange($event.value)\\\"></ax-text-box>\\n </ax-form-field>\\n <!-- Add -->\\n <div class=\\\"ax-col-span-12 ax-flex ax-justify-end\\\">\\n <ax-button look=\\\"solid\\\" (onClick)=\\\"handleAdd()\\\" [disabled]=\\\"!canAdd()\\\"\\n text=\\\"{{ '@extra-properties:actions.add-field' | translate | async }}\\\">\\n <ax-prefix><ax-icon class=\\\"fa-solid fa-add\\\"></ax-icon></ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n\\n<!-- Right Panel: widget property viewer for selected item -->\\n<div class=\\\"ax-w-1/3 ax-border ax-rounded ax-h-full ax-flex ax-flex-col ax-lightest-surface\\\">\\n @if (mode() === 'edit' && selectedItem()) {\\n <div class=\\\"ax-p-4 ax-font-semibold ax-border-b ax-lighter-surface\\\">\\n {{selectedItem()?.title}}\\n </div>\\n <div class=\\\"ax-overflow-y-auto ax-flex-1\\\">\\n <axp-widget-property-viewer [widget]=\\\"{ type: selectedItem()!.type, options: selectedItem()!.options }\\\"\\n [mode]=\\\"'advanced'\\\" (onChanged)=\\\"handleViewerChanged($event)\\\" />\\n </div>\\n }\\n @else {\\n <div class=\\\"ax-text-sm ax-text-muted ax-p-4 ax-text-center\\\">{{ '@extra-properties:messages.select-field-to-edit' |\\n translate | async }}</div>\\n }\\n</div>\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy1zY2hlbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhLXByb3BlcnRpZXMvZXh0cmEtcHJvcGVydGllcy1zY2hlbWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhLXByb3BlcnRpZXMvZXh0cmEtcHJvcGVydGllcy1zY2hlbWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFB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RixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQUUsQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNwQixDQUFDOzhHQWpKVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx1Y0MvQzlDLHdrS0F1Rk0sMkNEekRGLFlBQVksOEJBQ1osV0FBVyw4VkFDWCxZQUFZLHNJQUNaLGFBQWEsZ0tBQ2IsZUFBZSxxYkFDZixpQkFBaUIsK3JCQUNqQixjQUFjLDZYQUNkLGlCQUFpQixzVkFDakIsY0FBYyxtb0NBQ2QsbUJBQW1CLCtCQUNuQixnQ0FBZ0M7OzJGQU92QixpQ0FBaUM7a0JBdEI3QyxTQUFTOytCQUNFLDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGdDQUFnQztxQkFDakMsY0FDVyxJQUFJLFFBQ1Y7d0JBQ0osS0FBSyxFQUFFLDZDQUE2QztxQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlLCBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2FtZWxDYXNlLCBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQX0VYVFJBX1BST1BFUlRZX1RZUEVTLCBBWFBFeHRyYVByb3BlcnR5U2NoZW1hSXRlbSwgQVhQRXh0cmFQcm9wZXJ0eVR5cGUgfSBmcm9tICcuL2V4dHJhLXByb3BlcnRpZXMudHlwZXMnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9wZXJ0eS12aWV3ZXIvd2lkZ2V0LXByb3BlcnR5LXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSwgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtZXh0cmEtcHJvcGVydGllcy1zY2hlbWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXh0cmEtcHJvcGVydGllcy1zY2hlbWEuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXgtZmxleCBheC1mbGV4LTEgYXgtaC1mdWxsIGF4LWdhcC00IGF4LXAtNCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEV4dHJhUHJvcGVydGllc1NjaGVtYUNvbXBvbmVudCB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXRzICAgLS0tLVxuXG4gIHNjaGVtYSA9IGlucHV0PEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtW10+KFtdKTtcbiAgbW9kZSA9IGlucHV0PCdlZGl0JyB8ICd2aWV3Jz4oJ2VkaXQnKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIE91dHB1dHMgICAtLS0tXG5cbiAgc2NoZW1hQ2hhbmdlID0gb3V0cHV0PEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtW10+KCk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVkVHlwZXMgPSBpbmplY3QoQVhQX0VYVFJBX1BST1BFUlRZX1RZUEVTLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDbGFzcyBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBuZXdUaXRsZTogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnJyk7XG4gIHByb3RlY3RlZCBuZXdUeXBlSWQ6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz4gPSBzaWduYWwoJycpO1xuXG4gIHByb3RlY3RlZCB0eXBlT3B0aW9ucyA9IGNvbXB1dGVkPEFYUEV4dHJhUHJvcGVydHlUeXBlW10+KCgpID0+IHRoaXMucHJvdmlkZWRUeXBlcyk7XG5cblxuICBwcm90ZWN0ZWQgY2FuQWRkID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5uZXdUaXRsZSgpPy50cmltKCk7XG4gICAgY29uc3QgdHlwZUlkID0gdGhpcy5uZXdUeXBlSWQoKTtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmRlcml2ZUtleSh0aXRsZSk7XG4gICAgaWYgKCFrZXkgfHwgIXRpdGxlIHx8ICF0eXBlSWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIXRoaXMuc2NoZW1hKCkuc29tZSgoaSkgPT4gaS5rZXkgPT09IGtleSk7XG4gIH0pO1xuXG4gIC8vIFNlbGVjdGlvbiBzdGF0ZSBmb3IgcmlnaHQgcGFuZWwgZWRpdG9yXG4gIHByb3RlY3RlZCBzZWxlY3RlZEtleSA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSXRlbSA9IGNvbXB1dGVkPEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtIHwgbnVsbD4oKCkgPT5cbiAgICB0aGlzLnNjaGVtYSgpLmZpbmQoKGkpID0+IGkua2V5ID09PSB0aGlzLnNlbGVjdGVkS2V5KCkpID8/IG51bGwsXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gQXV0by1zZWxlY3QgZmlyc3QgaXRlbSB3aGVuIHNjaGVtYSBjaGFuZ2VzIG9yIGN1cnJlbnQgc2VsZWN0aW9uIHJlbW92ZWRcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnNjaGVtYSgpO1xuICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VsZWN0ZWRLZXkoKTtcbiAgICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB0aGlzLnNlbGVjdGVkS2V5LnNldChudWxsKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKCFjdXJyZW50IHx8ICFpdGVtcy5zb21lKChpKSA9PiBpLmtleSA9PT0gY3VycmVudCkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEtleS5zZXQoaXRlbXNbMF0ua2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVXRpbGl0eSBNZXRob2RzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBZGQoKSB7XG4gICAgaWYgKCF0aGlzLmNhbkFkZCgpKSByZXR1cm47XG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZU9wdGlvbnMoKS5maW5kKCh0KSA9PiB0LmlkID09PSB0aGlzLm5ld1R5cGVJZCgpKTtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMubmV3VGl0bGUoKS50cmltKCk7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5kZXJpdmVLZXkodGl0bGUpO1xuICAgIGNvbnN0IG5leHQ6IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtID0ge1xuICAgICAga2V5LFxuICAgICAgdGl0bGUsXG4gICAgICB0eXBlOiB0aGlzLm5ld1R5cGVJZCgpLFxuICAgICAgb3B0aW9uczogY2xvbmVEZWVwKHR5cGU/LmRlZmF1bHRPcHRpb25zID8/IHt9KSxcbiAgICB9O1xuICAgIGNvbnN0IHVwZGF0ZWQgPSBbLi4udGhpcy5zY2hlbWEoKSwgbmV4dF07XG4gICAgdGhpcy5zY2hlbWFDaGFuZ2UuZW1pdCh1cGRhdGVkKTtcbiAgICB0aGlzLm5ld1RpdGxlLnNldCgnJyk7XG4gICAgdGhpcy5uZXdUeXBlSWQuc2V0KCcnKTtcbiAgICAvLyBzZWxlY3QgbmV3bHkgYWRkZWQgaXRlbVxuICAgIHRoaXMuc2VsZWN0ZWRLZXkuc2V0KGtleSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVtb3ZlKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgdXBkYXRlZCA9IHRoaXMuc2NoZW1hKCkuZmlsdGVyKChpKSA9PiBpLmtleSAhPT0ga2V5KTtcbiAgICB0aGlzLnNjaGVtYUNoYW5nZS5lbWl0KHVwZGF0ZWQpO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkS2V5KCkgPT09IGtleSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEtleS5zZXQodXBkYXRlZC5sZW5ndGggPyB1cGRhdGVkWzBdLmtleSA6IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxBWFBFeHRyYVByb3BlcnR5U2NoZW1hSXRlbVtdPikge1xuICAgIGNvbnN0IGFyciA9IFsuLi50aGlzLnNjaGVtYSgpXTtcbiAgICBtb3ZlSXRlbUluQXJyYXkoYXJyLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuc2NoZW1hQ2hhbmdlLmVtaXQoYXJyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVVcGRhdGVUaXRsZShrZXk6IHN0cmluZywgdGl0bGU6IHN0cmluZykge1xuICAgIGNvbnN0IHVwZGF0ZWQgPSB0aGlzLnNjaGVtYSgpLm1hcCgoaXQpID0+IChpdC5rZXkgPT09IGtleSA/IHsgLi4uaXQsIHRpdGxlIH0gOiBpdCkpO1xuICAgIHRoaXMuc2NoZW1hQ2hhbmdlLmVtaXQodXBkYXRlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVXBkYXRlVHlwZShrZXk6IHN0cmluZywgdHlwZUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy50eXBlT3B0aW9ucygpLmZpbmQoKHQpID0+IHQuaWQgPT09IHR5cGVJZCk7XG4gICAgY29uc3QgdXBkYXRlZCA9IHRoaXMuc2NoZW1hKCkubWFwKChpdCkgPT5cbiAgICAgIGl0LmtleSA9PT0ga2V5ID8geyAuLi5pdCwgdHlwZTogdHlwZUlkLCBvcHRpb25zOiBjbG9uZURlZXAodHlwZT8uZGVmYXVsdE9wdGlvbnMgPz8ge30pIH0gOiBpdCxcbiAgICApO1xuICAgIHRoaXMuc2NoZW1hQ2hhbmdlLmVtaXQodXBkYXRlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV3VHlwZUNoYW5nZWQodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5ld1R5cGVJZC5zZXQodmFsKTtcbiAgICBjb25zdCB0ID0gdGhpcy50eXBlT3B0aW9ucygpLmZpbmQoKHgpID0+IHguaWQgPT09IHZhbCk7XG4gICAgaWYgKHQpIHtcbiAgICAgIGNvbnN0IGF1dG9UaXRsZSA9IHQudGl0bGUgPz8gdmFsO1xuICAgICAgaWYgKCF0aGlzLm5ld1RpdGxlKCk/LnRyaW0oKSkgdGhpcy5uZXdUaXRsZS5zZXQoYXV0b1RpdGxlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVGl0bGVDaGFuZ2UodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5ld1RpdGxlLnNldCh2YWwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNlbGVjdChrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRLZXkuc2V0KGtleSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVmlld2VyQ2hhbmdlZChlOiB7IHZhbHVlczogYW55OyBtb2RlOiAnaW5pdCcgfCAndXBkYXRlJyB9KSB7XG4gICAgLy8gSWdub3JlIGluaXRpYWwgZW1pc3Npb25zIHRvIHByZXZlbnQgY2hhbmdlIGRldGVjdGlvbiBsb29wc1xuICAgIGlmIChlPy5tb2RlID09PSAnaW5pdCcpIHJldHVybjtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnNlbGVjdGVkS2V5KCk7XG4gICAgaWYgKCFrZXkpIHJldHVybjtcbiAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGU/LnZhbHVlcz8ub3B0aW9ucyA/PyB7fTtcbiAgICBjb25zdCB1cGRhdGVkID0gdGhpcy5zY2hlbWEoKS5tYXAoKGl0KSA9PiAoaXQua2V5ID09PSBrZXkgPyB7IC4uLml0LCBvcHRpb25zOiBjbG9uZURlZXAobmV4dE9wdGlvbnMpIH0gOiBpdCkpO1xuICAgIHRoaXMuc2NoZW1hQ2hhbmdlLmVtaXQodXBkYXRlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVyaXZlS2V5KGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaW5wdXQpIHJldHVybiAnJztcbiAgICBsZXQgayA9IGNhbWVsQ2FzZShTdHJpbmcoaW5wdXQpKTtcbiAgICBrID0gay5yZXBsYWNlKC9bXmEtekEtWjAtOV9dL2csICcnKTtcbiAgICBpZiAoIS9eW2EtekEtWl9dLy50ZXN0KGspKSBrID0gYF8ke2t9YDtcbiAgICBjb25zdCBleGlzdHMgPSAoY2FuZGlkYXRlOiBzdHJpbmcpID0+IHRoaXMuc2NoZW1hKCkuc29tZSgoaSkgPT4gaS5rZXkgPT09IGNhbmRpZGF0ZSk7XG4gICAgaWYgKCFleGlzdHMoaykpIHJldHVybiBrO1xuICAgIGxldCBpID0gMTtcbiAgICB3aGlsZSAoZXhpc3RzKGAke2t9JHtpfWApKSBpKys7XG4gICAgcmV0dXJuIGAke2t9JHtpfWA7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cblxuXG4iLCI8IS0tIExlZnQgUGFuZWw6IGxpc3QvbWFuYWdlIHByb3BlcnRpZXMgLS0+XG48ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC1taW4taC0wIGF4LWgtZnVsbCBheC13LTIvM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVyZmxvdy15LWF1dG8gYXgtbWluLWgtMCBheC1oLWZ1bGwgYXgtcGUtMiAtYXgtbWUtMlwiPlxuICAgICAgICA8ZGl2IGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCIgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0zXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIHNjaGVtYSgpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgQGlmIChtb2RlKCkgPT09ICdlZGl0Jykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEyIGF4LWdhcC00IGF4LWl0ZW1zLWNlbnRlciBheC1yb3VuZGVkIGF4LWJvcmRlciBheC1wLTMgYXgtY3Vyc29yLXBvaW50ZXIgYXgtbGlnaHRlc3Qtc3VyZmFjZSBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy4hYXgtbGlnaHRlci1zdXJmYWNlXT1cIml0ZW0ua2V5ID09PSBzZWxlY3RlZEtleSgpXCIgKGNsaWNrKT1cImhhbmRsZVNlbGVjdChpdGVtLmtleSlcIiBjZGtEcmFnXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi00IGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlIGF4LXRleHQtbmV1dHJhbC01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2RrRHJhZ0hhbmRsZT48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IGl0ZW0udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIG1kOmF4LWNvbC1zcGFuLTcgYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTQgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkIGNsYXNzPVwiYXgtY29sLXNwYW4tMTIgbWQ6YXgtY29sLXNwYW4tNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggW3ZhbHVlXT1cIml0ZW0udHlwZVwiIFtkYXRhU291cmNlXT1cInR5cGVPcHRpb25zKClcIiB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVXBkYXRlVHlwZShpdGVtLmtleSwgJGV2ZW50LnZhbHVlKVwiPjwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZCBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIG1kOmF4LWNvbC1zcGFuLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCBbbmdNb2RlbF09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVXBkYXRlVGl0bGUoaXRlbS5rZXksICRldmVudC52YWx1ZSlcIj48L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWhpZGRlbiBtZDpheC1ibG9jayBtZDpheC1jb2wtc3Bhbi0xIG1kOmF4LWp1c3RpZnktc2VsZi1lbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwiYmxhbmtcIiBjb2xvcj1cImRhbmdlclwiIChvbkNsaWNrKT1cImhhbmRsZVJlbW92ZShpdGVtLmtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+PGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS10cmFzaC1jYW5cIj48L2F4LWljb24+PC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtMSBheC1yb3VuZGVkIGF4LWJvcmRlciBheC1wLTNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IGl0ZW0udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sLXNwYW4tMTIgYXgtdGV4dC14cyBheC10ZXh0LW11dGVkXCI+e3sgaXRlbS5rZXkgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZW1wdHkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1ncmF5LTQwMFwiPnt7ICdAZXh0cmEtcHJvcGVydGllczptZXNzYWdlcy5uby1zY2hlbWEtZmllbGRzJyB8IHRyYW5zbGF0ZSB8XG4gICAgICAgICAgICAgICAgYXN5bmNcbiAgICAgICAgICAgICAgICB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKG1vZGUoKSA9PT0gJ2VkaXQnKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTQgYXgtaXRlbXMtZW5kIGF4LW10LTQgYXgtYm9yZGVyLXQgYXgtYm9yZGVyLWRhc2hlZCBheC1wdC00XCI+XG4gICAgICAgICAgICAgICAgPCEtLSBUeXBlIC0tPlxuICAgICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkIGNsYXNzPVwiYXgtY29sLXNwYW4tMTIgbWQ6YXgtY29sLXNwYW4tNiBsZzpheC1jb2wtc3Bhbi02XCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyAnQGV4dHJhLXByb3BlcnRpZXM6bGFiZWxzLnR5cGUnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCBbbmdNb2RlbF09XCJuZXdUeXBlSWQoKVwiIFtkYXRhU291cmNlXT1cInR5cGVPcHRpb25zKClcIiB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwidGl0bGVcIiAob25WYWx1ZUNoYW5nZWQpPVwibmV3VHlwZUNoYW5nZWQoJGV2ZW50LnZhbHVlKVwiPjwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPCEtLSBUaXRsZSAtLT5cbiAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZCBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIG1kOmF4LWNvbC1zcGFuLTYgbGc6YXgtY29sLXNwYW4tNlwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ0BleHRyYS1wcm9wZXJ0aWVzOmxhYmVscy50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCBbbmdNb2RlbF09XCJuZXdUaXRsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVUaXRsZUNoYW5nZSgkZXZlbnQudmFsdWUpXCI+PC9heC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPCEtLSBBZGQgLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIGF4LWZsZXggYXgtanVzdGlmeS1lbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiAob25DbGljayk9XCJoYW5kbGVBZGQoKVwiIFtkaXNhYmxlZF09XCIhY2FuQWRkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD1cInt7ICdAZXh0cmEtcHJvcGVydGllczphY3Rpb25zLmFkZC1maWVsZCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD48YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWFkZFwiPjwvYXgtaWNvbj48L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBSaWdodCBQYW5lbDogd2lkZ2V0IHByb3BlcnR5IHZpZXdlciBmb3Igc2VsZWN0ZWQgaXRlbSAtLT5cbjxkaXYgY2xhc3M9XCJheC13LTEvMyBheC1ib3JkZXIgYXgtcm91bmRlZCAgYXgtaC1mdWxsIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtbGlnaHRlc3Qtc3VyZmFjZVwiPlxuICAgIEBpZiAobW9kZSgpID09PSAnZWRpdCcgJiYgc2VsZWN0ZWRJdGVtKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtcC00IGF4LWZvbnQtc2VtaWJvbGQgYXgtYm9yZGVyLWIgYXgtbGlnaHRlci1zdXJmYWNlXCI+XG4gICAgICAgIHt7c2VsZWN0ZWRJdGVtKCk/LnRpdGxlfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmZsb3cteS1hdXRvICBheC1mbGV4LTFcIj5cbiAgICAgICAgPGF4cC13aWRnZXQtcHJvcGVydHktdmlld2VyIFt3aWRnZXRdPVwieyB0eXBlOiBzZWxlY3RlZEl0ZW0oKSEudHlwZSwgb3B0aW9uczogc2VsZWN0ZWRJdGVtKCkhLm9wdGlvbnMgfVwiXG4gICAgICAgICAgICBbbW9kZV09XCInYWR2YW5jZWQnXCIgKG9uQ2hhbmdlZCk9XCJoYW5kbGVWaWV3ZXJDaGFuZ2VkKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1tdXRlZCBheC1wLTQgYXgtdGV4dC1jZW50ZXJcIj57eyAnQGV4dHJhLXByb3BlcnRpZXM6bWVzc2FnZXMuc2VsZWN0LWZpZWxkLXRvLWVkaXQnIHxcbiAgICAgICAgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2Rpdj5cbiAgICB9XG48L2Rpdj4iXX0=","import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, output, signal, } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/layout/builder\";\nimport * as i2 from \"@acorex/components/form\";\nimport * as i3 from \"@acorex/components/label\";\nexport class AXPExtraPropertiesValuesComponent {\n constructor() {\n //#region ---- Inputs ----\n this.schema = input([], ...(ngDevMode ? [{ debugName: \"schema\" }] : []));\n this.values = input({}, ...(ngDevMode ? [{ debugName: \"values\" }] : []));\n this.mode = input('edit', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n //#endregion\n //#region ---- Outputs ----\n this.valuesChange = output();\n //#endregion\n //#region ---- Outputs ----\n this.isRequired = (item) => {\n return item.options?.['validations']?.['required'] ?? false;\n };\n //#endregion\n //#region ---- Class Properties ----\n this.internalContext = signal({}, ...(ngDevMode ? [{ debugName: \"internalContext\" }] : []));\n this.nodeCache = {};\n this.lastTypeByKey = {};\n //#endregion\n //#region ---- Effects ----\n this.syncContextFromInputs = effect(() => {\n const schema = this.schema();\n const vals = this.values();\n const current = this.internalContext();\n const currentExtra = current['extra'] ?? {};\n const extra = {};\n for (const s of schema) {\n const v = vals[s.key];\n if (v !== undefined && v !== null)\n extra[s.key] = v;\n }\n const nextContext = { ...current, extra };\n if (!isEqual(nextContext, current)) {\n this.internalContext.set(nextContext);\n }\n }, ...(ngDevMode ? [{ debugName: \"syncContextFromInputs\" }] : []));\n this.clearOnSchemaTypeChange = effect(() => {\n const schema = this.schema();\n const changedKeys = new Set();\n for (const s of schema) {\n const prev = this.lastTypeByKey[s.key];\n if (prev && prev !== s.type)\n changedKeys.add(s.key);\n this.lastTypeByKey[s.key] = s.type;\n }\n if (changedKeys.size > 0) {\n const next = { ...this.values() };\n changedKeys.forEach((k) => delete next[k]);\n // reset cached node defaults\n changedKeys.forEach((k) => {\n const node = this.nodeCache[k];\n if (node)\n node.defaultValue = undefined;\n });\n this.valuesChange.emit(next);\n }\n }, ...(ngDevMode ? [{ debugName: \"clearOnSchemaTypeChange\" }] : []));\n }\n //#endregion\n //#region ---- Event Handlers ----\n onContextChanged(event) {\n if (event.state === 'initiated')\n return;\n const data = (event.data ?? {});\n const extra = data['extra'] ?? {};\n const nextValues = {};\n for (const s of this.schema()) {\n if (Object.prototype.hasOwnProperty.call(extra, s.key)) {\n nextValues[s.key] = extra[s.key];\n }\n }\n const currentValues = this.values();\n if (!isEqual(currentValues, nextValues)) {\n this.valuesChange.emit(nextValues);\n }\n }\n //#endregion\n //#region ---- Utility Methods ----\n getNode(item) {\n const key = item.key;\n let node = this.nodeCache[key];\n if (!node) {\n node = {\n type: item.type,\n path: `extra.${item.key}`,\n options: item.options ?? {},\n defaultValue: this.values()[item.key],\n };\n this.nodeCache[key] = node;\n }\n else {\n // Keep reference stable; update nested fields if essential changes happen\n node.type = item.type;\n node.options = item.options ?? node.options;\n // Do not overwrite defaultValue during editing to avoid resets\n }\n return node;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesValuesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPExtraPropertiesValuesComponent, isStandalone: true, selector: \"axp-extra-properties-values\", inputs: { schema: { classPropertyName: \"schema\", publicName: \"schema\", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: \"values\", publicName: \"values\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valuesChange: \"valuesChange\" }, host: { classAttribute: \"ax-block ax-flex-1\" }, ngImport: i0, template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"internalContext()\" (onContextChanged)=\"onContextChanged($event)\">\n <div class=\"ax-col-span-12 ax-flex ax-flex-col ax-gap-3\">\n @for(item of schema(); track item.key){\n @if(mode()==='edit'){\n <ax-form-field>\n <ax-label [required]=\"isRequired(item)\">{{item.title}}</ax-label>\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </ax-form-field>\n } @else {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-1\">\n <div class=\"ax-font-semibold\">{{item.title}}</div>\n <div class=\"ax-col-span-12 ax-text-muted\">\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'view'\"\n ></ng-container>\n </div>\n </div>\n }\n }\n </div>\n </axp-widgets-container>\n </div>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i1.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i1.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i2.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i3.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesValuesComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axp-extra-properties-values',\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"internalContext()\" (onContextChanged)=\"onContextChanged($event)\">\n <div class=\"ax-col-span-12 ax-flex ax-flex-col ax-gap-3\">\n @for(item of schema(); track item.key){\n @if(mode()==='edit'){\n <ax-form-field>\n <ax-label [required]=\"isRequired(item)\">{{item.title}}</ax-label>\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </ax-form-field>\n } @else {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-1\">\n <div class=\"ax-font-semibold\">{{item.title}}</div>\n <div class=\"ax-col-span-12 ax-text-muted\">\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(item)\"\n [mode]=\"'view'\"\n ></ng-container>\n </div>\n </div>\n }\n }\n </div>\n </axp-widgets-container>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXFormModule, AXLabelModule],\n standalone: true,\n host: {\n class: 'ax-block ax-flex-1',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2V4dHJhLXByb3BlcnRpZXMvZXh0cmEtcHJvcGVydGllcy12YWx1ZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBOEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNySCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUEwQ3pELE1BQU0sT0FBTyxpQ0FBaUM7SUF4QzlDO1FBeUNFLDhCQUE4QjtRQUU5QixXQUFNLEdBQUcsS0FBSyxDQUErQixFQUFFLGtEQUFDLENBQUM7UUFDakQsV0FBTSxHQUFHLEtBQUssQ0FBc0IsRUFBRSxrREFBQyxDQUFDO1FBQ3hDLFNBQUksR0FBRyxLQUFLLENBQWtCLE1BQU0sZ0RBQUMsQ0FBQztRQUV0QyxZQUFZO1FBRVosK0JBQStCO1FBRS9CLGlCQUFZLEdBQUcsTUFBTSxFQUF1QixDQUFDO1FBRTdDLFlBQVk7UUFFWiwrQkFBK0I7UUFFL0IsZUFBVSxHQUFHLENBQUMsSUFBZ0MsRUFBRSxFQUFFO1lBQ2hELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElB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WSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ3JCLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTiwwRUFBMEU7WUFDMUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzVDLCtEQUErRDtRQUNqRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQWhIVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx5aUJBdENsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJULDJEQUVTLFlBQVksOEJBQUUsc0JBQXNCLDhaQUFFLFlBQVksc0lBQUUsYUFBYTs7MkZBTWhFLGlDQUFpQztrQkF4QzdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUM1RSxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50LCBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWFBFeHRyYVByb3BlcnR5U2NoZW1hSXRlbSB9IGZyb20gJy4vZXh0cmEtcHJvcGVydGllcy50eXBlcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLWV4dHJhLXByb3BlcnRpZXMtdmFsdWVzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgIDxheHAtd2lkZ2V0cy1jb250YWluZXIgW2NvbnRleHRdPVwiaW50ZXJuYWxDb250ZXh0KClcIiAob25Db250ZXh0Q2hhbmdlZCk9XCJvbkNvbnRleHRDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTNcIj5cbiAgICAgICAgICBAZm9yKGl0ZW0gb2Ygc2NoZW1hKCk7IHRyYWNrIGl0ZW0ua2V5KXtcbiAgICAgICAgICAgIEBpZihtb2RlKCk9PT0nZWRpdCcpe1xuICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8YXgtbGFiZWwgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoaXRlbSlcIj57e2l0ZW0udGl0bGV9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgIFtub2RlXT1cImdldE5vZGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCInZWRpdCdcIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEyIGF4LWdhcC0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57e2l0ZW0udGl0bGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC10ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGF4cC13aWRnZXQtcmVuZGVyZXJcbiAgICAgICAgICAgICAgICAgICAgW25vZGVdPVwiZ2V0Tm9kZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIid2aWV3J1wiXG4gICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYRm9ybU1vZHVsZSwgQVhMYWJlbE1vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F4LWJsb2NrIGF4LWZsZXgtMScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEV4dHJhUHJvcGVydGllc1ZhbHVlc0NvbXBvbmVudCB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXRzICAgLS0tLVxuXG4gIHNjaGVtYSA9IGlucHV0PEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtW10+KFtdKTtcbiAgdmFsdWVzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oe30pO1xuICBtb2RlID0gaW5wdXQ8J2VkaXQnIHwgJ3ZpZXcnPignZWRpdCcpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0cyAgIC0tLS1cblxuICB2YWx1ZXNDaGFuZ2UgPSBvdXRwdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIE91dHB1dHMgICAtLS0tXG5cbiAgaXNSZXF1aXJlZCA9IChpdGVtOiBBWFBFeHRyYVByb3BlcnR5U2NoZW1hSXRlbSkgPT4ge1xuICAgIHJldHVybiBpdGVtLm9wdGlvbnM/LlsndmFsaWRhdGlvbnMnXT8uWydyZXF1aXJlZCddID8/IGZhbHNlO1xuICB9O1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ2xhc3MgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgaW50ZXJuYWxDb250ZXh0ID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcblxuICBwcml2YXRlIG5vZGVDYWNoZTogUmVjb3JkPHN0cmluZywgQVhQV2lkZ2V0Tm9kZT4gPSB7fTtcbiAgcHJpdmF0ZSBsYXN0VHlwZUJ5S2V5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb25Db250ZXh0Q2hhbmdlZChldmVudDogQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50KSB7XG4gICAgaWYgKChldmVudCBhcyBhbnkpLnN0YXRlID09PSAnaW5pdGlhdGVkJykgcmV0dXJuO1xuICAgIGNvbnN0IGRhdGEgPSAoZXZlbnQuZGF0YSA/PyB7fSkgYXMgYW55O1xuICAgIGNvbnN0IGV4dHJhID0gZGF0YVsnZXh0cmEnXSA/PyB7fTtcbiAgICBjb25zdCBuZXh0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBzIG9mIHRoaXMuc2NoZW1hKCkpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXh0cmEsIHMua2V5KSkge1xuICAgICAgICBuZXh0VmFsdWVzW3Mua2V5XSA9IGV4dHJhW3Mua2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY3VycmVudFZhbHVlcyA9IHRoaXMudmFsdWVzKCk7XG4gICAgaWYgKCFpc0VxdWFsKGN1cnJlbnRWYWx1ZXMsIG5leHRWYWx1ZXMpKSB7XG4gICAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KG5leHRWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRWZmZWN0cyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IHN5bmNDb250ZXh0RnJvbUlucHV0cyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2NoZW1hID0gdGhpcy5zY2hlbWEoKTtcbiAgICBjb25zdCB2YWxzID0gdGhpcy52YWx1ZXMoKTtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5pbnRlcm5hbENvbnRleHQoKTtcbiAgICBjb25zdCBjdXJyZW50RXh0cmEgPSAoY3VycmVudCBhcyBhbnkpWydleHRyYSddID8/IHt9O1xuICAgIGNvbnN0IGV4dHJhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBzIG9mIHNjaGVtYSkge1xuICAgICAgY29uc3QgdiA9IHZhbHNbcy5rZXldO1xuICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSBudWxsKSBleHRyYVtzLmtleV0gPSB2O1xuICAgIH1cbiAgICBjb25zdCBuZXh0Q29udGV4dCA9IHsgLi4uY3VycmVudCwgZXh0cmEgfTtcbiAgICBpZiAoIWlzRXF1YWwobmV4dENvbnRleHQsIGN1cnJlbnQpKSB7XG4gICAgICB0aGlzLmludGVybmFsQ29udGV4dC5zZXQobmV4dENvbnRleHQpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjbGVhck9uU2NoZW1hVHlwZUNoYW5nZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2NoZW1hID0gdGhpcy5zY2hlbWEoKTtcbiAgICBjb25zdCBjaGFuZ2VkS2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGZvciAoY29uc3QgcyBvZiBzY2hlbWEpIHtcbiAgICAgIGNvbnN0IHByZXYgPSB0aGlzLmxhc3RUeXBlQnlLZXlbcy5rZXldO1xuICAgICAgaWYgKHByZXYgJiYgcHJldiAhPT0gcy50eXBlKSBjaGFuZ2VkS2V5cy5hZGQocy5rZXkpO1xuICAgICAgdGhpcy5sYXN0VHlwZUJ5S2V5W3Mua2V5XSA9IHMudHlwZTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRLZXlzLnNpemUgPiAwKSB7XG4gICAgICBjb25zdCBuZXh0ID0geyAuLi50aGlzLnZhbHVlcygpIH07XG4gICAgICBjaGFuZ2VkS2V5cy5mb3JFYWNoKChrKSA9PiBkZWxldGUgbmV4dFtrXSk7XG4gICAgICAvLyByZXNldCBjYWNoZWQgbm9kZSBkZWZhdWx0c1xuICAgICAgY2hhbmdlZEtleXMuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlQ2FjaGVba107XG4gICAgICAgIGlmIChub2RlKSAobm9kZSBhcyBhbnkpLmRlZmF1bHRWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICAgICAgdGhpcy52YWx1ZXNDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVXRpbGl0eSBNZXRob2RzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBnZXROb2RlKGl0ZW06IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtKTogQVhQV2lkZ2V0Tm9kZSB7XG4gICAgY29uc3Qga2V5ID0gaXRlbS5rZXk7XG4gICAgbGV0IG5vZGUgPSB0aGlzLm5vZGVDYWNoZVtrZXldO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgbm9kZSA9IHtcbiAgICAgICAgdHlwZTogaXRlbS50eXBlLFxuICAgICAgICBwYXRoOiBgZXh0cmEuJHtpdGVtLmtleX1gLFxuICAgICAgICBvcHRpb25zOiBpdGVtLm9wdGlvbnMgPz8ge30sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy52YWx1ZXMoKVtpdGVtLmtleV0sXG4gICAgICB9IGFzIEFYUFdpZGdldE5vZGU7XG4gICAgICB0aGlzLm5vZGVDYWNoZVtrZXldID0gbm9kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gS2VlcCByZWZlcmVuY2Ugc3RhYmxlOyB1cGRhdGUgbmVzdGVkIGZpZWxkcyBpZiBlc3NlbnRpYWwgY2hhbmdlcyBoYXBwZW5cbiAgICAgIG5vZGUudHlwZSA9IGl0ZW0udHlwZTtcbiAgICAgIG5vZGUub3B0aW9ucyA9IGl0ZW0ub3B0aW9ucyA/PyBub2RlLm9wdGlvbnM7XG4gICAgICAvLyBEbyBub3Qgb3ZlcndyaXRlIGRlZmF1bHRWYWx1ZSBkdXJpbmcgZWRpdGluZyB0byBhdm9pZCByZXNldHNcbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cblxuXG4iXX0=","import { AXListNavigationModule } from '@acorex/cdk/list-navigation';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTagBoxModule } from '@acorex/components/tag-box';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { ALL_DEFAULT_OPERATORS, AXPFilterOperatorMiddlewareService } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, input, linkedSignal, output, QueryList, signal, untracked, viewChild, ViewChildren, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { isEqual } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/popover\";\nimport * as i5 from \"@acorex/components/tag-box\";\nimport * as i6 from \"@acorex/platform/layout/builder\";\nimport * as i7 from \"@acorex/cdk/list-navigation\";\nimport * as i8 from \"@acorex/components/badge\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"@acorex/core/translation\";\nexport class AXPQueryFiltersComponent {\n constructor() {\n this.translate = inject(AXTranslationService);\n this.calendarService = inject(AXCalendarService);\n this.filterOperatorMiddleware = inject(AXPFilterOperatorMiddlewareService);\n this.filtersDefinitions = input([], ...(ngDevMode ? [{ debugName: \"filtersDefinitions\" }] : []));\n this.initialFilters = input([], ...(ngDevMode ? [{ debugName: \"initialFilters\" }] : []));\n this.onFiltersChanged = output();\n this.tagBox = viewChild('tagBox', ...(ngDevMode ? [{ debugName: \"tagBox\" }] : []));\n this.selectedField = signal(null, ...(ngDevMode ? [{ debugName: \"selectedField\" }] : []));\n this.selectedFilters = linkedSignal(() => this.convertQueriesToDefinitions(this.initialFilters()), {\n equal: isEqual,\n });\n this.context = linkedSignal(() => this.convertQueriesToContext(this.initialFilters()));\n this.activeFilter = signal(null, ...(ngDevMode ? [{ debugName: \"activeFilter\" }] : []));\n this.asyncTags = signal([], ...(ngDevMode ? [{ debugName: \"asyncTags\" }] : []));\n this.popover = viewChild('popover', ...(ngDevMode ? [{ debugName: \"popover\" }] : []));\n this.inputValue = signal('', ...(ngDevMode ? [{ debugName: \"inputValue\" }] : []));\n this.inlineFilters = () => {\n return this.filtersDefinitions().filter((f) => f.filterType.inline &&\n !this.filterOperatorMiddleware\n .transformFilters(this.selectedFilters())\n .some((sf) => sf.field === f.field &&\n sf.operator?.type === (this.context()[sf.field]?.operation?.type || f.operator?.type)));\n };\n this.getDisplayValue = async (filter, val) => {\n if (filter.widget?.type === 'select-editor' || filter.widget?.type === 'select-filter') {\n const dataSource = filter.widget.options?.['dataSource'];\n const textField = filter.widget.options?.['textField'];\n const valueField = filter.widget.options?.['valueField'];\n if (dataSource?.config?.byKey) {\n if (Array.isArray(val)) {\n const results = await Promise.all(val.map((v) => dataSource.config.byKey(v)));\n return results.map((data) => data[textField]).join(', ');\n }\n else {\n const data = (await dataSource.config.byKey(val));\n return data?.[textField] || val;\n }\n }\n else if (Array.isArray(dataSource)) {\n if (Array.isArray(val)) {\n return dataSource.map((data) => data[textField]).join(', ');\n }\n else {\n const record = dataSource.find((d) => d[valueField] === val);\n return record ? record[textField] : '';\n }\n }\n }\n return typeof val === 'object' && !Array.isArray(val)\n ? `${this.convertIfISOStringDate(val.from)} and ${this.convertIfISOStringDate(val.to)}`\n : this.convertIfISOStringDate(val);\n };\n this.convertIfISOStringDate = (val) => {\n const isISOStringDate = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(val);\n if (isISOStringDate) {\n return this.calendarService.convert(val).date.toLocaleDateString();\n }\n return val;\n };\n this.filterFields = () => {\n return this.filtersDefinitions().filter((f) => {\n return (f.filterType.advance &&\n !this.selectedFilters().some((sf) => {\n return sf.field === f.field;\n }));\n });\n };\n this.#effect = effect(() => {\n const context = untracked(() => this.context());\n const selectedFilters = this.selectedFilters();\n untracked(() => {\n const convertedFilters = selectedFilters.map((f) => ({\n field: f.field,\n operator: context[f.field]?.operation,\n value: context[f.field]?.value,\n hidden: f.hidden,\n }));\n const newContext = {};\n convertedFilters.forEach((cf) => {\n newContext[cf.field] = {\n value: cf.value,\n operation: typeof cf.operator === 'string' ? { type: cf.operator } : cf.operator,\n };\n });\n this.context.set(newContext);\n this.deactivateAllListItems();\n this.onFiltersChanged.emit(convertedFilters);\n });\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n this.#effect2 = effect(() => {\n const filters = this.selectedFilters();\n const context = this.context();\n Promise.all(filters.map(async (filter) => {\n const val = context[filter.field]?.value;\n const displayValue = await this.getDisplayValue(filter, val);\n return {\n ...filter,\n query: `${this.translate.translateSync(filter.title)} ${this.getActiveOperator(filter)} '${displayValue}'`,\n };\n })).then((results) => {\n this.asyncTags.set(results.filter((r) => !r.hidden));\n });\n }, ...(ngDevMode ? [{ debugName: \"#effect2\" }] : []));\n }\n convertQueriesToDefinitions(queries) {\n const definitions = this.filtersDefinitions();\n return queries.map((q) => {\n const definition = definitions.find((p) => p.field === q.field);\n return {\n field: q.field,\n operator: q.operator,\n value: q.value,\n title: definition?.title || '',\n widget: definition?.widget,\n filterType: definition?.filterType,\n hidden: q.hidden,\n };\n });\n }\n convertQueriesToContext(queries) {\n return queries.reduce((acc, q) => {\n acc[q.field] = { value: q.value, operation: q.operator };\n return acc;\n }, {});\n }\n ngOnInit() {\n this.tagBoxInput = this.tagBox()?.getHostElement().querySelector('input');\n }\n handleSelectField(field) {\n console.log(field);\n this.activeFilter.set(field);\n // this.inputValue.set('');\n this.tagBox()?.inputValue.set('');\n }\n handleFieldKeyDown(e, field) {\n if (e.key === 'Enter') {\n this.handleSelectField(field);\n }\n }\n onContextChanged(e) {\n this.context.set(e.data);\n }\n handleApplyFilter() {\n if (this.activeFilter()) {\n this.selectedFilters.update((prev) => [...prev, this.activeFilter()]);\n this.activeFilter.set(null);\n this.popover()?.close();\n }\n }\n handleButtonKeyDown(e) {\n if (this.popover()?.isOpen && !this.activeFilter()) {\n // Find first list item and focus it\n const firstItem = document.querySelector('[axListNavigationItem]');\n if (firstItem) {\n firstItem.focus();\n e?.preventDefault();\n }\n }\n }\n handleKeyDown(e) {\n if (e.nativeEvent?.key === 'ArrowDown') {\n if (this.popover()?.isOpen && !this.activeFilter()) {\n // Find first list item and focus it\n const firstItem = document.querySelector('[axListNavigationItem]');\n if (firstItem) {\n firstItem.focus();\n e.nativeEvent?.preventDefault();\n }\n }\n }\n else {\n this.popover()?.open();\n }\n }\n #effect;\n handleSelectFilters(e) {\n if (e.value?.length < this.selectedFilters().length) {\n const hiddenFilters = this.selectedFilters().filter((f) => f.hidden);\n this.selectedFilters.update((prev) => {\n return hiddenFilters.concat(e.value);\n });\n }\n }\n getActiveOperator(filter) {\n if (!filter) {\n return undefined;\n }\n const contextOperation = this.context()?.[filter.field]?.operation?.type;\n const operatorType = contextOperation || filter.operator?.type;\n return ALL_DEFAULT_OPERATORS.find((o) => o.name === operatorType)?.title;\n }\n handleSelectInlineFilter(filter) {\n this.context.update((prev) => ({\n ...prev,\n [filter.field]: {\n value: this.tagBox()?.inputValue(),\n operation: { type: 'contains' },\n },\n }));\n this.tagBox()?.inputValue.set('');\n this.selectedFilters.update((prev) => [...prev, filter]);\n this.popover()?.close();\n }\n handleInlineFilterKeyDown(e, filter) {\n if (e.key === 'Enter') {\n this.handleSelectInlineFilter(filter);\n }\n }\n handlePopoverClosed(e) {\n this.activeFilter.set(null);\n }\n onPopoverOpened(e) {\n if (this.filtersDefinitions().length === 0) {\n this.popover()?.close();\n }\n }\n deactivateAllListItems() {\n if (this.listItems) {\n this.listItems.forEach((item) => {\n if (item.isActive()) {\n item.isActive.set(false);\n }\n });\n }\n }\n #effect2;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQueryFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPQueryFiltersComponent, isStandalone: true, selector: \"axp-query-filters\", inputs: { filtersDefinitions: { classPropertyName: \"filtersDefinitions\", publicName: \"filtersDefinitions\", isSignal: true, isRequired: false, transformFunction: null }, initialFilters: { classPropertyName: \"initialFilters\", publicName: \"initialFilters\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onFiltersChanged: \"onFiltersChanged\" }, viewQueries: [{ propertyName: \"tagBox\", first: true, predicate: [\"tagBox\"], descendants: true, isSignal: true }, { propertyName: \"popover\", first: true, predicate: [\"popover\"], descendants: true, isSignal: true }, { propertyName: \"listItems\", predicate: [\"caseItem\"], descendants: true }], ngImport: i0, template: \"<div class=\\\"ax-flex ax-items-center ax-gap-2 ax-p-2\\\">\\n <ax-button (keydown)=\\\"handleButtonKeyDown($event)\\\" (onClick)=\\\"popover.open()\\\" #filterButton [look]=\\\"'blank'\\\">\\n <ax-icon class=\\\"far fa-bars-filter ax-cursor-pointer\\\"> </ax-icon>\\n </ax-button>\\n <ax-tag-box\\n [ngModel]=\\\"asyncTags()\\\"\\n (onValueChanged)=\\\"handleSelectFilters($event)\\\"\\n [textField]=\\\"'query'\\\"\\n [valueField]=\\\"'id'\\\"\\n [readonly]=\\\"filtersDefinitions().length === 0\\\"\\n [look]=\\\"'none'\\\"\\n [readonlyField]=\\\"'readOnly'\\\"\\n (onKeyDown)=\\\"handleKeyDown($event)\\\"\\n [addOnEnter]=\\\"false\\\"\\n [placeholder]=\\\"(filtersDefinitions().length === 0 ? 'filter.noRecords' : 'filter.title') | translate | async\\\"\\n #tagBox\\n ></ax-tag-box>\\n</div>\\n\\n<ax-popover\\n [offsetY]=\\\"activeFilter() ? -30 : 0\\\"\\n [target]=\\\"tagBoxInput\\\"\\n [openOn]=\\\"'toggle'\\\"\\n (onOpened)=\\\"onPopoverOpened($event)\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n (onClosed)=\\\"handlePopoverClosed($event)\\\"\\n [adaptivityEnabled]=\\\"true\\\"\\n #popover\\n>\\n <div class=\\\"md:ax-min-w-72 ax-border ax-surface ax-w-full ax-rounded-md md:ax-max-h-96 md:ax-overflow-auto\\\">\\n <axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"onContextChanged($event)\\\">\\n @if (activeFilter()) {\\n <div class=\\\"ax-flex ax-flex-col ax-lightest-surface ax-shadow-md\\\">\\n <ax-header class=\\\"ax-border-b ax-border-light ax-px-4 ax-py-2\\\">{{\\n activeFilter()?.title! | translate | async\\n }}</ax-header>\\n <ax-content class=\\\"ax-p-4\\\">\\n <div class=\\\"ax-mb-2\\\">\\n <ax-badge [text]=\\\"getActiveOperator(activeFilter())!\\\"></ax-badge>\\n </div>\\n <ng-container\\n axp-widget-renderer\\n [node]=\\\"{\\n type: activeFilter()?.widget?.type || 'text-editor',\\n path: activeFilter()?.field,\\n options: activeFilter()?.widget?.options,\\n }\\\"\\n [mode]=\\\"'edit'\\\"\\n >\\n </ng-container>\\n </ax-content>\\n <ax-footer class=\\\"ax-border-t ax-flex ax-justify-end ax-border-light ax-w-full ax-px-4 ax-py-2\\\">\\n <ax-button class=\\\"ax-xs\\\" [text]=\\\"'apply' | translate | async\\\" (onClick)=\\\"handleApplyFilter()\\\"></ax-button>\\n </ax-footer>\\n </div>\\n } @else {\\n <div axListNavigation #list=\\\"axListNavigation\\\" class=\\\"axp-list-items\\\">\\n @if (tagBox.inputValue()) {\\n @for (inlineFilter of inlineFilters(); track inlineFilter.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n tabindex=\\\"0\\\"\\n (click)=\\\"handleSelectInlineFilter(inlineFilter)\\\"\\n (keydown)=\\\"handleInlineFilterKeyDown($event, inlineFilter)\\\"\\n >\\n {{ inlineFilter.title | translate | async }} {{ getActiveOperator(inlineFilter) }} '{{\\n tagBox.inputValue()\\n }}'\\n </div>\\n }\\n <span class=\\\"ax-w-full ax-border-t ax-border-light ax-my-1\\\"></span>\\n }\\n @for (field of filterFields(); track field.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n (click)=\\\"handleSelectField(field)\\\"\\n (keydown)=\\\"handleFieldKeyDown($event, field)\\\"\\n tabindex=\\\"0\\\"\\n >\\n <div class=\\\"ax-flex ax-items-end ax-gap-2\\\">\\n <ax-icon class=\\\"ax-w-5\\\" [class]=\\\"'fa-light ' + field.icon\\\"> </ax-icon>\\n {{ field.title | translate | async }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </axp-widgets-container>\\n </div>\\n</ax-popover>\\n\", styles: [\"axp-query-filters{width:100%}.axp-list-items{display:flex;min-width:10rem;flex-direction:column;border-radius:.375rem;border-width:1px;padding-top:1rem;padding-bottom:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-list-items>div{min-width:7rem;cursor:pointer;padding:.5rem 1rem;text-align:start}.axp-list-items>div:focus{outline:none}.axp-list-items>div.axp-state-focused,.axp-list-items>div:hover{background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"component\", type: i4.AXPopoverComponent, selector: \"ax-popover\", inputs: [\"width\", \"disabled\", \"offsetX\", \"offsetY\", \"target\", \"placement\", \"content\", \"openOn\", \"closeOn\", \"hasBackdrop\", \"openAfter\", \"closeAfter\", \"backdropClass\", \"panelClass\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXSelectionListModule }, { kind: \"ngmodule\", type: AXTagBoxModule }, { kind: \"component\", type: i5.AXTagBoxComponent, selector: \"ax-tag-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"allowNull\", \"type\", \"look\", \"addOnComma\", \"addOnEnter\", \"valueField\", \"textField\", \"readonlyField\", \"allowDuplicateValues\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i6.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i6.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXListNavigationModule }, { kind: \"directive\", type: i7.AXListNavigationDirective, selector: \"[axListNavigation]\", inputs: [\"orientation\"], outputs: [\"onNavigationChanged\", \"onPressEnterOrSpace\"], exportAs: [\"axListNavigation\"] }, { kind: \"directive\", type: i7.AXListNavigationItemDirective, selector: \"[axListNavigationItem]\", exportAs: [\"axListNavigationItem\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: i8.AXBadgeComponent, selector: \"ax-badge\", inputs: [\"color\", \"look\", \"text\"] }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQueryFiltersComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-query-filters', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n FormsModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPopoverModule,\n AXSelectionListModule,\n AXTagBoxModule,\n AXPLayoutBuilderModule,\n AXListNavigationModule,\n AXBadgeModule,\n ], template: \"<div class=\\\"ax-flex ax-items-center ax-gap-2 ax-p-2\\\">\\n <ax-button (keydown)=\\\"handleButtonKeyDown($event)\\\" (onClick)=\\\"popover.open()\\\" #filterButton [look]=\\\"'blank'\\\">\\n <ax-icon class=\\\"far fa-bars-filter ax-cursor-pointer\\\"> </ax-icon>\\n </ax-button>\\n <ax-tag-box\\n [ngModel]=\\\"asyncTags()\\\"\\n (onValueChanged)=\\\"handleSelectFilters($event)\\\"\\n [textField]=\\\"'query'\\\"\\n [valueField]=\\\"'id'\\\"\\n [readonly]=\\\"filtersDefinitions().length === 0\\\"\\n [look]=\\\"'none'\\\"\\n [readonlyField]=\\\"'readOnly'\\\"\\n (onKeyDown)=\\\"handleKeyDown($event)\\\"\\n [addOnEnter]=\\\"false\\\"\\n [placeholder]=\\\"(filtersDefinitions().length === 0 ? 'filter.noRecords' : 'filter.title') | translate | async\\\"\\n #tagBox\\n ></ax-tag-box>\\n</div>\\n\\n<ax-popover\\n [offsetY]=\\\"activeFilter() ? -30 : 0\\\"\\n [target]=\\\"tagBoxInput\\\"\\n [openOn]=\\\"'toggle'\\\"\\n (onOpened)=\\\"onPopoverOpened($event)\\\"\\n [closeOn]=\\\"'clickOut'\\\"\\n (onClosed)=\\\"handlePopoverClosed($event)\\\"\\n [adaptivityEnabled]=\\\"true\\\"\\n #popover\\n>\\n <div class=\\\"md:ax-min-w-72 ax-border ax-surface ax-w-full ax-rounded-md md:ax-max-h-96 md:ax-overflow-auto\\\">\\n <axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"onContextChanged($event)\\\">\\n @if (activeFilter()) {\\n <div class=\\\"ax-flex ax-flex-col ax-lightest-surface ax-shadow-md\\\">\\n <ax-header class=\\\"ax-border-b ax-border-light ax-px-4 ax-py-2\\\">{{\\n activeFilter()?.title! | translate | async\\n }}</ax-header>\\n <ax-content class=\\\"ax-p-4\\\">\\n <div class=\\\"ax-mb-2\\\">\\n <ax-badge [text]=\\\"getActiveOperator(activeFilter())!\\\"></ax-badge>\\n </div>\\n <ng-container\\n axp-widget-renderer\\n [node]=\\\"{\\n type: activeFilter()?.widget?.type || 'text-editor',\\n path: activeFilter()?.field,\\n options: activeFilter()?.widget?.options,\\n }\\\"\\n [mode]=\\\"'edit'\\\"\\n >\\n </ng-container>\\n </ax-content>\\n <ax-footer class=\\\"ax-border-t ax-flex ax-justify-end ax-border-light ax-w-full ax-px-4 ax-py-2\\\">\\n <ax-button class=\\\"ax-xs\\\" [text]=\\\"'apply' | translate | async\\\" (onClick)=\\\"handleApplyFilter()\\\"></ax-button>\\n </ax-footer>\\n </div>\\n } @else {\\n <div axListNavigation #list=\\\"axListNavigation\\\" class=\\\"axp-list-items\\\">\\n @if (tagBox.inputValue()) {\\n @for (inlineFilter of inlineFilters(); track inlineFilter.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n tabindex=\\\"0\\\"\\n (click)=\\\"handleSelectInlineFilter(inlineFilter)\\\"\\n (keydown)=\\\"handleInlineFilterKeyDown($event, inlineFilter)\\\"\\n >\\n {{ inlineFilter.title | translate | async }} {{ getActiveOperator(inlineFilter) }} '{{\\n tagBox.inputValue()\\n }}'\\n </div>\\n }\\n <span class=\\\"ax-w-full ax-border-t ax-border-light ax-my-1\\\"></span>\\n }\\n @for (field of filterFields(); track field.field) {\\n <div\\n axListNavigationItem\\n #caseItem=\\\"axListNavigationItem\\\"\\n [class.axp-state-focused]=\\\"caseItem.isActive()\\\"\\n (click)=\\\"handleSelectField(field)\\\"\\n (keydown)=\\\"handleFieldKeyDown($event, field)\\\"\\n tabindex=\\\"0\\\"\\n >\\n <div class=\\\"ax-flex ax-items-end ax-gap-2\\\">\\n <ax-icon class=\\\"ax-w-5\\\" [class]=\\\"'fa-light ' + field.icon\\\"> </ax-icon>\\n {{ field.title | translate | async }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </axp-widgets-container>\\n </div>\\n</ax-popover>\\n\", styles: [\"axp-query-filters{width:100%}.axp-list-items{display:flex;min-width:10rem;flex-direction:column;border-radius:.375rem;border-width:1px;padding-top:1rem;padding-bottom:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-list-items>div{min-width:7rem;cursor:pointer;padding:.5rem 1rem;text-align:start}.axp-list-items>div:focus{outline:none}.axp-list-items>div.axp-state-focused,.axp-list-items>div:hover{background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}\\n\"] }]\n }], propDecorators: { listItems: [{\n type: ViewChildren,\n args: ['caseItem']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvZmlsdGVycy9xdWVyeS1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9maWx0ZXJzL3F1ZXJ5LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEcsT0FBTyxFQUFFLHNCQUFzQixFQUErQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxN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QkFDZCxzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsYUFBYTtxQkFDZDs4QkFjeUIsU0FBUztzQkFBbEMsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWEV2ZW50LCBBWEh0bWxFdmVudCwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWExpc3ROYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jZGsvbGlzdC1uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50LCBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQVhUYWdCb3hDb21wb25lbnQsIEFYVGFnQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhZy1ib3gnO1xuaW1wb3J0IHsgQVhDYWxlbmRhclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUsIEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFMTF9ERUZBVUxUX09QRVJBVE9SUywgQVhQRmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEZpbHRlckRlZmluaXRpb24sIEFYUEZpbHRlclF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxuICBvdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXF1ZXJ5LWZpbHRlcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgQVhTZWxlY3Rpb25MaXN0TW9kdWxlLFxuICAgIEFYVGFnQm94TW9kdWxlLFxuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgQVhMaXN0TmF2aWdhdGlvbk1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBRdWVyeUZpbHRlcnNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGNhbGVuZGFyU2VydmljZSA9IGluamVjdChBWENhbGVuZGFyU2VydmljZSk7XG4gIHByaXZhdGUgZmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlID0gaW5qZWN0KEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2UpO1xuXG4gIGZpbHRlcnNEZWZpbml0aW9ucyA9IGlucHV0PEFYUEZpbHRlckRlZmluaXRpb25bXT4oW10pO1xuICBpbml0aWFsRmlsdGVycyA9IGlucHV0PEFYUEZpbHRlclF1ZXJ5W10+KFtdKTtcbiAgb25GaWx0ZXJzQ2hhbmdlZCA9IG91dHB1dDxBWFBGaWx0ZXJRdWVyeVtdPigpO1xuXG4gIHByb3RlY3RlZCB0YWdCb3ggPSB2aWV3Q2hpbGQ8QVhUYWdCb3hDb21wb25lbnQ+KCd0YWdCb3gnKTtcbiAgdGFnQm94SW5wdXQhOiBhbnk7XG5cbiAgQFZpZXdDaGlsZHJlbignY2FzZUl0ZW0nKSBsaXN0SXRlbXMhOiBRdWVyeUxpc3Q8YW55PjtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRGaWVsZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkRmlsdGVycyA9IGxpbmtlZFNpZ25hbDxBWFBGaWx0ZXJEZWZpbml0aW9uW10+KFxuICAgICgpID0+IHRoaXMuY29udmVydFF1ZXJpZXNUb0RlZmluaXRpb25zKHRoaXMuaW5pdGlhbEZpbHRlcnMoKSksXG4gICAge1xuICAgICAgZXF1YWw6IGlzRXF1YWwsXG4gICAgfSxcbiAgKTtcblxuICBjb250ZXh0ID0gbGlua2VkU2lnbmFsPGFueT4oKCkgPT4gdGhpcy5jb252ZXJ0UXVlcmllc1RvQ29udGV4dCh0aGlzLmluaXRpYWxGaWx0ZXJzKCkpKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlRmlsdGVyID0gc2lnbmFsPEFYUEZpbHRlckRlZmluaXRpb24gfCBudWxsPihudWxsKTtcblxuICBwcm90ZWN0ZWQgYXN5bmNUYWdzID0gc2lnbmFsPGFueVtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHBvcG92ZXIgPSB2aWV3Q2hpbGQ8QVhQb3BvdmVyQ29tcG9uZW50PigncG9wb3ZlcicpO1xuXG4gIGlucHV0VmFsdWUgPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgaW5saW5lRmlsdGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzRGVmaW5pdGlvbnMoKS5maWx0ZXIoXG4gICAgICAoZikgPT5cbiAgICAgICAgZi5maWx0ZXJUeXBlLmlubGluZSAmJlxuICAgICAgICAhdGhpcy5maWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVcbiAgICAgICAgICAudHJhbnNmb3JtRmlsdGVycyh0aGlzLnNlbGVjdGVkRmlsdGVycygpKVxuICAgICAgICAgIC5zb21lKFxuICAgICAgICAgICAgKHNmKSA9PlxuICAgICAgICAgICAgICBzZi5maWVsZCA9PT0gZi5maWVsZCAmJlxuICAgICAgICAgICAgICBzZi5vcGVyYXRvcj8udHlwZSA9PT0gKHRoaXMuY29udGV4dCgpW3NmLmZpZWxkXT8ub3BlcmF0aW9uPy50eXBlIHx8IGYub3BlcmF0b3I/LnR5cGUpLFxuICAgICAgICAgICksXG4gICAgKTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZ2V0RGlzcGxheVZhbHVlID0gYXN5bmMgKGZpbHRlcjogQVhQRmlsdGVyRGVmaW5pdGlvbiwgdmFsOiBhbnkpID0+IHtcbiAgICBpZiAoZmlsdGVyLndpZGdldD8udHlwZSA9PT0gJ3NlbGVjdC1lZGl0b3InIHx8IGZpbHRlci53aWRnZXQ/LnR5cGUgPT09ICdzZWxlY3QtZmlsdGVyJykge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlID0gZmlsdGVyLndpZGdldC5vcHRpb25zPy5bJ2RhdGFTb3VyY2UnXTtcbiAgICAgIGNvbnN0IHRleHRGaWVsZCA9IGZpbHRlci53aWRnZXQub3B0aW9ucz8uWyd0ZXh0RmllbGQnXTtcbiAgICAgIGNvbnN0IHZhbHVlRmllbGQgPSBmaWx0ZXIud2lkZ2V0Lm9wdGlvbnM/LlsndmFsdWVGaWVsZCddO1xuICAgICAgaWYgKGRhdGFTb3VyY2U/LmNvbmZpZz8uYnlLZXkpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdHM6IHVua25vd25bXSA9IGF3YWl0IFByb21pc2UuYWxsKHZhbC5tYXAoKHYpID0+IGRhdGFTb3VyY2UuY29uZmlnLmJ5S2V5ISh2KSkpO1xuICAgICAgICAgIHJldHVybiByZXN1bHRzLm1hcCgoZGF0YSkgPT4gKGRhdGEgYXMgUmVjb3JkPHN0cmluZywgYW55PilbdGV4dEZpZWxkXSkuam9pbignLCAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gKGF3YWl0IGRhdGFTb3VyY2UuY29uZmlnLmJ5S2V5KHZhbCkpIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgcmV0dXJuIGRhdGE/Llt0ZXh0RmllbGRdIHx8IHZhbDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGFTb3VyY2UpKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YVNvdXJjZS5tYXAoKGRhdGEpID0+IChkYXRhIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW3RleHRGaWVsZF0pLmpvaW4oJywgJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcmVjb3JkOiBhbnkgPSBkYXRhU291cmNlLmZpbmQoKGQ6IGFueSkgPT4gZFt2YWx1ZUZpZWxkXSA9PT0gdmFsKTtcbiAgICAgICAgICByZXR1cm4gcmVjb3JkID8gcmVjb3JkW3RleHRGaWVsZF0gOiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkodmFsKVxuICAgICAgPyBgJHt0aGlzLmNvbnZlcnRJZklTT1N0cmluZ0RhdGUodmFsLmZyb20pfSBhbmQgJHt0aGlzLmNvbnZlcnRJZklTT1N0cmluZ0RhdGUodmFsLnRvKX1gXG4gICAgICA6IHRoaXMuY29udmVydElmSVNPU3RyaW5nRGF0ZSh2YWwpO1xuICB9O1xuXG4gIHByb3RlY3RlZCBjb252ZXJ0SWZJU09TdHJpbmdEYXRlID0gKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaXNJU09TdHJpbmdEYXRlID0gL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfVxcLlxcZHszfVokLy50ZXN0KHZhbCk7XG4gICAgaWYgKGlzSVNPU3RyaW5nRGF0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodmFsKS5kYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9O1xuXG4gIGNvbnZlcnRRdWVyaWVzVG9EZWZpbml0aW9ucyhxdWVyaWVzOiBBWFBGaWx0ZXJRdWVyeVtdKTogQVhQRmlsdGVyRGVmaW5pdGlvbltdIHtcbiAgICBjb25zdCBkZWZpbml0aW9ucyA9IHRoaXMuZmlsdGVyc0RlZmluaXRpb25zKCk7XG5cbiAgICByZXR1cm4gcXVlcmllcy5tYXAoKHEpID0+IHtcbiAgICAgIGNvbnN0IGRlZmluaXRpb24gPSBkZWZpbml0aW9ucy5maW5kKChwKSA9PiBwLmZpZWxkID09PSBxLmZpZWxkKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmllbGQ6IHEuZmllbGQsXG4gICAgICAgIG9wZXJhdG9yOiBxLm9wZXJhdG9yLFxuICAgICAgICB2YWx1ZTogcS52YWx1ZSxcbiAgICAgICAgdGl0bGU6IGRlZmluaXRpb24/LnRpdGxlIHx8ICcnLFxuICAgICAgICB3aWRnZXQ6IGRlZmluaXRpb24/LndpZGdldCEsXG4gICAgICAgIGZpbHRlclR5cGU6IGRlZmluaXRpb24/LmZpbHRlclR5cGUhLFxuICAgICAgICBoaWRkZW46IHEuaGlkZGVuLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnZlcnRRdWVyaWVzVG9Db250ZXh0KHF1ZXJpZXM6IEFYUEZpbHRlclF1ZXJ5W10pOiBhbnkge1xuICAgIHJldHVybiBxdWVyaWVzLnJlZHVjZSgoYWNjLCBxKSA9PiB7XG4gICAgICBhY2NbcS5maWVsZF0gPSB7IHZhbHVlOiBxLnZhbHVlLCBvcGVyYXRpb246IHEub3BlcmF0b3IgfTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgYW55KTtcbiAgfVxuXG4gIGZpbHRlckZpZWxkcyA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzRGVmaW5pdGlvbnMoKS5maWx0ZXIoKGYpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGYuZmlsdGVyVHlwZS5hZHZhbmNlICYmXG4gICAgICAgICF0aGlzLnNlbGVjdGVkRmlsdGVycygpLnNvbWUoKHNmKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHNmLmZpZWxkID09PSBmLmZpZWxkO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhZ0JveElucHV0ID0gdGhpcy50YWdCb3goKT8uZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0RmllbGQoZmllbGQ6IEFYUEZpbHRlckRlZmluaXRpb24pIHtcbiAgICBjb25zb2xlLmxvZyhmaWVsZCk7XG4gICAgdGhpcy5hY3RpdmVGaWx0ZXIuc2V0KGZpZWxkKTtcbiAgICAvLyB0aGlzLmlucHV0VmFsdWUuc2V0KCcnKTtcbiAgICB0aGlzLnRhZ0JveCgpPy5pbnB1dFZhbHVlLnNldCgnJyk7XG4gIH1cbiAgaGFuZGxlRmllbGRLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQsIGZpZWxkOiBBWFBGaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLmhhbmRsZVNlbGVjdEZpZWxkKGZpZWxkKTtcbiAgICB9XG4gIH1cblxuICBvbkNvbnRleHRDaGFuZ2VkKGU6IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuY29udGV4dC5zZXQoZS5kYXRhKTtcbiAgfVxuXG4gIGhhbmRsZUFwcGx5RmlsdGVyKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlcigpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy51cGRhdGUoKHByZXYpID0+IFsuLi5wcmV2LCB0aGlzLmFjdGl2ZUZpbHRlcigpIV0pO1xuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXIuc2V0KG51bGwpO1xuICAgICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQnV0dG9uS2V5RG93bihlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLnBvcG92ZXIoKT8uaXNPcGVuICYmICF0aGlzLmFjdGl2ZUZpbHRlcigpKSB7XG4gICAgICAvLyBGaW5kIGZpcnN0IGxpc3QgaXRlbSBhbmQgZm9jdXMgaXRcbiAgICAgIGNvbnN0IGZpcnN0SXRlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1theExpc3ROYXZpZ2F0aW9uSXRlbV0nKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChmaXJzdEl0ZW0pIHtcbiAgICAgICAgZmlyc3RJdGVtLmZvY3VzKCk7XG4gICAgICAgIGU/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihlOiBBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pikge1xuICAgIGlmIChlLm5hdGl2ZUV2ZW50Py5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAodGhpcy5wb3BvdmVyKCk/LmlzT3BlbiAmJiAhdGhpcy5hY3RpdmVGaWx0ZXIoKSkge1xuICAgICAgICAvLyBGaW5kIGZpcnN0IGxpc3QgaXRlbSBhbmQgZm9jdXMgaXRcbiAgICAgICAgY29uc3QgZmlyc3RJdGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2F4TGlzdE5hdmlnYXRpb25JdGVtXScpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoZmlyc3RJdGVtKSB7XG4gICAgICAgICAgZmlyc3RJdGVtLmZvY3VzKCk7XG4gICAgICAgICAgZS5uYXRpdmVFdmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvcG92ZXIoKT8ub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5jb250ZXh0KCkpO1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVycyA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCk7XG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZEZpbHRlcnM6IEFYUEZpbHRlclF1ZXJ5W10gPSBzZWxlY3RlZEZpbHRlcnMubWFwKChmKSA9PiAoe1xuICAgICAgICBmaWVsZDogZi5maWVsZCxcbiAgICAgICAgb3BlcmF0b3I6IGNvbnRleHRbZi5maWVsZF0/Lm9wZXJhdGlvbixcbiAgICAgICAgdmFsdWU6IGNvbnRleHRbZi5maWVsZF0/LnZhbHVlLFxuICAgICAgICBoaWRkZW46IGYuaGlkZGVuLFxuICAgICAgfSkpO1xuICAgICAgY29uc3QgbmV3Q29udGV4dDogYW55ID0ge307XG4gICAgICBjb252ZXJ0ZWRGaWx0ZXJzLmZvckVhY2goKGNmKSA9PiB7XG4gICAgICAgIG5ld0NvbnRleHRbY2YuZmllbGRdID0ge1xuICAgICAgICAgIHZhbHVlOiBjZi52YWx1ZSxcbiAgICAgICAgICBvcGVyYXRpb246IHR5cGVvZiBjZi5vcGVyYXRvciA9PT0gJ3N0cmluZycgPyB7IHR5cGU6IGNmLm9wZXJhdG9yIH0gOiBjZi5vcGVyYXRvcixcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmNvbnRleHQuc2V0KG5ld0NvbnRleHQpO1xuICAgICAgdGhpcy5kZWFjdGl2YXRlQWxsTGlzdEl0ZW1zKCk7XG4gICAgICB0aGlzLm9uRmlsdGVyc0NoYW5nZWQuZW1pdChjb252ZXJ0ZWRGaWx0ZXJzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaGFuZGxlU2VsZWN0RmlsdGVycyhlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XG4gICAgaWYgKGUudmFsdWU/Lmxlbmd0aCA8IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCkubGVuZ3RoKSB7XG4gICAgICBjb25zdCBoaWRkZW5GaWx0ZXJzID0gdGhpcy5zZWxlY3RlZEZpbHRlcnMoKS5maWx0ZXIoKGYpID0+IGYuaGlkZGVuKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gaGlkZGVuRmlsdGVycy5jb25jYXQoZS52YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QWN0aXZlT3BlcmF0b3IoZmlsdGVyOiBBWFBGaWx0ZXJEZWZpbml0aW9uIHwgbnVsbCkge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHRPcGVyYXRpb24gPSB0aGlzLmNvbnRleHQoKT8uW2ZpbHRlci5maWVsZF0/Lm9wZXJhdGlvbj8udHlwZTtcbiAgICBjb25zdCBvcGVyYXRvclR5cGUgPSBjb250ZXh0T3BlcmF0aW9uIHx8IGZpbHRlci5vcGVyYXRvcj8udHlwZTtcblxuICAgIHJldHVybiBBTExfREVGQVVMVF9PUEVSQVRPUlMuZmluZCgobykgPT4gby5uYW1lID09PSBvcGVyYXRvclR5cGUpPy50aXRsZTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdElubGluZUZpbHRlcihmaWx0ZXI6IEFYUEZpbHRlckRlZmluaXRpb24pIHtcbiAgICB0aGlzLmNvbnRleHQudXBkYXRlKChwcmV2KSA9PiAoe1xuICAgICAgLi4ucHJldixcbiAgICAgIFtmaWx0ZXIuZmllbGRdOiB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnRhZ0JveCgpPy5pbnB1dFZhbHVlKCksXG4gICAgICAgIG9wZXJhdGlvbjogeyB0eXBlOiAnY29udGFpbnMnIH0sXG4gICAgICB9LFxuICAgIH0pKTtcbiAgICB0aGlzLnRhZ0JveCgpPy5pbnB1dFZhbHVlLnNldCgnJyk7XG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMudXBkYXRlKChwcmV2KSA9PiBbLi4ucHJldiwgZmlsdGVyXSk7XG4gICAgdGhpcy5wb3BvdmVyKCk/LmNsb3NlKCk7XG4gIH1cblxuICBoYW5kbGVJbmxpbmVGaWx0ZXJLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQsIGZpbHRlcjogQVhQRmlsdGVyRGVmaW5pdGlvbikge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy5oYW5kbGVTZWxlY3RJbmxpbmVGaWx0ZXIoZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVQb3BvdmVyQ2xvc2VkKGU6IEFYRXZlbnQpIHtcbiAgICB0aGlzLmFjdGl2ZUZpbHRlci5zZXQobnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Qb3BvdmVyT3BlbmVkKGU6IEFYRXZlbnQpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJzRGVmaW5pdGlvbnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBkZWFjdGl2YXRlQWxsTGlzdEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xuICAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgaXRlbS5pc0FjdGl2ZS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjZWZmZWN0MiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKCk7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dCgpO1xuXG4gICAgUHJvbWlzZS5hbGwoXG4gICAgICBmaWx0ZXJzLm1hcChhc3luYyAoZmlsdGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbCA9IGNvbnRleHRbZmlsdGVyLmZpZWxkXT8udmFsdWU7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGF3YWl0IHRoaXMuZ2V0RGlzcGxheVZhbHVlKGZpbHRlciwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgcXVlcnk6IGAke3RoaXMudHJhbnNsYXRlLnRyYW5zbGF0ZVN5bmMoZmlsdGVyLnRpdGxlKX0gJHt0aGlzLmdldEFjdGl2ZU9wZXJhdG9yKGZpbHRlcil9ICcke2Rpc3BsYXlWYWx1ZX0nYCxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICkudGhlbigocmVzdWx0cykgPT4ge1xuICAgICAgdGhpcy5hc3luY1RhZ3Muc2V0KHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5oaWRkZW4pKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTIgYXgtcC0yXCI+XG4gIDxheC1idXR0b24gKGtleWRvd24pPVwiaGFuZGxlQnV0dG9uS2V5RG93bigkZXZlbnQpXCIgKG9uQ2xpY2spPVwicG9wb3Zlci5vcGVuKClcIiAjZmlsdGVyQnV0dG9uIFtsb29rXT1cIidibGFuaydcIj5cbiAgICA8YXgtaWNvbiBjbGFzcz1cImZhciBmYS1iYXJzLWZpbHRlciBheC1jdXJzb3ItcG9pbnRlclwiPiA8L2F4LWljb24+XG4gIDwvYXgtYnV0dG9uPlxuICA8YXgtdGFnLWJveFxuICAgIFtuZ01vZGVsXT1cImFzeW5jVGFncygpXCJcbiAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0RmlsdGVycygkZXZlbnQpXCJcbiAgICBbdGV4dEZpZWxkXT1cIidxdWVyeSdcIlxuICAgIFt2YWx1ZUZpZWxkXT1cIidpZCdcIlxuICAgIFtyZWFkb25seV09XCJmaWx0ZXJzRGVmaW5pdGlvbnMoKS5sZW5ndGggPT09IDBcIlxuICAgIFtsb29rXT1cIidub25lJ1wiXG4gICAgW3JlYWRvbmx5RmllbGRdPVwiJ3JlYWRPbmx5J1wiXG4gICAgKG9uS2V5RG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgIFthZGRPbkVudGVyXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiKGZpbHRlcnNEZWZpbml0aW9ucygpLmxlbmd0aCA9PT0gMCA/ICdmaWx0ZXIubm9SZWNvcmRzJyA6ICdmaWx0ZXIudGl0bGUnKSB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAjdGFnQm94XG4gID48L2F4LXRhZy1ib3g+XG48L2Rpdj5cblxuPGF4LXBvcG92ZXJcbiAgW29mZnNldFldPVwiYWN0aXZlRmlsdGVyKCkgPyAtMzAgOiAwXCJcbiAgW3RhcmdldF09XCJ0YWdCb3hJbnB1dFwiXG4gIFtvcGVuT25dPVwiJ3RvZ2dsZSdcIlxuICAob25PcGVuZWQpPVwib25Qb3BvdmVyT3BlbmVkKCRldmVudClcIlxuICBbY2xvc2VPbl09XCInY2xpY2tPdXQnXCJcbiAgKG9uQ2xvc2VkKT1cImhhbmRsZVBvcG92ZXJDbG9zZWQoJGV2ZW50KVwiXG4gIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcbiAgI3BvcG92ZXJcbj5cbiAgPGRpdiBjbGFzcz1cIm1kOmF4LW1pbi13LTcyIGF4LWJvcmRlciBheC1zdXJmYWNlIGF4LXctZnVsbCBheC1yb3VuZGVkLW1kIG1kOmF4LW1heC1oLTk2IG1kOmF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICA8YXhwLXdpZGdldHMtY29udGFpbmVyIFtjb250ZXh0XT1cImNvbnRleHQoKVwiIChvbkNvbnRleHRDaGFuZ2VkKT1cIm9uQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgQGlmIChhY3RpdmVGaWx0ZXIoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1saWdodGVzdC1zdXJmYWNlIGF4LXNoYWRvdy1tZFwiPlxuICAgICAgICAgIDxheC1oZWFkZXIgY2xhc3M9XCJheC1ib3JkZXItYiBheC1ib3JkZXItbGlnaHQgYXgtcHgtNCBheC1weS0yXCI+e3tcbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlcigpPy50aXRsZSEgfCB0cmFuc2xhdGUgfCBhc3luY1xuICAgICAgICAgIH19PC9heC1oZWFkZXI+XG4gICAgICAgICAgPGF4LWNvbnRlbnQgY2xhc3M9XCJheC1wLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tYi0yXCI+XG4gICAgICAgICAgICAgIDxheC1iYWRnZSBbdGV4dF09XCJnZXRBY3RpdmVPcGVyYXRvcihhY3RpdmVGaWx0ZXIoKSkhXCI+PC9heC1iYWRnZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgIFtub2RlXT1cIntcbiAgICAgICAgICAgICAgICB0eXBlOiBhY3RpdmVGaWx0ZXIoKT8ud2lkZ2V0Py50eXBlIHx8ICd0ZXh0LWVkaXRvcicsXG4gICAgICAgICAgICAgICAgcGF0aDogYWN0aXZlRmlsdGVyKCk/LmZpZWxkLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IGFjdGl2ZUZpbHRlcigpPy53aWRnZXQ/Lm9wdGlvbnMsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBbbW9kZV09XCInZWRpdCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9heC1jb250ZW50PlxuICAgICAgICAgIDxheC1mb290ZXIgY2xhc3M9XCJheC1ib3JkZXItdCBheC1mbGV4IGF4LWp1c3RpZnktZW5kIGF4LWJvcmRlci1saWdodCBheC13LWZ1bGwgYXgtcHgtNCBheC1weS0yXCI+XG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgteHNcIiBbdGV4dF09XCInYXBwbHknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVBcHBseUZpbHRlcigpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgPC9heC1mb290ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgYXhMaXN0TmF2aWdhdGlvbiAjbGlzdD1cImF4TGlzdE5hdmlnYXRpb25cIiBjbGFzcz1cImF4cC1saXN0LWl0ZW1zXCI+XG4gICAgICAgICAgQGlmICh0YWdCb3guaW5wdXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICBAZm9yIChpbmxpbmVGaWx0ZXIgb2YgaW5saW5lRmlsdGVycygpOyB0cmFjayBpbmxpbmVGaWx0ZXIuZmllbGQpIHtcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGF4TGlzdE5hdmlnYXRpb25JdGVtXG4gICAgICAgICAgICAgICAgI2Nhc2VJdGVtPVwiYXhMaXN0TmF2aWdhdGlvbkl0ZW1cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5heHAtc3RhdGUtZm9jdXNlZF09XCJjYXNlSXRlbS5pc0FjdGl2ZSgpXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RJbmxpbmVGaWx0ZXIoaW5saW5lRmlsdGVyKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlSW5saW5lRmlsdGVyS2V5RG93bigkZXZlbnQsIGlubGluZUZpbHRlcilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaW5saW5lRmlsdGVyLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX0ge3sgZ2V0QWN0aXZlT3BlcmF0b3IoaW5saW5lRmlsdGVyKSB9fSAne3tcbiAgICAgICAgICAgICAgICAgIHRhZ0JveC5pbnB1dFZhbHVlKClcbiAgICAgICAgICAgICAgICB9fSdcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXctZnVsbCBheC1ib3JkZXItdCBheC1ib3JkZXItbGlnaHQgYXgtbXktMVwiPjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGZvciAoZmllbGQgb2YgZmlsdGVyRmllbGRzKCk7IHRyYWNrIGZpZWxkLmZpZWxkKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGF4TGlzdE5hdmlnYXRpb25JdGVtXG4gICAgICAgICAgICAgICNjYXNlSXRlbT1cImF4TGlzdE5hdmlnYXRpb25JdGVtXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmF4cC1zdGF0ZS1mb2N1c2VkXT1cImNhc2VJdGVtLmlzQWN0aXZlKClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2VsZWN0RmllbGQoZmllbGQpXCJcbiAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlRmllbGRLZXlEb3duKCRldmVudCwgZmllbGQpXCJcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtZW5kIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC13LTVcIiBbY2xhc3NdPVwiJ2ZhLWxpZ2h0ICcgKyBmaWVsZC5pY29uXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICB7eyBmaWVsZC50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+XG4iXX0=","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, output, signal, ViewEncapsulation, } from '@angular/core';\nimport { isEqual } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@angular/common\";\nexport class AXPQuerySortsComponent {\n constructor() {\n this.sortDefinitions = model([], ...(ngDevMode ? [{ debugName: \"sortDefinitions\" }] : []));\n this.sortQueries = signal([], ...(ngDevMode ? [{ debugName: \"sortQueries\", equal: isEqual }] : [{\n equal: isEqual,\n }]));\n this.initialSortQueries = input([], ...(ngDevMode ? [{ debugName: \"initialSortQueries\" }] : []));\n this.sortQueriesChange = output();\n // Recompute merged sort queries whenever inputs change\n effect(() => {\n const initialQueries = this.initialSortQueries();\n const definitions = this.sortDefinitions();\n const existingQueriesMap = new Map(initialQueries.map((q) => [q.name, q]));\n const mergedQueries = definitions.map((def) => {\n const existingQuery = existingQueriesMap.get(def.name);\n return existingQuery ? { ...def, dir: existingQuery.dir } : { ...def };\n });\n this.sortQueries.set(mergedQueries);\n });\n effect(() => {\n this.sortQueriesChange.emit(this.sortQueries());\n });\n }\n drop(event) {\n const sd = this.sortDefinitions();\n moveItemInArray(sd, event.previousIndex, event.currentIndex);\n this.sortDefinitions.set([...sd]);\n // Reorder sortQueries based on new sortDefinitions order\n const sq = this.sortQueries();\n moveItemInArray(sq, event.previousIndex, event.currentIndex);\n this.sortQueries.set([...sq]);\n }\n getSortDirection(item) {\n return this.sortQueries().find((i) => i.name === item.name)?.dir;\n }\n changeItemSort(item) {\n const itemDirection = this.getSortDirection(item);\n const newDirection = itemDirection === 'asc' ? 'desc' : itemDirection === 'desc' ? undefined : 'asc';\n this.sortQueries.update((prev) => {\n return prev.map((field) => {\n if (field.name === item.name) {\n return { ...field, dir: newDirection };\n }\n return field;\n });\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQuerySortsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPQuerySortsComponent, isStandalone: true, selector: \"axp-query-sorts\", inputs: { sortDefinitions: { classPropertyName: \"sortDefinitions\", publicName: \"sortDefinitions\", isSignal: true, isRequired: false, transformFunction: null }, initialSortQueries: { classPropertyName: \"initialSortQueries\", publicName: \"initialSortQueries\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sortDefinitions: \"sortDefinitionsChange\", sortQueriesChange: \"sortQueriesChange\" }, ngImport: i0, template: \"<div class=\\\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-select-none\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-select-none\\\" cdkDropList (cdkDropListDropped)=\\\"drop($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\\\">\\n @for (item of sortDefinitions(); track item.name) {\\n <div class=\\\"ax-flex ax-py-1 ax-items-center ax-justify-between\\\" cdkDrag cdkDragBoundary=\\\".ax-sorted-list\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-3\\\" cdkDragHandle>\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move\\\"></ax-icon>\\n <p class=\\\"ax-font-medium ax-text-sm\\\">{{ item.title | translate | async }}</p>\\n </div>\\n <ax-button [color]=\\\"'blank'\\\" class=\\\"ax-sm\\\" (click)=\\\"changeItemSort(item)\\\">\\n <ax-icon\\n [class.ax-text-primary]=\\\"getSortDirection(item) === 'asc'\\\"\\n class=\\\"fa-solid fa-arrow-up-long ax-text-neutral-400\\\"\\n ></ax-icon>\\n <ax-icon\\n [class.ax-text-primary]=\\\"getSortDirection(item) === 'desc'\\\"\\n class=\\\"fa-solid fa-arrow-down-long ax-text-neutral-400\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n\", dependencies: [{ kind: \"directive\", type: CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"pipe\", type: i3.AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQuerySortsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-query-sorts', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n AXTabsModule,\n AXTranslationModule,\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n ], template: \"<div class=\\\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-select-none\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-gap-4 ax-select-none\\\" cdkDropList (cdkDropListDropped)=\\\"drop($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\\\">\\n @for (item of sortDefinitions(); track item.name) {\\n <div class=\\\"ax-flex ax-py-1 ax-items-center ax-justify-between\\\" cdkDrag cdkDragBoundary=\\\".ax-sorted-list\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-3\\\" cdkDragHandle>\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move\\\"></ax-icon>\\n <p class=\\\"ax-font-medium ax-text-sm\\\">{{ item.title | translate | async }}</p>\\n </div>\\n <ax-button [color]=\\\"'blank'\\\" class=\\\"ax-sm\\\" (click)=\\\"changeItemSort(item)\\\">\\n <ax-icon\\n [class.ax-text-primary]=\\\"getSortDirection(item) === 'asc'\\\"\\n class=\\\"fa-solid fa-arrow-up-long ax-text-neutral-400\\\"\\n ></ax-icon>\\n <ax-icon\\n [class.ax-text-primary]=\\\"getSortDirection(item) === 'desc'\\\"\\n class=\\\"fa-solid fa-arrow-down-long ax-text-neutral-400\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n }\\n </div>\\n </div>\\n</div>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc29ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3NvcnRzL3F1ZXJ5LXNvcnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9zb3J0cy9xdWVyeS1zb3J0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQWUsYUFBYSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBbUJwQyxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDO1FBUkEsb0JBQWUsR0FBRyxLQUFLLENBQXNCLEVBQUUsMkRBQUMsQ0FBQztRQUNqRCxnQkFBVyxHQUFHLE1BQU0sQ0FBaUIsRUFBRSwrQ0FDckMsS0FBSyxFQUFFLE9BQU8sT0FEeUI7Z0JBQ3ZDLEtBQUssRUFBRSxP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LEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUN6QyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBeERVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDJlQ3BDbkMsa3pDQXdCQSw0Q0RFSSxXQUFXLHNoQkFDWCxPQUFPLHdjQUNQLGFBQWEsOEZBQ2IsWUFBWSw4QkFDWixtQkFBbUIsOEJBQ25CLFlBQVksOEJBQ1osaUJBQWlCLCtIQUNqQixjQUFjOzsyRkFHTCxzQkFBc0I7a0JBakJsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGNBQWM7cUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNvcnREZWZpbml0aW9uLCBBWFBTb3J0UXVlcnkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0RyYWdIYW5kbGUsIENka0Ryb3BMaXN0LCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtcXVlcnktc29ydHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LXNvcnRzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIENka0Ryb3BMaXN0LFxuICAgIENka0RyYWcsXG4gICAgQ2RrRHJhZ0hhbmRsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFF1ZXJ5U29ydHNDb21wb25lbnQge1xuICBzb3J0RGVmaW5pdGlvbnMgPSBtb2RlbDxBWFBTb3J0RGVmaW5pdGlvbltdPihbXSk7XG4gIHNvcnRRdWVyaWVzID0gc2lnbmFsPEFYUFNvcnRRdWVyeVtdPihbXSwge1xuICAgIGVxdWFsOiBpc0VxdWFsLFxuICB9KTtcblxuICBpbml0aWFsU29ydFF1ZXJpZXMgPSBpbnB1dDxBWFBTb3J0UXVlcnlbXT4oW10pO1xuICBzb3J0UXVlcmllc0NoYW5nZSA9IG91dHB1dDxBWFBTb3J0UXVlcnlbXT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBSZWNvbXB1dGUgbWVyZ2VkIHNvcnQgcXVlcmllcyB3aGVuZXZlciBpbnB1dHMgY2hhbmdlXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxRdWVyaWVzID0gdGhpcy5pbml0aWFsU29ydFF1ZXJpZXMoKTtcbiAgICAgIGNvbnN0IGRlZmluaXRpb25zID0gdGhpcy5zb3J0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgY29uc3QgZXhpc3RpbmdRdWVyaWVzTWFwID0gbmV3IE1hcChpbml0aWFsUXVlcmllcy5tYXAoKHEpID0+IFtxLm5hbWUsIHFdKSk7XG5cbiAgICAgIGNvbnN0IG1lcmdlZFF1ZXJpZXMgPSBkZWZpbml0aW9ucy5tYXAoKGRlZikgPT4ge1xuICAgICAgICBjb25zdCBleGlzdGluZ1F1ZXJ5ID0gZXhpc3RpbmdRdWVyaWVzTWFwLmdldChkZWYubmFtZSk7XG4gICAgICAgIHJldHVybiBleGlzdGluZ1F1ZXJ5ID8geyAuLi5kZWYsIGRpcjogZXhpc3RpbmdRdWVyeS5kaXIgfSA6IHsgLi4uZGVmIH07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc29ydFF1ZXJpZXMuc2V0KG1lcmdlZFF1ZXJpZXMpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc29ydFF1ZXJpZXNDaGFuZ2UuZW1pdCh0aGlzLnNvcnRRdWVyaWVzKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd25bXT4pIHtcbiAgICBjb25zdCBzZCA9IHRoaXMuc29ydERlZmluaXRpb25zKCk7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHNkLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuc29ydERlZmluaXRpb25zLnNldChbLi4uc2RdKTtcblxuICAgIC8vIFJlb3JkZXIgc29ydFF1ZXJpZXMgYmFzZWQgb24gbmV3IHNvcnREZWZpbml0aW9ucyBvcmRlclxuICAgIGNvbnN0IHNxID0gdGhpcy5zb3J0UXVlcmllcygpO1xuICAgIG1vdmVJdGVtSW5BcnJheShzcSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnNvcnRRdWVyaWVzLnNldChbLi4uc3FdKTtcbiAgfVxuXG4gIGdldFNvcnREaXJlY3Rpb24oaXRlbTogQVhQU29ydERlZmluaXRpb24pIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0UXVlcmllcygpLmZpbmQoKGkpID0+IGkubmFtZSA9PT0gaXRlbS5uYW1lKT8uZGlyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoYW5nZUl0ZW1Tb3J0KGl0ZW06IEFYUFNvcnREZWZpbml0aW9uKSB7XG4gICAgY29uc3QgaXRlbURpcmVjdGlvbiA9IHRoaXMuZ2V0U29ydERpcmVjdGlvbihpdGVtKTtcbiAgICBjb25zdCBuZXdEaXJlY3Rpb24gPSBpdGVtRGlyZWN0aW9uID09PSAnYXNjJyA/ICdkZXNjJyA6IGl0ZW1EaXJlY3Rpb24gPT09ICdkZXNjJyA/IHVuZGVmaW5lZCA6ICdhc2MnO1xuXG4gICAgdGhpcy5zb3J0UXVlcmllcy51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIHJldHVybiBwcmV2Lm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUgPT09IGl0ZW0ubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLmZpZWxkLCBkaXI6IG5ld0RpcmVjdGlvbiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1qdXN0aWZ5LWNlbnRlciBheC1nYXAtNCBheC1zZWxlY3Qtbm9uZVwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1zZWxlY3Qtbm9uZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW1heC1oLVtjYWxjKDEwMHZoLTI4MHB4KV0gYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgQGZvciAoaXRlbSBvZiBzb3J0RGVmaW5pdGlvbnMoKTsgdHJhY2sgaXRlbS5uYW1lKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXB5LTEgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlblwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCIgY2RrRHJhZ0hhbmRsZT5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJheC1mb250LW1lZGl1bSBheC10ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxheC1idXR0b24gW2NvbG9yXT1cIidibGFuaydcIiBjbGFzcz1cImF4LXNtXCIgKGNsaWNrKT1cImNoYW5nZUl0ZW1Tb3J0KGl0ZW0pXCI+XG4gICAgICAgICAgICA8YXgtaWNvblxuICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5XT1cImdldFNvcnREaXJlY3Rpb24oaXRlbSkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy11cC1sb25nIGF4LXRleHQtbmV1dHJhbC00MDBcIlxuICAgICAgICAgICAgPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDxheC1pY29uXG4gICAgICAgICAgICAgIFtjbGFzcy5heC10ZXh0LXByaW1hcnldPVwiZ2V0U29ydERpcmVjdGlvbihpdGVtKSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy1kb3duLWxvbmcgYXgtdGV4dC1uZXV0cmFsLTQwMFwiXG4gICAgICAgICAgICA+PC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, signal, ViewEncapsulation, Input } from '@angular/core';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/layout/builder\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/button\";\nimport * as i4 from \"@acorex/components/form\";\nimport * as i5 from \"@acorex/core/translation\";\nimport * as i6 from \"@angular/common\";\nexport class AXPTemplateViewerComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n //#endregion\n //#region ---- Component State ----\n this.context = {};\n this.document = signal({ type: AXPWidgetsCatalog.document }, ...(ngDevMode ? [{ debugName: \"document\" }] : []));\n this.currentPageIndex = signal(0, ...(ngDevMode ? [{ debugName: \"currentPageIndex\" }] : []));\n this._config = signal(undefined, ...(ngDevMode ? [{ debugName: \"_config\" }] : []));\n this.currentPage = computed(() => {\n return (this.document().children?.[this.currentPageIndex()] ?? { type: AXPWidgetsCatalog.pageLayout });\n }, ...(ngDevMode ? [{ debugName: \"currentPage\" }] : []));\n }\n //#region ---- Input Properties ----\n set config(value) {\n this._config.set(value);\n }\n get config() {\n return this._config();\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n async ngOnInit() {\n super.ngOnInit();\n await this.loadTemplate();\n }\n //#endregion\n //#region ---- Template Loading ----\n async loadTemplate() {\n const config = this.config;\n if (!config)\n return;\n let templateData;\n if (typeof config.template === 'string') {\n try {\n templateData = JSON.parse(config.template);\n }\n catch (error) {\n console.error('Failed to parse template JSON:', error);\n return;\n }\n }\n else {\n templateData = config.template;\n }\n this.document.set(templateData);\n // Set initial context if provided\n if (config.context) {\n this.context = { ...config.context };\n }\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleContextChanged(e) {\n this.context = e.data;\n }\n async handleSubmit(form) {\n const formResult = await form.validate();\n if (formResult.result) {\n this.close({\n context: this.context,\n cancelled: false,\n metadata: this.config?.metadata\n });\n }\n }\n handleCancel() {\n this.close({\n context: this.context,\n cancelled: true,\n metadata: this.config?.metadata\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTemplateViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPTemplateViewerComponent, isStandalone: true, selector: \"axp-template-viewer\", inputs: { config: \"config\" }, usesInheritance: true, ngImport: i0, template: `\n <div class=\"ax-p-4 ax-min-h-64\">\n <ax-form #form>\n <axp-widgets-container [context]=\"context\" (onContextChanged)=\"handleContextChanged($event)\" >\n <ng-container axp-widget-renderer [node]=\"currentPage()\" [mode]=\"config?.readOnly ? 'view' : 'edit'\"></ng-container>\n </axp-widgets-container>\n </ax-form>\n </div>\n \n @if (config?.showActions !== false) {\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"handleCancel()\"></ax-button>\n @if (!config?.readOnly) {\n <ax-button color=\"primary\" [text]=\"t('submit') | async\" (onClick)=\"handleSubmit(form)\"></ax-button>\n }\n </ax-suffix>\n </ax-footer>\n }\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i1.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i1.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i3.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i4.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"pipe\", type: i6.AsyncPipe, name: \"async\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTemplateViewerComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axp-template-viewer',\n template: `\n <div class=\"ax-p-4 ax-min-h-64\">\n <ax-form #form>\n <axp-widgets-container [context]=\"context\" (onContextChanged)=\"handleContextChanged($event)\" >\n <ng-container axp-widget-renderer [node]=\"currentPage()\" [mode]=\"config?.readOnly ? 'view' : 'edit'\"></ng-container>\n </axp-widgets-container>\n </ax-form>\n </div>\n \n @if (config?.showActions !== false) {\n <ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button [text]=\"t('cancel') | async\" (onClick)=\"handleCancel()\"></ax-button>\n @if (!config?.readOnly) {\n <ax-button color=\"primary\" [text]=\"t('submit') | async\" (onClick)=\"handleSubmit(form)\"></ax-button>\n }\n </ax-suffix>\n </ax-footer>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXPLayoutBuilderModule, AXDecoratorModule, AXButtonModule, AXFormModule, AXTranslationModule]\n }]\n }], propDecorators: { config: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZS12aWV3ZXIvdGVtcGxhdGUtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQThDLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBbUIsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBNEIvRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsbUJBQW1CO0lBekJuRTs7UUFvQ0ksWUFBWTtRQUVaLHVDQUF1QztRQUU3QixZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ1QsYUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEVBQW1CLG9EQUFDLENBQUM7UUFDekUscUJBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsNERBQUMsQ0FBQztRQUM3QixZQUFPLEdBQUcsTUFBTSxDQUFzQyxTQUFTLG1EQUFDLENBQUM7UUFFakUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNDLE9BQU8sQ0FDSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLEVBQW9CLENBQ25ILENBQUM7UUFDTixDQUFDLHVEQUFDLENBQUM7S0FvRU47SUExRkcsd0NBQXdDO0lBRXhDLElBQWEsTUFBTSxDQUFDLEtBQTBDO1FBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBaUJELFlBQVk7SUFFWix5Q0FBeUM7SUFFdEIsS0FBSyxDQUFDLFFBQVE7UUFDN0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO0lBRVosd0NBQXdDO0lBRWhDLEtBQUssQ0FBQyxZQUFZO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXBCLElBQUksWUFBMkIsQ0FBQztRQUVoQyxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUM7Z0JBQ0QsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZELE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEMsa0NBQWtDO1FBQ2xDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7SUFFWixzQ0FBc0M7SUFFNUIsb0JBQW9CLENBQUMsQ0FBOEI7UUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFUyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQXFCO1FBQzlDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUTthQUNsQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVTLFlBQVk7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVE7U0FDbEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F6RlEsMEJBQTBCO2tHQUExQiwwQkFBMEIsb0lBdkJ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CWCwyREFFVyxZQUFZLDhCQUFFLHNCQUFzQiw4WkFBRSxpQkFBaUIscVBBQUUsY0FBYyw2WEFBRSxZQUFZLDBNQUFFLG1CQUFtQjs7MkZBRTNHLDBCQUEwQjtrQkF6QnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJYO29CQUNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztpQkFDeEg7OEJBS2dCLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLCBBWFBMYXlvdXRDb250ZXh0Q2hhbmdlRXZlbnQsIEFYUFdpZGdldE5vZGUsIEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBUZW1wbGF0ZVZpZXdlckNvbmZpZyB9IGZyb20gJy4vdGVtcGxhdGUtdmlld2VyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtdGVtcGxhdGUtdmlld2VyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1wLTQgYXgtbWluLWgtNjRcIj5cbiAgICAgICAgPGF4LWZvcm0gI2Zvcm0+XG4gICAgICAgICAgPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJjb250ZXh0XCIgKG9uQ29udGV4dENoYW5nZWQpPVwiaGFuZGxlQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJjdXJyZW50UGFnZSgpXCIgW21vZGVdPVwiY29uZmlnPy5yZWFkT25seSA/ICd2aWV3JyA6ICdlZGl0J1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYXhwLXdpZGdldHMtY29udGFpbmVyPlxuICAgICAgICA8L2F4LWZvcm0+XG4gICAgPC9kaXY+XG4gICAgXG4gICAgQGlmIChjb25maWc/LnNob3dBY3Rpb25zICE9PSBmYWxzZSkge1xuICAgICAgPGF4LWZvb3RlciAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cInQoJ2NhbmNlbCcpIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVDYW5jZWwoKVwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgIEBpZiAoIWNvbmZpZz8ucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIDxheC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwidCgnc3VibWl0JykgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZVN1Ym1pdChmb3JtKVwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1zdWZmaXg+XG4gICAgICA8L2F4LWZvb3Rlcj5cbiAgICB9XG4gIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLCBBWERlY29yYXRvck1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRm9ybU1vZHVsZSwgQVhUcmFuc2xhdGlvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQVhQVGVtcGxhdGVWaWV3ZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXQgUHJvcGVydGllcyAgIC0tLS1cblxuICAgIEBJbnB1dCgpIHNldCBjb25maWcodmFsdWU6IEFYUFRlbXBsYXRlVmlld2VyQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZy5zZXQodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgY29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnKCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCBTdGF0ZSAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBjb250ZXh0OiBhbnkgPSB7fTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jdW1lbnQgPSBzaWduYWwoeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5kb2N1bWVudCB9IGFzIEFYUFdpZGdldE5vZGUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50UGFnZUluZGV4ID0gc2lnbmFsKDApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfY29uZmlnID0gc2lnbmFsPEFYUFRlbXBsYXRlVmlld2VyQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRQYWdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudCgpLmNoaWxkcmVuPy5bdGhpcy5jdXJyZW50UGFnZUluZGV4KCldID8/ICh7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnBhZ2VMYXlvdXQgfSBhcyBBWFBXaWRnZXROb2RlKVxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIExpZmVjeWNsZSBNZXRob2RzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRUZW1wbGF0ZSgpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBUZW1wbGF0ZSBMb2FkaW5nICAgLS0tLVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkVGVtcGxhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgICAgICBpZiAoIWNvbmZpZykgcmV0dXJuO1xuXG4gICAgICAgIGxldCB0ZW1wbGF0ZURhdGE6IEFYUFdpZGdldE5vZGU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjb25maWcudGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlRGF0YSA9IEpTT04ucGFyc2UoY29uZmlnLnRlbXBsYXRlKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBhcnNlIHRlbXBsYXRlIEpTT046JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRlbXBsYXRlRGF0YSA9IGNvbmZpZy50ZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuc2V0KHRlbXBsYXRlRGF0YSk7XG5cbiAgICAgICAgLy8gU2V0IGluaXRpYWwgY29udGV4dCBpZiBwcm92aWRlZFxuICAgICAgICBpZiAoY29uZmlnLmNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCA9IHsgLi4uY29uZmlnLmNvbnRleHQgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDb250ZXh0Q2hhbmdlZChlOiBBWFBMYXlvdXRDb250ZXh0Q2hhbmdlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gZS5kYXRhO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTdWJtaXQoZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7XG4gICAgICAgICAgICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0LFxuICAgICAgICAgICAgICAgIGNhbmNlbGxlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHRoaXMuY29uZmlnPy5tZXRhZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2FuY2VsKCkge1xuICAgICAgICB0aGlzLmNsb3NlKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dCxcbiAgICAgICAgICAgIGNhbmNlbGxlZDogdHJ1ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB0aGlzLmNvbmZpZz8ubWV0YWRhdGFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { AXPopupService } from '@acorex/components/popup';\nimport * as i0 from \"@angular/core\";\nexport class AXPTemplateViewerService {\n constructor() {\n this.popupService = inject(AXPopupService);\n }\n /**\n * Show a template viewer dialog with the given configuration\n * @param config Template viewer configuration including template, title, and UI options\n * @returns Promise resolving to viewer result with form values and cancellation status\n */\n async showTemplate(config) {\n const component = await import('./template-viewer.component').then(c => c.AXPTemplateViewerComponent);\n const result = await this.popupService.open(component, {\n title: config.title || 'Template Viewer',\n size: config.size || 'lg',\n closeButton: false,\n closeOnBackdropClick: false,\n draggable: false,\n data: { config }\n });\n return result?.data || { context: config.context, cancelled: true, metadata: config.metadata };\n }\n /**\n * Show a template viewer in read-only mode\n * @param config Template viewer configuration\n * @returns Promise resolving to viewer result\n */\n async showTemplateReadOnly(config) {\n return this.showTemplate({\n ...config,\n readOnly: true,\n showActions: false\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTemplateViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTemplateViewerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPTemplateViewerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdmlld2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvdGVtcGxhdGUtdmlld2VyL3RlbXBsYXRlLXZpZXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUhyQztRQUlxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQWlDMUQ7SUEvQkc7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBK0I7UUFDOUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN0RyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxpQkFBaUI7WUFDeEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSTtZQUN6QixXQUFXLEVBQUUsS0FBSztZQUNsQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtTQUNuQixDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sRUFBRSxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBaUU7UUFDeEYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3JCLEdBQUcsTUFBTTtZQUNULFFBQVEsRUFBRSxJQUFJO1lBQ2QsV0FBVyxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqQ1Esd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGckIsTUFBTTs7MkZBRVQsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhQVGVtcGxhdGVWaWV3ZXJDb25maWcsIEFYUFRlbXBsYXRlVmlld2VyUmVzdWx0IH0gZnJvbSAnLi90ZW1wbGF0ZS12aWV3ZXIudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUFRlbXBsYXRlVmlld2VyU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyBhIHRlbXBsYXRlIHZpZXdlciBkaWFsb2cgd2l0aCB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvblxuICAgICAqIEBwYXJhbSBjb25maWcgVGVtcGxhdGUgdmlld2VyIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIHRlbXBsYXRlLCB0aXRsZSwgYW5kIFVJIG9wdGlvbnNcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB2aWV3ZXIgcmVzdWx0IHdpdGggZm9ybSB2YWx1ZXMgYW5kIGNhbmNlbGxhdGlvbiBzdGF0dXNcbiAgICAgKi9cbiAgICBhc3luYyBzaG93VGVtcGxhdGUoY29uZmlnOiBBWFBUZW1wbGF0ZVZpZXdlckNvbmZpZyk6IFByb21pc2U8QVhQVGVtcGxhdGVWaWV3ZXJSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gYXdhaXQgaW1wb3J0KCcuL3RlbXBsYXRlLXZpZXdlci5jb21wb25lbnQnKS50aGVuKGMgPT4gYy5BWFBUZW1wbGF0ZVZpZXdlckNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCB7XG4gICAgICAgICAgICB0aXRsZTogY29uZmlnLnRpdGxlIHx8ICdUZW1wbGF0ZSBWaWV3ZXInLFxuICAgICAgICAgICAgc2l6ZTogY29uZmlnLnNpemUgfHwgJ2xnJyxcbiAgICAgICAgICAgIGNsb3NlQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGNsb3NlT25CYWNrZHJvcENsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiB7IGNvbmZpZyB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ/LmRhdGEgfHwgeyBjb250ZXh0OiBjb25maWcuY29udGV4dCwgY2FuY2VsbGVkOiB0cnVlLCBtZXRhZGF0YTogY29uZmlnLm1ldGFkYXRhIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyBhIHRlbXBsYXRlIHZpZXdlciBpbiByZWFkLW9ubHkgbW9kZVxuICAgICAqIEBwYXJhbSBjb25maWcgVGVtcGxhdGUgdmlld2VyIGNvbmZpZ3VyYXRpb25cbiAgICAgKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byB2aWV3ZXIgcmVzdWx0XG4gICAgICovXG4gICAgYXN5bmMgc2hvd1RlbXBsYXRlUmVhZE9ubHkoY29uZmlnOiBPbWl0PEFYUFRlbXBsYXRlVmlld2VyQ29uZmlnLCAncmVhZE9ubHknIHwgJ3Nob3dBY3Rpb25zJz4pOiBQcm9taXNlPEFYUFRlbXBsYXRlVmlld2VyUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dUZW1wbGF0ZSh7XG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dBY3Rpb25zOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=","import { InjectionToken } from \"@angular/core\";\nexport const AXP_USER_AVATAR_PROVIDER = new InjectionToken('AXP_USER_AVATAR_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n return new AXPUserAvatarProviderDefault();\n }\n});\nclass AXPUserAvatarProviderDefault {\n provide(userId) {\n return Promise.resolve({\n id: userId,\n username: 'johndoe',\n firstName: 'John',\n lastName: 'Doe',\n status: 'online',\n avatarUrl: 'https://via.placeholder.com/150',\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzL3NyYy9saWIvdXNlci1hdmF0YXIvdXNlci1hdmF0YXIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsMEJBQTBCLEVBQzFCO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE9BQU8sSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDSixDQUNKLENBQUM7QUFHRixNQUFNLDRCQUE0QjtJQUM5QixPQUFPLENBQUMsTUFBYztRQUNsQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbkIsRUFBRSxFQUFFLE1BQU07WUFDVixRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUUsTUFBTTtZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxpQ0FBaUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckRhdGEsIEFYUFVzZXJBdmF0YXJQcm92aWRlciB9IGZyb20gXCIuL3VzZXItYXZhdGFyLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBBWFBfVVNFUl9BVkFUQVJfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQVXNlckF2YXRhclByb3ZpZGVyPihcbiAgICAnQVhQX1VTRVJfQVZBVEFSX1BST1ZJREVSJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBVc2VyQXZhdGFyUHJvdmlkZXJEZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG4pO1xuXG5cbmNsYXNzIEFYUFVzZXJBdmF0YXJQcm92aWRlckRlZmF1bHQgaW1wbGVtZW50cyBBWFBVc2VyQXZhdGFyUHJvdmlkZXIge1xuICAgIHByb3ZpZGUodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFVzZXJBdmF0YXJEYXRhPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgaWQ6IHVzZXJJZCxcbiAgICAgICAgICAgIHVzZXJuYW1lOiAnam9obmRvZScsXG4gICAgICAgICAgICBmaXJzdE5hbWU6ICdKb2huJyxcbiAgICAgICAgICAgIGxhc3ROYW1lOiAnRG9lJyxcbiAgICAgICAgICAgIHN0YXR1czogJ29ubGluZScsXG4gICAgICAgICAgICBhdmF0YXJVcmw6ICdodHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vMTUwJyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { AXP_USER_AVATAR_PROVIDER } from \"./user-avatar.provider\";\nimport { BehaviorSubject, timer } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class AXPUserAvatarService {\n constructor() {\n this.provider = inject(AXP_USER_AVATAR_PROVIDER);\n // Cache configuration\n this.cacheExpiryTime = 5 * 60 * 1000; // 5 minutes in milliseconds\n this.refreshInterval = 3 * 60 * 1000; // 3 minutes in milliseconds\n // Cache storage\n this.cache = new Map();\n }\n /**\n * Gets user information with caching and auto-refresh\n * @param userId The username to fetch information for\n * @returns Observable that emits user avatar data\n */\n getUserInfo$(userId) {\n // Check if we have a cached entry\n if (!this.cache.has(userId) || this.isExpired(userId)) {\n // Create a new cache entry with default values\n const defaultData = {\n id: userId,\n status: 'offline',\n username: '',\n firstName: '',\n lastName: ''\n };\n const subject = new BehaviorSubject(defaultData);\n this.cache.set(userId, {\n data: defaultData,\n timestamp: Date.now(),\n subject\n });\n // Fetch fresh data immediately\n this.fetchAndUpdateCache(userId);\n // Set up auto refresh\n timer(this.refreshInterval, this.refreshInterval)\n .pipe(tap(() => this.fetchAndUpdateCache(userId)))\n .subscribe();\n }\n return this.cache.get(userId).subject.asObservable();\n }\n /**\n * Gets user information (Promise-based for backward compatibility)\n * @param userId The username to fetch information for\n * @returns Promise that resolves to user avatar data\n */\n async getUserInfo(userId) {\n // Check if we have an unexpired cached entry\n if (this.cache.has(userId) && !this.isExpired(userId)) {\n return this.cache.get(userId).data;\n }\n // Fetch fresh data and cache it\n return this.fetchAndUpdateCache(userId);\n }\n /**\n * Clears the entire cache or a specific user's cache\n * @param userId Optional username to clear specific cache\n */\n clearCache(userId) {\n if (userId) {\n this.cache.delete(userId);\n }\n else {\n this.cache.clear();\n }\n }\n /**\n * Force refresh data for a specific username\n * @param userId The username to refresh\n * @returns Promise that resolves to the refreshed data\n */\n async refreshUserInfo(userId) {\n return this.fetchAndUpdateCache(userId);\n }\n /**\n * Checks if a cache entry is expired\n */\n isExpired(userId) {\n const entry = this.cache.get(userId);\n if (!entry)\n return true;\n return (Date.now() - entry.timestamp) > this.cacheExpiryTime;\n }\n /**\n * Fetches data from provider and updates the cache\n */\n async fetchAndUpdateCache(userId) {\n try {\n const data = await this.provider.provide(userId);\n if (!data) {\n throw new Error(`User info not found for ${userId}`);\n }\n const entry = this.cache.get(userId);\n // Update the cache entry\n if (entry) {\n entry.data = data;\n entry.timestamp = Date.now();\n entry.subject.next(data);\n }\n else {\n // Create a new cache entry if needed\n const subject = new BehaviorSubject(data);\n this.cache.set(userId, {\n data,\n timestamp: Date.now(),\n subject\n });\n }\n return data;\n }\n catch (error) {\n console.error(`Error fetching user info for ${userId}:`, error);\n throw error;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPUserAvatarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPUserAvatarService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPUserAvatarService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBK0IsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBV2xFLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJWSxhQUFRLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFcEQsc0JBQXNCO1FBQ0wsb0JBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLDRCQUE0QjtRQUM3RCxvQkFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsNEJBQTRCO1FBRTlFLGdCQUFnQjtRQUNSLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztLQXFIakQ7SUFuSEc7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxNQUFjO1FBQ3ZCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3BELCtDQUErQztZQUMvQyxNQUFNLFdBQVcsR0FBc0I7Z0JBQ25DLEVBQUUsRUFBRSxNQUFNO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixRQUFRLEVBQUUsRUFBRTtnQkFDWixT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QUUsQ0FBQztnQkFDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLHFDQUFxQztnQkFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7b0JBQ25CLElBQUk7b0JBQ0osU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3JCLE9BQU87aUJBQ1YsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsTUFBTSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEUsTUFBTSxLQUFLLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7OEdBNUhRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07OzJGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckRhdGEgfSBmcm9tIFwiLi91c2VyLWF2YXRhci50eXBlc1wiO1xuaW1wb3J0IHsgQVhQX1VTRVJfQVZBVEFSX1BST1ZJREVSIH0gZnJvbSBcIi4vdXNlci1hdmF0YXIucHJvdmlkZXJcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2UgQ2FjaGVFbnRyeSB7XG4gICAgZGF0YTogQVhQVXNlckF2YXRhckRhdGE7XG4gICAgdGltZXN0YW1wOiBudW1iZXI7XG4gICAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEFYUFVzZXJBdmF0YXJEYXRhPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVXNlckF2YXRhclNlcnZpY2Uge1xuICAgIHByaXZhdGUgcHJvdmlkZXIgPSBpbmplY3QoQVhQX1VTRVJfQVZBVEFSX1BST1ZJREVSKTtcblxuICAgIC8vIENhY2hlIGNvbmZpZ3VyYXRpb25cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRXhwaXJ5VGltZSA9IDUgKiA2MCAqIDEwMDA7IC8vIDUgbWludXRlcyBpbiBtaWxsaXNlY29uZHNcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2hJbnRlcnZhbCA9IDMgKiA2MCAqIDEwMDA7IC8vIDMgbWludXRlcyBpbiBtaWxsaXNlY29uZHNcblxuICAgIC8vIENhY2hlIHN0b3JhZ2VcbiAgICBwcml2YXRlIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIENhY2hlRW50cnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHVzZXIgaW5mb3JtYXRpb24gd2l0aCBjYWNoaW5nIGFuZCBhdXRvLXJlZnJlc2hcbiAgICAgKiBAcGFyYW0gdXNlcklkIFRoZSB1c2VybmFtZSB0byBmZXRjaCBpbmZvcm1hdGlvbiBmb3JcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdXNlciBhdmF0YXIgZGF0YVxuICAgICAqL1xuICAgIGdldFVzZXJJbmZvJCh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QVhQVXNlckF2YXRhckRhdGE+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBhIGNhY2hlZCBlbnRyeVxuICAgICAgICBpZiAoIXRoaXMuY2FjaGUuaGFzKHVzZXJJZCkgfHwgdGhpcy5pc0V4cGlyZWQodXNlcklkKSkge1xuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGNhY2hlIGVudHJ5IHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHREYXRhOiBBWFBVc2VyQXZhdGFyRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBpZDogdXNlcklkLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ29mZmxpbmUnLFxuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU6ICcnLFxuICAgICAgICAgICAgICAgIGxhc3ROYW1lOiAnJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUFVzZXJBdmF0YXJEYXRhPihkZWZhdWx0RGF0YSk7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnNldCh1c2VySWQsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiBkZWZhdWx0RGF0YSxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgc3ViamVjdFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEZldGNoIGZyZXNoIGRhdGEgaW1tZWRpYXRlbHlcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hBbmRVcGRhdGVDYWNoZSh1c2VySWQpO1xuXG4gICAgICAgICAgICAvLyBTZXQgdXAgYXV0byByZWZyZXNoXG4gICAgICAgICAgICB0aW1lcih0aGlzLnJlZnJlc2hJbnRlcnZhbCwgdGhpcy5yZWZyZXNoSW50ZXJ2YWwpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmZldGNoQW5kVXBkYXRlQ2FjaGUodXNlcklkKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHVzZXJJZCkhLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB1c2VyIGluZm9ybWF0aW9uIChQcm9taXNlLWJhc2VkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuICAgICAqIEBwYXJhbSB1c2VySWQgVGhlIHVzZXJuYW1lIHRvIGZldGNoIGluZm9ybWF0aW9uIGZvclxuICAgICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB1c2VyIGF2YXRhciBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgZ2V0VXNlckluZm8odXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFVzZXJBdmF0YXJEYXRhPiB7XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYW4gdW5leHBpcmVkIGNhY2hlZCBlbnRyeVxuICAgICAgICBpZiAodGhpcy5jYWNoZS5oYXModXNlcklkKSAmJiAhdGhpcy5pc0V4cGlyZWQodXNlcklkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHVzZXJJZCkhLmRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGZXRjaCBmcmVzaCBkYXRhIGFuZCBjYWNoZSBpdFxuICAgICAgICByZXR1cm4gdGhpcy5mZXRjaEFuZFVwZGF0ZUNhY2hlKHVzZXJJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBlbnRpcmUgY2FjaGUgb3IgYSBzcGVjaWZpYyB1c2VyJ3MgY2FjaGVcbiAgICAgKiBAcGFyYW0gdXNlcklkIE9wdGlvbmFsIHVzZXJuYW1lIHRvIGNsZWFyIHNwZWNpZmljIGNhY2hlXG4gICAgICovXG4gICAgY2xlYXJDYWNoZSh1c2VySWQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHVzZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUodXNlcklkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcmNlIHJlZnJlc2ggZGF0YSBmb3IgYSBzcGVjaWZpYyB1c2VybmFtZVxuICAgICAqIEBwYXJhbSB1c2VySWQgVGhlIHVzZXJuYW1lIHRvIHJlZnJlc2hcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlZnJlc2hlZCBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgcmVmcmVzaFVzZXJJbmZvKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBVc2VyQXZhdGFyRGF0YT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mZXRjaEFuZFVwZGF0ZUNhY2hlKHVzZXJJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgY2FjaGUgZW50cnkgaXMgZXhwaXJlZFxuICAgICAqL1xuICAgIHByaXZhdGUgaXNFeHBpcmVkKHVzZXJJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5jYWNoZS5nZXQodXNlcklkKTtcbiAgICAgICAgaWYgKCFlbnRyeSkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgcmV0dXJuIChEYXRlLm5vdygpIC0gZW50cnkudGltZXN0YW1wKSA+IHRoaXMuY2FjaGVFeHBpcnlUaW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZldGNoZXMgZGF0YSBmcm9tIHByb3ZpZGVyIGFuZCB1cGRhdGVzIHRoZSBjYWNoZVxuICAgICAqL1xuICAgIHByaXZhdGUgYXN5bmMgZmV0Y2hBbmRVcGRhdGVDYWNoZSh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8QVhQVXNlckF2YXRhckRhdGE+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLnByb3ZpZGVyLnByb3ZpZGUodXNlcklkKTtcbiAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVXNlciBpbmZvIG5vdCBmb3VuZCBmb3IgJHt1c2VySWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2FjaGUuZ2V0KHVzZXJJZCk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgY2FjaGUgZW50cnlcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGVudHJ5LmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgIGVudHJ5LnRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgZW50cnkuc3ViamVjdC5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgY2FjaGUgZW50cnkgaWYgbmVlZGVkXG4gICAgICAgICAgICAgICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQVXNlckF2YXRhckRhdGE+KGRhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KHVzZXJJZCwge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3RcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBmZXRjaGluZyB1c2VyIGluZm8gZm9yICR7dXNlcklkfTpgLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=","import { Component, ViewEncapsulation, computed, inject, input, signal } from '@angular/core';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPUserAvatarService } from './user-avatar.service';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/avatar\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/image\";\nexport class AXPUserAvatarComponent {\n constructor() {\n this.userAvatarService = inject(AXPUserAvatarService);\n this.destroy$ = new Subject();\n this.userInfo = signal(null, ...(ngDevMode ? [{ debugName: \"userInfo\" }] : []));\n this.size = input(40, ...(ngDevMode ? [{ debugName: \"size\" }] : []));\n this.userId = input('', ...(ngDevMode ? [{ debugName: \"userId\" }] : []));\n this.src = signal('', ...(ngDevMode ? [{ debugName: \"src\" }] : []));\n this.userName = computed(() => this.userInfo()?.username || '', ...(ngDevMode ? [{ debugName: \"userName\" }] : []));\n this.firstName = computed(() => this.userInfo()?.firstName || 'Root', ...(ngDevMode ? [{ debugName: \"firstName\" }] : []));\n this.lastName = computed(() => this.userInfo()?.lastName || 'User', ...(ngDevMode ? [{ debugName: \"lastName\" }] : []));\n this.title = computed(() => `${this.firstName()} ${this.lastName()}`, ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.isOnline = computed(() => this.userInfo()?.status === 'online', ...(ngDevMode ? [{ debugName: \"isOnline\" }] : []));\n this.avatarText = computed(() => this.getInitials(), ...(ngDevMode ? [{ debugName: \"avatarText\" }] : []));\n this.avatarColor = computed(() => this.pickColor(this.avatarText()), ...(ngDevMode ? [{ debugName: \"avatarColor\" }] : []));\n this.hasPicture = signal(false, ...(ngDevMode ? [{ debugName: \"hasPicture\" }] : []));\n }\n onImageError(event) {\n this.hasPicture.set(false);\n }\n onImageLoad(event) {\n this.hasPicture.set(true);\n }\n ngOnInit() {\n this.loadUserData();\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n loadUserData() {\n // Skip if no username provided\n if (!this.userId()) {\n return;\n }\n // Subscribe to the user info observable to get real-time updates\n this.userAvatarService\n .getUserInfo$(this.userId())\n .pipe(takeUntil(this.destroy$))\n .subscribe((userData) => {\n this.userInfo.set(userData);\n // This is a placeholder - replace with your actual avatar URL logic\n this.generateAvatarSrc();\n });\n }\n /**\n * Generate avatar image source\n * This is a placeholder - implement based on your actual requirements\n */\n generateAvatarSrc() {\n // Example: Check if the user has a custom avatar URL\n // If not, generate a placeholder using initials\n if (this.userInfo()?.avatarUrl) {\n this.src.set(this.userInfo()?.avatarUrl);\n }\n else {\n // Generate a placeholder - you could use an external service like UI Avatars\n // or implement your own logic\n const initials = this.getInitials();\n this.src.set(`https://avatar.iran.liara.run/username?username=${encodeURIComponent(initials)}`);\n }\n }\n /**\n * Get initials from first and last name\n */\n getInitials() {\n const firstInitial = this.firstName().charAt(0).toUpperCase();\n const lastInitial = this.lastName().charAt(0).toUpperCase();\n return firstInitial + lastInitial;\n }\n hashString(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n }\n pickColor(initials) {\n const colors = ['primary', 'secondary', 'danger', 'warning', 'success', 'accent1', 'accent2', 'accent3'];\n const idx = this.hashString(initials) % colors.length;\n return colors[idx];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPUserAvatarComponent, isStandalone: true, selector: \"axp-user-avatar\", inputs: { size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, userId: { classPropertyName: \"userId\", publicName: \"userId\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], ngImport: i0, template: \"<ax-avatar #avatar [size]=\\\"size()\\\" class=\\\"ax-cursor-pointer\\\">\\n @if(hasPicture()){\\n <ax-image (onError)=\\\"onImageError($event)\\\" (onLoad)=\\\"onImageLoad($event)\\\" [src]=\\\"src()\\\"></ax-image>\\n }@else{\\n <ax-text class=\\\"ax-{{ avatarColor() }}-lightest \\\">\\n <small class=\\\"ax-text-xs ax-font-semibold\\\">{{ avatarText() }}</small>\\n </ax-text>\\n }\\n</ax-avatar>\\n\\n<!--\\n\\nax-primary-lightest\\nax-warning-lightest\\nax-success-lightest\\nax-danger-lightest\\nax-secondary-lightest\\nax-accent1-lightest\\nax-accent2-lightest\\nax-accent3-lightest\\n\\n-->\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AXAvatarModule }, { kind: \"component\", type: i1.AXAvatarComponent, selector: \"ax-avatar\", inputs: [\"color\", \"size\", \"shape\", \"look\"], outputs: [\"sizeChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXImageModule }, { kind: \"component\", type: i3.AXImageComponent, selector: \"ax-image\", inputs: [\"width\", \"height\", \"overlayMode\", \"src\", \"alt\", \"priority\", \"lazy\"], outputs: [\"onLoad\", \"onError\"] }, { kind: \"ngmodule\", type: AXBadgeModule }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPUserAvatarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-user-avatar', imports: [\n AXAvatarModule,\n AXDecoratorModule,\n AXImageModule,\n AXBadgeModule\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<ax-avatar #avatar [size]=\\\"size()\\\" class=\\\"ax-cursor-pointer\\\">\\n @if(hasPicture()){\\n <ax-image (onError)=\\\"onImageError($event)\\\" (onLoad)=\\\"onImageLoad($event)\\\" [src]=\\\"src()\\\"></ax-image>\\n }@else{\\n <ax-text class=\\\"ax-{{ avatarColor() }}-lightest \\\">\\n <small class=\\\"ax-text-xs ax-font-semibold\\\">{{ avatarText() }}</small>\\n </ax-text>\\n }\\n</ax-avatar>\\n\\n<!--\\n\\nax-primary-lightest\\nax-warning-lightest\\nax-success-lightest\\nax-danger-lightest\\nax-secondary-lightest\\nax-accent1-lightest\\nax-accent2-lightest\\nax-accent3-lightest\\n\\n-->\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUczRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBZXpELE1BQU0sT0FBTyxzQkFBc0I7SUFibkM7UUFjbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdEMsYUFBUSxHQUFHLE1BQU0sQ0FBMkIsSUFBSSxvREFBQyxDQUFDO1FBRTVELFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxnREFBQyxDQUFDO1FBQ3pCLFdBQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxr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QUFpQixxUEFDakIsYUFBYSxvTkFDYixhQUFhOzsyRkFLSixzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0UsaUJBQWlCLFdBR2xCO3dCQUNQLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7cUJBQ2hCLGlCQUNnQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhclNlcnZpY2UgfSBmcm9tICcuL3VzZXItYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWEF2YXRhck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhQVXNlckF2YXRhckRhdGEgfSBmcm9tICcuL3VzZXItYXZhdGFyLnR5cGVzJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhJbWFnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9pbWFnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC11c2VyLWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWF2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi91c2VyLWF2YXRhci5jb21wb25lbnQuc2NzcycsXG4gIGltcG9ydHM6IFtcbiAgICBBWEF2YXRhck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEltYWdlTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGVcbl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFVzZXJBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlckF2YXRhclNlcnZpY2UgPSBpbmplY3QoQVhQVXNlckF2YXRhclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgdXNlckluZm8gPSBzaWduYWw8QVhQVXNlckF2YXRhckRhdGEgfCBudWxsPihudWxsKTtcblxuICBzaXplID0gaW5wdXQ8bnVtYmVyPig0MCk7XG4gIHVzZXJJZCA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIHNyYyA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgdXNlck5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnVzZXJJbmZvKCk/LnVzZXJuYW1lIHx8ICcnKTtcbiAgZmlyc3ROYW1lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy51c2VySW5mbygpPy5maXJzdE5hbWUgfHwgJ1Jvb3QnKTtcbiAgbGFzdE5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnVzZXJJbmZvKCk/Lmxhc3ROYW1lIHx8ICdVc2VyJyk7XG4gIHRpdGxlID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5maXJzdE5hbWUoKX0gJHt0aGlzLmxhc3ROYW1lKCl9YCk7XG4gIGlzT25saW5lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy51c2VySW5mbygpPy5zdGF0dXMgPT09ICdvbmxpbmUnKTtcblxuICBhdmF0YXJUZXh0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5nZXRJbml0aWFscygpKTtcbiAgYXZhdGFyQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBpY2tDb2xvcih0aGlzLmF2YXRhclRleHQoKSkpO1xuXG4gIHByb3RlY3RlZCBoYXNQaWN0dXJlID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgb25JbWFnZUVycm9yKGV2ZW50OiBBWEh0bWxFdmVudDxFcnJvckV2ZW50Pikge1xuICAgIHRoaXMuaGFzUGljdHVyZS5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW1hZ2VMb2FkKGV2ZW50OiBBWEh0bWxFdmVudDxFdmVudD4pIHtcbiAgICB0aGlzLmhhc1BpY3R1cmUuc2V0KHRydWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkVXNlckRhdGEoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIC8vIFNraXAgaWYgbm8gdXNlcm5hbWUgcHJvdmlkZWRcbiAgICBpZiAoIXRoaXMudXNlcklkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIHVzZXIgaW5mbyBvYnNlcnZhYmxlIHRvIGdldCByZWFsLXRpbWUgdXBkYXRlc1xuICAgIHRoaXMudXNlckF2YXRhclNlcnZpY2VcbiAgICAgIC5nZXRVc2VySW5mbyQodGhpcy51c2VySWQoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXJEYXRhKSA9PiB7XG4gICAgICAgIHRoaXMudXNlckluZm8uc2V0KHVzZXJEYXRhKTtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHBsYWNlaG9sZGVyIC0gcmVwbGFjZSB3aXRoIHlvdXIgYWN0dWFsIGF2YXRhciBVUkwgbG9naWNcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUF2YXRhclNyYygpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYXZhdGFyIGltYWdlIHNvdXJjZVxuICAgKiBUaGlzIGlzIGEgcGxhY2Vob2xkZXIgLSBpbXBsZW1lbnQgYmFzZWQgb24geW91ciBhY3R1YWwgcmVxdWlyZW1lbnRzXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlQXZhdGFyU3JjKCk6IHZvaWQge1xuICAgIC8vIEV4YW1wbGU6IENoZWNrIGlmIHRoZSB1c2VyIGhhcyBhIGN1c3RvbSBhdmF0YXIgVVJMXG4gICAgLy8gSWYgbm90LCBnZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIHVzaW5nIGluaXRpYWxzXG4gICAgaWYgKHRoaXMudXNlckluZm8oKT8uYXZhdGFyVXJsKSB7XG4gICAgICB0aGlzLnNyYy5zZXQodGhpcy51c2VySW5mbygpPy5hdmF0YXJVcmwhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciAtIHlvdSBjb3VsZCB1c2UgYW4gZXh0ZXJuYWwgc2VydmljZSBsaWtlIFVJIEF2YXRhcnNcbiAgICAgIC8vIG9yIGltcGxlbWVudCB5b3VyIG93biBsb2dpY1xuICAgICAgY29uc3QgaW5pdGlhbHMgPSB0aGlzLmdldEluaXRpYWxzKCk7XG4gICAgICB0aGlzLnNyYy5zZXQoYGh0dHBzOi8vYXZhdGFyLmlyYW4ubGlhcmEucnVuL3VzZXJuYW1lP3VzZXJuYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGluaXRpYWxzKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGluaXRpYWxzIGZyb20gZmlyc3QgYW5kIGxhc3QgbmFtZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbml0aWFscygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpcnN0SW5pdGlhbCA9IHRoaXMuZmlyc3ROYW1lKCkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgbGFzdEluaXRpYWwgPSB0aGlzLmxhc3ROYW1lKCkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCk7XG4gICAgcmV0dXJuIGZpcnN0SW5pdGlhbCArIGxhc3RJbml0aWFsO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNoU3RyaW5nKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgaGFzaCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgIGhhc2ggfD0gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGguYWJzKGhhc2gpO1xuICB9XG5cbiAgcHJpdmF0ZSBwaWNrQ29sb3IoaW5pdGlhbHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3JzID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICdkYW5nZXInLCAnd2FybmluZycsICdzdWNjZXNzJywgJ2FjY2VudDEnLCAnYWNjZW50MicsICdhY2NlbnQzJ107XG4gICAgY29uc3QgaWR4ID0gdGhpcy5oYXNoU3RyaW5nKGluaXRpYWxzKSAlIGNvbG9ycy5sZW5ndGg7XG4gICAgcmV0dXJuIGNvbG9yc1tpZHhdO1xuICB9XG59XG4iLCI8YXgtYXZhdGFyICNhdmF0YXIgW3NpemVdPVwic2l6ZSgpXCIgY2xhc3M9XCJheC1jdXJzb3ItcG9pbnRlclwiPlxuICBAaWYoaGFzUGljdHVyZSgpKXtcbiAgPGF4LWltYWdlIChvbkVycm9yKT1cIm9uSW1hZ2VFcnJvcigkZXZlbnQpXCIgKG9uTG9hZCk9XCJvbkltYWdlTG9hZCgkZXZlbnQpXCIgW3NyY109XCJzcmMoKVwiPjwvYXgtaW1hZ2U+XG4gIH1AZWxzZXtcbiAgPGF4LXRleHQgY2xhc3M9XCJheC17eyBhdmF0YXJDb2xvcigpIH19LWxpZ2h0ZXN0IFwiPlxuICAgIDxzbWFsbCBjbGFzcz1cImF4LXRleHQteHMgYXgtZm9udC1zZW1pYm9sZFwiPnt7IGF2YXRhclRleHQoKSB9fTwvc21hbGw+XG4gIDwvYXgtdGV4dD5cbiAgfVxuPC9heC1hdmF0YXI+XG5cbjwhLS1cblxuYXgtcHJpbWFyeS1saWdodGVzdFxuYXgtd2FybmluZy1saWdodGVzdFxuYXgtc3VjY2Vzcy1saWdodGVzdFxuYXgtZGFuZ2VyLWxpZ2h0ZXN0XG5heC1zZWNvbmRhcnktbGlnaHRlc3RcbmF4LWFjY2VudDEtbGlnaHRlc3RcbmF4LWFjY2VudDItbGlnaHRlc3RcbmF4LWFjY2VudDMtbGlnaHRlc3RcblxuLS0+XG4iXX0=","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, model, signal, untracked, viewChild, ViewEncapsulation, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/tabs\";\nimport * as i2 from \"@acorex/core/translation\";\nimport * as i3 from \"@angular/common\";\nexport class AXPQueryViewsComponent {\n constructor() {\n this.popupService = inject(AXPopupService);\n this.translate = inject(AXTranslationService);\n this.tabs = viewChild('tabs', ...(ngDevMode ? [{ debugName: \"tabs\" }] : []));\n this.views = model([], ...(ngDevMode ? [{ debugName: \"views\" }] : []));\n this.selectedView = model.required(...(ngDevMode ? [{ debugName: \"selectedView\" }] : []));\n this.isMounted = signal(false, ...(ngDevMode ? [{ debugName: \"isMounted\" }] : []));\n this.#effect = effect(() => {\n if (!this.isMounted())\n return;\n const views = untracked(() => this.views());\n if (!views)\n return;\n const selectedTab = views.findIndex((v) => v.name == this.selectedView().name);\n untracked(() => {\n if (selectedTab != -1) {\n this.tabs()?.select(selectedTab);\n }\n });\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n ngAfterViewInit() {\n this.isMounted.set(true);\n }\n #effect;\n setView(view) {\n this.selectedView.set(view);\n }\n handleActiveChange(e) {\n console.log(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQueryViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPQueryViewsComponent, isStandalone: true, selector: \"axp-query-views\", inputs: { views: { classPropertyName: \"views\", publicName: \"views\", isSignal: true, isRequired: false, transformFunction: null }, selectedView: { classPropertyName: \"selectedView\", publicName: \"selectedView\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { views: \"viewsChange\", selectedView: \"selectedViewChange\" }, viewQueries: [{ propertyName: \"tabs\", first: true, predicate: [\"tabs\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-tabs #tabs [look]=\\\"'with-line'\\\" class=\\\"ax-font-semibold\\\">\\n @for (item of views(); track item.name) {\\n <ax-tab-item (onClick)=\\\"setView(item)\\\" [key]=\\\"item.name\\\" [text]=\\\"(item.title | translate | async) || 'item.title'\\\">\\n </ax-tab-item>\\n }\\n <!-- <ax-tab-item\\n (onClick)=\\\"createNew()\\\"\\n [key]=\\\"'create-new'\\\"\\n [text]=\\\"('view.createNew' | translate | async) || 'Create New'\\\"\\n >\\n </ax-tab-item> -->\\n</ax-tabs>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i1.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i1.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i2.AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPQueryViewsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-query-views', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXTabsModule, AXTranslationModule, CommonModule], template: \"<ax-tabs #tabs [look]=\\\"'with-line'\\\" class=\\\"ax-font-semibold\\\">\\n @for (item of views(); track item.name) {\\n <ax-tab-item (onClick)=\\\"setView(item)\\\" [key]=\\\"item.name\\\" [text]=\\\"(item.title | translate | async) || 'item.title'\\\">\\n </ax-tab-item>\\n }\\n <!-- <ax-tab-item\\n (onClick)=\\\"createNew()\\\"\\n [key]=\\\"'create-new'\\\"\\n [text]=\\\"('view.createNew' | translate | async) || 'Create New'\\\"\\n >\\n </ax-tab-item> -->\\n</ax-tabs>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktdmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3ZpZXdzL3F1ZXJ5LXZpZXdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi92aWV3cy9xdWVyeS12aWV3cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV2QixNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBU1ksaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxTQUFTLENBQWtCLE1BQU0sZ0RBQUMsQ0FBQztRQUVwRCxVQUFLLEdBQUcsS0FBSyxDQUFpQixFQUFFLGlEQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQUMsUUFBUSx1REFBZ0IsQ0FBQztRQUVwQyxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUsscURBQUMsQ0FBQztRQU1wQyxZQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFBRSxPQUFPO1lBQzlCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPO1lBQ25CLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9FLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxXQUFXLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxtREFBQyxDQUFDO0tBU0o7SUF2QkMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLENBVUo7SUFFSCxPQUFPLENBQUMsSUFBa0I7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQU07UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDOzhHQWhDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnaEJDekJuQyxrZEFZQSwyQ0RXWSxZQUFZLGthQUFFLG1CQUFtQiw4QkFBRSxZQUFZOzsyRkFFOUMsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRhYnNDb21wb25lbnQsIEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUsIEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFZpZXdRdWVyeSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1xdWVyeS12aWV3cycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktdmlld3MuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQVhUYWJzTW9kdWxlLCBBWFRyYW5zbGF0aW9uTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBRdWVyeVZpZXdzQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGUgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgdGFicyA9IHZpZXdDaGlsZDxBWFRhYnNDb21wb25lbnQ+KCd0YWJzJyk7XG5cbiAgdmlld3MgPSBtb2RlbDxBWFBWaWV3UXVlcnlbXT4oW10pO1xuICBzZWxlY3RlZFZpZXcgPSBtb2RlbC5yZXF1aXJlZDxBWFBWaWV3UXVlcnk+KCk7XG5cbiAgcHJvdGVjdGVkIGlzTW91bnRlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNNb3VudGVkLnNldCh0cnVlKTtcbiAgfVxuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdGhpcy5pc01vdW50ZWQoKSkgcmV0dXJuO1xuICAgIGNvbnN0IHZpZXdzID0gdW50cmFja2VkKCgpID0+IHRoaXMudmlld3MoKSk7XG4gICAgaWYgKCF2aWV3cykgcmV0dXJuO1xuICAgIGNvbnN0IHNlbGVjdGVkVGFiID0gdmlld3MuZmluZEluZGV4KCh2KSA9PiB2Lm5hbWUgPT0gdGhpcy5zZWxlY3RlZFZpZXcoKS5uYW1lKTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgaWYgKHNlbGVjdGVkVGFiICE9IC0xKSB7XG4gICAgICAgIHRoaXMudGFicygpPy5zZWxlY3Qoc2VsZWN0ZWRUYWIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBzZXRWaWV3KHZpZXc6IEFYUFZpZXdRdWVyeSkge1xuICAgIHRoaXMuc2VsZWN0ZWRWaWV3LnNldCh2aWV3KTtcbiAgfVxuXG4gIGhhbmRsZUFjdGl2ZUNoYW5nZShlOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhlKTtcbiAgfVxufVxuIiwiPGF4LXRhYnMgI3RhYnMgW2xvb2tdPVwiJ3dpdGgtbGluZSdcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj5cbiAgQGZvciAoaXRlbSBvZiB2aWV3cygpOyB0cmFjayBpdGVtLm5hbWUpIHtcbiAgICA8YXgtdGFiLWl0ZW0gKG9uQ2xpY2spPVwic2V0VmlldyhpdGVtKVwiIFtrZXldPVwiaXRlbS5uYW1lXCIgW3RleHRdPVwiKGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYykgfHwgJ2l0ZW0udGl0bGUnXCI+XG4gICAgPC9heC10YWItaXRlbT5cbiAgfVxuICA8IS0tIDxheC10YWItaXRlbVxuICAgICAgKG9uQ2xpY2spPVwiY3JlYXRlTmV3KClcIlxuICAgICAgW2tleV09XCInY3JlYXRlLW5ldydcIlxuICAgICAgW3RleHRdPVwiKCd2aWV3LmNyZWF0ZU5ldycgfCB0cmFuc2xhdGUgfCBhc3luYykgfHwgJ0NyZWF0ZSBOZXcnXCJcbiAgICA+XG4gICAgPC9heC10YWItaXRlbT4gLS0+XG48L2F4LXRhYnM+XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { Component, input, output, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\n/**\n * Generic widget item component for displaying selectable widgets with icons, titles, and descriptions.\n * Can be used across different modules for consistent widget display and interaction.\n */\nexport class AXPWidgetItemComponent {\n constructor() {\n // Inputs\n /** The widget data to display */\n this.widget = input.required(...(ngDevMode ? [{ debugName: \"widget\" }] : []));\n /** Whether this widget is currently selected */\n this.isSelected = input(false, ...(ngDevMode ? [{ debugName: \"isSelected\" }] : []));\n /** Whether to show the pin button */\n this.showPinButton = input(true, ...(ngDevMode ? [{ debugName: \"showPinButton\" }] : []));\n /** Custom CSS classes to apply to the widget item */\n this.customClasses = input('', ...(ngDevMode ? [{ debugName: \"customClasses\" }] : []));\n // Outputs\n /** Emitted when the widget item is clicked */\n this.onWidgetClick = output();\n /** Emitted when the pin button is clicked */\n this.onPinClick = output();\n }\n /**\n * Handle widget item click event\n */\n handleClick(event) {\n this.onWidgetClick.emit({\n event,\n widget: this.widget()\n });\n }\n /**\n * Handle pin button click event\n */\n handlePinClick(event) {\n event.stopPropagation(); // Prevent widget click event\n this.onPinClick.emit({\n event,\n widget: this.widget()\n });\n }\n /**\n * Get the effective icon to display\n */\n getIconClass() {\n return this.widget().icon || 'fa-light fa-document';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPWidgetItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPWidgetItemComponent, isStandalone: true, selector: \"axp-widget-item\", inputs: { widget: { classPropertyName: \"widget\", publicName: \"widget\", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: \"isSelected\", publicName: \"isSelected\", isSignal: true, isRequired: false, transformFunction: null }, showPinButton: { classPropertyName: \"showPinButton\", publicName: \"showPinButton\", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: \"customClasses\", publicName: \"customClasses\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onWidgetClick: \"onWidgetClick\", onPinClick: \"onPinClick\" }, ngImport: i0, template: \"<div (click)=\\\"handleClick($event)\\\"\\n class=\\\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-lightest/65 hover:ax-text-primary-on-lightest ax-cursor-pointer ax-w-full\\\"\\n [class.ax-bg-primary-lightest]=\\\"isSelected()\\\" [class.ax-text-primary-on-lightest]=\\\"isSelected()\\\"\\n [class.ax-border-primary-lightest]=\\\"isSelected()\\\" [class]=\\\"customClasses()\\\">\\n\\n <!-- Widget Icon -->\\n <div class=\\\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border group-hover:ax-bg-primary-lighter group-hover:ax-text-primary-on-lighter group-hover:ax-border-primary-lighter\\\"\\n [class.ax-bg-primary-light]=\\\"isSelected()\\\" [class.ax-text-primary-on-light]=\\\"isSelected()\\\"\\n [class.ax-border-primary-light]=\\\"isSelected()\\\" [class.ax-surface]=\\\"!isSelected()\\\">\\n <i [ngClass]=\\\"getIconClass()\\\" class=\\\"ax-text-lg\\\"></i>\\n </div>\\n\\n <!-- Widget Content -->\\n <div class=\\\"ax-flex ax-flex-col ax-gap-1 ax-flex-1 ax-w-[70%]\\\">\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-gap-2\\\">\\n <!-- Widget Title -->\\n <div class=\\\"ax-font-semibold ax-text-sm ax-truncate\\\" [title]=\\\"widget().title\\\">\\n {{ widget().title }}\\n </div>\\n\\n <!-- Pin Button -->\\n @if (showPinButton()) {\\n <div (click)=\\\"handlePinClick($event)\\\" class=\\\"ax-cursor-pointer\\\">\\n @if (widget().isPinned) {\\n <i class=\\\"fa-solid fa-thumbtack ax-text-sm ax-rotate-45\\\" title=\\\"Unpin\\\"></i>\\n } @else {\\n <i class=\\\"fa-light fa-thumbtack ax-text-sm ax-rotate-45 ax-invisible group-hover:ax-visible\\\"\\n title=\\\"Pin\\\"></i>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Widget Description -->\\n @if (widget().description) {\\n <span class=\\\"ax-text-xs ax-truncate\\\" [title]=\\\"widget().description\\\">\\n {{ widget().description }}\\n </span>\\n }\\n </div>\\n</div>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPWidgetItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-widget-item', imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: \"<div (click)=\\\"handleClick($event)\\\"\\n class=\\\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-lightest/65 hover:ax-text-primary-on-lightest ax-cursor-pointer ax-w-full\\\"\\n [class.ax-bg-primary-lightest]=\\\"isSelected()\\\" [class.ax-text-primary-on-lightest]=\\\"isSelected()\\\"\\n [class.ax-border-primary-lightest]=\\\"isSelected()\\\" [class]=\\\"customClasses()\\\">\\n\\n <!-- Widget Icon -->\\n <div class=\\\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border group-hover:ax-bg-primary-lighter group-hover:ax-text-primary-on-lighter group-hover:ax-border-primary-lighter\\\"\\n [class.ax-bg-primary-light]=\\\"isSelected()\\\" [class.ax-text-primary-on-light]=\\\"isSelected()\\\"\\n [class.ax-border-primary-light]=\\\"isSelected()\\\" [class.ax-surface]=\\\"!isSelected()\\\">\\n <i [ngClass]=\\\"getIconClass()\\\" class=\\\"ax-text-lg\\\"></i>\\n </div>\\n\\n <!-- Widget Content -->\\n <div class=\\\"ax-flex ax-flex-col ax-gap-1 ax-flex-1 ax-w-[70%]\\\">\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-gap-2\\\">\\n <!-- Widget Title -->\\n <div class=\\\"ax-font-semibold ax-text-sm ax-truncate\\\" [title]=\\\"widget().title\\\">\\n {{ widget().title }}\\n </div>\\n\\n <!-- Pin Button -->\\n @if (showPinButton()) {\\n <div (click)=\\\"handlePinClick($event)\\\" class=\\\"ax-cursor-pointer\\\">\\n @if (widget().isPinned) {\\n <i class=\\\"fa-solid fa-thumbtack ax-text-sm ax-rotate-45\\\" title=\\\"Unpin\\\"></i>\\n } @else {\\n <i class=\\\"fa-light fa-thumbtack ax-text-sm ax-rotate-45 ax-invisible group-hover:ax-visible\\\"\\n title=\\\"Pin\\\"></i>\\n }\\n </div>\\n }\\n </div>\\n\\n <!-- Widget Description -->\\n @if (widget().description) {\\n <span class=\\\"ax-text-xs ax-truncate\\\" [title]=\\\"widget().description\\\">\\n {{ widget().description }}\\n </span>\\n }\\n </div>\\n</div>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3dpZGdldC1pdGVtL3dpZGdldC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi93aWRnZXQtaXRlbS93aWRnZXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHNUU7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9JLFNBQVM7UUFDVCxpQ0FBaUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLGlEQUFxQixDQUFDO1FBRTdDLGdEQUFnRDtRQUNoRCxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssc0RBQUMsQ0FBQztRQUVuQyxxQ0FBcUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLENBQVUsSUFBSSx5REFBQyxDQUFDO1FBRXJDLHFEQUFxRDtRQUNyRCxrQkFBYSxHQUFHLEtBQUssQ0FBUyxFQUFFLHlEQUFDLENBQUM7UUFFbEMsVUFBVTtRQUNWLDhDQUE4QztRQUM5QyxrQkFBYSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztRQUVsRCw2Q0FBNkM7UUFDN0MsZUFBVSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztLQTZCbEQ7SUEzQkc7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxLQUFpQjtRQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDakIsS0FBSztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLElBQUksc0JBQXNCLENBQUM7SUFDeEQsQ0FBQzs4R0EvQ1Esc0JBQXNCO2tHQUF0QixzQkFBc0IsK3JCQ2RuQyw2aUVBd0NNLDJDRDlCUSxZQUFZOzsyRkFJYixzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksaUJBQWlCLFdBQ2xCLENBQUMsWUFBWSxDQUFDLGlCQUVSLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0SXRlbURhdGEsIEFYUFdpZGdldEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnLi93aWRnZXQtaXRlbS50eXBlcyc7XG5cbi8qKlxuICogR2VuZXJpYyB3aWRnZXQgaXRlbSBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgc2VsZWN0YWJsZSB3aWRnZXRzIHdpdGggaWNvbnMsIHRpdGxlcywgYW5kIGRlc2NyaXB0aW9ucy5cbiAqIENhbiBiZSB1c2VkIGFjcm9zcyBkaWZmZXJlbnQgbW9kdWxlcyBmb3IgY29uc2lzdGVudCB3aWRnZXQgZGlzcGxheSBhbmQgaW50ZXJhY3Rpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLXdpZGdldC1pdGVtJyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldEl0ZW1Db21wb25lbnQge1xuICAgIC8vIElucHV0c1xuICAgIC8qKiBUaGUgd2lkZ2V0IGRhdGEgdG8gZGlzcGxheSAqL1xuICAgIHdpZGdldCA9IGlucHV0LnJlcXVpcmVkPEFYUFdpZGdldEl0ZW1EYXRhPigpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyB3aWRnZXQgaXMgY3VycmVudGx5IHNlbGVjdGVkICovXG4gICAgaXNTZWxlY3RlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIHBpbiBidXR0b24gKi9cbiAgICBzaG93UGluQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIHRvIGFwcGx5IHRvIHRoZSB3aWRnZXQgaXRlbSAqL1xuICAgIGN1c3RvbUNsYXNzZXMgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAgIC8vIE91dHB1dHNcbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB3aWRnZXQgaXRlbSBpcyBjbGlja2VkICovXG4gICAgb25XaWRnZXRDbGljayA9IG91dHB1dDxBWFBXaWRnZXRJdGVtQ2xpY2tFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHBpbiBidXR0b24gaXMgY2xpY2tlZCAqL1xuICAgIG9uUGluQ2xpY2sgPSBvdXRwdXQ8QVhQV2lkZ2V0SXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgd2lkZ2V0IGl0ZW0gY2xpY2sgZXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uV2lkZ2V0Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHdpZGdldDogdGhpcy53aWRnZXQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgcGluIGJ1dHRvbiBjbGljayBldmVudFxuICAgICAqL1xuICAgIGhhbmRsZVBpbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IHdpZGdldCBjbGljayBldmVudFxuICAgICAgICB0aGlzLm9uUGluQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHdpZGdldDogdGhpcy53aWRnZXQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGVmZmVjdGl2ZSBpY29uIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBnZXRJY29uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0KCkuaWNvbiB8fCAnZmEtbGlnaHQgZmEtZG9jdW1lbnQnO1xuICAgIH1cbn0iLCI8ZGl2IChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICBjbGFzcz1cImF4LXB5LTIgYXgtcHgtMyBheC1yb3VuZGVkLW1kIGF4LWZsZXggYXgtZ2FwLTMgYXgtaXRlbXMtY2VudGVyIGF4LWdyb3VwIGhvdmVyOmF4LWJnLXByaW1hcnktbGlnaHRlc3QvNjUgaG92ZXI6YXgtdGV4dC1wcmltYXJ5LW9uLWxpZ2h0ZXN0IGF4LWN1cnNvci1wb2ludGVyIGF4LXctZnVsbFwiXG4gICAgW2NsYXNzLmF4LWJnLXByaW1hcnktbGlnaHRlc3RdPVwiaXNTZWxlY3RlZCgpXCIgW2NsYXNzLmF4LXRleHQtcHJpbWFyeS1vbi1saWdodGVzdF09XCJpc1NlbGVjdGVkKClcIlxuICAgIFtjbGFzcy5heC1ib3JkZXItcHJpbWFyeS1saWdodGVzdF09XCJpc1NlbGVjdGVkKClcIiBbY2xhc3NdPVwiY3VzdG9tQ2xhc3NlcygpXCI+XG5cbiAgICA8IS0tIFdpZGdldCBJY29uIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJheC1taW4tdy0xMCBheC1oLTEwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXJvdW5kZWQtbWQgYXgtYm9yZGVyIGdyb3VwLWhvdmVyOmF4LWJnLXByaW1hcnktbGlnaHRlciBncm91cC1ob3ZlcjpheC10ZXh0LXByaW1hcnktb24tbGlnaHRlciBncm91cC1ob3ZlcjpheC1ib3JkZXItcHJpbWFyeS1saWdodGVyXCJcbiAgICAgICAgW2NsYXNzLmF4LWJnLXByaW1hcnktbGlnaHRdPVwiaXNTZWxlY3RlZCgpXCIgW2NsYXNzLmF4LXRleHQtcHJpbWFyeS1vbi1saWdodF09XCJpc1NlbGVjdGVkKClcIlxuICAgICAgICBbY2xhc3MuYXgtYm9yZGVyLXByaW1hcnktbGlnaHRdPVwiaXNTZWxlY3RlZCgpXCIgW2NsYXNzLmF4LXN1cmZhY2VdPVwiIWlzU2VsZWN0ZWQoKVwiPlxuICAgICAgICA8aSBbbmdDbGFzc109XCJnZXRJY29uQ2xhc3MoKVwiIGNsYXNzPVwiYXgtdGV4dC1sZ1wiPjwvaT5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gV2lkZ2V0IENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTEgYXgtZmxleC0xIGF4LXctWzcwJV1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1nYXAtMlwiPlxuICAgICAgICAgICAgPCEtLSBXaWRnZXQgVGl0bGUgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtIGF4LXRydW5jYXRlXCIgW3RpdGxlXT1cIndpZGdldCgpLnRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3sgd2lkZ2V0KCkudGl0bGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIFBpbiBCdXR0b24gLS0+XG4gICAgICAgICAgICBAaWYgKHNob3dQaW5CdXR0b24oKSkge1xuICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiaGFuZGxlUGluQ2xpY2soJGV2ZW50KVwiIGNsYXNzPVwiYXgtY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHdpZGdldCgpLmlzUGlubmVkKSB7XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS10aHVtYnRhY2sgYXgtdGV4dC1zbSBheC1yb3RhdGUtNDVcIiB0aXRsZT1cIlVucGluXCI+PC9pPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGh1bWJ0YWNrIGF4LXRleHQtc20gYXgtcm90YXRlLTQ1IGF4LWludmlzaWJsZSBncm91cC1ob3ZlcjpheC12aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJQaW5cIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gV2lkZ2V0IERlc2NyaXB0aW9uIC0tPlxuICAgICAgICBAaWYgKHdpZGdldCgpLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC14cyBheC10cnVuY2F0ZVwiIFt0aXRsZV09XCJ3aWRnZXQoKS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAge3sgd2lkZ2V0KCkuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWxheW91dC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvYWNvcmV4LXBsYXRmb3JtLWxheW91dC1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i5","i3","i4","i6","i8","i10","i11","i9","i7"],"mappings":"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"}