@acorex/platform 20.2.2 → 20.2.4-next.0
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.
- package/common/index.d.ts +9 -2
- package/core/index.d.ts +42 -57
- package/fesm2022/acorex-platform-common.mjs +17 -9
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +110 -158
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +62 -50
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +170 -23
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1774 -989
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +186 -51
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs → acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs → acorex-platform-themes-default-entity-master-list-view.component-ezrf2oBR.mjs} +93 -176
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-ezrf2oBR.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs → acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs} +3 -10
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs → acorex-platform-themes-default-entity-master-single-view.component-D8r3S2lI.mjs} +12 -7
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-D8r3S2lI.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +49 -491
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs → acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs} +2 -2
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs} +5 -5
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs} +3 -3
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +584 -102
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/index.d.ts +7 -3
- package/layout/components/index.d.ts +45 -6
- package/layout/entity/index.d.ts +136 -328
- package/layout/views/index.d.ts +64 -20
- package/package.json +1 -1
- package/themes/default/index.d.ts +1 -1
- package/widgets/index.d.ts +91 -4
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs +0 -22
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.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/filters/query-filters.component.js","../tmp-esm2022/layout/components/lib/sorts/query-sorts.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/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.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 { 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.6\", ngImport: i0, type: AXPQueryColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", 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.6\", 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.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\\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.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\\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb21wYXJlLXZpZXcvY29tcGFyZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9jb21wYXJlLXZpZXcvY29tcGFyZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLGlCQUFpQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBOEN4RixNQUFNLE9BQU8sdUJBQXVCO0lBdEJwQztRQXdCSSw0Q0FBNEM7UUFFNUMsV0FBTSxHQUFHLEtBQUssNERBQXdCLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsS0FBSywyREFBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxLQUFLLENBQXFCLFNBQVMsZ0RBQUMsQ0FBQztRQUVwQyxtQkFBYyxHQUFHLE1BQU0sQ0FBVyxFQUFFLDBEQUFDLENBQUM7UUFFcEMsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFNBQVMseURBQUMsQ0FBQztRQUVwRSxZQUFZO1FBRVosMkNBQTJDO1FBRTNDOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1lBQzNDLHNDQUFzQztZQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRztvQkFDbkIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87b0JBQ3ZCLFNBQVMsRUFBRSxLQUFLO29CQUNoQixRQUFRLEVBQUUsSUFBSTtpQkFDakIsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1lBRUQsZ0VBQWdFO1lBQ2hFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLDBEQUFDLENBQUM7UUFFSCxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO1lBQzdDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLDREQUFDLENBQUM7S0F3R047SUF0R0csWUFBWTtJQUVaLHVDQUF1QztJQUV2Qzs7T0FFRztJQUNPLHNCQUFzQixDQUFDLFNBQWlCLEVBQUUsa0JBQTBCO1FBQzFFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hDLElBQUksa0JBQWtCLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFM0QsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNILDJCQUEyQixDQUFDLFNBQWlCLEVBQUUsa0JBQTBCO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hDLElBQUksa0JBQWtCLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRWxFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRXRDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsU0FBaUI7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV0QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFLRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxNQUFXLEVBQUUsTUFBVztRQUMzQyxJQUFJLE1BQU0sS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFbkMsSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJO1lBQUUsT0FBTyxNQUFNLEtBQUssTUFBTSxDQUFDO1FBRS9ELElBQUksT0FBTyxNQUFNLEtBQUssT0FBTyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVk7SUFFWix5Q0FBeUM7SUFFekMsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQzs4R0E5SVEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMlRBSnJCLEVBRVYsMEJDdERMLDZwR0FrRkE7Z0JEM0NRLFVBQVU7Z0JBQ1YsWUFBWTtnQkFDWixTQUFTO2dCQUNULFlBQVksOEJBQ1osZUFBZSw4QkFDZixjQUFjLDhCQUNkLGFBQWEsZ0tBQ2IsZ0JBQWdCLDBSQUNoQixtQkFBbUI7Z0JBQ25CLFdBQVc7Z0JBQ1gsc0JBQXNCOzsyRkFPakIsdUJBQXVCO2tCQXRCbkMsU0FBUzsrQkFDSSxrQkFBa0IsV0FHbkI7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxzQkFBc0I7cUJBQ3pCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFFViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbnB1dCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLCBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBDb250ZXh0RGF0YSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tcGFyZVZpZXdGaWVsZCB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNsb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudC1zbG90L2NvbXBvbmVudC1zbG90LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZHLE9BQU8sRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwscUJBQXFCLEVBQ3JCLE1BQU0sRUFFTixnQkFBZ0IsR0FFakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFPckYsTUFBTSxPQUFPLHlCQUF5QjtJQW9CcEM7UUFuQkEsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLCtDQUFVLENBQUM7UUFDaEMsU0FBSSxHQUFHLEtBQUssMERBQU8sQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyw2REFBTyxDQUFDO1FBRWYsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25ELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXZDLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsbURBQUMsQ0FBQztRQUV6RCxpREFBaUQ7UUFDekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLHNEQUFDLENBQUM7UUFFL0IseUNBQXlDO1FBQ2pDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQUc5QywyREFBMkQ7UUFDM0QsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFaEMsNERBQTREO1lBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUN4QyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO3dCQUNuQyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsT0FBTyxFQUFFLGNBQWM7cUJBQ3hCLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFFeEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUQsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDeEUsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3pCLElBQUksU0FBd0MsQ0FBQztZQUM3QyxJQUFJLE9BQU8sR0FBK0IsRUFBRSxDQUFDO1lBQzdDLGlCQUFpQjtZQUNqQixJQUFJLE9BQU8sTUFBTSxDQUFDLGFBQWEsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUNwRCxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDN0MsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUM1QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsZUFBZTtZQUNmLElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN6QyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtvQkFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQW1CLENBQUM7b0JBQ3ZDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMxQixPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlELENBQUM7WUFDRCx5QkFBeUI7WUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxTQUFVLENBQUMsQ0FBQztZQUV2RSxtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZCLEdBQUcsT0FBTzthQUNYLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQThFO1FBQzVHLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzQyxtQ0FBbUM7SUFDckMsQ0FBQzs4R0F6R1UseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUENvbnRleHREYXRhLCBBWFBDb250ZXh0U3RvcmUsIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7XG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBzaWduYWwsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQQ29tcG9uZW50U2xvdFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50LXNsb3QtcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdheHAtY29tcG9uZW50LXNsb3QnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgZXhwb3J0QXM6ICdzbG90Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tcG9uZW50U2xvdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+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 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 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: AXPQueryFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", 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.6\", 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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Q0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBZ0JMOzhHQXZRUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixndUJDbkRyQyxrNUhBOEZBLG8vQkR4REksWUFBWSw4QkFDWixXQUFXLDhWQUNYLGNBQWMsNlhBQ2QsaUJBQWlCLHNWQUNqQixtQkFBbUIsOEJBQ25CLGVBQWUsdVZBQ2YscUJBQXFCLDhCQUNyQixjQUFjLDZkQUNkLHNCQUFzQiw4WkFDdEIsc0JBQXNCLGtYQUN0QixhQUFhOzsyRkFHSix3QkFBd0I7a0JBckJwQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBR2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixhQUFhO3FCQUNkOzhCQWN5QixTQUFTO3NCQUFsQyxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRXZlbnQsIEFYSHRtbEV2ZW50LCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTGlzdE5hdmlnYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9saXN0LW5hdmlnYXRpb24nO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQsIEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYU2VsZWN0aW9uTGlzdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3Rpb24tbGlzdCc7XG5pbXBvcnQgeyBBWFRhZ0JveENvbXBvbmVudCwgQVhUYWdCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFnLWJveCc7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSwgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQUxMX0RFRkFVTFRfT1BFUkFUT1JTLCBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRmlsdGVyRGVmaW5pdGlvbiwgQVhQRmlsdGVyUXVlcnkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG4gIG91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgdmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXF1ZXJ5LWZpbHRlcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgQVhTZWxlY3Rpb25MaXN0TW9kdWxlLFxuICAgIEFYVGFnQm94TW9kdWxlLFxuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgQVhMaXN0TmF2aWdhdGlvbk1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBRdWVyeUZpbHRlcnNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGNhbGVuZGFyU2VydmljZSA9IGluamVjdChBWENhbGVuZGFyU2VydmljZSk7XG4gIHByaXZhdGUgZmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlID0gaW5qZWN0KEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2UpO1xuXG4gIGZpbHRlcnNEZWZpbml0aW9ucyA9IGlucHV0PEFYUEZpbHRlckRlZmluaXRpb25bXT4oW10pO1xuICBpbml0aWFsRmlsdGVycyA9IGlucHV0PEFYUEZpbHRlclF1ZXJ5W10+KFtdKTtcbiAgb25GaWx0ZXJzQ2hhbmdlZCA9IG91dHB1dDxBWFBGaWx0ZXJRdWVyeVtdPigpO1xuXG4gIHByb3RlY3RlZCB0YWdCb3ggPSB2aWV3Q2hpbGQ8QVhUYWdCb3hDb21wb25lbnQ+KCd0YWdCb3gnKTtcbiAgdGFnQm94SW5wdXQhOiBhbnk7XG5cbiAgQFZpZXdDaGlsZHJlbignY2FzZUl0ZW0nKSBsaXN0SXRlbXMhOiBRdWVyeUxpc3Q8YW55PjtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRGaWVsZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkRmlsdGVycyA9IGxpbmtlZFNpZ25hbDxBWFBGaWx0ZXJEZWZpbml0aW9uW10+KCgpID0+XG4gICAgdGhpcy5jb252ZXJ0UXVlcmllc1RvRGVmaW5pdGlvbnModGhpcy5pbml0aWFsRmlsdGVycygpKSxcbiAgKTtcblxuICBjb250ZXh0ID0gbGlua2VkU2lnbmFsPGFueT4oKCkgPT4gdGhpcy5jb252ZXJ0UXVlcmllc1RvQ29udGV4dCh0aGlzLmluaXRpYWxGaWx0ZXJzKCkpKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlRmlsdGVyID0gc2lnbmFsPEFYUEZpbHRlckRlZmluaXRpb24gfCBudWxsPihudWxsKTtcblxuICBwcm90ZWN0ZWQgYXN5bmNUYWdzID0gc2lnbmFsPGFueVtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHBvcG92ZXIgPSB2aWV3Q2hpbGQ8QVhQb3BvdmVyQ29tcG9uZW50PigncG9wb3ZlcicpO1xuXG4gIGlucHV0VmFsdWUgPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgaW5saW5lRmlsdGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzRGVmaW5pdGlvbnMoKS5maWx0ZXIoXG4gICAgICAoZikgPT5cbiAgICAgICAgZi5maWx0ZXJUeXBlLmlubGluZSAmJlxuICAgICAgICAhdGhpcy5maWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVcbiAgICAgICAgICAudHJhbnNmb3JtRmlsdGVycyh0aGlzLnNlbGVjdGVkRmlsdGVycygpKVxuICAgICAgICAgIC5zb21lKFxuICAgICAgICAgICAgKHNmKSA9PlxuICAgICAgICAgICAgICBzZi5maWVsZCA9PT0gZi5maWVsZCAmJlxuICAgICAgICAgICAgICBzZi5vcGVyYXRvcj8udHlwZSA9PT0gKHRoaXMuY29udGV4dCgpW3NmLmZpZWxkXT8ub3BlcmF0aW9uPy50eXBlIHx8IGYub3BlcmF0b3I/LnR5cGUpLFxuICAgICAgICAgICksXG4gICAgKTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZ2V0RGlzcGxheVZhbHVlID0gYXN5bmMgKGZpbHRlcjogQVhQRmlsdGVyRGVmaW5pdGlvbiwgdmFsOiBhbnkpID0+IHtcbiAgICBpZiAoZmlsdGVyLndpZGdldC50eXBlID09PSAnc2VsZWN0LWVkaXRvcicgfHwgZmlsdGVyLndpZGdldC50eXBlID09PSAnc2VsZWN0LWZpbHRlcicpIHtcbiAgICAgIGNvbnN0IGRhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZSA9IGZpbHRlci53aWRnZXQub3B0aW9ucz8uWydkYXRhU291cmNlJ107XG4gICAgICBjb25zdCB0ZXh0RmllbGQgPSBmaWx0ZXIud2lkZ2V0Lm9wdGlvbnM/LlsndGV4dEZpZWxkJ107XG4gICAgICBjb25zdCB2YWx1ZUZpZWxkID0gZmlsdGVyLndpZGdldC5vcHRpb25zPy5bJ3ZhbHVlRmllbGQnXTtcbiAgICAgIGlmIChkYXRhU291cmNlPy5jb25maWc/LmJ5S2V5KSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHRzOiB1bmtub3duW10gPSBhd2FpdCBQcm9taXNlLmFsbCh2YWwubWFwKCh2KSA9PiBkYXRhU291cmNlLmNvbmZpZy5ieUtleSEodikpKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0cy5tYXAoKGRhdGEpID0+IChkYXRhIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW3RleHRGaWVsZF0pLmpvaW4oJywgJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IChhd2FpdCBkYXRhU291cmNlLmNvbmZpZy5ieUtleSh2YWwpKSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgICAgICAgIHJldHVybiBkYXRhPy5bdGV4dEZpZWxkXSB8fCB2YWw7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhU291cmNlKSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIGRhdGFTb3VyY2UubWFwKChkYXRhKSA9PiAoZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVt0ZXh0RmllbGRdKS5qb2luKCcsICcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHJlY29yZDogYW55ID0gZGF0YVNvdXJjZS5maW5kKChkOiBhbnkpID0+IGRbdmFsdWVGaWVsZF0gPT09IHZhbCk7XG4gICAgICAgICAgcmV0dXJuIHJlY29yZCA/IHJlY29yZFt0ZXh0RmllbGRdIDogJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbClcbiAgICAgID8gYCR7dGhpcy5jb252ZXJ0SWZJU09TdHJpbmdEYXRlKHZhbC5mcm9tKX0gYW5kICR7dGhpcy5jb252ZXJ0SWZJU09TdHJpbmdEYXRlKHZhbC50byl9YFxuICAgICAgOiB0aGlzLmNvbnZlcnRJZklTT1N0cmluZ0RhdGUodmFsKTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgY29udmVydElmSVNPU3RyaW5nRGF0ZSA9ICh2YWw6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGlzSVNPU3RyaW5nRGF0ZSA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn1cXC5cXGR7M31aJC8udGVzdCh2YWwpO1xuICAgIGlmIChpc0lTT1N0cmluZ0RhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhbGVuZGFyU2VydmljZS5jb252ZXJ0KHZhbCkuZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbiAgfTtcblxuICBjb252ZXJ0UXVlcmllc1RvRGVmaW5pdGlvbnMocXVlcmllczogQVhQRmlsdGVyUXVlcnlbXSk6IEFYUEZpbHRlckRlZmluaXRpb25bXSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbnMgPSB0aGlzLmZpbHRlcnNEZWZpbml0aW9ucygpO1xuXG4gICAgcmV0dXJuIHF1ZXJpZXMubWFwKChxKSA9PiB7XG4gICAgICBjb25zdCBkZWZpbml0aW9uID0gZGVmaW5pdGlvbnMuZmluZCgocCkgPT4gcC5maWVsZCA9PT0gcS5maWVsZCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkOiBxLmZpZWxkLFxuICAgICAgICBvcGVyYXRvcjogcS5vcGVyYXRvcixcbiAgICAgICAgdmFsdWU6IHEudmFsdWUsXG4gICAgICAgIHRpdGxlOiBkZWZpbml0aW9uPy50aXRsZSB8fCAnJyxcbiAgICAgICAgd2lkZ2V0OiBkZWZpbml0aW9uPy53aWRnZXQhLFxuICAgICAgICBmaWx0ZXJUeXBlOiBkZWZpbml0aW9uPy5maWx0ZXJUeXBlISxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBjb252ZXJ0UXVlcmllc1RvQ29udGV4dChxdWVyaWVzOiBBWFBGaWx0ZXJRdWVyeVtdKTogYW55IHtcbiAgICByZXR1cm4gcXVlcmllcy5yZWR1Y2UoKGFjYywgcSkgPT4ge1xuICAgICAgYWNjW3EuZmllbGRdID0geyB2YWx1ZTogcS52YWx1ZSwgb3BlcmF0aW9uOiBxLm9wZXJhdG9yIH07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIGFueSk7XG4gIH1cblxuICBmaWx0ZXJGaWVsZHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyc0RlZmluaXRpb25zKCkuZmlsdGVyKChmKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBmLmZpbHRlclR5cGUuYWR2YW5jZSAmJlxuICAgICAgICAhdGhpcy5zZWxlY3RlZEZpbHRlcnMoKS5zb21lKChzZikgPT4ge1xuICAgICAgICAgIHJldHVybiBzZi5maWVsZCA9PT0gZi5maWVsZDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG4gIH07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWdCb3hJbnB1dCA9IHRoaXMudGFnQm94KCk/LmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdEZpZWxkKGZpZWxkOiBBWFBGaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5hY3RpdmVGaWx0ZXIuc2V0KGZpZWxkKTtcbiAgICAvLyB0aGlzLmlucHV0VmFsdWUuc2V0KCcnKTtcbiAgICB0aGlzLnRhZ0JveCgpPy5pbnB1dFZhbHVlLnNldCgnJyk7XG4gIH1cbiAgaGFuZGxlRmllbGRLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQsIGZpZWxkOiBBWFBGaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLmhhbmRsZVNlbGVjdEZpZWxkKGZpZWxkKTtcbiAgICB9XG4gIH1cblxuICBvbkNvbnRleHRDaGFuZ2VkKGU6IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuY29udGV4dC5zZXQoZS5kYXRhKTtcbiAgfVxuXG4gIGhhbmRsZUFwcGx5RmlsdGVyKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlcigpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVycy51cGRhdGUoKHByZXYpID0+IFsuLi5wcmV2LCB0aGlzLmFjdGl2ZUZpbHRlcigpIGFzIEFYUEZpbHRlckRlZmluaXRpb25dKTtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyLnNldChudWxsKTtcbiAgICAgIHRoaXMucG9wb3ZlcigpPy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUJ1dHRvbktleURvd24oZTogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5wb3BvdmVyKCk/LmlzT3BlbiAmJiAhdGhpcy5hY3RpdmVGaWx0ZXIoKSkge1xuICAgICAgLy8gRmluZCBmaXJzdCBsaXN0IGl0ZW0gYW5kIGZvY3VzIGl0XG4gICAgICBjb25zdCBmaXJzdEl0ZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbYXhMaXN0TmF2aWdhdGlvbkl0ZW1dJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoZmlyc3RJdGVtKSB7XG4gICAgICAgIGZpcnN0SXRlbS5mb2N1cygpO1xuICAgICAgICBlPy5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUtleURvd24oZTogQVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4pIHtcbiAgICBpZiAoZS5uYXRpdmVFdmVudD8ua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgaWYgKHRoaXMucG9wb3ZlcigpPy5pc09wZW4gJiYgIXRoaXMuYWN0aXZlRmlsdGVyKCkpIHtcbiAgICAgICAgLy8gRmluZCBmaXJzdCBsaXN0IGl0ZW0gYW5kIGZvY3VzIGl0XG4gICAgICAgIGNvbnN0IGZpcnN0SXRlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1theExpc3ROYXZpZ2F0aW9uSXRlbV0nKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKGZpcnN0SXRlbSkge1xuICAgICAgICAgIGZpcnN0SXRlbS5mb2N1cygpO1xuICAgICAgICAgIGUubmF0aXZlRXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wb3BvdmVyKCk/Lm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdW50cmFja2VkKCgpID0+IHRoaXMuY29udGV4dCgpKTtcbiAgICBjb25zdCBzZWxlY3RlZEZpbHRlcnMgPSB0aGlzLnNlbGVjdGVkRmlsdGVycygpO1xuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRGaWx0ZXJzOiBBWFBGaWx0ZXJRdWVyeVtdID0gc2VsZWN0ZWRGaWx0ZXJzLm1hcCgoZikgPT4gKHtcbiAgICAgICAgZmllbGQ6IGYuZmllbGQsXG4gICAgICAgIG9wZXJhdG9yOiBjb250ZXh0W2YuZmllbGRdPy5vcGVyYXRpb24sXG4gICAgICAgIHZhbHVlOiBjb250ZXh0W2YuZmllbGRdPy52YWx1ZSxcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IG5ld0NvbnRleHQ6IGFueSA9IHt9O1xuICAgICAgY29udmVydGVkRmlsdGVycy5mb3JFYWNoKChjZikgPT4ge1xuICAgICAgICBuZXdDb250ZXh0W2NmLmZpZWxkXSA9IHtcbiAgICAgICAgICB2YWx1ZTogY2YudmFsdWUsXG4gICAgICAgICAgb3BlcmF0aW9uOiB0eXBlb2YgY2Yub3BlcmF0b3IgPT09ICdzdHJpbmcnID8geyB0eXBlOiBjZi5vcGVyYXRvciB9IDogY2Yub3BlcmF0b3IsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5jb250ZXh0LnNldChuZXdDb250ZXh0KTtcbiAgICAgIHRoaXMuZGVhY3RpdmF0ZUFsbExpc3RJdGVtcygpO1xuICAgICAgdGhpcy5vbkZpbHRlcnNDaGFuZ2VkLmVtaXQoY29udmVydGVkRmlsdGVycyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGhhbmRsZVNlbGVjdEZpbHRlcnMoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgIGlmIChlLnZhbHVlPy5sZW5ndGggPCB0aGlzLnNlbGVjdGVkRmlsdGVycygpLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICAgIHJldHVybiBlLnZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEFjdGl2ZU9wZXJhdG9yKGZpbHRlcjogQVhQRmlsdGVyRGVmaW5pdGlvbiB8IG51bGwpIHtcbiAgICBpZiAoIWZpbHRlcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0T3BlcmF0aW9uID0gdGhpcy5jb250ZXh0KCk/LltmaWx0ZXIuZmllbGRdPy5vcGVyYXRpb24/LnR5cGU7XG4gICAgY29uc3Qgb3BlcmF0b3JUeXBlID0gY29udGV4dE9wZXJhdGlvbiB8fCBmaWx0ZXIub3BlcmF0b3I/LnR5cGU7XG5cbiAgICByZXR1cm4gQUxMX0RFRkFVTFRfT1BFUkFUT1JTLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gb3BlcmF0b3JUeXBlKT8udGl0bGU7XG4gIH1cblxuICBoYW5kbGVTZWxlY3RJbmxpbmVGaWx0ZXIoZmlsdGVyOiBBWFBGaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5jb250ZXh0LnVwZGF0ZSgocHJldikgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBbZmlsdGVyLmZpZWxkXToge1xuICAgICAgICB2YWx1ZTogdGhpcy50YWdCb3goKT8uaW5wdXRWYWx1ZSgpLFxuICAgICAgICBvcGVyYXRpb246IHsgdHlwZTogJ2NvbnRhaW5zJyB9LFxuICAgICAgfSxcbiAgICB9KSk7XG4gICAgdGhpcy50YWdCb3goKT8uaW5wdXRWYWx1ZS5zZXQoJycpO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnVwZGF0ZSgocHJldikgPT4gWy4uLnByZXYsIGZpbHRlcl0pO1xuICAgIHRoaXMucG9wb3ZlcigpPy5jbG9zZSgpO1xuICB9XG5cbiAgaGFuZGxlSW5saW5lRmlsdGVyS2V5RG93bihlOiBLZXlib2FyZEV2ZW50LCBmaWx0ZXI6IEFYUEZpbHRlckRlZmluaXRpb24pIHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMuaGFuZGxlU2VsZWN0SW5saW5lRmlsdGVyKGZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlUG9wb3ZlckNsb3NlZChlOiBBWEV2ZW50KSB7XG4gICAgdGhpcy5hY3RpdmVGaWx0ZXIuc2V0KG51bGwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUG9wb3Zlck9wZW5lZChlOiBBWEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyc0RlZmluaXRpb25zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnBvcG92ZXIoKT8uY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVhY3RpdmF0ZUFsbExpc3RJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcbiAgICAgIHRoaXMubGlzdEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUoKSkge1xuICAgICAgICAgIGl0ZW0uaXNBY3RpdmUuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2VmZmVjdDIgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLnNlbGVjdGVkRmlsdGVycygpO1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHQoKTtcblxuICAgIFByb21pc2UuYWxsKFxuICAgICAgZmlsdGVycy5tYXAoYXN5bmMgKGZpbHRlcikgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSBjb250ZXh0W2ZpbHRlci5maWVsZF0/LnZhbHVlO1xuICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWUgPSBhd2FpdCB0aGlzLmdldERpc3BsYXlWYWx1ZShmaWx0ZXIsIHZhbCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIHF1ZXJ5OiBgJHt0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGVTeW5jKGZpbHRlci50aXRsZSl9ICR7dGhpcy5nZXRBY3RpdmVPcGVyYXRvcihmaWx0ZXIpfSAnJHtkaXNwbGF5VmFsdWV9J2AsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApLnRoZW4oKHJlc3VsdHMpID0+IHtcbiAgICAgIHRoaXMuYXN5bmNUYWdzLnNldChyZXN1bHRzKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTIgYXgtcC0yXCI+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 { afterNextRender, ChangeDetectionStrategy, Component, effect, input, model, output, signal, ViewEncapsulation, } from '@angular/core';\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\" }] : []));\n this.initialSortQueries = input([], ...(ngDevMode ? [{ debugName: \"initialSortQueries\" }] : []));\n this.sortQueriesChange = output();\n afterNextRender(() => {\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 if (existingQuery) {\n return { ...def, dir: existingQuery.dir };\n }\n return { ...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 this.sortQueriesChange.emit(this.sortQueries());\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.6\", ngImport: i0, type: AXPQuerySortsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", 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.6\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc29ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cy9zcmMvbGliL3NvcnRzL3F1ZXJ5LXNvcnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMvc3JjL2xpYi9zb3J0cy9xdWVyeS1zb3J0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQWUsYUFBYSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFtQnZCLE1BQU0sT0FBTyxzQkFBc0I7SUFPakM7UUFOQSxvQkFBZSxHQUFHLEtBQUssQ0FBc0IsRUFBRSwyREFBQyxDQUFDO1FBQ2pELGdCQUFXLEdBQUcsTUFBTSxDQUFpQixFQUFFLHVEQUFDLENBQUM7UUFFekMsdUJBQWtCLEdBQUcsS0FBSyxDQUFpQixFQUFFLDhEQUFDLENBQUM7UUFDL0Msc0JBQWlCLEdBQUcsTUFB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QUcsRUFBRSxZQUFZLEVBQUUsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTFEVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyZUNwQ25DLGt6Q0F3QkEsNENERUksV0FBVyxzaEJBQ1gsT0FBTyx3Y0FDUCxhQUFhLDhGQUNiLFlBQVksOEJBQ1osbUJBQW1CLDhCQUNuQixZQUFZLDhCQUNaLGlCQUFpQiwrSEFDakIsY0FBYzs7MkZBR0wsc0JBQXNCO2tCQWpCbEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBRWhDLGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ1AsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTb3J0RGVmaW5pdGlvbiwgQVhQU29ydFF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXF1ZXJ5LXNvcnRzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1zb3J0cy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDZGtEcm9wTGlzdCxcbiAgICBDZGtEcmFnLFxuICAgIENka0RyYWdIYW5kbGUsXG4gICAgQVhUYWJzTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBRdWVyeVNvcnRzQ29tcG9uZW50IHtcbiAgc29ydERlZmluaXRpb25zID0gbW9kZWw8QVhQU29ydERlZmluaXRpb25bXT4oW10pO1xuICBzb3J0UXVlcmllcyA9IHNpZ25hbDxBWFBTb3J0UXVlcnlbXT4oW10pO1xuXG4gIGluaXRpYWxTb3J0UXVlcmllcyA9IGlucHV0PEFYUFNvcnRRdWVyeVtdPihbXSk7XG4gIHNvcnRRdWVyaWVzQ2hhbmdlID0gb3V0cHV0PEFYUFNvcnRRdWVyeVtdPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBjb25zdCBpbml0aWFsUXVlcmllcyA9IHRoaXMuaW5pdGlhbFNvcnRRdWVyaWVzKCk7XG4gICAgICBjb25zdCBkZWZpbml0aW9ucyA9IHRoaXMuc29ydERlZmluaXRpb25zKCk7XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nUXVlcmllc01hcCA9IG5ldyBNYXAoaW5pdGlhbFF1ZXJpZXMubWFwKChxKSA9PiBbcS5uYW1lLCBxXSkpO1xuXG4gICAgICBjb25zdCBtZXJnZWRRdWVyaWVzID0gZGVmaW5pdGlvbnMubWFwKChkZWYpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdRdWVyeSA9IGV4aXN0aW5nUXVlcmllc01hcC5nZXQoZGVmLm5hbWUpO1xuICAgICAgICBpZiAoZXhpc3RpbmdRdWVyeSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLmRlZiwgZGlyOiBleGlzdGluZ1F1ZXJ5LmRpciB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLmRlZiB9O1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNvcnRRdWVyaWVzLnNldChtZXJnZWRRdWVyaWVzKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNvcnRRdWVyaWVzQ2hhbmdlLmVtaXQodGhpcy5zb3J0UXVlcmllcygpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDx1bmtub3duW10+KSB7XG4gICAgY29uc3Qgc2QgPSB0aGlzLnNvcnREZWZpbml0aW9ucygpO1xuICAgIG1vdmVJdGVtSW5BcnJheShzZCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnNvcnREZWZpbml0aW9ucy5zZXQoWy4uLnNkXSk7XG5cbiAgICAvLyBSZW9yZGVyIHNvcnRRdWVyaWVzIGJhc2VkIG9uIG5ldyBzb3J0RGVmaW5pdGlvbnMgb3JkZXJcbiAgICBjb25zdCBzcSA9IHRoaXMuc29ydFF1ZXJpZXMoKTtcbiAgICBtb3ZlSXRlbUluQXJyYXkoc3EsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5zb3J0UXVlcmllcy5zZXQoWy4uLnNxXSk7XG5cbiAgICB0aGlzLnNvcnRRdWVyaWVzQ2hhbmdlLmVtaXQodGhpcy5zb3J0UXVlcmllcygpKTtcbiAgfVxuXG4gIGdldFNvcnREaXJlY3Rpb24oaXRlbTogQVhQU29ydERlZmluaXRpb24pIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0UXVlcmllcygpLmZpbmQoKGkpID0+IGkubmFtZSA9PT0gaXRlbS5uYW1lKT8uZGlyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoYW5nZUl0ZW1Tb3J0KGl0ZW06IEFYUFNvcnREZWZpbml0aW9uKSB7XG4gICAgY29uc3QgaXRlbURpcmVjdGlvbiA9IHRoaXMuZ2V0U29ydERpcmVjdGlvbihpdGVtKTtcbiAgICBjb25zdCBuZXdEaXJlY3Rpb24gPSBpdGVtRGlyZWN0aW9uID09PSAnYXNjJyA/ICdkZXNjJyA6IGl0ZW1EaXJlY3Rpb24gPT09ICdkZXNjJyA/IHVuZGVmaW5lZCA6ICdhc2MnO1xuXG4gICAgdGhpcy5zb3J0UXVlcmllcy51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIHJldHVybiBwcmV2Lm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUgPT09IGl0ZW0ubmFtZSkge1xuICAgICAgICAgIHJldHVybiB7IC4uLmZpZWxkLCBkaXI6IG5ld0RpcmVjdGlvbiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1qdXN0aWZ5LWNlbnRlciBheC1nYXAtNCBheC1zZWxlY3Qtbm9uZVwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1zZWxlY3Qtbm9uZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW1heC1oLVtjYWxjKDEwMHZoLTI4MHB4KV0gYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgQGZvciAoaXRlbSBvZiBzb3J0RGVmaW5pdGlvbnMoKTsgdHJhY2sgaXRlbS5uYW1lKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXB5LTEgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlblwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCIgY2RrRHJhZ0hhbmRsZT5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJheC1mb250LW1lZGl1bSBheC10ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxheC1idXR0b24gW2NvbG9yXT1cIidibGFuaydcIiBjbGFzcz1cImF4LXNtXCIgKGNsaWNrKT1cImNoYW5nZUl0ZW1Tb3J0KGl0ZW0pXCI+XG4gICAgICAgICAgICA8YXgtaWNvblxuICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5XT1cImdldFNvcnREaXJlY3Rpb24oaXRlbSkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy11cC1sb25nIGF4LXRleHQtbmV1dHJhbC00MDBcIlxuICAgICAgICAgICAgPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDxheC1pY29uXG4gICAgICAgICAgICAgIFtjbGFzcy5heC10ZXh0LXByaW1hcnldPVwiZ2V0U29ydERpcmVjdGlvbihpdGVtKSA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy1kb3duLWxvbmcgYXgtdGV4dC1uZXV0cmFsLTQwMFwiXG4gICAgICAgICAgICA+PC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","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 { 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.6\", ngImport: i0, type: AXPQueryViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", 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.6\", 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.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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"}
|