@acorex/components 21.0.1-next.2 → 21.0.1-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/action-sheet/index.d.ts +19 -41
  2. package/dialog/index.d.ts +14 -18
  3. package/dropdown/index.d.ts +4 -3
  4. package/fesm2022/acorex-components-action-sheet.mjs +93 -141
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-conversation2.mjs +2 -2
  7. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  8. package/fesm2022/acorex-components-dialog.mjs +45 -66
  9. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  10. package/fesm2022/acorex-components-dropdown.mjs +4 -0
  11. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  12. package/fesm2022/acorex-components-grid-layout-builder.mjs +2 -2
  13. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  14. package/fesm2022/acorex-components-loading-dialog.mjs +36 -73
  15. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  16. package/fesm2022/acorex-components-menu.mjs +5 -26
  17. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  18. package/fesm2022/{acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs → acorex-components-modal-acorex-components-modal-CXXcFToK.mjs} +3 -27
  19. package/fesm2022/acorex-components-modal-acorex-components-modal-CXXcFToK.mjs.map +1 -0
  20. package/fesm2022/{acorex-components-modal-modal-content.component-CSJU1vRi.mjs → acorex-components-modal-modal-content.component-B4rhHeEz.mjs} +2 -2
  21. package/fesm2022/{acorex-components-modal-modal-content.component-CSJU1vRi.mjs.map → acorex-components-modal-modal-content.component-B4rhHeEz.mjs.map} +1 -1
  22. package/fesm2022/acorex-components-modal.mjs +1 -1
  23. package/fesm2022/acorex-components-notification.mjs +257 -374
  24. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  25. package/fesm2022/acorex-components-popover.mjs +175 -136
  26. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  27. package/fesm2022/acorex-components-popup.mjs +105 -308
  28. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  29. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  30. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  31. package/fesm2022/acorex-components-scheduler.mjs +1195 -136
  32. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  33. package/fesm2022/acorex-components-toast.mjs +123 -231
  34. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  35. package/fesm2022/acorex-components-tooltip.mjs +3 -2
  36. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  37. package/loading-dialog/index.d.ts +15 -31
  38. package/menu/index.d.ts +0 -4
  39. package/modal/index.d.ts +0 -7
  40. package/notification/index.d.ts +32 -47
  41. package/package.json +7 -7
  42. package/popover/index.d.ts +27 -20
  43. package/popup/index.d.ts +27 -103
  44. package/scheduler/index.d.ts +281 -27
  45. package/toast/index.d.ts +18 -24
  46. package/tooltip/index.d.ts +2 -1
  47. package/fesm2022/acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs.map +0 -1
package/toast/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
- import { AXLocation, AXStyleColorType, MXBaseComponent } from '@acorex/cdk/common';
2
- import { AXOverlayRef } from '@acorex/cdk/overlay';
1
+ import { AXLocation, AXStyleColorType, MXBaseComponent, AXComponentCloseEvent } from '@acorex/cdk/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { OnInit, InjectionToken } from '@angular/core';
5
4
  import * as i2 from '@acorex/components/button';
6
5
  import { AXButtonItem } from '@acorex/components/button';
6
+ import * as i5 from '@angular/cdk/dialog';
7
+ import { DialogRef } from '@angular/cdk/dialog';
8
+ import { ScrollStrategy } from '@angular/cdk/overlay';
7
9
  import * as i1 from '@angular/common';
8
10
  import * as i3 from '@acorex/components/decorators';
9
11
  import * as i4 from '@acorex/components/loading';
10
- import * as i5 from '@acorex/core/translation';
12
+ import * as i6 from '@acorex/core/translation';
11
13
 
12
14
  interface AXToastDisplayConfig {
13
15
  icon?: string;
@@ -35,26 +37,19 @@ interface AXToastData {
35
37
  interface AXToastRef {
36
38
  close(): void;
37
39
  }
38
- /**
39
- * @internal
40
- * Internal reference used by toast service to manage overlay instances
41
- */
42
- interface AXToastInternalRef {
43
- id: string;
44
- overlayRef: AXOverlayRef<unknown>;
45
- config: AXToastData;
46
- close: () => void;
47
- }
48
40
 
49
41
  declare class AXToastService {
50
- private overlayService;
42
+ private readonly scrollStrategyOptions;
43
+ private dialog;
51
44
  private defaultConfig;
52
45
  private translationService;
53
46
  private reserveCounter;
54
47
  private activeToasts;
55
48
  private reservedToasts;
56
- private toastCounterRef;
49
+ private toastCounterElement;
57
50
  private moreToastsConfig;
51
+ scrollStrategy: ScrollStrategy;
52
+ constructor();
58
53
  /**
59
54
  * Shows a primary toast notification.
60
55
  *
@@ -106,11 +101,10 @@ declare class AXToastService {
106
101
  private handleShowReservedToast;
107
102
  private handleReservedToastCounter;
108
103
  private createReservedCounterToast;
109
- private positionToast;
110
104
  private reposition;
111
105
  private getRepositionPosition;
112
- private applyRepositionPosition;
113
106
  private getPosition;
107
+ private getPositionStrategy;
114
108
  static ɵfac: i0.ɵɵFactoryDeclaration<AXToastService, never>;
115
109
  static ɵprov: i0.ɵɵInjectableDeclaration<AXToastService>;
116
110
  }
@@ -121,10 +115,8 @@ declare class AXToastService {
121
115
  * @category Components
122
116
  */
123
117
  declare class AXToastComponent extends MXBaseComponent implements OnInit {
124
- /** Toast configuration data */
125
- config: i0.InputSignal<AXToastData>;
126
- /** @internal Callback function to close the toast */
127
- onClose: i0.InputSignal<() => void>;
118
+ config: AXToastData;
119
+ dialogRef: DialogRef<AXComponentCloseEvent, unknown>;
128
120
  toastService: AXToastService;
129
121
  createdDate: i0.WritableSignal<number>;
130
122
  private intervalId;
@@ -142,6 +134,8 @@ declare class AXToastComponent extends MXBaseComponent implements OnInit {
142
134
  private _initIcon;
143
135
  /** @ignore */
144
136
  _handleButtonClick(button: AXButtonItem): void;
137
+ /** @ignore */
138
+ private get __hostClass();
145
139
  /**
146
140
  * Closes the toast notification.
147
141
  */
@@ -151,7 +145,7 @@ declare class AXToastComponent extends MXBaseComponent implements OnInit {
151
145
  */
152
146
  closeAll(): void;
153
147
  static ɵfac: i0.ɵɵFactoryDeclaration<AXToastComponent, never>;
154
- static ɵcmp: i0.ɵɵComponentDeclaration<AXToastComponent, "ax-toast", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "onClose": { "alias": "onClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
148
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXToastComponent, "ax-toast", never, {}, {}, never, never, true, never>;
155
149
  }
156
150
 
157
151
  interface AXToastConfig {
@@ -169,9 +163,9 @@ declare function toastConfig(config?: PartialToastConfig): AXToastConfig;
169
163
 
170
164
  declare class AXToastModule {
171
165
  static ɵfac: i0.ɵɵFactoryDeclaration<AXToastModule, never>;
172
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXToastModule, never, [typeof i1.CommonModule, typeof i2.AXButtonModule, typeof i3.AXDecoratorModule, typeof i4.AXLoadingModule, typeof i5.AXTranslationModule, typeof AXToastComponent], [typeof AXToastComponent]>;
166
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXToastModule, never, [typeof i1.CommonModule, typeof i2.AXButtonModule, typeof i3.AXDecoratorModule, typeof i4.AXLoadingModule, typeof i5.DialogModule, typeof i6.AXTranslationModule, typeof AXToastComponent], [typeof AXToastComponent]>;
173
167
  static ɵinj: i0.ɵɵInjectorDeclaration<AXToastModule>;
174
168
  }
175
169
 
176
170
  export { AXToastComponent, AXToastDefaultConfig, AXToastModule, AXToastService, AX_TOAST_CONFIG, toastConfig };
177
- export type { AXToastConfig, AXToastData, AXToastDisplayConfig, AXToastInternalRef, AXToastRef, PartialToastConfig };
171
+ export type { AXToastConfig, AXToastData, AXToastDisplayConfig, AXToastRef, PartialToastConfig };
@@ -3,6 +3,7 @@ import * as i0 from '@angular/core';
3
3
  import { OnInit, TemplateRef } from '@angular/core';
4
4
  import { AXPopoverComponent } from '@acorex/components/popover';
5
5
  import * as i1 from '@angular/common';
6
+ import * as i2 from '@angular/cdk/overlay';
6
7
 
7
8
  /**
8
9
  * A component for displaying tooltips with additional information or context when hovering over elements.
@@ -56,7 +57,7 @@ declare class AXTooltipDirective implements OnInit {
56
57
 
57
58
  declare class AXTooltipModule {
58
59
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTooltipModule, never>;
59
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXTooltipModule, never, [typeof i1.CommonModule, typeof AXTooltipComponent, typeof AXTooltipDirective], [typeof AXTooltipComponent, typeof AXTooltipDirective]>;
60
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXTooltipModule, never, [typeof i1.CommonModule, typeof i2.OverlayModule, typeof AXTooltipComponent, typeof AXTooltipDirective], [typeof AXTooltipComponent, typeof AXTooltipDirective]>;
60
61
  static ɵinj: i0.ɵɵInjectorDeclaration<AXTooltipModule>;
61
62
  }
62
63
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs","sources":["../tmp-esm2022/modal/lib/modal-footer/modal-footer.component.js","../tmp-esm2022/modal/lib/modal-state.service.js","../tmp-esm2022/modal/lib/modal.component.js","../tmp-esm2022/modal/lib/modal.module.js","../tmp-esm2022/modal/lib/modal.service.js","../tmp-esm2022/modal/lib/modal.types.js","../tmp-esm2022/modal/acorex-components-modal.js"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXModalFooterComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: AXModalFooterComponent, isStandalone: true, selector: \"ax-modal-footer\", providers: [{ provide: AXComponent, useExisting: AXModalFooterComponent }], ngImport: i0, template: \"<ng-content select=\\\"ax-modal-footer\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n</ng-content>\\n\", styles: [\"ax-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalFooterComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-modal-footer', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXModalFooterComponent }], template: \"<ng-content select=\\\"ax-modal-footer\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n</ng-content>\\n\", styles: [\"ax-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbW9kYWwvc3JjL2xpYi9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbW9kYWwvc3JjL2xpYi9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVd0RixNQUFNLE9BQU8sc0JBQXNCOytHQUF0QixzQkFBc0I7bUdBQXRCLHNCQUFzQiw4REFGdEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQUMsMEJDVjVFLDhKQUlBOzs0RkRRYSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsaUJBQWlCLFdBR2xCLEVBQUUsaUJBQ0ksaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1tb2RhbC1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG4gIGltcG9ydHM6IFtdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTW9kYWxGb290ZXJDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTW9kYWxGb290ZXJDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LW1vZGFsLWZvb3RlclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbjwvbmctY29udGVudD5cbiJdfQ==","import { AXOverlayService } from '@acorex/cdk/overlay';\nimport { ComponentRef, inject, Injectable, signal } from '@angular/core';\nimport { cloneDeep, set } from 'lodash-es';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXModalStateService {\n constructor() {\n this.modalList = new Map();\n this.overlayService = inject(AXOverlayService);\n this.modalOption = signal(null, ...(ngDevMode ? [{ debugName: \"modalOption\" }] : []));\n }\n /**\n * Opens a modal with the specified content and options.\n * @param content - Component, template, or HTML element to display\n * @param options - Configuration options for the modal\n * @returns Promise<AXModalRef> - Reference to the opened modal\n */\n async open(content, options) {\n this.modalOption.set(options);\n const randomId = Math.floor(Math.random() * 100000000000);\n const modalContentComp = (await import('./modal-content/modal-content.component')).AXModalContentComponent;\n const onClose = new Subject();\n const returnRef = {\n close: (data) => {\n this.close(randomId, data);\n },\n setInputs: (values) => {\n this.setInputs(randomId, values);\n },\n minimize: () => {\n this.minimize(randomId);\n },\n maximize: () => {\n this.maximize(randomId);\n },\n restore: () => {\n this.restore(randomId);\n },\n bringToFront: () => {\n this.bringToFront(randomId);\n },\n onClose,\n };\n const finalInputs = { ...(cloneDeep(options?.inputs) ?? {}), ...{ __modal__: returnRef } };\n const finalOptions = set(cloneDeep(options) ?? {}, 'inputs', finalInputs);\n const ref = await this.overlayService.create(modalContentComp, {\n position: options?.position,\n backdrop: options?.backdrop,\n inputs: {\n __content__: content,\n inputs: {\n ...finalOptions?.inputs,\n },\n id: randomId,\n },\n });\n this.modalList.set(randomId, { overlay: ref, modal: returnRef });\n return returnRef;\n }\n /**\n * Closes a modal by its ID.\n * @param id - The modal ID to close\n * @param data - Optional data to pass to the close event\n */\n async close(id, data) {\n const ref = this.modalList.get(id);\n if (!ref)\n return;\n ref.modal.onClose.next(data);\n ref.overlay.dispose();\n this.modalList.delete(id);\n }\n /**\n * Sets input values for a modal by its ID.\n * @param id - The modal ID\n * @param values - Object containing input values to set\n */\n async setInputs(id, values) {\n const ref = this.modalList.get(id).overlay.instance;\n if (!ref)\n return;\n if (ref instanceof ComponentRef) {\n const comRef = ref;\n Object.entries(values).forEach((v) => {\n comRef.setInput(v[0], v[1]);\n });\n }\n else {\n ref.context.inputs.set(values);\n }\n }\n /**\n * Minimizes a modal by its ID.\n * @param id - The modal ID to minimize\n */\n async minimize(id) {\n const ref = this.modalList.get(id).overlay.instance;\n if (!ref)\n return;\n if (ref instanceof ComponentRef) {\n ref.instance.minimize();\n }\n else {\n ref.context.minimize();\n }\n }\n /**\n * Maximizes a modal by its ID.\n * @param id - The modal ID to maximize\n */\n async maximize(id) {\n const ref = this.modalList.get(id).overlay.instance;\n if (!ref)\n return;\n if (ref instanceof ComponentRef) {\n ref.instance.maximize();\n }\n else {\n ref.context.maximize();\n }\n }\n /**\n * Restores a modal by its ID.\n * @param id - The modal ID to restore\n */\n async restore(id) {\n const ref = this.modalList.get(id).overlay.instance;\n if (!ref)\n return;\n if (ref instanceof ComponentRef) {\n ref.instance.restore();\n }\n else {\n ref.context.restore();\n }\n }\n /**\n * Gets the index of a modal in the minimized stack.\n * @param targetKey - The modal ID to find\n * @returns number - The index position in the stack\n */\n getMapIndexOf(targetKey) {\n let index = 0;\n for (const key of this.modalList.keys()) {\n if (key === targetKey) {\n return index;\n }\n index++;\n }\n return -1;\n }\n /**\n * Brings a modal to the front of all other overlays.\n * @param id - The modal ID to bring to front\n */\n bringToFront(id) {\n const ref = this.modalList.get(id);\n if (!ref)\n return;\n ref.overlay.bringToFront();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalStateService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalStateService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbW9kYWwvc3JjL2xpYi9tb2RhbC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTy9CLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJVSxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQWlGLENBQUM7UUFDckcsbUJBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLE1BQU0sQ0FBaUIsSUFBSSx1REFBQyxDQUFDO0tBNko1QztJQTNKQzs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQ1IsT0FBeUMsRUFDekMsT0FBd0I7UUFFeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztRQUMzRyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXZDLE1BQU0sU0FBUyxHQUFlO1lBQzVCLEtBQUssRUFBRSxDQUFDLElBQUksRUFB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RCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFDakIsSUFBSSxHQUFHLFlBQVksWUFBWSxFQUFFLENBQUM7WUFDaEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLFNBQWM7UUFDMUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDO1FBQ1YsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEVBQVU7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ2pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0EvSlUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT3ZlcmxheVJlZiwgQVhPdmVybGF5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQVhDb21wb25lbnRDb250ZW50LCBBWENvbXBvbmVudElucHV0cyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTW9kYWxPcHRpb25zLCBBWE1vZGFsUmVmIH0gZnJvbSAnLi9tb2RhbC50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1vZGFsU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RhbExpc3QgPSBuZXcgTWFwPG51bWJlciwgeyBvdmVybGF5OiBBWE92ZXJsYXlSZWY8QVhNb2RhbENvbnRlbnRDb21wb25lbnQ+OyBtb2RhbDogQVhNb2RhbFJlZiB9PigpO1xuICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KEFYT3ZlcmxheVNlcnZpY2UpO1xuICBtb2RhbE9wdGlvbiA9IHNpZ25hbDxBWE1vZGFsT3B0aW9ucz4obnVsbCk7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbW9kYWwgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbnMuXG4gICAqIEBwYXJhbSBjb250ZW50IC0gQ29tcG9uZW50LCB0ZW1wbGF0ZSwgb3IgSFRNTCBlbGVtZW50IHRvIGRpc3BsYXlcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtb2RhbFxuICAgKiBAcmV0dXJucyBQcm9taXNlPEFYTW9kYWxSZWY+IC0gUmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgbW9kYWxcbiAgICovXG4gIGFzeW5jIG9wZW48VFJlc3VsdCA9IGFueT4oXG4gICAgY29udGVudDogQVhDb21wb25lbnRDb250ZW50IHwgSFRNTEVsZW1lbnQsXG4gICAgb3B0aW9ucz86IEFYTW9kYWxPcHRpb25zLFxuICApOiBQcm9taXNlPEFYTW9kYWxSZWY8VFJlc3VsdD4+IHtcbiAgICB0aGlzLm1vZGFsT3B0aW9uLnNldChvcHRpb25zKTtcbiAgICBjb25zdCByYW5kb21JZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwMCk7XG4gICAgY29uc3QgbW9kYWxDb250ZW50Q29tcCA9IChhd2FpdCBpbXBvcnQoJy4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCcpKS5BWE1vZGFsQ29udGVudENvbXBvbmVudDtcbiAgICBjb25zdCBvbkNsb3NlID0gbmV3IFN1YmplY3Q8VFJlc3VsdD4oKTtcblxuICAgIGNvbnN0IHJldHVyblJlZjogQVhNb2RhbFJlZiA9IHtcbiAgICAgIGNsb3NlOiAoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlKHJhbmRvbUlkLCBkYXRhKTtcbiAgICAgIH0sXG4gICAgICBzZXRJbnB1dHM6ICh2YWx1ZXM6IEFYQ29tcG9uZW50SW5wdXRzKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0SW5wdXRzKHJhbmRvbUlkLCB2YWx1ZXMpO1xuICAgICAgfSxcbiAgICAgIG1pbmltaXplOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubWluaW1pemUocmFuZG9tSWQpO1xuICAgICAgfSxcbiAgICAgIG1heGltaXplOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubWF4aW1pemUocmFuZG9tSWQpO1xuICAgICAgfSxcbiAgICAgIHJlc3RvcmU6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZXN0b3JlKHJhbmRvbUlkKTtcbiAgICAgIH0sXG4gICAgICBicmluZ1RvRnJvbnQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5icmluZ1RvRnJvbnQocmFuZG9tSWQpO1xuICAgICAgfSxcbiAgICAgIG9uQ2xvc2UsXG4gICAgfTtcblxuICAgIGNvbnN0IGZpbmFsSW5wdXRzID0geyAuLi4oY2xvbmVEZWVwKG9wdGlvbnM/LmlucHV0cykgPz8ge30pLCAuLi57IF9fbW9kYWxfXzogcmV0dXJuUmVmIH0gfTtcbiAgICBjb25zdCBmaW5hbE9wdGlvbnMgPSBzZXQoY2xvbmVEZWVwKG9wdGlvbnMpID8/IHt9LCAnaW5wdXRzJywgZmluYWxJbnB1dHMpO1xuXG4gICAgY29uc3QgcmVmID0gYXdhaXQgdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUobW9kYWxDb250ZW50Q29tcCwge1xuICAgICAgcG9zaXRpb246IG9wdGlvbnM/LnBvc2l0aW9uLFxuICAgICAgYmFja2Ryb3A6IG9wdGlvbnM/LmJhY2tkcm9wLFxuICAgICAgaW5wdXRzOiB7XG4gICAgICAgIF9fY29udGVudF9fOiBjb250ZW50LFxuICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAuLi5maW5hbE9wdGlvbnM/LmlucHV0cyxcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6IHJhbmRvbUlkLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubW9kYWxMaXN0LnNldChyYW5kb21JZCwgeyBvdmVybGF5OiByZWYsIG1vZGFsOiByZXR1cm5SZWYgfSk7XG5cbiAgICByZXR1cm4gcmV0dXJuUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhIG1vZGFsIGJ5IGl0cyBJRC5cbiAgICogQHBhcmFtIGlkIC0gVGhlIG1vZGFsIElEIHRvIGNsb3NlXG4gICAqIEBwYXJhbSBkYXRhIC0gT3B0aW9uYWwgZGF0YSB0byBwYXNzIHRvIHRoZSBjbG9zZSBldmVudFxuICAgKi9cbiAgYXN5bmMgY2xvc2U8VFJlc3VsdCA9IGFueT4oaWQ6IG51bWJlciwgZGF0YT86IFRSZXN1bHQpIHtcbiAgICBjb25zdCByZWYgPSB0aGlzLm1vZGFsTGlzdC5nZXQoaWQpO1xuICAgIGlmICghcmVmKSByZXR1cm47XG4gICAgcmVmLm1vZGFsLm9uQ2xvc2UubmV4dChkYXRhKTtcbiAgICByZWYub3ZlcmxheS5kaXNwb3NlKCk7XG4gICAgdGhpcy5tb2RhbExpc3QuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGlucHV0IHZhbHVlcyBmb3IgYSBtb2RhbCBieSBpdHMgSUQuXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBtb2RhbCBJRFxuICAgKiBAcGFyYW0gdmFsdWVzIC0gT2JqZWN0IGNvbnRhaW5pbmcgaW5wdXQgdmFsdWVzIHRvIHNldFxuICAgKi9cbiAgYXN5bmMgc2V0SW5wdXRzKGlkOiBudW1iZXIsIHZhbHVlczogQVhDb21wb25lbnRJbnB1dHMpIHtcbiAgICBjb25zdCByZWYgPSB0aGlzLm1vZGFsTGlzdC5nZXQoaWQpLm92ZXJsYXkuaW5zdGFuY2U7XG4gICAgaWYgKCFyZWYpIHJldHVybjtcbiAgICBpZiAocmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XG4gICAgICBjb25zdCBjb21SZWYgPSByZWYgYXMgQ29tcG9uZW50UmVmPGFueT47XG4gICAgICBPYmplY3QuZW50cmllcyh2YWx1ZXMpLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgY29tUmVmLnNldElucHV0KHZbMF0sIHZbMV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZi5jb250ZXh0LmlucHV0cy5zZXQodmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWluaW1pemVzIGEgbW9kYWwgYnkgaXRzIElELlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbW9kYWwgSUQgdG8gbWluaW1pemVcbiAgICovXG4gIGFzeW5jIG1pbmltaXplKGlkOiBudW1iZXIpIHtcbiAgICBjb25zdCByZWYgPSB0aGlzLm1vZGFsTGlzdC5nZXQoaWQpLm92ZXJsYXkuaW5zdGFuY2U7XG4gICAgaWYgKCFyZWYpIHJldHVybjtcbiAgICBpZiAocmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XG4gICAgICByZWYuaW5zdGFuY2UubWluaW1pemUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVmLmNvbnRleHQubWluaW1pemUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWF4aW1pemVzIGEgbW9kYWwgYnkgaXRzIElELlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbW9kYWwgSUQgdG8gbWF4aW1pemVcbiAgICovXG4gIGFzeW5jIG1heGltaXplKGlkOiBudW1iZXIpIHtcbiAgICBjb25zdCByZWYgPSB0aGlzLm1vZGFsTGlzdC5nZXQoaWQpLm92ZXJsYXkuaW5zdGFuY2U7XG4gICAgaWYgKCFyZWYpIHJldHVybjtcbiAgICBpZiAocmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XG4gICAgICByZWYuaW5zdGFuY2UubWF4aW1pemUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVmLmNvbnRleHQubWF4aW1pemUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgYSBtb2RhbCBieSBpdHMgSUQuXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBtb2RhbCBJRCB0byByZXN0b3JlXG4gICAqL1xuICBhc3luYyByZXN0b3JlKGlkOiBudW1iZXIpIHtcbiAgICBjb25zdCByZWYgPSB0aGlzLm1vZGFsTGlzdC5nZXQoaWQpLm92ZXJsYXkuaW5zdGFuY2U7XG4gICAgaWYgKCFyZWYpIHJldHVybjtcbiAgICBpZiAocmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XG4gICAgICByZWYuaW5zdGFuY2UucmVzdG9yZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWYuY29udGV4dC5yZXN0b3JlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGluZGV4IG9mIGEgbW9kYWwgaW4gdGhlIG1pbmltaXplZCBzdGFjay5cbiAgICogQHBhcmFtIHRhcmdldEtleSAtIFRoZSBtb2RhbCBJRCB0byBmaW5kXG4gICAqIEByZXR1cm5zIG51bWJlciAtIFRoZSBpbmRleCBwb3NpdGlvbiBpbiB0aGUgc3RhY2tcbiAgICovXG4gIGdldE1hcEluZGV4T2YodGFyZ2V0S2V5OiBhbnkpIHtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMubW9kYWxMaXN0LmtleXMoKSkge1xuICAgICAgaWYgKGtleSA9PT0gdGFyZ2V0S2V5KSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCcmluZ3MgYSBtb2RhbCB0byB0aGUgZnJvbnQgb2YgYWxsIG90aGVyIG92ZXJsYXlzLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbW9kYWwgSUQgdG8gYnJpbmcgdG8gZnJvbnRcbiAgICovXG4gIGJyaW5nVG9Gcm9udChpZDogbnVtYmVyKSB7XG4gICAgY29uc3QgcmVmID0gdGhpcy5tb2RhbExpc3QuZ2V0KGlkKTtcbiAgICBpZiAoIXJlZikgcmV0dXJuO1xuICAgIHJlZi5vdmVybGF5LmJyaW5nVG9Gcm9udCgpO1xuICB9XG59XG4iXX0=","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, TemplateRef, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXModalStateService } from './modal-state.service';\nimport * as i0 from \"@angular/core\";\nexport class AXModalComponent extends NXComponent {\n constructor() {\n super(...arguments);\n this.service = inject(AXModalStateService);\n this.template = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: \"template\" }] : []));\n this.ref = signal(null, ...(ngDevMode ? [{ debugName: \"ref\" }] : []));\n }\n /**\n * Opens the modal with the specified options.\n * @param options - Configuration options for the modal\n * @returns Promise<AXModalRef> - Reference to the opened modal\n */\n async open(options) {\n const ref = await this.service.open(this.template(), options);\n this.ref.set(ref);\n return ref;\n }\n /**\n * Closes the currently open modal.\n */\n async close() {\n if (this.ref())\n return;\n this.ref().close();\n }\n /**\n * Sets input values for the modal content component.\n * @param values - Object containing input values to set\n */\n async setInputs(values) {\n if (!this.ref())\n return;\n const transform = { inputs: values };\n this.ref().setInputs(transform);\n }\n /**\n * Minimizes the modal to the bottom bar.\n */\n async minimize() {\n if (!this.ref())\n return;\n this.ref().minimize();\n }\n /**\n * Maximizes the modal to fullscreen.\n */\n async maximize() {\n if (!this.ref())\n return;\n this.ref().maximize();\n }\n /**\n * Restores the modal from minimized or maximized state.\n */\n async restore() {\n if (!this.ref())\n return;\n this.ref().restore();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.15\", type: AXModalComponent, isStandalone: true, selector: \"ax-modal\", providers: [{ provide: AXComponent, useExisting: AXModalComponent }], viewQueries: [{ propertyName: \"template\", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n <ng-template #contentTemplate>\n <ng-content></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.3.15\", ngImport: i0, type: AXModalComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ax-modal',\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXModalComponent }],\n }]\n }], propDecorators: { template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9tb2RhbC9zcmMvbGliL21vZGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYzVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBWGpEOztRQVlVLFlBQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsU0FBUyxDQUFDLFdBQVcsb0RBQUMsQ0FBQztRQUNwQyxRQUFHLEdBQUcsTUFBTSxDQUFrQixJQUFJLCtDQUFDLENBQUM7S0FzRDdDO0lBcERDOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQXdCO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUF5QjtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUFFLE9BQU87UUFDeEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUFFLE9BQU87UUFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQXhEVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix1REFGaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsb0VBSXJDLFdBQVcsdUZBWGhDOzs7O0dBSVQ7OzRGQUtVLGdCQUFnQjtrQkFYNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDO2lCQUNyRTswRkFHZ0MsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50LCBOWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWENvbXBvbmVudElucHV0cyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1vZGFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYTW9kYWxPcHRpb25zLCBBWE1vZGFsUmVmIH0gZnJvbSAnLi9tb2RhbC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1vZGFsJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTW9kYWxDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBOWENvbXBvbmVudCB7XG4gIHByaXZhdGUgc2VydmljZSA9IGluamVjdChBWE1vZGFsU3RhdGVTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHRlbXBsYXRlID0gdmlld0NoaWxkKFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSByZWYgPSBzaWduYWw8QVhNb2RhbFJlZjxhbnk+PihudWxsKTtcblxuICAvKipcbiAgICogT3BlbnMgdGhlIG1vZGFsIHdpdGggdGhlIHNwZWNpZmllZCBvcHRpb25zLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIG1vZGFsXG4gICAqIEByZXR1cm5zIFByb21pc2U8QVhNb2RhbFJlZj4gLSBSZWZlcmVuY2UgdG8gdGhlIG9wZW5lZCBtb2RhbFxuICAgKi9cbiAgYXN5bmMgb3BlbihvcHRpb25zPzogQVhNb2RhbE9wdGlvbnMpIHtcbiAgICBjb25zdCByZWYgPSBhd2FpdCB0aGlzLnNlcnZpY2Uub3Blbih0aGlzLnRlbXBsYXRlKCksIG9wdGlvbnMpO1xuICAgIHRoaXMucmVmLnNldChyZWYpO1xuICAgIHJldHVybiByZWY7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBjdXJyZW50bHkgb3BlbiBtb2RhbC5cbiAgICovXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLnJlZigpKSByZXR1cm47XG4gICAgdGhpcy5yZWYoKS5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgaW5wdXQgdmFsdWVzIGZvciB0aGUgbW9kYWwgY29udGVudCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZXMgLSBPYmplY3QgY29udGFpbmluZyBpbnB1dCB2YWx1ZXMgdG8gc2V0XG4gICAqL1xuICBhc3luYyBzZXRJbnB1dHModmFsdWVzOiBBWENvbXBvbmVudElucHV0cykge1xuICAgIGlmICghdGhpcy5yZWYoKSkgcmV0dXJuO1xuICAgIGNvbnN0IHRyYW5zZm9ybSA9IHsgaW5wdXRzOiB2YWx1ZXMgfTtcbiAgICB0aGlzLnJlZigpLnNldElucHV0cyh0cmFuc2Zvcm0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pbmltaXplcyB0aGUgbW9kYWwgdG8gdGhlIGJvdHRvbSBiYXIuXG4gICAqL1xuICBhc3luYyBtaW5pbWl6ZSgpIHtcbiAgICBpZiAoIXRoaXMucmVmKCkpIHJldHVybjtcbiAgICB0aGlzLnJlZigpLm1pbmltaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogTWF4aW1pemVzIHRoZSBtb2RhbCB0byBmdWxsc2NyZWVuLlxuICAgKi9cbiAgYXN5bmMgbWF4aW1pemUoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpKSByZXR1cm47XG4gICAgdGhpcy5yZWYoKS5tYXhpbWl6ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSBtb2RhbCBmcm9tIG1pbmltaXplZCBvciBtYXhpbWl6ZWQgc3RhdGUuXG4gICAqL1xuICBhc3luYyByZXN0b3JlKCkge1xuICAgIGlmICghdGhpcy5yZWYoKSkgcmV0dXJuO1xuICAgIHRoaXMucmVmKCkucmVzdG9yZSgpO1xuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXModalFooterComponent } from './modal-footer/modal-footer.component';\nimport { AXModalComponent } from './modal.component';\nimport * as i0 from \"@angular/core\";\nexport class AXModalModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalModule, imports: [AXModalComponent, AXModalFooterComponent], exports: [AXModalComponent, AXModalFooterComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXModalComponent, AXModalFooterComponent],\n exports: [AXModalComponent, AXModalFooterComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9tb2RhbC9zcmMvbGliL21vZGFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1yRCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsWUFIZCxnQkFBZ0IsRUFBRSxzQkFBc0IsYUFDeEMsZ0JBQWdCLEVBQUUsc0JBQXNCO2dIQUV2QyxhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDO29CQUNuRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNb2RhbEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtZm9vdGVyL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0FYTW9kYWxDb21wb25lbnQsIEFYTW9kYWxGb290ZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQVhNb2RhbENvbXBvbmVudCwgQVhNb2RhbEZvb3RlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTW9kYWxNb2R1bGUge31cbiJdfQ==","import { inject, Injectable, signal } from '@angular/core';\nimport { AXModalStateService } from './modal-state.service';\nimport * as i0 from \"@angular/core\";\nexport class AXModalService {\n constructor() {\n this.stateService = inject(AXModalStateService);\n this.ref = signal(null, ...(ngDevMode ? [{ debugName: \"ref\" }] : []));\n }\n /**\n * Opens a modal with the specified content and options.\n * @param content - Component, template, or HTML element to display\n * @param options - Configuration options for the modal\n * @returns Promise<AXModalRef> - Reference to the opened modal\n */\n async open(content, options) {\n const ref = await this.stateService.open(content, options);\n this.ref.set(ref);\n return ref;\n }\n /**\n * Closes the currently open modal.\n */\n async close() {\n if (!this.ref())\n return;\n this.ref().close();\n }\n /**\n * Sets input values for the modal content component.\n * @param values - Object containing input values to set\n */\n async setInputs(values) {\n if (!this.ref())\n return;\n const transform = { inputs: values };\n this.ref().setInputs(transform);\n }\n /**\n * Minimizes the modal to the bottom bar.\n */\n async minimize() {\n if (!this.ref())\n return;\n this.ref().minimize();\n }\n /**\n * Maximizes the modal to fullscreen.\n */\n async maximize() {\n if (!this.ref())\n return;\n this.ref().maximize();\n }\n /**\n * Restores the modal from minimized or maximized state.\n */\n async restore() {\n if (!this.ref())\n return;\n this.ref().restore();\n }\n /**\n * Brings the modal to the front of all other overlays.\n */\n bringToFront() {\n if (!this.ref())\n return;\n this.ref().bringToFront();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbW9kYWwvc3JjL2xpYi9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGNBQWM7SUFIM0I7UUFJVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLFFBQUcsR0FBRyxNQUFNLENBQWtCLElBQUksK0NBQUMsQ0FBQztLQStEN0M7SUE3REM7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQXlDLEVBQUUsT0FBd0I7UUFDNUUsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBeUI7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUFFLE9BQU87UUFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0FoRVUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudENvbnRlbnQsIEFYQ29tcG9uZW50SW5wdXRzIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTW9kYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL21vZGFsLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNb2RhbE9wdGlvbnMsIEFYTW9kYWxSZWYgfSBmcm9tICcuL21vZGFsLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhNb2RhbFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVmID0gc2lnbmFsPEFYTW9kYWxSZWY8YW55Pj4obnVsbCk7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbW9kYWwgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbnMuXG4gICAqIEBwYXJhbSBjb250ZW50IC0gQ29tcG9uZW50LCB0ZW1wbGF0ZSwgb3IgSFRNTCBlbGVtZW50IHRvIGRpc3BsYXlcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtb2RhbFxuICAgKiBAcmV0dXJucyBQcm9taXNlPEFYTW9kYWxSZWY+IC0gUmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgbW9kYWxcbiAgICovXG4gIGFzeW5jIG9wZW4oY29udGVudDogQVhDb21wb25lbnRDb250ZW50IHwgSFRNTEVsZW1lbnQsIG9wdGlvbnM/OiBBWE1vZGFsT3B0aW9ucyk6IFByb21pc2U8QVhNb2RhbFJlZj4ge1xuICAgIGNvbnN0IHJlZiA9IGF3YWl0IHRoaXMuc3RhdGVTZXJ2aWNlLm9wZW4oY29udGVudCwgb3B0aW9ucyk7XG4gICAgdGhpcy5yZWYuc2V0KHJlZik7XG4gICAgcmV0dXJuIHJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGN1cnJlbnRseSBvcGVuIG1vZGFsLlxuICAgKi9cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpKSByZXR1cm47XG4gICAgdGhpcy5yZWYoKS5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgaW5wdXQgdmFsdWVzIGZvciB0aGUgbW9kYWwgY29udGVudCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZXMgLSBPYmplY3QgY29udGFpbmluZyBpbnB1dCB2YWx1ZXMgdG8gc2V0XG4gICAqL1xuICBhc3luYyBzZXRJbnB1dHModmFsdWVzOiBBWENvbXBvbmVudElucHV0cykge1xuICAgIGlmICghdGhpcy5yZWYoKSkgcmV0dXJuO1xuICAgIGNvbnN0IHRyYW5zZm9ybSA9IHsgaW5wdXRzOiB2YWx1ZXMgfTtcbiAgICB0aGlzLnJlZigpLnNldElucHV0cyh0cmFuc2Zvcm0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pbmltaXplcyB0aGUgbW9kYWwgdG8gdGhlIGJvdHRvbSBiYXIuXG4gICAqL1xuICBhc3luYyBtaW5pbWl6ZSgpIHtcbiAgICBpZiAoIXRoaXMucmVmKCkpIHJldHVybjtcbiAgICB0aGlzLnJlZigpLm1pbmltaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogTWF4aW1pemVzIHRoZSBtb2RhbCB0byBmdWxsc2NyZWVuLlxuICAgKi9cbiAgYXN5bmMgbWF4aW1pemUoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpKSByZXR1cm47XG4gICAgdGhpcy5yZWYoKS5tYXhpbWl6ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSBtb2RhbCBmcm9tIG1pbmltaXplZCBvciBtYXhpbWl6ZWQgc3RhdGUuXG4gICAqL1xuICBhc3luYyByZXN0b3JlKCkge1xuICAgIGlmICghdGhpcy5yZWYoKSkgcmV0dXJuO1xuICAgIHRoaXMucmVmKCkucmVzdG9yZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJyaW5ncyB0aGUgbW9kYWwgdG8gdGhlIGZyb250IG9mIGFsbCBvdGhlciBvdmVybGF5cy5cbiAgICovXG4gIGJyaW5nVG9Gcm9udCgpIHtcbiAgICBpZiAoIXRoaXMucmVmKCkpIHJldHVybjtcbiAgICB0aGlzLnJlZigpLmJyaW5nVG9Gcm9udCgpO1xuICB9XG59XG4iXX0=","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXModalComponentBase {\n constructor() {\n this.__modal__ = input(...(ngDevMode ? [undefined, { debugName: \"__modal__\" }] : []));\n }\n close(data = null) {\n this.__modal__().close(data);\n }\n minimize() {\n this.__modal__().minimize();\n }\n restore() {\n this.__modal__().restore();\n }\n maximize() {\n this.__modal__().maximize();\n }\n bringToFront() {\n this.__modal__().bringToFront();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.15\", type: AXModalComponentBase, isStandalone: true, inputs: { __modal__: { classPropertyName: \"__modal__\", publicName: \"__modal__\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXModalComponentBase, decorators: [{\n type: Directive\n }], propDecorators: { __modal__: [{ type: i0.Input, args: [{ isSignal: true, alias: \"__modal__\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21vZGFsL3NyYy9saWIvbW9kYWwudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBaUNqRCxNQUFNLE9BQWdCLG9CQUFvQjtJQUQxQztRQUVFLGNBQVMsR0FBRyxLQUFLLCtEQUFjLENBQUM7S0FxQmpDO0lBbkJRLEtBQUssQ0FBQyxPQUFZLElBQUk7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQzsrR0FyQm1CLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUR6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhPdmVybGF5T3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQVhDb21wb25lbnRJbnB1dHMgfSBmcm9tICdAYWNvcmV4L2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhNb2RhbE9wdGlvbnMgZXh0ZW5kcyBBWE92ZXJsYXlPcHRpb25zIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGJ1dHRvbnM/OiB7XG4gICAgbWluaW1pemU/OiB7XG4gICAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgICBwb3NpdGlvbjogJ2JvdHRvbS1yaWdodCcgfCAnYm90dG9tLWxlZnQnO1xuICAgIH07XG4gICAgbWF4aW1pemU/OiBib29sZWFuO1xuICAgIGNsb3NlPzogYm9vbGVhbjtcbiAgfTtcbiAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdmdWxsJyB8ICdmaXQnO1xuICBoZWFkZXI/OiBib29sZWFuO1xuICBmb290ZXI/OiBib29sZWFuO1xuICBwYW5lbENsYXNzPzogc3RyaW5nO1xuICBjbG9zZU9uRXNjYXBlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWE1vZGFsUmVmPFRSZXN1bHQgPSBhbnk+IHtcbiAgbWluaW1pemU6ICgpID0+IHZvaWQ7XG4gIG1heGltaXplOiAoKSA9PiB2b2lkO1xuICByZXN0b3JlOiAoKSA9PiB2b2lkO1xuICBjbG9zZTogKGRhdGE/OiBUUmVzdWx0KSA9PiB2b2lkO1xuICBzZXRJbnB1dHM6ICh2YWx1ZXM6IEFYQ29tcG9uZW50SW5wdXRzKSA9PiB2b2lkO1xuICAvKiogQnJpbmdzIHRoaXMgbW9kYWwgdG8gdGhlIGZyb250IG9mIGFsbCBvdGhlciBvdmVybGF5cyAqL1xuICBicmluZ1RvRnJvbnQ6ICgpID0+IHZvaWQ7XG4gIG9uQ2xvc2U6IFN1YmplY3Q8VFJlc3VsdD47XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTW9kYWxDb21wb25lbnRCYXNlIHtcbiAgX19tb2RhbF9fID0gaW5wdXQ8QVhNb2RhbFJlZj4oKTtcblxuICBwdWJsaWMgY2xvc2UoZGF0YTogYW55ID0gbnVsbCkge1xuICAgIHRoaXMuX19tb2RhbF9fKCkuY2xvc2UoZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgbWluaW1pemUoKSB7XG4gICAgdGhpcy5fX21vZGFsX18oKS5taW5pbWl6ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc3RvcmUoKSB7XG4gICAgdGhpcy5fX21vZGFsX18oKS5yZXN0b3JlKCk7XG4gIH1cblxuICBwdWJsaWMgbWF4aW1pemUoKSB7XG4gICAgdGhpcy5fX21vZGFsX18oKS5tYXhpbWl6ZSgpO1xuICB9XG5cbiAgcHVibGljIGJyaW5nVG9Gcm9udCgpIHtcbiAgICB0aGlzLl9fbW9kYWxfXygpLmJyaW5nVG9Gcm9udCgpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21vZGFsL3NyYy9hY29yZXgtY29tcG9uZW50cy1tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}