@acorex/components 20.3.11 → 20.3.12
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/action-sheet/index.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare class AXActionSheetComponent extends MXBaseComponent implements OnInit,
|
|
|
62
62
|
/** @internal Callback function to close the action sheet */
|
|
63
63
|
onClose: i0.InputSignal<(result?: AXComponentCloseEvent) => void>;
|
|
64
64
|
/** @internal Overlay reference for event tracking */
|
|
65
|
-
overlayRef: i0.InputSignal<AXOverlayRef<
|
|
65
|
+
overlayRef: i0.InputSignal<AXOverlayRef<any>>;
|
|
66
66
|
private document;
|
|
67
67
|
private platformID;
|
|
68
68
|
private renderer;
|
|
@@ -84,7 +84,7 @@ declare class AXActionSheetComponent extends MXBaseComponent implements OnInit,
|
|
|
84
84
|
/** Template content if data.content is a TemplateRef */
|
|
85
85
|
protected templateContent: i0.Signal<TemplateRef<unknown>>;
|
|
86
86
|
/** Component content if data.content is a component Type */
|
|
87
|
-
protected componentContent: i0.Signal<Type<
|
|
87
|
+
protected componentContent: i0.Signal<Type<any>>;
|
|
88
88
|
/** Template context for ngTemplateOutlet */
|
|
89
89
|
protected templateContext: i0.Signal<{
|
|
90
90
|
$implicit: AXActionSheetConfig;
|
|
@@ -103,7 +103,7 @@ declare class AXActionSheetComponent extends MXBaseComponent implements OnInit,
|
|
|
103
103
|
/**
|
|
104
104
|
* Handles component attachment from ngComponentOutlet
|
|
105
105
|
*/
|
|
106
|
-
protected handleComponentCreated(componentRef: ComponentRef<
|
|
106
|
+
protected handleComponentCreated(componentRef: ComponentRef<any>): void;
|
|
107
107
|
/**
|
|
108
108
|
* Handles click events on action sheet items.
|
|
109
109
|
* This method is called when a user clicks on an action sheet item. It closes the action sheet
|
|
@@ -124,7 +124,7 @@ declare class AXActionSheetComponent extends MXBaseComponent implements OnInit,
|
|
|
124
124
|
* This affects how the action sheet handles accessibility and event tracking.
|
|
125
125
|
* @returns void
|
|
126
126
|
*/
|
|
127
|
-
close(e?:
|
|
127
|
+
close(e?: any, isUserInteraction?: boolean): void;
|
|
128
128
|
/**
|
|
129
129
|
* @ignore
|
|
130
130
|
*/
|
|
@@ -140,9 +140,9 @@ declare class AXActionSheetModule {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
interface AXActionSheetDialogRef {
|
|
143
|
-
close: (e?:
|
|
143
|
+
close: (e?: any) => void;
|
|
144
144
|
closed: Subject<{
|
|
145
|
-
data?:
|
|
145
|
+
data?: any;
|
|
146
146
|
}>;
|
|
147
147
|
}
|
|
148
148
|
declare class AXActionSheetService {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-action-sheet.mjs","sources":["../tmp-esm2022/action-sheet/lib/action-sheet.service.js","../tmp-esm2022/action-sheet/lib/action-sheet.component.js","../tmp-esm2022/action-sheet/lib/action-sheet.module.js","../tmp-esm2022/action-sheet/acorex-components-action-sheet.js"],"sourcesContent":["import { AXOverlayService } from '@acorex/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { AXActionSheetComponent } from './action-sheet.component';\nimport * as i0 from \"@angular/core\";\nexport class AXActionSheetService {\n constructor() {\n this.overlayService = inject(AXOverlayService);\n this.actionSheetEvent = new Subject();\n this.actionSheetEvent$ = this.actionSheetEvent.asObservable();\n }\n /**\n * Opens an action sheet with the specified configuration.\n * This method creates and displays an action sheet component with the provided options.\n * The action sheet will slide up from the bottom of the screen and can be dismissed\n * by tapping outside, pressing escape, or calling the close method.\n *\n * @param config - The configuration object that defines the action sheet's appearance and behavior.\n * Must include at least a title or content property. Will be merged with default config.\n * @param isUserInteraction - Whether the action sheet is opened by user interaction (default: true).\n * This affects how the action sheet handles accessibility and focus management.\n * @returns A promise that resolves to a dialog reference containing methods to control the action sheet.\n * The reference includes methods like close() and a closed observable for tracking dialog state.\n * @example\n * ```typescript\n * const dialogRef = await actionSheetService.open({\n * title: 'Choose an option',\n * items: [\n * { text: 'Option 1', value: 'opt1' },\n * { text: 'Option 2', value: 'opt2' }\n * ]\n * });\n *\n * dialogRef.closed.subscribe(result => {\n * console.log('Action sheet closed with:', result.data);\n * });\n * ```\n */\n async open(config, isUserInteraction = true) {\n const defaultConfig = {\n title: 'action-sheet.title',\n closeButton: true,\n closeOnBackdropClick: true,\n header: true,\n };\n config = Object.assign(defaultConfig, config);\n const closed = new BehaviorSubject(null);\n let internalRef;\n const closeActionSheet = (result) => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n if (result?.data) {\n closed.next({ data: result.data });\n }\n else {\n closed.next({});\n }\n }\n };\n const overlayRef = await this.overlayService.create(AXActionSheetComponent, {\n inputs: {\n data: config,\n onClose: closeActionSheet,\n },\n centered: false,\n panelClass: ['ax-action-sheet-panel'],\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: config.closeOnBackdropClick,\n },\n onDispose: () => {\n // Clean up when disposed externally (e.g., backdrop click)\n closed.next({});\n },\n });\n internalRef = {\n overlayRef,\n close: closeActionSheet,\n };\n // Set the overlayRef input after creation\n if (overlayRef.instance && 'setInput' in overlayRef.instance) {\n overlayRef.instance.setInput('overlayRef', overlayRef);\n }\n // Positioning is handled by CSS via .ax-action-sheet-panel class\n this.actionSheetEvent.next({\n overlayRef,\n data: { state: 'open' },\n isUserInteraction,\n });\n const axDialogRef = {\n close: (e) => {\n const component = overlayRef.instance;\n if (component?.close) {\n component.close(e);\n }\n else {\n closeActionSheet({ data: e });\n }\n },\n closed,\n };\n return axDialogRef;\n }\n /**\n * Sets the current state of action sheet events.\n * This method is used internally to track action sheet lifecycle events such as open, close,\n * drag start, drag end, and full screen transitions. It emits events through the actionSheetEvent$\n * observable for external subscribers to monitor action sheet state changes.\n *\n * @param event - The action sheet event to emit. Contains information about the event type,\n * associated data, user interaction status, and overlay reference.\n * @returns void\n */\n setActionSheetEventState(event) {\n this.actionSheetEvent.next(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2FjdGlvbi1zaGVldC9zcmMvbGliL2FjdGlvbi1zaGVldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVVsRSxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSVUsbUJBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUN0RSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FvSDFEO0lBbEhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTBCRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBMkIsRUFBRSxpQkFBaUIsR0FBRyxJQUFJO1FBQzlELE1BQU0sYUFBYSxHQUF3QjtZQUN6QyxLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDO1FBQ0YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsQ0FBQztRQUM3RCxJQUFJLFdBQXFDLENBQUM7UUFFMUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQThCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDckMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBeUIsc0JBQXNCLEVBQUU7WUFDbEcsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxnQkFBZ0I7YUFDMUI7WUFDRCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3JDLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsSUFBSTtnQkFDYixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7YUFDMUM7WUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNkLDJEQUEyRDtnQkFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsV0FBVyxHQUFHO1lBQ1osVUFBVTtZQUNWLEtBQUssRUFBRSxnQkFBZ0I7U0FDeEIsQ0FBQztRQUVGLDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RCxVQUFVLENBQUMsUUFBaUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25ILENBQUM7UUFFRCxpRUFBaUU7UUFFakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6QixVQUFVO1lBQ1YsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUN2QixpQkFBaUI7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLEtBQUssRUFBRSxDQUFDLENBQVcsRUFBRSxFQUFFO2dCQUNyQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBNkMsQ0FBQztnQkFDM0UsSUFBSSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQTJCLENBQUMsQ0FBQztnQkFDekQsQ0FBQztZQUNILENBQUM7WUFDRCxNQUFNO1NBQ1AsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCx3QkFBd0IsQ0FBQyxLQUF5QjtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBdEhVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudENsb3NlRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhPdmVybGF5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYQWN0aW9uU2hlZXRDb25maWcsIEFYQWN0aW9uU2hlZXRFdmVudCwgQVhBY3Rpb25TaGVldEludGVybmFsUmVmIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuY2xhc3MnO1xuaW1wb3J0IHsgQVhBY3Rpb25TaGVldENvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhBY3Rpb25TaGVldERpYWxvZ1JlZiB7XG4gIGNsb3NlOiAoZT86IHVua25vd24pID0+IHZvaWQ7XG4gIGNsb3NlZDogU3ViamVjdDx7IGRhdGE/OiB1bmtub3duIH0+O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhBY3Rpb25TaGVldFNlcnZpY2Uge1xuICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KEFYT3ZlcmxheVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvblNoZWV0RXZlbnQgPSBuZXcgU3ViamVjdDxBWEFjdGlvblNoZWV0RXZlbnQ+KCk7XG4gIGFjdGlvblNoZWV0RXZlbnQkID0gdGhpcy5hY3Rpb25TaGVldEV2ZW50LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8qKlxuICAgKiBPcGVucyBhbiBhY3Rpb24gc2hlZXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb24uXG4gICAqIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYW5kIGRpc3BsYXlzIGFuIGFjdGlvbiBzaGVldCBjb21wb25lbnQgd2l0aCB0aGUgcHJvdmlkZWQgb3B0aW9ucy5cbiAgICogVGhlIGFjdGlvbiBzaGVldCB3aWxsIHNsaWRlIHVwIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIGFuZCBjYW4gYmUgZGlzbWlzc2VkXG4gICAqIGJ5IHRhcHBpbmcgb3V0c2lkZSwgcHJlc3NpbmcgZXNjYXBlLCBvciBjYWxsaW5nIHRoZSBjbG9zZSBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBhY3Rpb24gc2hlZXQncyBhcHBlYXJhbmNlIGFuZCBiZWhhdmlvci5cbiAgICogICAgICAgICAgICAgICAgIE11c3QgaW5jbHVkZSBhdCBsZWFzdCBhIHRpdGxlIG9yIGNvbnRlbnQgcHJvcGVydHkuIFdpbGwgYmUgbWVyZ2VkIHdpdGggZGVmYXVsdCBjb25maWcuXG4gICAqIEBwYXJhbSBpc1VzZXJJbnRlcmFjdGlvbiAtIFdoZXRoZXIgdGhlIGFjdGlvbiBzaGVldCBpcyBvcGVuZWQgYnkgdXNlciBpbnRlcmFjdGlvbiAoZGVmYXVsdDogdHJ1ZSkuXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBhZmZlY3RzIGhvdyB0aGUgYWN0aW9uIHNoZWV0IGhhbmRsZXMgYWNjZXNzaWJpbGl0eSBhbmQgZm9jdXMgbWFuYWdlbWVudC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBkaWFsb2cgcmVmZXJlbmNlIGNvbnRhaW5pbmcgbWV0aG9kcyB0byBjb250cm9sIHRoZSBhY3Rpb24gc2hlZXQuXG4gICAqICAgICAgICAgIFRoZSByZWZlcmVuY2UgaW5jbHVkZXMgbWV0aG9kcyBsaWtlIGNsb3NlKCkgYW5kIGEgY2xvc2VkIG9ic2VydmFibGUgZm9yIHRyYWNraW5nIGRpYWxvZyBzdGF0ZS5cbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCBhY3Rpb25TaGVldFNlcnZpY2Uub3Blbih7XG4gICAqICAgdGl0bGU6ICdDaG9vc2UgYW4gb3B0aW9uJyxcbiAgICogICBpdGVtczogW1xuICAgKiAgICAgeyB0ZXh0OiAnT3B0aW9uIDEnLCB2YWx1ZTogJ29wdDEnIH0sXG4gICAqICAgICB7IHRleHQ6ICdPcHRpb24gMicsIHZhbHVlOiAnb3B0MicgfVxuICAgKiAgIF1cbiAgICogfSk7XG4gICAqXG4gICAqIGRpYWxvZ1JlZi5jbG9zZWQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAqICAgY29uc29sZS5sb2coJ0FjdGlvbiBzaGVldCBjbG9zZWQgd2l0aDonLCByZXN1bHQuZGF0YSk7XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIG9wZW4oY29uZmlnOiBBWEFjdGlvblNoZWV0Q29uZmlnLCBpc1VzZXJJbnRlcmFjdGlvbiA9IHRydWUpOiBQcm9taXNlPEFYQWN0aW9uU2hlZXREaWFsb2dSZWY+IHtcbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnOiBBWEFjdGlvblNoZWV0Q29uZmlnID0ge1xuICAgICAgdGl0bGU6ICdhY3Rpb24tc2hlZXQudGl0bGUnLFxuICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICBjbG9zZU9uQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgIGhlYWRlcjogdHJ1ZSxcbiAgICB9O1xuICAgIGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdENvbmZpZywgY29uZmlnKTtcblxuICAgIGNvbnN0IGNsb3NlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBkYXRhPzogdW5rbm93biB9PihudWxsKTtcbiAgICBsZXQgaW50ZXJuYWxSZWY6IEFYQWN0aW9uU2hlZXRJbnRlcm5hbFJlZjtcblxuICAgIGNvbnN0IGNsb3NlQWN0aW9uU2hlZXQgPSAocmVzdWx0PzogQVhDb21wb25lbnRDbG9zZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoaW50ZXJuYWxSZWYpIHtcbiAgICAgICAgaW50ZXJuYWxSZWYub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIGlmIChyZXN1bHQ/LmRhdGEpIHtcbiAgICAgICAgICBjbG9zZWQubmV4dCh7IGRhdGE6IHJlc3VsdC5kYXRhIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsb3NlZC5uZXh0KHt9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBvdmVybGF5UmVmID0gYXdhaXQgdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGU8QVhBY3Rpb25TaGVldENvbXBvbmVudD4oQVhBY3Rpb25TaGVldENvbXBvbmVudCwge1xuICAgICAgaW5wdXRzOiB7XG4gICAgICAgIGRhdGE6IGNvbmZpZyxcbiAgICAgICAgb25DbG9zZTogY2xvc2VBY3Rpb25TaGVldCxcbiAgICAgIH0sXG4gICAgICBjZW50ZXJlZDogZmFsc2UsXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFjdGlvbi1zaGVldC1wYW5lbCddLFxuICAgICAgYmFja2Ryb3A6IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgYmFja2dyb3VuZDogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbkNsaWNrOiBjb25maWcuY2xvc2VPbkJhY2tkcm9wQ2xpY2ssXG4gICAgICB9LFxuICAgICAgb25EaXNwb3NlOiAoKSA9PiB7XG4gICAgICAgIC8vIENsZWFuIHVwIHdoZW4gZGlzcG9zZWQgZXh0ZXJuYWxseSAoZS5nLiwgYmFja2Ryb3AgY2xpY2spXG4gICAgICAgIGNsb3NlZC5uZXh0KHt9KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpbnRlcm5hbFJlZiA9IHtcbiAgICAgIG92ZXJsYXlSZWYsXG4gICAgICBjbG9zZTogY2xvc2VBY3Rpb25TaGVldCxcbiAgICB9O1xuXG4gICAgLy8gU2V0IHRoZSBvdmVybGF5UmVmIGlucHV0IGFmdGVyIGNyZWF0aW9uXG4gICAgaWYgKG92ZXJsYXlSZWYuaW5zdGFuY2UgJiYgJ3NldElucHV0JyBpbiBvdmVybGF5UmVmLmluc3RhbmNlKSB7XG4gICAgICAob3ZlcmxheVJlZi5pbnN0YW5jZSBhcyB7IHNldElucHV0OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikgPT4gdm9pZCB9KS5zZXRJbnB1dCgnb3ZlcmxheVJlZicsIG92ZXJsYXlSZWYpO1xuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nIGlzIGhhbmRsZWQgYnkgQ1NTIHZpYSAuYXgtYWN0aW9uLXNoZWV0LXBhbmVsIGNsYXNzXG5cbiAgICB0aGlzLmFjdGlvblNoZWV0RXZlbnQubmV4dCh7XG4gICAgICBvdmVybGF5UmVmLFxuICAgICAgZGF0YTogeyBzdGF0ZTogJ29wZW4nIH0sXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbixcbiAgICB9KTtcblxuICAgIGNvbnN0IGF4RGlhbG9nUmVmOiBBWEFjdGlvblNoZWV0RGlhbG9nUmVmID0ge1xuICAgICAgY2xvc2U6IChlPzogdW5rbm93bikgPT4ge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvdmVybGF5UmVmLmluc3RhbmNlIGFzIHVua25vd24gYXMgQVhBY3Rpb25TaGVldENvbXBvbmVudDtcbiAgICAgICAgaWYgKGNvbXBvbmVudD8uY2xvc2UpIHtcbiAgICAgICAgICBjb21wb25lbnQuY2xvc2UoZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xvc2VBY3Rpb25TaGVldCh7IGRhdGE6IGUgfSBhcyBBWENvbXBvbmVudENsb3NlRXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgY2xvc2VkLFxuICAgIH07XG5cbiAgICByZXR1cm4gYXhEaWFsb2dSZWY7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhY3Rpb24gc2hlZXQgZXZlbnRzLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGludGVybmFsbHkgdG8gdHJhY2sgYWN0aW9uIHNoZWV0IGxpZmVjeWNsZSBldmVudHMgc3VjaCBhcyBvcGVuLCBjbG9zZSxcbiAgICogZHJhZyBzdGFydCwgZHJhZyBlbmQsIGFuZCBmdWxsIHNjcmVlbiB0cmFuc2l0aW9ucy4gSXQgZW1pdHMgZXZlbnRzIHRocm91Z2ggdGhlIGFjdGlvblNoZWV0RXZlbnQkXG4gICAqIG9ic2VydmFibGUgZm9yIGV4dGVybmFsIHN1YnNjcmliZXJzIHRvIG1vbml0b3IgYWN0aW9uIHNoZWV0IHN0YXRlIGNoYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBhY3Rpb24gc2hlZXQgZXZlbnQgdG8gZW1pdC4gQ29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50IHR5cGUsXG4gICAqICAgICAgICAgICAgICAgYXNzb2NpYXRlZCBkYXRhLCB1c2VyIGludGVyYWN0aW9uIHN0YXR1cywgYW5kIG92ZXJsYXkgcmVmZXJlbmNlLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBzZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoZXZlbnQ6IEFYQWN0aW9uU2hlZXRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uU2hlZXRFdmVudC5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19","import { AXClosableComponent, AXComponent, AXFocusableComponent, MXBaseComponent, } from '@acorex/cdk/common';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, isPlatformBrowser, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, DOCUMENT, inject, input, PLATFORM_ID, Renderer2, signal, TemplateRef, ViewEncapsulation, } from '@angular/core';\nimport { AXActionSheetService } from './action-sheet.service';\nimport * as i0 from \"@angular/core\";\n/**\n * A component for displaying an action sheet, which is a menu that slides up from the bottom of the screen.\n *\n * @category Components\n */\nexport class AXActionSheetComponent extends MXBaseComponent {\n constructor() {\n super(...arguments);\n /** Action sheet configuration data */\n this.data = input.required(...(ngDevMode ? [{ debugName: \"data\" }] : []));\n /** @internal Callback function to close the action sheet */\n this.onClose = input(...(ngDevMode ? [undefined, { debugName: \"onClose\" }] : []));\n /** @internal Overlay reference for event tracking */\n this.overlayRef = input(...(ngDevMode ? [undefined, { debugName: \"overlayRef\" }] : []));\n this.document = inject(DOCUMENT);\n this.platformID = inject(PLATFORM_ID);\n this.renderer = inject(Renderer2);\n this.actionSheetService = inject(AXActionSheetService);\n this.onMouseMoveListenerFn = () => undefined;\n this.onMouseUpListenerFn = () => undefined;\n this.onTouchMoveListenerFn = () => undefined;\n this.onTouchUpListenerFn = () => undefined;\n this.isDragging = signal(false, ...(ngDevMode ? [{ debugName: \"isDragging\" }] : []));\n this.isFullScreen = signal(false, ...(ngDevMode ? [{ debugName: \"isFullScreen\" }] : []));\n this.curserOffset = signal(0, ...(ngDevMode ? [{ debugName: \"curserOffset\" }] : []));\n this.actionSheetHeight = signal(0, ...(ngDevMode ? [{ debugName: \"actionSheetHeight\" }] : []));\n this.isActionSheetHeightSet = signal(false, ...(ngDevMode ? [{ debugName: \"isActionSheetHeightSet\" }] : []));\n this.transitionDuration = signal(300, ...(ngDevMode ? [{ debugName: \"transitionDuration\" }] : []));\n /** Template content if data.content is a TemplateRef */\n this.templateContent = computed(() => {\n const content = this.data().content;\n return content instanceof TemplateRef ? content : null;\n }, ...(ngDevMode ? [{ debugName: \"templateContent\" }] : []));\n /** Component content if data.content is a component Type */\n this.componentContent = computed(() => {\n const content = this.data().content;\n return typeof content === 'function' ? content : null;\n }, ...(ngDevMode ? [{ debugName: \"componentContent\" }] : []));\n /** Template context for ngTemplateOutlet */\n this.templateContext = computed(() => ({\n $implicit: this.data(),\n ref: this,\n }), ...(ngDevMode ? [{ debugName: \"templateContext\" }] : []));\n }\n /**\n * @ignore\n */\n ngOnInit() {\n super.ngOnInit();\n // Enter animation: start with height 0 and animate to natural height\n if (isPlatformBrowser(this.platformID)) {\n const hostElement = this.getHostElement();\n hostElement.style.height = '0';\n hostElement.style.overflow = 'hidden';\n // Use requestAnimationFrame to ensure the initial height is applied before animating\n requestAnimationFrame(() => {\n hostElement.style.transitionDuration = `${this.transitionDuration()}ms`;\n hostElement.style.height = 'auto';\n // Get the natural height\n const naturalHeight = hostElement.scrollHeight;\n hostElement.style.height = '0';\n requestAnimationFrame(() => {\n hostElement.style.height = `${naturalHeight}px`;\n // After animation completes, set height to auto for flexibility\n setTimeout(() => {\n hostElement.style.height = 'auto';\n hostElement.style.overflow = '';\n }, this.transitionDuration());\n });\n });\n }\n if (isPlatformBrowser(this.platformID) && this.data().draggable) {\n this.onMouseMoveListenerFn = this.renderer.listen(this.document, 'mousemove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.clientY) + this.curserOffset()}px`;\n }\n });\n this.onTouchMoveListenerFn = this.renderer.listen(this.document, 'touchmove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.touches[0].clientY) + this.curserOffset()}px`;\n }\n });\n this.onMouseUpListenerFn = this.renderer.listen(this.document, 'mouseup', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n this.onTouchUpListenerFn = this.renderer.listen(this.document, 'touchend', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n }\n }\n ngOnDestroy() {\n this.onMouseMoveListenerFn();\n this.onMouseUpListenerFn();\n this.onTouchMoveListenerFn();\n this.onTouchUpListenerFn();\n }\n handleMouseDown(e) {\n if (!this.data().draggable || e.button !== 0)\n return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.clientY);\n }\n handleTouchDown(e) {\n if (!this.data().draggable || e.target.className.includes('close'))\n return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.touches[0].clientY);\n }\n handleDown(clientY) {\n this.isDragging.set(true);\n this.getHostElement().style.transitionDuration = '0ms';\n if (isPlatformBrowser(this.platformID)) {\n this.curserOffset.set(clientY - (this.document.documentElement.clientHeight - this.getHostElement().clientHeight));\n }\n if (!this.isActionSheetHeightSet()) {\n this.actionSheetHeight.set(this.getHostElement().clientHeight);\n this.isActionSheetHeightSet.set(true);\n }\n }\n snapToFinalPosition() {\n this.getHostElement().style.transitionDuration = `${this.transitionDuration()}ms`;\n const currentHeight = this.getHostElement().clientHeight;\n const initialHeight = this.actionSheetHeight();\n const windowHeight = this.document.documentElement.clientHeight;\n if (currentHeight < initialHeight * 0.75) {\n this.close(null);\n return;\n }\n if (this.isFullScreen() && currentHeight < windowHeight * 0.9) {\n this.getHostElement().style.height = `${initialHeight}px`;\n this.isFullScreen.set(false);\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n if (this.data().dragUp && currentHeight > (windowHeight + initialHeight) / 3) {\n this.getHostElement().style.height = '100vh';\n this.isFullScreen.set(true);\n this.document.body.parentElement.style.overscrollBehaviorY = 'contain';\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'fullScreen' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n this.getHostElement().style.height = `${initialHeight}px`;\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n }\n heightCalculator(clientY) {\n if (this.data().dragUp) {\n return this.document.documentElement.clientHeight - clientY;\n }\n if (clientY >= this.document.documentElement.clientHeight - this.actionSheetHeight()) {\n return this.document.documentElement.clientHeight - clientY;\n }\n return (this.actionSheetHeight() + (this.document.documentElement.clientHeight - clientY - this.actionSheetHeight()) / 10);\n }\n /**\n * Handles component attachment from ngComponentOutlet\n */\n handleComponentCreated(componentRef) {\n if (componentRef?.instance) {\n this._componentRef = componentRef.instance;\n Object.assign(this._componentRef, this.data());\n Object.assign(this._componentRef, { _isPopup: true });\n if (componentRef.instance\n .onClosed) {\n componentRef.instance.onClosed.subscribe((e) => {\n this.close(e);\n });\n }\n }\n }\n /**\n * Handles click events on action sheet items.\n * This method is called when a user clicks on an action sheet item. It closes the action sheet\n * with the clicked item as the result data and executes the item's onClick callback if provided.\n *\n * @param item - The action sheet item that was clicked. Contains the item's data and optional onClick callback.\n * @returns void\n */\n onItemClick(item) {\n this.close(item);\n if (item?.onClick)\n item.onClick();\n }\n /**\n * Closes the action sheet with optional result data.\n * This method initiates the closing animation of the action sheet and eventually closes the dialog.\n * The closing process includes a height animation and cleanup of event listeners.\n *\n * @param e - The result data to pass when closing the action sheet. Can be any value including null.\n * If an AXActionSheetItem is passed, it represents the selected item.\n * @param isUserInteraction - Whether the close action was triggered by user interaction (default: true).\n * This affects how the action sheet handles accessibility and event tracking.\n * @returns void\n */\n close(e = null, isUserInteraction = true) {\n this.getHostElement().style.height = `${this.getHostElement().clientHeight}px`;\n setTimeout(() => {\n this.getHostElement().style.height = '0vh';\n });\n setTimeout(() => {\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'close' },\n isUserInteraction,\n overlayRef: this.overlayRef(),\n });\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback({\n component: this._componentRef,\n htmlElement: this.getHostElement(),\n data: e,\n });\n }\n }, this.transitionDuration());\n }\n /**\n * @ignore\n */\n onKeydownHandler() {\n const focusedOrHasFocused = this.getHostElement().matches(':focus-within');\n if (this.data().closeButton && focusedOrHasFocused) {\n this.close(null);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: AXActionSheetComponent, isStandalone: true, selector: \"ax-action-sheet\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: true, transformFunction: null }, onClose: { classPropertyName: \"onClose\", publicName: \"onClose\", isSignal: true, isRequired: false, transformFunction: null }, overlayRef: { classPropertyName: \"overlayRef\", publicName: \"overlayRef\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"keydown.escape\": \"onKeydownHandler()\" } }, providers: [\n { provide: AXComponent, useExisting: AXActionSheetComponent },\n {\n provide: AXClosableComponent,\n useExisting: AXActionSheetComponent,\n },\n {\n provide: AXFocusableComponent,\n useExisting: AXActionSheetComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"@if (data().draggable) {\\n <div (mousedown)=\\\"handleMouseDown($event)\\\" (touchstart)=\\\"handleTouchDown($event)\\\" class=\\\"ax-drag-handle-container\\\">\\n <div class=\\\"ax-drag-handle\\\"></div>\\n </div>\\n}\\n@if (data().header) {\\n <ax-header\\n [class.draggable-header]=\\\"data().draggable\\\"\\n (mousedown)=\\\"data().draggable ? handleMouseDown($event) : null\\\"\\n (touchstart)=\\\"data().draggable ? handleTouchDown($event) : null\\\"\\n >\\n <ax-prefix>\\n <ax-title>{{ data().title | translate | async }}</ax-title>\\n\\n @if (data().subTitle) {\\n <ax-subtitle>\\n {{ data().subTitle }}\\n </ax-subtitle>\\n }\\n </ax-prefix>\\n @if (data().closeButton) {\\n <ax-suffix>\\n <ax-close-button></ax-close-button>\\n </ax-suffix>\\n }\\n </ax-header>\\n}\\n@if (data().content) {\\n <div class=\\\"ax-custom-template-container\\\">\\n @if (templateContent()) {\\n <ng-container *ngTemplateOutlet=\\\"templateContent(); context: templateContext()\\\"></ng-container>\\n } @else if (componentContent()) {\\n <ng-container *ngComponentOutlet=\\\"componentContent()\\\"></ng-container>\\n }\\n </div>\\n}\\n\\n<div class=\\\"ax-action-list ax-action-list-vertical\\\">\\n @for (item of data().items; let i = $index; track i) {\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <div\\n class=\\\"ax-action-item ax-{{ item.color || 'default' }}\\\"\\n [class.ax-state-disabled]=\\\"item.disabled\\\"\\n [tabindex]=\\\"i\\\"\\n (click)=\\\"onItemClick(item)\\\"\\n >\\n <div class=\\\"ax-action-item-prefix\\\">\\n @if (item.icon) {\\n <span class=\\\"ax-item-icon\\\" [class]=\\\"item.icon\\\"></span>\\n }\\n <ax-text>{{ item.text | translate | async }}</ax-text>\\n </div>\\n <div class=\\\"ax-action-item-suffix\\\"></div>\\n </div>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n</div>\\n\", styles: [\"ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-lightest-surface)}ax-action-sheet .ax-action-item.ax-primary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-primary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-primary-surface), .1}ax-action-sheet .ax-action-item.ax-secondary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-secondary-surface), .1}ax-action-sheet .ax-action-item.ax-success{--ax-comp-action-sheet-text-color: var(--ax-sys-color-success-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-success-surface), .1}ax-action-sheet .ax-action-item.ax-warning{--ax-comp-action-sheet-text-color: var(--ax-sys-color-warning-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-warning-surface), .1}ax-action-sheet .ax-action-item.ax-danger{--ax-comp-action-sheet-text-color: var(--ax-sys-color-danger-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-danger-surface), .1}ax-action-sheet .ax-action-item.ax-accent1{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent1-surface), .1}ax-action-sheet .ax-action-item.ax-accent2{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent2-surface), .1}ax-action-sheet .ax-action-item.ax-accent3{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent3-surface), .1}ax-action-sheet .ax-action-item.ax-accent4{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent4-surface), .1}ax-action-sheet .ax-action-item.ax-accent5{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent5-surface), .1}ax-action-sheet .ax-action-item.ax-accent6{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent6-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent6-surface), .1}ax-action-sheet .ax-action-item.ax-accent7{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent7-surface), .1}.ax-action-sheet-panel{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;display:block!important;align-items:unset!important;justify-content:unset!important;max-width:none!important}ax-action-sheet{display:block;width:var(--ax-comp-action-sheet-width-sm, 100vw);position:relative;transition-property:height;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);background-color:rgba(var(--ax-comp-action-sheet-bg-color))}@media (min-width: 768px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-md, 70vw)}}@media (min-width: 1024px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-lg, 50vw)}}ax-action-sheet .ax-custom-template-container{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-drag-handle-container{padding-top:.5rem}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:.375rem;width:3rem;margin:auto;border-radius:.5rem;background-color:rgba(var(--ax-sys-color-surface))}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header.draggable-header{padding-top:0;-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-action-list ax-title{font-size:.875rem}ax-action-sheet .ax-action-list .ax-action-item{min-height:3.5rem!important;font-size:1rem!important;color:rgba(var(--ax-comp-action-sheet-text-color))}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-comp-action-sheet-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{margin-inline-end:.75rem!important;font-size:1.5rem!important;line-height:2rem!important}.ax-dark ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-darker-surface)}\\n\"], dependencies: [{ kind: \"component\", type: 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: \"component\", type: AXDecoratorCloseButtonComponent, selector: \"ax-close-button\", inputs: [\"closeAll\", \"icon\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-action-sheet', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {\n '(keydown.escape)': 'onKeydownHandler()',\n }, providers: [\n { provide: AXComponent, useExisting: AXActionSheetComponent },\n {\n provide: AXClosableComponent,\n useExisting: AXActionSheetComponent,\n },\n {\n provide: AXFocusableComponent,\n useExisting: AXActionSheetComponent,\n },\n ], imports: [\n AXDecoratorGenericComponent,\n AXDecoratorCloseButtonComponent,\n NgTemplateOutlet,\n NgComponentOutlet,\n AXTranslatorPipe,\n AsyncPipe,\n ], template: \"@if (data().draggable) {\\n <div (mousedown)=\\\"handleMouseDown($event)\\\" (touchstart)=\\\"handleTouchDown($event)\\\" class=\\\"ax-drag-handle-container\\\">\\n <div class=\\\"ax-drag-handle\\\"></div>\\n </div>\\n}\\n@if (data().header) {\\n <ax-header\\n [class.draggable-header]=\\\"data().draggable\\\"\\n (mousedown)=\\\"data().draggable ? handleMouseDown($event) : null\\\"\\n (touchstart)=\\\"data().draggable ? handleTouchDown($event) : null\\\"\\n >\\n <ax-prefix>\\n <ax-title>{{ data().title | translate | async }}</ax-title>\\n\\n @if (data().subTitle) {\\n <ax-subtitle>\\n {{ data().subTitle }}\\n </ax-subtitle>\\n }\\n </ax-prefix>\\n @if (data().closeButton) {\\n <ax-suffix>\\n <ax-close-button></ax-close-button>\\n </ax-suffix>\\n }\\n </ax-header>\\n}\\n@if (data().content) {\\n <div class=\\\"ax-custom-template-container\\\">\\n @if (templateContent()) {\\n <ng-container *ngTemplateOutlet=\\\"templateContent(); context: templateContext()\\\"></ng-container>\\n } @else if (componentContent()) {\\n <ng-container *ngComponentOutlet=\\\"componentContent()\\\"></ng-container>\\n }\\n </div>\\n}\\n\\n<div class=\\\"ax-action-list ax-action-list-vertical\\\">\\n @for (item of data().items; let i = $index; track i) {\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <div\\n class=\\\"ax-action-item ax-{{ item.color || 'default' }}\\\"\\n [class.ax-state-disabled]=\\\"item.disabled\\\"\\n [tabindex]=\\\"i\\\"\\n (click)=\\\"onItemClick(item)\\\"\\n >\\n <div class=\\\"ax-action-item-prefix\\\">\\n @if (item.icon) {\\n <span class=\\\"ax-item-icon\\\" [class]=\\\"item.icon\\\"></span>\\n }\\n <ax-text>{{ item.text | translate | async }}</ax-text>\\n </div>\\n <div class=\\\"ax-action-item-suffix\\\"></div>\\n </div>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n</div>\\n\", styles: [\"ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-lightest-surface)}ax-action-sheet .ax-action-item.ax-primary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-primary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-primary-surface), .1}ax-action-sheet .ax-action-item.ax-secondary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-secondary-surface), .1}ax-action-sheet .ax-action-item.ax-success{--ax-comp-action-sheet-text-color: var(--ax-sys-color-success-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-success-surface), .1}ax-action-sheet .ax-action-item.ax-warning{--ax-comp-action-sheet-text-color: var(--ax-sys-color-warning-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-warning-surface), .1}ax-action-sheet .ax-action-item.ax-danger{--ax-comp-action-sheet-text-color: var(--ax-sys-color-danger-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-danger-surface), .1}ax-action-sheet .ax-action-item.ax-accent1{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent1-surface), .1}ax-action-sheet .ax-action-item.ax-accent2{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent2-surface), .1}ax-action-sheet .ax-action-item.ax-accent3{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent3-surface), .1}ax-action-sheet .ax-action-item.ax-accent4{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent4-surface), .1}ax-action-sheet .ax-action-item.ax-accent5{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent5-surface), .1}ax-action-sheet .ax-action-item.ax-accent6{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent6-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent6-surface), .1}ax-action-sheet .ax-action-item.ax-accent7{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent7-surface), .1}.ax-action-sheet-panel{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;display:block!important;align-items:unset!important;justify-content:unset!important;max-width:none!important}ax-action-sheet{display:block;width:var(--ax-comp-action-sheet-width-sm, 100vw);position:relative;transition-property:height;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);background-color:rgba(var(--ax-comp-action-sheet-bg-color))}@media (min-width: 768px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-md, 70vw)}}@media (min-width: 1024px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-lg, 50vw)}}ax-action-sheet .ax-custom-template-container{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-drag-handle-container{padding-top:.5rem}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:.375rem;width:3rem;margin:auto;border-radius:.5rem;background-color:rgba(var(--ax-sys-color-surface))}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header.draggable-header{padding-top:0;-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-action-list ax-title{font-size:.875rem}ax-action-sheet .ax-action-list .ax-action-item{min-height:3.5rem!important;font-size:1rem!important;color:rgba(var(--ax-comp-action-sheet-text-color))}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-comp-action-sheet-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{margin-inline-end:.75rem!important;font-size:1.5rem!important;line-height:2rem!important}.ax-dark ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-darker-surface)}\\n\"] }]\n }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: \"data\", required: true }] }], onClose: [{ type: i0.Input, args: [{ isSignal: true, alias: \"onClose\", required: false }] }], overlayRef: [{ type: i0.Input, args: [{ isSignal: true, alias: \"overlayRef\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0L3NyYy9saWIvYWN0aW9uLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0L3NyYy9saWIvYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLG9CQUFvQixFQUNwQixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLCtCQUErQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixXQUFXLEVBRVgsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU5RDs7OztHQUlHO0FBOEJILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFlO0lBN0IzRDs7UUE4QkUsc0NBQXNDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSwrQ0FBdUIsQ0FBQztRQUU3Qyw0REFBNEQ7UUFDNUQsWUFBTyxHQUFHLEtBQUssNkRBQTRDLENBQUM7UUFFNUQscURBQXFEO1FB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QixTQUFTOzs0RkFHQSxzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGtCQUFrQixFQUFFLG9CQUFvQjtxQkFDekMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyx3QkFBd0IsRUFBRTt3QkFDN0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyx3QkFBd0I7eUJBQ3BDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFdBQVcsd0JBQXdCO3lCQUNwQztxQkFDRixXQUNRO3dCQUNQLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixTQUFTO3FCQUNWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhDbG9zYWJsZUNvbXBvbmVudCxcbiAgQVhDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50Q2xvc2VFdmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIE1YQmFzZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYT3ZlcmxheVJlZiB9IGZyb20gJ0BhY29yZXgvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JDbG9zZUJ1dHRvbkNvbXBvbmVudCwgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yUGlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIGlzUGxhdGZvcm1Ccm93c2VyLCBOZ0NvbXBvbmVudE91dGxldCwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIGNvbXB1dGVkLFxuICBET0NVTUVOVCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQWN0aW9uU2hlZXRDb25maWcsIEFYQWN0aW9uU2hlZXRJdGVtIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuY2xhc3MnO1xuaW1wb3J0IHsgQVhBY3Rpb25TaGVldFNlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi1zaGVldC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbiBhY3Rpb24gc2hlZXQsIHdoaWNoIGlzIGEgbWVudSB0aGF0IHNsaWRlcyB1cCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1hY3Rpb24tc2hlZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJyhrZXlkb3duLmVzY2FwZSknOiAnb25LZXlkb3duSGFuZGxlcigpJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENsb3NhYmxlQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWEFjdGlvblNoZWV0Q29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JDbG9zZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgIEFYVHJhbnNsYXRvclBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWEFjdGlvblNoZWV0Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKiogQWN0aW9uIHNoZWV0IGNvbmZpZ3VyYXRpb24gZGF0YSAqL1xuICBkYXRhID0gaW5wdXQucmVxdWlyZWQ8QVhBY3Rpb25TaGVldENvbmZpZz4oKTtcblxuICAvKiogQGludGVybmFsIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGNsb3NlIHRoZSBhY3Rpb24gc2hlZXQgKi9cbiAgb25DbG9zZSA9IGlucHV0PChyZXN1bHQ/OiBBWENvbXBvbmVudENsb3NlRXZlbnQpID0+IHZvaWQ+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCBPdmVybGF5IHJlZmVyZW5jZSBmb3IgZXZlbnQgdHJhY2tpbmcgKi9cbiAgb3ZlcmxheVJlZiA9IGlucHV0PEFYT3ZlcmxheVJlZjx1bmtub3duPj4oKTtcblxuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybUlEID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIGFjdGlvblNoZWV0U2VydmljZSA9IGluamVjdChBWEFjdGlvblNoZWV0U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBvbk1vdXNlTW92ZUxpc3RlbmVyRm4gPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Nb3VzZVVwTGlzdGVuZXJGbiA9ICgpID0+IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvblRvdWNoTW92ZUxpc3RlbmVyRm4gPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Ub3VjaFVwTGlzdGVuZXJGbiA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGlzRHJhZ2dpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGlzRnVsbFNjcmVlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgY3Vyc2VyT2Zmc2V0ID0gc2lnbmFsKDApO1xuICBwcml2YXRlIGFjdGlvblNoZWV0SGVpZ2h0ID0gc2lnbmFsKDApO1xuICBwcml2YXRlIGlzQWN0aW9uU2hlZXRIZWlnaHRTZXQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHRyYW5zaXRpb25EdXJhdGlvbiA9IHNpZ25hbCgzMDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiB1bmtub3duO1xuXG4gIC8qKiBUZW1wbGF0ZSBjb250ZW50IGlmIGRhdGEuY29udGVudCBpcyBhIFRlbXBsYXRlUmVmICovXG4gIHByb3RlY3RlZCB0ZW1wbGF0ZUNvbnRlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZGF0YSgpLmNvbnRlbnQ7XG4gICAgcmV0dXJuIGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/IGNvbnRlbnQgOiBudWxsO1xuICB9KTtcblxuICAvKiogQ29tcG9uZW50IGNvbnRlbnQgaWYgZGF0YS5jb250ZW50IGlzIGEgY29tcG9uZW50IFR5cGUgKi9cbiAgcHJvdGVjdGVkIGNvbXBvbmVudENvbnRlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZGF0YSgpLmNvbnRlbnQ7XG4gICAgcmV0dXJuIHR5cGVvZiBjb250ZW50ID09PSAnZnVuY3Rpb24nID8gKGNvbnRlbnQgYXMgVHlwZTx1bmtub3duPikgOiBudWxsO1xuICB9KTtcblxuICAvKiogVGVtcGxhdGUgY29udGV4dCBmb3IgbmdUZW1wbGF0ZU91dGxldCAqL1xuICBwcm90ZWN0ZWQgdGVtcGxhdGVDb250ZXh0ID0gY29tcHV0ZWQoKCk6IHsgJGltcGxpY2l0OiBBWEFjdGlvblNoZWV0Q29uZmlnOyByZWY6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQgfSA9PiAoe1xuICAgICRpbXBsaWNpdDogdGhpcy5kYXRhKCksXG4gICAgcmVmOiB0aGlzLFxuICB9KSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gRW50ZXIgYW5pbWF0aW9uOiBzdGFydCB3aXRoIGhlaWdodCAwIGFuZCBhbmltYXRlIHRvIG5hdHVyYWwgaGVpZ2h0XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgaG9zdEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuICAgICAgaG9zdEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcblxuICAgICAgLy8gVXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0byBlbnN1cmUgdGhlIGluaXRpYWwgaGVpZ2h0IGlzIGFwcGxpZWQgYmVmb3JlIGFuaW1hdGluZ1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uID0gYCR7dGhpcy50cmFuc2l0aW9uRHVyYXRpb24oKX1tc2A7XG4gICAgICAgIGhvc3RFbGVtZW50LnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgLy8gR2V0IHRoZSBuYXR1cmFsIGhlaWdodFxuICAgICAgICBjb25zdCBuYXR1cmFsSGVpZ2h0ID0gaG9zdEVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMCc7XG5cbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtuYXR1cmFsSGVpZ2h0fXB4YDtcbiAgICAgICAgICAvLyBBZnRlciBhbmltYXRpb24gY29tcGxldGVzLCBzZXQgaGVpZ2h0IHRvIGF1dG8gZm9yIGZsZXhpYmlsaXR5XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICcnO1xuICAgICAgICAgIH0sIHRoaXMudHJhbnNpdGlvbkR1cmF0aW9uKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpICYmIHRoaXMuZGF0YSgpLmRyYWdnYWJsZSkge1xuICAgICAgdGhpcy5vbk1vdXNlTW92ZUxpc3RlbmVyRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJywgKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZygpKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLmhlaWdodENhbGN1bGF0b3IoZS5jbGllbnRZKSArIHRoaXMuY3Vyc2VyT2Zmc2V0KCl9cHhgO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaE1vdmVMaXN0ZW5lckZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ3RvdWNobW92ZScsIChlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHRDYWxjdWxhdG9yKGUudG91Y2hlc1swXS5jbGllbnRZKSArIHRoaXMuY3Vyc2VyT2Zmc2V0KCl9cHhgO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Nb3VzZVVwTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdtb3VzZXVwJywgKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZygpKSB7XG4gICAgICAgICAgdGhpcy5pc0RyYWdnaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgICAgICAgZGF0YTogeyBzdGF0ZTogJ2RyYWdFbmQnIH0sXG4gICAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG92ZXJsYXlSZWY6IHRoaXMub3ZlcmxheVJlZigpLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc25hcFRvRmluYWxQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaFVwTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICd0b3VjaGVuZCcsIChlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuYWN0aW9uU2hlZXRTZXJ2aWNlLnNldEFjdGlvblNoZWV0RXZlbnRTdGF0ZSh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgIGRhdGE6IHsgc3RhdGU6ICdkcmFnRW5kJyB9LFxuICAgICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICAgICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnNuYXBUb0ZpbmFsUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbk1vdXNlTW92ZUxpc3RlbmVyRm4oKTtcbiAgICB0aGlzLm9uTW91c2VVcExpc3RlbmVyRm4oKTtcbiAgICB0aGlzLm9uVG91Y2hNb3ZlTGlzdGVuZXJGbigpO1xuICAgIHRoaXMub25Ub3VjaFVwTGlzdGVuZXJGbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU1vdXNlRG93bihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRhdGEoKS5kcmFnZ2FibGUgfHwgZS5idXR0b24gIT09IDApIHJldHVybjtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgZGF0YTogeyBzdGF0ZTogJ2RyYWdTdGFydCcgfSxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgb3ZlcmxheVJlZjogdGhpcy5vdmVybGF5UmVmKCksXG4gICAgfSk7XG4gICAgdGhpcy5oYW5kbGVEb3duKGUuY2xpZW50WSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVG91Y2hEb3duKGU6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZGF0YSgpLmRyYWdnYWJsZSB8fCAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTmFtZS5pbmNsdWRlcygnY2xvc2UnKSkgcmV0dXJuO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhOiB7IHN0YXRlOiAnZHJhZ1N0YXJ0JyB9LFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICB9KTtcbiAgICB0aGlzLmhhbmRsZURvd24oZS50b3VjaGVzWzBdLmNsaWVudFkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEb3duKGNsaWVudFk6IG51bWJlcikge1xuICAgIHRoaXMuaXNEcmFnZ2luZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcwbXMnO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuY3Vyc2VyT2Zmc2V0LnNldChcbiAgICAgICAgY2xpZW50WSAtICh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xpZW50SGVpZ2h0KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzQWN0aW9uU2hlZXRIZWlnaHRTZXQoKSkge1xuICAgICAgdGhpcy5hY3Rpb25TaGVldEhlaWdodC5zZXQodGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsaWVudEhlaWdodCk7XG4gICAgICB0aGlzLmlzQWN0aW9uU2hlZXRIZWlnaHRTZXQuc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc25hcFRvRmluYWxQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uID0gYCR7dGhpcy50cmFuc2l0aW9uRHVyYXRpb24oKX1tc2A7XG4gICAgY29uc3QgY3VycmVudEhlaWdodCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGllbnRIZWlnaHQ7XG4gICAgY29uc3QgaW5pdGlhbEhlaWdodCA9IHRoaXMuYWN0aW9uU2hlZXRIZWlnaHQoKTtcbiAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICBpZiAoY3VycmVudEhlaWdodCA8IGluaXRpYWxIZWlnaHQgKiAwLjc1KSB7XG4gICAgICB0aGlzLmNsb3NlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Z1bGxTY3JlZW4oKSAmJiBjdXJyZW50SGVpZ2h0IDwgd2luZG93SGVpZ2h0ICogMC45KSB7XG4gICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gYCR7aW5pdGlhbEhlaWdodH1weGA7XG4gICAgICB0aGlzLmlzRnVsbFNjcmVlbi5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgICAgZGF0YTogeyBzdGF0ZTogJ25vcm1hbFNpemUnIH0sXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5kYXRhKCkuZHJhZ1VwICYmIGN1cnJlbnRIZWlnaHQgPiAod2luZG93SGVpZ2h0ICsgaW5pdGlhbEhlaWdodCkgLyAzKSB7XG4gICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gJzEwMHZoJztcbiAgICAgIHRoaXMuaXNGdWxsU2NyZWVuLnNldCh0cnVlKTtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5wYXJlbnRFbGVtZW50LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclkgPSAnY29udGFpbic7XG4gICAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgICBkYXRhOiB7IHN0YXRlOiAnZnVsbFNjcmVlbicgfSxcbiAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICAgIG92ZXJsYXlSZWY6IHRoaXMub3ZlcmxheVJlZigpLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zdHlsZS5oZWlnaHQgPSBgJHtpbml0aWFsSGVpZ2h0fXB4YDtcbiAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgZGF0YTogeyBzdGF0ZTogJ25vcm1hbFNpemUnIH0sXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgIG92ZXJsYXlSZWY6IHRoaXMub3ZlcmxheVJlZigpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoZWlnaHRDYWxjdWxhdG9yKGNsaWVudFk6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuZGF0YSgpLmRyYWdVcCkge1xuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIGNsaWVudFk7XG4gICAgfVxuICAgIGlmIChjbGllbnRZID49IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIHRoaXMuYWN0aW9uU2hlZXRIZWlnaHQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIGNsaWVudFk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmFjdGlvblNoZWV0SGVpZ2h0KCkgKyAodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gY2xpZW50WSAtIHRoaXMuYWN0aW9uU2hlZXRIZWlnaHQoKSkgLyAxMFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjb21wb25lbnQgYXR0YWNobWVudCBmcm9tIG5nQ29tcG9uZW50T3V0bGV0XG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ29tcG9uZW50Q3JlYXRlZChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjx1bmtub3duPikge1xuICAgIGlmIChjb21wb25lbnRSZWY/Lmluc3RhbmNlKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX2NvbXBvbmVudFJlZiwgdGhpcy5kYXRhKCkpO1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9jb21wb25lbnRSZWYsIHsgX2lzUG9wdXA6IHRydWUgfSk7XG4gICAgICBpZiAoXG4gICAgICAgIChjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgeyBvbkNsb3NlZD86IHsgc3Vic2NyaWJlOiAoZm46IChlOiBBWENvbXBvbmVudENsb3NlRXZlbnQpID0+IHZvaWQpID0+IHZvaWQgfSB9KVxuICAgICAgICAgIC5vbkNsb3NlZFxuICAgICAgKSB7XG4gICAgICAgIChcbiAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgeyBvbkNsb3NlZDogeyBzdWJzY3JpYmU6IChmbjogKGU6IEFYQ29tcG9uZW50Q2xvc2VFdmVudCkgPT4gdm9pZCkgPT4gdm9pZCB9IH1cbiAgICAgICAgKS5vbkNsb3NlZC5zdWJzY3JpYmUoKGU6IEFYQ29tcG9uZW50Q2xvc2VFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xvc2UoZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNsaWNrIGV2ZW50cyBvbiBhY3Rpb24gc2hlZXQgaXRlbXMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGEgdXNlciBjbGlja3Mgb24gYW4gYWN0aW9uIHNoZWV0IGl0ZW0uIEl0IGNsb3NlcyB0aGUgYWN0aW9uIHNoZWV0XG4gICAqIHdpdGggdGhlIGNsaWNrZWQgaXRlbSBhcyB0aGUgcmVzdWx0IGRhdGEgYW5kIGV4ZWN1dGVzIHRoZSBpdGVtJ3Mgb25DbGljayBjYWxsYmFjayBpZiBwcm92aWRlZC5cbiAgICpcbiAgICogQHBhcmFtIGl0ZW0gLSBUaGUgYWN0aW9uIHNoZWV0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZC4gQ29udGFpbnMgdGhlIGl0ZW0ncyBkYXRhIGFuZCBvcHRpb25hbCBvbkNsaWNrIGNhbGxiYWNrLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBvbkl0ZW1DbGljayhpdGVtOiBBWEFjdGlvblNoZWV0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoaXRlbSk7XG4gICAgaWYgKGl0ZW0/Lm9uQ2xpY2spIGl0ZW0ub25DbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgYWN0aW9uIHNoZWV0IHdpdGggb3B0aW9uYWwgcmVzdWx0IGRhdGEuXG4gICAqIFRoaXMgbWV0aG9kIGluaXRpYXRlcyB0aGUgY2xvc2luZyBhbmltYXRpb24gb2YgdGhlIGFjdGlvbiBzaGVldCBhbmQgZXZlbnR1YWxseSBjbG9zZXMgdGhlIGRpYWxvZy5cbiAgICogVGhlIGNsb3NpbmcgcHJvY2VzcyBpbmNsdWRlcyBhIGhlaWdodCBhbmltYXRpb24gYW5kIGNsZWFudXAgb2YgZXZlbnQgbGlzdGVuZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gZSAtIFRoZSByZXN1bHQgZGF0YSB0byBwYXNzIHdoZW4gY2xvc2luZyB0aGUgYWN0aW9uIHNoZWV0LiBDYW4gYmUgYW55IHZhbHVlIGluY2x1ZGluZyBudWxsLlxuICAgKiAgICAgICAgICAgIElmIGFuIEFYQWN0aW9uU2hlZXRJdGVtIGlzIHBhc3NlZCwgaXQgcmVwcmVzZW50cyB0aGUgc2VsZWN0ZWQgaXRlbS5cbiAgICogQHBhcmFtIGlzVXNlckludGVyYWN0aW9uIC0gV2hldGhlciB0aGUgY2xvc2UgYWN0aW9uIHdhcyB0cmlnZ2VyZWQgYnkgdXNlciBpbnRlcmFjdGlvbiAoZGVmYXVsdDogdHJ1ZSkuXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBhZmZlY3RzIGhvdyB0aGUgYWN0aW9uIHNoZWV0IGhhbmRsZXMgYWNjZXNzaWJpbGl0eSBhbmQgZXZlbnQgdHJhY2tpbmcuXG4gICAqIEByZXR1cm5zIHZvaWRcbiAgICovXG4gIGNsb3NlKGU6IHVua25vd24gPSBudWxsLCBpc1VzZXJJbnRlcmFjdGlvbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsaWVudEhlaWdodH1weGA7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gJzB2aCc7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgICBkYXRhOiB7IHN0YXRlOiAnY2xvc2UnIH0sXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uLFxuICAgICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgY2xvc2VDYWxsYmFjayA9IHRoaXMub25DbG9zZSgpO1xuICAgICAgaWYgKGNsb3NlQ2FsbGJhY2spIHtcbiAgICAgICAgY2xvc2VDYWxsYmFjayh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLl9jb21wb25lbnRSZWYsXG4gICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgICBkYXRhOiBlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uS2V5ZG93bkhhbmRsZXIoKSB7XG4gICAgY29uc3QgZm9jdXNlZE9ySGFzRm9jdXNlZCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5tYXRjaGVzKCc6Zm9jdXMtd2l0aGluJyk7XG4gICAgaWYgKHRoaXMuZGF0YSgpLmNsb3NlQnV0dG9uICYmIGZvY3VzZWRPckhhc0ZvY3VzZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UobnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKGRhdGEoKS5kcmFnZ2FibGUpIHtcbiAgPGRpdiAobW91c2Vkb3duKT1cImhhbmRsZU1vdXNlRG93bigkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwiaGFuZGxlVG91Y2hEb3duKCRldmVudClcIiBjbGFzcz1cImF4LWRyYWctaGFuZGxlLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1kcmFnLWhhbmRsZVwiPjwvZGl2PlxuICA8L2Rpdj5cbn1cbkBpZiAoZGF0YSgpLmhlYWRlcikge1xuICA8YXgtaGVhZGVyXG4gICAgW2NsYXNzLmRyYWdnYWJsZS1oZWFkZXJdPVwiZGF0YSgpLmRyYWdnYWJsZVwiXG4gICAgKG1vdXNlZG93bik9XCJkYXRhKCkuZHJhZ2dhYmxlID8gaGFuZGxlTW91c2VEb3duKCRldmVudCkgOiBudWxsXCJcbiAgICAodG91Y2hzdGFydCk9XCJkYXRhKCkuZHJhZ2dhYmxlID8gaGFuZGxlVG91Y2hEb3duKCRldmVudCkgOiBudWxsXCJcbiAgPlxuICAgIDxheC1wcmVmaXg+XG4gICAgICA8YXgtdGl0bGU+e3sgZGF0YSgpLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LXRpdGxlPlxuXG4gICAgICBAaWYgKGRhdGEoKS5zdWJUaXRsZSkge1xuICAgICAgICA8YXgtc3VidGl0bGU+XG4gICAgICAgICAge3sgZGF0YSgpLnN1YlRpdGxlIH19XG4gICAgICAgIDwvYXgtc3VidGl0bGU+XG4gICAgICB9XG4gICAgPC9heC1wcmVmaXg+XG4gICAgQGlmIChkYXRhKCkuY2xvc2VCdXR0b24pIHtcbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC1jbG9zZS1idXR0b24+PC9heC1jbG9zZS1idXR0b24+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICB9XG4gIDwvYXgtaGVhZGVyPlxufVxuQGlmIChkYXRhKCkuY29udGVudCkge1xuICA8ZGl2IGNsYXNzPVwiYXgtY3VzdG9tLXRlbXBsYXRlLWNvbnRhaW5lclwiPlxuICAgIEBpZiAodGVtcGxhdGVDb250ZW50KCkpIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZUNvbnRlbnQoKTsgY29udGV4dDogdGVtcGxhdGVDb250ZXh0KClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIGlmIChjb21wb25lbnRDb250ZW50KCkpIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50Q29udGVudCgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2Rpdj5cbn1cblxuPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1saXN0IGF4LWFjdGlvbi1saXN0LXZlcnRpY2FsXCI+XG4gIEBmb3IgKGl0ZW0gb2YgZGF0YSgpLml0ZW1zOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xuICAgIEBpZiAoaXRlbS5ncm91cD8udGl0bGUpIHtcbiAgICAgIDxheC10aXRsZT57eyBpdGVtLmdyb3VwPy50aXRsZSB9fTwvYXgtdGl0bGU+XG4gICAgfVxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXgtYWN0aW9uLWl0ZW0gYXgte3sgaXRlbS5jb2xvciB8fCAnZGVmYXVsdCcgfX1cIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgW3RhYmluZGV4XT1cImlcIlxuICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYWN0aW9uLWl0ZW0tcHJlZml4XCI+XG4gICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pdGVtLWljb25cIiBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIDxheC10ZXh0Pnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYWN0aW9uLWl0ZW0tc3VmZml4XCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChpdGVtLmJyZWFrKSB7XG4gICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgfVxuICB9XG48L2Rpdj5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXActionSheetComponent } from './action-sheet.component';\nimport { AXActionSheetService } from './action-sheet.service';\nimport * as i0 from \"@angular/core\";\nexport class AXActionSheetModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, imports: [AXActionSheetComponent], exports: [AXActionSheetComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, providers: [AXActionSheetService], imports: [AXActionSheetComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXActionSheetComponent],\n exports: [AXActionSheetComponent],\n providers: [AXActionSheetService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0L3NyYy9saWIvYWN0aW9uLXNoZWV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU85RCxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixZQUpwQixzQkFBc0IsYUFDdEIsc0JBQXNCO2dIQUdyQixtQkFBbUIsYUFGbkIsQ0FBQyxvQkFBb0IsQ0FBQyxZQUZ2QixzQkFBc0I7OzRGQUlyQixtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhBY3Rpb25TaGVldENvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEFjdGlvblNoZWV0U2VydmljZSB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQVhBY3Rpb25TaGVldENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtBWEFjdGlvblNoZWV0Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbQVhBY3Rpb25TaGVldFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBWEFjdGlvblNoZWV0TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtYWN0aW9uLXNoZWV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQvc3JjL2Fjb3JleC1jb21wb25lbnRzLWFjdGlvbi1zaGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-action-sheet.mjs","sources":["../tmp-esm2022/action-sheet/lib/action-sheet.service.js","../tmp-esm2022/action-sheet/lib/action-sheet.component.js","../tmp-esm2022/action-sheet/lib/action-sheet.module.js","../tmp-esm2022/action-sheet/acorex-components-action-sheet.js"],"sourcesContent":["import { AXOverlayService } from '@acorex/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { AXActionSheetComponent } from './action-sheet.component';\nimport * as i0 from \"@angular/core\";\nexport class AXActionSheetService {\n constructor() {\n this.overlayService = inject(AXOverlayService);\n this.actionSheetEvent = new Subject();\n this.actionSheetEvent$ = this.actionSheetEvent.asObservable();\n }\n /**\n * Opens an action sheet with the specified configuration.\n * This method creates and displays an action sheet component with the provided options.\n * The action sheet will slide up from the bottom of the screen and can be dismissed\n * by tapping outside, pressing escape, or calling the close method.\n *\n * @param config - The configuration object that defines the action sheet's appearance and behavior.\n * Must include at least a title or content property. Will be merged with default config.\n * @param isUserInteraction - Whether the action sheet is opened by user interaction (default: true).\n * This affects how the action sheet handles accessibility and focus management.\n * @returns A promise that resolves to a dialog reference containing methods to control the action sheet.\n * The reference includes methods like close() and a closed observable for tracking dialog state.\n * @example\n * ```typescript\n * const dialogRef = await actionSheetService.open({\n * title: 'Choose an option',\n * items: [\n * { text: 'Option 1', value: 'opt1' },\n * { text: 'Option 2', value: 'opt2' }\n * ]\n * });\n *\n * dialogRef.closed.subscribe(result => {\n * console.log('Action sheet closed with:', result.data);\n * });\n * ```\n */\n async open(config, isUserInteraction = true) {\n const defaultConfig = {\n title: 'action-sheet.title',\n closeButton: true,\n closeOnBackdropClick: true,\n header: true,\n };\n config = Object.assign(defaultConfig, config);\n const closed = new BehaviorSubject(null);\n let internalRef;\n const closeActionSheet = (result) => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n if (result?.data) {\n closed.next({ data: result.data });\n }\n else {\n closed.next({});\n }\n }\n };\n const overlayRef = await this.overlayService.create(AXActionSheetComponent, {\n inputs: {\n data: config,\n onClose: closeActionSheet,\n },\n centered: false,\n panelClass: ['ax-action-sheet-panel'],\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: config.closeOnBackdropClick,\n },\n onDispose: () => {\n // Clean up when disposed externally (e.g., backdrop click)\n closed.next({});\n },\n });\n internalRef = {\n overlayRef,\n close: closeActionSheet,\n };\n // Set the overlayRef input after creation\n if (overlayRef.instance && 'setInput' in overlayRef.instance) {\n overlayRef.instance.setInput('overlayRef', overlayRef);\n }\n // Positioning is handled by CSS via .ax-action-sheet-panel class\n this.actionSheetEvent.next({\n overlayRef,\n data: { state: 'open' },\n isUserInteraction,\n });\n const axDialogRef = {\n close: (e) => {\n const component = overlayRef.instance;\n if (component?.close) {\n component.close(e);\n }\n else {\n closeActionSheet({ data: e });\n }\n },\n closed,\n };\n return axDialogRef;\n }\n /**\n * Sets the current state of action sheet events.\n * This method is used internally to track action sheet lifecycle events such as open, close,\n * drag start, drag end, and full screen transitions. It emits events through the actionSheetEvent$\n * observable for external subscribers to monitor action sheet state changes.\n *\n * @param event - The action sheet event to emit. Contains information about the event type,\n * associated data, user interaction status, and overlay reference.\n * @returns void\n */\n setActionSheetEventState(event) {\n this.actionSheetEvent.next(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2FjdGlvbi1zaGVldC9zcmMvbGliL2FjdGlvbi1zaGVldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVVsRSxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSVUsbUJBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUN0RSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FvSDFEO0lBbEhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTBCRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBMkIsRUFBRSxpQkFBaUIsR0FBRyxJQUFJO1FBQzlELE1BQU0sYUFBYSxHQUF3QjtZQUN6QyxLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDO1FBQ0YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFpQixJQUFJLENBQUMsQ0FBQztRQUN6RCxJQUFJLFdBQXFDLENBQUM7UUFFMUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQThCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDckMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBeUIsc0JBQXNCLEVBQUU7WUFDbEcsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxnQkFBZ0I7YUFDMUI7WUFDRCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3JDLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsSUFBSTtnQkFDYixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7YUFDMUM7WUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNkLDJEQUEyRDtnQkFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsV0FBVyxHQUFHO1lBQ1osVUFBVTtZQUNWLEtBQUssRUFBRSxnQkFBZ0I7U0FDeEIsQ0FBQztRQUVGLDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RCxVQUFVLENBQUMsUUFBNkQsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFFRCxpRUFBaUU7UUFFakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6QixVQUFVO1lBQ1YsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUN2QixpQkFBaUI7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLEtBQUssRUFBRSxDQUFDLENBQU8sRUFBRSxFQUFFO2dCQUNqQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBeUMsQ0FBQztnQkFDdkUsSUFBSSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQTJCLENBQUMsQ0FBQztnQkFDekQsQ0FBQztZQUNILENBQUM7WUFDRCxNQUFNO1NBQ1AsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCx3QkFBd0IsQ0FBQyxLQUF5QjtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBdEhVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudENsb3NlRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhPdmVybGF5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYQWN0aW9uU2hlZXRDb25maWcsIEFYQWN0aW9uU2hlZXRFdmVudCwgQVhBY3Rpb25TaGVldEludGVybmFsUmVmIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuY2xhc3MnO1xuaW1wb3J0IHsgQVhBY3Rpb25TaGVldENvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhBY3Rpb25TaGVldERpYWxvZ1JlZiB7XG4gIGNsb3NlOiAoZT86IGFueSkgPT4gdm9pZDtcbiAgY2xvc2VkOiBTdWJqZWN0PHsgZGF0YT86IGFueSB9Pjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYQWN0aW9uU2hlZXRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvdmVybGF5U2VydmljZSA9IGluamVjdChBWE92ZXJsYXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25TaGVldEV2ZW50ID0gbmV3IFN1YmplY3Q8QVhBY3Rpb25TaGVldEV2ZW50PigpO1xuICBhY3Rpb25TaGVldEV2ZW50JCA9IHRoaXMuYWN0aW9uU2hlZXRFdmVudC5hc09ic2VydmFibGUoKTtcblxuICAvKipcbiAgICogT3BlbnMgYW4gYWN0aW9uIHNoZWV0IHdpdGggdGhlIHNwZWNpZmllZCBjb25maWd1cmF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGFuZCBkaXNwbGF5cyBhbiBhY3Rpb24gc2hlZXQgY29tcG9uZW50IHdpdGggdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gICAqIFRoZSBhY3Rpb24gc2hlZXQgd2lsbCBzbGlkZSB1cCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBhbmQgY2FuIGJlIGRpc21pc3NlZFxuICAgKiBieSB0YXBwaW5nIG91dHNpZGUsIHByZXNzaW5nIGVzY2FwZSwgb3IgY2FsbGluZyB0aGUgY2xvc2UgbWV0aG9kLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRoYXQgZGVmaW5lcyB0aGUgYWN0aW9uIHNoZWV0J3MgYXBwZWFyYW5jZSBhbmQgYmVoYXZpb3IuXG4gICAqICAgICAgICAgICAgICAgICBNdXN0IGluY2x1ZGUgYXQgbGVhc3QgYSB0aXRsZSBvciBjb250ZW50IHByb3BlcnR5LiBXaWxsIGJlIG1lcmdlZCB3aXRoIGRlZmF1bHQgY29uZmlnLlxuICAgKiBAcGFyYW0gaXNVc2VySW50ZXJhY3Rpb24gLSBXaGV0aGVyIHRoZSBhY3Rpb24gc2hlZXQgaXMgb3BlbmVkIGJ5IHVzZXIgaW50ZXJhY3Rpb24gKGRlZmF1bHQ6IHRydWUpLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgYWZmZWN0cyBob3cgdGhlIGFjdGlvbiBzaGVldCBoYW5kbGVzIGFjY2Vzc2liaWxpdHkgYW5kIGZvY3VzIG1hbmFnZW1lbnQuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgZGlhbG9nIHJlZmVyZW5jZSBjb250YWluaW5nIG1ldGhvZHMgdG8gY29udHJvbCB0aGUgYWN0aW9uIHNoZWV0LlxuICAgKiAgICAgICAgICBUaGUgcmVmZXJlbmNlIGluY2x1ZGVzIG1ldGhvZHMgbGlrZSBjbG9zZSgpIGFuZCBhIGNsb3NlZCBvYnNlcnZhYmxlIGZvciB0cmFja2luZyBkaWFsb2cgc3RhdGUuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgYWN0aW9uU2hlZXRTZXJ2aWNlLm9wZW4oe1xuICAgKiAgIHRpdGxlOiAnQ2hvb3NlIGFuIG9wdGlvbicsXG4gICAqICAgaXRlbXM6IFtcbiAgICogICAgIHsgdGV4dDogJ09wdGlvbiAxJywgdmFsdWU6ICdvcHQxJyB9LFxuICAgKiAgICAgeyB0ZXh0OiAnT3B0aW9uIDInLCB2YWx1ZTogJ29wdDInIH1cbiAgICogICBdXG4gICAqIH0pO1xuICAgKlxuICAgKiBkaWFsb2dSZWYuY2xvc2VkLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgKiAgIGNvbnNvbGUubG9nKCdBY3Rpb24gc2hlZXQgY2xvc2VkIHdpdGg6JywgcmVzdWx0LmRhdGEpO1xuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBvcGVuKGNvbmZpZzogQVhBY3Rpb25TaGVldENvbmZpZywgaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlKTogUHJvbWlzZTxBWEFjdGlvblNoZWV0RGlhbG9nUmVmPiB7XG4gICAgY29uc3QgZGVmYXVsdENvbmZpZzogQVhBY3Rpb25TaGVldENvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiAnYWN0aW9uLXNoZWV0LnRpdGxlJyxcbiAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgY2xvc2VPbkJhY2tkcm9wQ2xpY2s6IHRydWUsXG4gICAgICBoZWFkZXI6IHRydWUsXG4gICAgfTtcbiAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKGRlZmF1bHRDb25maWcsIGNvbmZpZyk7XG5cbiAgICBjb25zdCBjbG9zZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgZGF0YT86IGFueSB9PihudWxsKTtcbiAgICBsZXQgaW50ZXJuYWxSZWY6IEFYQWN0aW9uU2hlZXRJbnRlcm5hbFJlZjtcblxuICAgIGNvbnN0IGNsb3NlQWN0aW9uU2hlZXQgPSAocmVzdWx0PzogQVhDb21wb25lbnRDbG9zZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoaW50ZXJuYWxSZWYpIHtcbiAgICAgICAgaW50ZXJuYWxSZWYub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIGlmIChyZXN1bHQ/LmRhdGEpIHtcbiAgICAgICAgICBjbG9zZWQubmV4dCh7IGRhdGE6IHJlc3VsdC5kYXRhIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsb3NlZC5uZXh0KHt9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBvdmVybGF5UmVmID0gYXdhaXQgdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGU8QVhBY3Rpb25TaGVldENvbXBvbmVudD4oQVhBY3Rpb25TaGVldENvbXBvbmVudCwge1xuICAgICAgaW5wdXRzOiB7XG4gICAgICAgIGRhdGE6IGNvbmZpZyxcbiAgICAgICAgb25DbG9zZTogY2xvc2VBY3Rpb25TaGVldCxcbiAgICAgIH0sXG4gICAgICBjZW50ZXJlZDogZmFsc2UsXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFjdGlvbi1zaGVldC1wYW5lbCddLFxuICAgICAgYmFja2Ryb3A6IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgYmFja2dyb3VuZDogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbkNsaWNrOiBjb25maWcuY2xvc2VPbkJhY2tkcm9wQ2xpY2ssXG4gICAgICB9LFxuICAgICAgb25EaXNwb3NlOiAoKSA9PiB7XG4gICAgICAgIC8vIENsZWFuIHVwIHdoZW4gZGlzcG9zZWQgZXh0ZXJuYWxseSAoZS5nLiwgYmFja2Ryb3AgY2xpY2spXG4gICAgICAgIGNsb3NlZC5uZXh0KHt9KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpbnRlcm5hbFJlZiA9IHtcbiAgICAgIG92ZXJsYXlSZWYsXG4gICAgICBjbG9zZTogY2xvc2VBY3Rpb25TaGVldCxcbiAgICB9O1xuXG4gICAgLy8gU2V0IHRoZSBvdmVybGF5UmVmIGlucHV0IGFmdGVyIGNyZWF0aW9uXG4gICAgaWYgKG92ZXJsYXlSZWYuaW5zdGFuY2UgJiYgJ3NldElucHV0JyBpbiBvdmVybGF5UmVmLmluc3RhbmNlKSB7XG4gICAgICAob3ZlcmxheVJlZi5pbnN0YW5jZSBhcyB7IHNldElucHV0OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB2b2lkIH0pLnNldElucHV0KCdvdmVybGF5UmVmJywgb3ZlcmxheVJlZik7XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmcgaXMgaGFuZGxlZCBieSBDU1MgdmlhIC5heC1hY3Rpb24tc2hlZXQtcGFuZWwgY2xhc3NcblxuICAgIHRoaXMuYWN0aW9uU2hlZXRFdmVudC5uZXh0KHtcbiAgICAgIG92ZXJsYXlSZWYsXG4gICAgICBkYXRhOiB7IHN0YXRlOiAnb3BlbicgfSxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXhEaWFsb2dSZWY6IEFYQWN0aW9uU2hlZXREaWFsb2dSZWYgPSB7XG4gICAgICBjbG9zZTogKGU/OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3ZlcmxheVJlZi5pbnN0YW5jZSBhcyBhbnkgYXMgQVhBY3Rpb25TaGVldENvbXBvbmVudDtcbiAgICAgICAgaWYgKGNvbXBvbmVudD8uY2xvc2UpIHtcbiAgICAgICAgICBjb21wb25lbnQuY2xvc2UoZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xvc2VBY3Rpb25TaGVldCh7IGRhdGE6IGUgfSBhcyBBWENvbXBvbmVudENsb3NlRXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgY2xvc2VkLFxuICAgIH07XG5cbiAgICByZXR1cm4gYXhEaWFsb2dSZWY7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhY3Rpb24gc2hlZXQgZXZlbnRzLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGludGVybmFsbHkgdG8gdHJhY2sgYWN0aW9uIHNoZWV0IGxpZmVjeWNsZSBldmVudHMgc3VjaCBhcyBvcGVuLCBjbG9zZSxcbiAgICogZHJhZyBzdGFydCwgZHJhZyBlbmQsIGFuZCBmdWxsIHNjcmVlbiB0cmFuc2l0aW9ucy4gSXQgZW1pdHMgZXZlbnRzIHRocm91Z2ggdGhlIGFjdGlvblNoZWV0RXZlbnQkXG4gICAqIG9ic2VydmFibGUgZm9yIGV4dGVybmFsIHN1YnNjcmliZXJzIHRvIG1vbml0b3IgYWN0aW9uIHNoZWV0IHN0YXRlIGNoYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBhY3Rpb24gc2hlZXQgZXZlbnQgdG8gZW1pdC4gQ29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50IHR5cGUsXG4gICAqICAgICAgICAgICAgICAgYXNzb2NpYXRlZCBkYXRhLCB1c2VyIGludGVyYWN0aW9uIHN0YXR1cywgYW5kIG92ZXJsYXkgcmVmZXJlbmNlLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBzZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoZXZlbnQ6IEFYQWN0aW9uU2hlZXRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uU2hlZXRFdmVudC5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19","import { AXClosableComponent, AXComponent, AXFocusableComponent, MXBaseComponent, } from '@acorex/cdk/common';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, isPlatformBrowser, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, DOCUMENT, inject, input, PLATFORM_ID, Renderer2, signal, TemplateRef, ViewEncapsulation, } from '@angular/core';\nimport { AXActionSheetService } from './action-sheet.service';\nimport * as i0 from \"@angular/core\";\n/**\n * A component for displaying an action sheet, which is a menu that slides up from the bottom of the screen.\n *\n * @category Components\n */\nexport class AXActionSheetComponent extends MXBaseComponent {\n constructor() {\n super(...arguments);\n /** Action sheet configuration data */\n this.data = input.required(...(ngDevMode ? [{ debugName: \"data\" }] : []));\n /** @internal Callback function to close the action sheet */\n this.onClose = input(...(ngDevMode ? [undefined, { debugName: \"onClose\" }] : []));\n /** @internal Overlay reference for event tracking */\n this.overlayRef = input(...(ngDevMode ? [undefined, { debugName: \"overlayRef\" }] : []));\n this.document = inject(DOCUMENT);\n this.platformID = inject(PLATFORM_ID);\n this.renderer = inject(Renderer2);\n this.actionSheetService = inject(AXActionSheetService);\n this.onMouseMoveListenerFn = () => undefined;\n this.onMouseUpListenerFn = () => undefined;\n this.onTouchMoveListenerFn = () => undefined;\n this.onTouchUpListenerFn = () => undefined;\n this.isDragging = signal(false, ...(ngDevMode ? [{ debugName: \"isDragging\" }] : []));\n this.isFullScreen = signal(false, ...(ngDevMode ? [{ debugName: \"isFullScreen\" }] : []));\n this.curserOffset = signal(0, ...(ngDevMode ? [{ debugName: \"curserOffset\" }] : []));\n this.actionSheetHeight = signal(0, ...(ngDevMode ? [{ debugName: \"actionSheetHeight\" }] : []));\n this.isActionSheetHeightSet = signal(false, ...(ngDevMode ? [{ debugName: \"isActionSheetHeightSet\" }] : []));\n this.transitionDuration = signal(300, ...(ngDevMode ? [{ debugName: \"transitionDuration\" }] : []));\n /** Template content if data.content is a TemplateRef */\n this.templateContent = computed(() => {\n const content = this.data().content;\n return content instanceof TemplateRef ? content : null;\n }, ...(ngDevMode ? [{ debugName: \"templateContent\" }] : []));\n /** Component content if data.content is a component Type */\n this.componentContent = computed(() => {\n const content = this.data().content;\n return typeof content === 'function' ? content : null;\n }, ...(ngDevMode ? [{ debugName: \"componentContent\" }] : []));\n /** Template context for ngTemplateOutlet */\n this.templateContext = computed(() => ({\n $implicit: this.data(),\n ref: this,\n }), ...(ngDevMode ? [{ debugName: \"templateContext\" }] : []));\n }\n /**\n * @ignore\n */\n ngOnInit() {\n super.ngOnInit();\n // Enter animation: start with height 0 and animate to natural height\n if (isPlatformBrowser(this.platformID)) {\n const hostElement = this.getHostElement();\n hostElement.style.height = '0';\n hostElement.style.overflow = 'hidden';\n // Use requestAnimationFrame to ensure the initial height is applied before animating\n requestAnimationFrame(() => {\n hostElement.style.transitionDuration = `${this.transitionDuration()}ms`;\n hostElement.style.height = 'auto';\n // Get the natural height\n const naturalHeight = hostElement.scrollHeight;\n hostElement.style.height = '0';\n requestAnimationFrame(() => {\n hostElement.style.height = `${naturalHeight}px`;\n // After animation completes, set height to auto for flexibility\n setTimeout(() => {\n hostElement.style.height = 'auto';\n hostElement.style.overflow = '';\n }, this.transitionDuration());\n });\n });\n }\n if (isPlatformBrowser(this.platformID) && this.data().draggable) {\n this.onMouseMoveListenerFn = this.renderer.listen(this.document, 'mousemove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.clientY) + this.curserOffset()}px`;\n }\n });\n this.onTouchMoveListenerFn = this.renderer.listen(this.document, 'touchmove', (e) => {\n if (this.isDragging()) {\n e.preventDefault();\n this.getHostElement().style.height = `${this.heightCalculator(e.touches[0].clientY) + this.curserOffset()}px`;\n }\n });\n this.onMouseUpListenerFn = this.renderer.listen(this.document, 'mouseup', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n this.onTouchUpListenerFn = this.renderer.listen(this.document, 'touchend', (e) => {\n if (this.isDragging()) {\n this.isDragging.set(false);\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragEnd' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.snapToFinalPosition();\n }\n });\n }\n }\n ngOnDestroy() {\n this.onMouseMoveListenerFn();\n this.onMouseUpListenerFn();\n this.onTouchMoveListenerFn();\n this.onTouchUpListenerFn();\n }\n handleMouseDown(e) {\n if (!this.data().draggable || e.button !== 0)\n return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.clientY);\n }\n handleTouchDown(e) {\n if (!this.data().draggable || e.target.className.includes('close'))\n return;\n e.preventDefault();\n this.actionSheetService.setActionSheetEventState({\n nativeEvent: e,\n data: { state: 'dragStart' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n this.handleDown(e.touches[0].clientY);\n }\n handleDown(clientY) {\n this.isDragging.set(true);\n this.getHostElement().style.transitionDuration = '0ms';\n if (isPlatformBrowser(this.platformID)) {\n this.curserOffset.set(clientY - (this.document.documentElement.clientHeight - this.getHostElement().clientHeight));\n }\n if (!this.isActionSheetHeightSet()) {\n this.actionSheetHeight.set(this.getHostElement().clientHeight);\n this.isActionSheetHeightSet.set(true);\n }\n }\n snapToFinalPosition() {\n this.getHostElement().style.transitionDuration = `${this.transitionDuration()}ms`;\n const currentHeight = this.getHostElement().clientHeight;\n const initialHeight = this.actionSheetHeight();\n const windowHeight = this.document.documentElement.clientHeight;\n if (currentHeight < initialHeight * 0.75) {\n this.close(null);\n return;\n }\n if (this.isFullScreen() && currentHeight < windowHeight * 0.9) {\n this.getHostElement().style.height = `${initialHeight}px`;\n this.isFullScreen.set(false);\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n if (this.data().dragUp && currentHeight > (windowHeight + initialHeight) / 3) {\n this.getHostElement().style.height = '100vh';\n this.isFullScreen.set(true);\n this.document.body.parentElement.style.overscrollBehaviorY = 'contain';\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'fullScreen' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n return;\n }\n this.getHostElement().style.height = `${initialHeight}px`;\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'normalSize' },\n isUserInteraction: true,\n overlayRef: this.overlayRef(),\n });\n }\n heightCalculator(clientY) {\n if (this.data().dragUp) {\n return this.document.documentElement.clientHeight - clientY;\n }\n if (clientY >= this.document.documentElement.clientHeight - this.actionSheetHeight()) {\n return this.document.documentElement.clientHeight - clientY;\n }\n return (this.actionSheetHeight() + (this.document.documentElement.clientHeight - clientY - this.actionSheetHeight()) / 10);\n }\n /**\n * Handles component attachment from ngComponentOutlet\n */\n handleComponentCreated(componentRef) {\n if (componentRef?.instance) {\n this._componentRef = componentRef.instance;\n Object.assign(this._componentRef, this.data());\n Object.assign(this._componentRef, { _isPopup: true });\n if (componentRef.instance\n .onClosed) {\n componentRef.instance.onClosed.subscribe((e) => {\n this.close(e);\n });\n }\n }\n }\n /**\n * Handles click events on action sheet items.\n * This method is called when a user clicks on an action sheet item. It closes the action sheet\n * with the clicked item as the result data and executes the item's onClick callback if provided.\n *\n * @param item - The action sheet item that was clicked. Contains the item's data and optional onClick callback.\n * @returns void\n */\n onItemClick(item) {\n this.close(item);\n if (item?.onClick)\n item.onClick();\n }\n /**\n * Closes the action sheet with optional result data.\n * This method initiates the closing animation of the action sheet and eventually closes the dialog.\n * The closing process includes a height animation and cleanup of event listeners.\n *\n * @param e - The result data to pass when closing the action sheet. Can be any value including null.\n * If an AXActionSheetItem is passed, it represents the selected item.\n * @param isUserInteraction - Whether the close action was triggered by user interaction (default: true).\n * This affects how the action sheet handles accessibility and event tracking.\n * @returns void\n */\n close(e = null, isUserInteraction = true) {\n this.getHostElement().style.height = `${this.getHostElement().clientHeight}px`;\n setTimeout(() => {\n this.getHostElement().style.height = '0vh';\n });\n setTimeout(() => {\n this.actionSheetService.setActionSheetEventState({\n data: { state: 'close' },\n isUserInteraction,\n overlayRef: this.overlayRef(),\n });\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback({\n component: this._componentRef,\n htmlElement: this.getHostElement(),\n data: e,\n });\n }\n }, this.transitionDuration());\n }\n /**\n * @ignore\n */\n onKeydownHandler() {\n const focusedOrHasFocused = this.getHostElement().matches(':focus-within');\n if (this.data().closeButton && focusedOrHasFocused) {\n this.close(null);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: AXActionSheetComponent, isStandalone: true, selector: \"ax-action-sheet\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: true, transformFunction: null }, onClose: { classPropertyName: \"onClose\", publicName: \"onClose\", isSignal: true, isRequired: false, transformFunction: null }, overlayRef: { classPropertyName: \"overlayRef\", publicName: \"overlayRef\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"keydown.escape\": \"onKeydownHandler()\" } }, providers: [\n { provide: AXComponent, useExisting: AXActionSheetComponent },\n {\n provide: AXClosableComponent,\n useExisting: AXActionSheetComponent,\n },\n {\n provide: AXFocusableComponent,\n useExisting: AXActionSheetComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"@if (data().draggable) {\\n <div (mousedown)=\\\"handleMouseDown($event)\\\" (touchstart)=\\\"handleTouchDown($event)\\\" class=\\\"ax-drag-handle-container\\\">\\n <div class=\\\"ax-drag-handle\\\"></div>\\n </div>\\n}\\n@if (data().header) {\\n <ax-header\\n [class.draggable-header]=\\\"data().draggable\\\"\\n (mousedown)=\\\"data().draggable ? handleMouseDown($event) : null\\\"\\n (touchstart)=\\\"data().draggable ? handleTouchDown($event) : null\\\"\\n >\\n <ax-prefix>\\n <ax-title>{{ data().title | translate | async }}</ax-title>\\n\\n @if (data().subTitle) {\\n <ax-subtitle>\\n {{ data().subTitle }}\\n </ax-subtitle>\\n }\\n </ax-prefix>\\n @if (data().closeButton) {\\n <ax-suffix>\\n <ax-close-button></ax-close-button>\\n </ax-suffix>\\n }\\n </ax-header>\\n}\\n@if (data().content) {\\n <div class=\\\"ax-custom-template-container\\\">\\n @if (templateContent()) {\\n <ng-container *ngTemplateOutlet=\\\"templateContent(); context: templateContext()\\\"></ng-container>\\n } @else if (componentContent()) {\\n <ng-container *ngComponentOutlet=\\\"componentContent()\\\"></ng-container>\\n }\\n </div>\\n}\\n\\n<div class=\\\"ax-action-list ax-action-list-vertical\\\">\\n @for (item of data().items; let i = $index; track i) {\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <div\\n class=\\\"ax-action-item ax-{{ item.color || 'default' }}\\\"\\n [class.ax-state-disabled]=\\\"item.disabled\\\"\\n [tabindex]=\\\"i\\\"\\n (click)=\\\"onItemClick(item)\\\"\\n >\\n <div class=\\\"ax-action-item-prefix\\\">\\n @if (item.icon) {\\n <span class=\\\"ax-item-icon\\\" [class]=\\\"item.icon\\\"></span>\\n }\\n <ax-text>{{ item.text | translate | async }}</ax-text>\\n </div>\\n <div class=\\\"ax-action-item-suffix\\\"></div>\\n </div>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n</div>\\n\", styles: [\"ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-lightest-surface)}ax-action-sheet .ax-action-item.ax-primary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-primary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-primary-surface), .1}ax-action-sheet .ax-action-item.ax-secondary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-secondary-surface), .1}ax-action-sheet .ax-action-item.ax-success{--ax-comp-action-sheet-text-color: var(--ax-sys-color-success-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-success-surface), .1}ax-action-sheet .ax-action-item.ax-warning{--ax-comp-action-sheet-text-color: var(--ax-sys-color-warning-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-warning-surface), .1}ax-action-sheet .ax-action-item.ax-danger{--ax-comp-action-sheet-text-color: var(--ax-sys-color-danger-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-danger-surface), .1}ax-action-sheet .ax-action-item.ax-accent1{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent1-surface), .1}ax-action-sheet .ax-action-item.ax-accent2{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent2-surface), .1}ax-action-sheet .ax-action-item.ax-accent3{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent3-surface), .1}ax-action-sheet .ax-action-item.ax-accent4{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent4-surface), .1}ax-action-sheet .ax-action-item.ax-accent5{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent5-surface), .1}ax-action-sheet .ax-action-item.ax-accent6{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent6-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent6-surface), .1}ax-action-sheet .ax-action-item.ax-accent7{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent7-surface), .1}.ax-action-sheet-panel{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;display:block!important;align-items:unset!important;justify-content:unset!important;max-width:none!important}ax-action-sheet{display:block;width:var(--ax-comp-action-sheet-width-sm, 100vw);position:relative;transition-property:height;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);background-color:rgba(var(--ax-comp-action-sheet-bg-color))}@media (min-width: 768px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-md, 70vw)}}@media (min-width: 1024px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-lg, 50vw)}}ax-action-sheet .ax-custom-template-container{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-drag-handle-container{padding-top:.5rem}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:.375rem;width:3rem;margin:auto;border-radius:.5rem;background-color:rgba(var(--ax-sys-color-surface))}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header.draggable-header{padding-top:0;-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-action-list ax-title{font-size:.875rem}ax-action-sheet .ax-action-list .ax-action-item{min-height:3.5rem!important;font-size:1rem!important;color:rgba(var(--ax-comp-action-sheet-text-color))}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-comp-action-sheet-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{margin-inline-end:.75rem!important;font-size:1.5rem!important;line-height:2rem!important}.ax-dark ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-darker-surface)}\\n\"], dependencies: [{ kind: \"component\", type: 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: \"component\", type: AXDecoratorCloseButtonComponent, selector: \"ax-close-button\", inputs: [\"closeAll\", \"icon\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-action-sheet', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {\n '(keydown.escape)': 'onKeydownHandler()',\n }, providers: [\n { provide: AXComponent, useExisting: AXActionSheetComponent },\n {\n provide: AXClosableComponent,\n useExisting: AXActionSheetComponent,\n },\n {\n provide: AXFocusableComponent,\n useExisting: AXActionSheetComponent,\n },\n ], imports: [\n AXDecoratorGenericComponent,\n AXDecoratorCloseButtonComponent,\n NgTemplateOutlet,\n NgComponentOutlet,\n AXTranslatorPipe,\n AsyncPipe,\n ], template: \"@if (data().draggable) {\\n <div (mousedown)=\\\"handleMouseDown($event)\\\" (touchstart)=\\\"handleTouchDown($event)\\\" class=\\\"ax-drag-handle-container\\\">\\n <div class=\\\"ax-drag-handle\\\"></div>\\n </div>\\n}\\n@if (data().header) {\\n <ax-header\\n [class.draggable-header]=\\\"data().draggable\\\"\\n (mousedown)=\\\"data().draggable ? handleMouseDown($event) : null\\\"\\n (touchstart)=\\\"data().draggable ? handleTouchDown($event) : null\\\"\\n >\\n <ax-prefix>\\n <ax-title>{{ data().title | translate | async }}</ax-title>\\n\\n @if (data().subTitle) {\\n <ax-subtitle>\\n {{ data().subTitle }}\\n </ax-subtitle>\\n }\\n </ax-prefix>\\n @if (data().closeButton) {\\n <ax-suffix>\\n <ax-close-button></ax-close-button>\\n </ax-suffix>\\n }\\n </ax-header>\\n}\\n@if (data().content) {\\n <div class=\\\"ax-custom-template-container\\\">\\n @if (templateContent()) {\\n <ng-container *ngTemplateOutlet=\\\"templateContent(); context: templateContext()\\\"></ng-container>\\n } @else if (componentContent()) {\\n <ng-container *ngComponentOutlet=\\\"componentContent()\\\"></ng-container>\\n }\\n </div>\\n}\\n\\n<div class=\\\"ax-action-list ax-action-list-vertical\\\">\\n @for (item of data().items; let i = $index; track i) {\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <div\\n class=\\\"ax-action-item ax-{{ item.color || 'default' }}\\\"\\n [class.ax-state-disabled]=\\\"item.disabled\\\"\\n [tabindex]=\\\"i\\\"\\n (click)=\\\"onItemClick(item)\\\"\\n >\\n <div class=\\\"ax-action-item-prefix\\\">\\n @if (item.icon) {\\n <span class=\\\"ax-item-icon\\\" [class]=\\\"item.icon\\\"></span>\\n }\\n <ax-text>{{ item.text | translate | async }}</ax-text>\\n </div>\\n <div class=\\\"ax-action-item-suffix\\\"></div>\\n </div>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n</div>\\n\", styles: [\"ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-lightest-surface)}ax-action-sheet .ax-action-item.ax-primary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-primary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-primary-surface), .1}ax-action-sheet .ax-action-item.ax-secondary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-secondary-surface), .1}ax-action-sheet .ax-action-item.ax-success{--ax-comp-action-sheet-text-color: var(--ax-sys-color-success-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-success-surface), .1}ax-action-sheet .ax-action-item.ax-warning{--ax-comp-action-sheet-text-color: var(--ax-sys-color-warning-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-warning-surface), .1}ax-action-sheet .ax-action-item.ax-danger{--ax-comp-action-sheet-text-color: var(--ax-sys-color-danger-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-danger-surface), .1}ax-action-sheet .ax-action-item.ax-accent1{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent1-surface), .1}ax-action-sheet .ax-action-item.ax-accent2{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent2-surface), .1}ax-action-sheet .ax-action-item.ax-accent3{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent3-surface), .1}ax-action-sheet .ax-action-item.ax-accent4{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent4-surface), .1}ax-action-sheet .ax-action-item.ax-accent5{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent5-surface), .1}ax-action-sheet .ax-action-item.ax-accent6{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent6-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent6-surface), .1}ax-action-sheet .ax-action-item.ax-accent7{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent7-surface), .1}.ax-action-sheet-panel{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;display:block!important;align-items:unset!important;justify-content:unset!important;max-width:none!important}ax-action-sheet{display:block;width:var(--ax-comp-action-sheet-width-sm, 100vw);position:relative;transition-property:height;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);background-color:rgba(var(--ax-comp-action-sheet-bg-color))}@media (min-width: 768px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-md, 70vw)}}@media (min-width: 1024px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-lg, 50vw)}}ax-action-sheet .ax-custom-template-container{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-drag-handle-container{padding-top:.5rem}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:.375rem;width:3rem;margin:auto;border-radius:.5rem;background-color:rgba(var(--ax-sys-color-surface))}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header.draggable-header{padding-top:0;-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-action-list ax-title{font-size:.875rem}ax-action-sheet .ax-action-list .ax-action-item{min-height:3.5rem!important;font-size:1rem!important;color:rgba(var(--ax-comp-action-sheet-text-color))}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-comp-action-sheet-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{margin-inline-end:.75rem!important;font-size:1.5rem!important;line-height:2rem!important}.ax-dark ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-darker-surface)}\\n\"] }]\n }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: \"data\", required: true }] }], onClose: [{ type: i0.Input, args: [{ isSignal: true, alias: \"onClose\", required: false }] }], overlayRef: [{ type: i0.Input, args: [{ isSignal: true, alias: \"overlayRef\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0L3NyYy9saWIvYWN0aW9uLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0L3NyYy9saWIvYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLG9CQUFvQixFQUNwQixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLCtCQUErQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixXQUFXLEVBRVgsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU5RDs7OztHQUlHO0FBOEJILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFlO0lBN0IzRDs7UUE4QkUsc0NBQXNDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSwrQ0FBdUIsQ0FBQztRQUU3Qyw0REFBNEQ7UUFDNUQsWUFBTyxHQUFHLEtBQUssNkRBQTRDLENBQUM7UUFFNUQscURBQXFEO1FB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QixTQUFTOzs0RkFHQSxzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGtCQUFrQixFQUFFLG9CQUFvQjtxQkFDekMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyx3QkFBd0IsRUFBRTt3QkFDN0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyx3QkFBd0I7eUJBQ3BDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFdBQVcsd0JBQXdCO3lCQUNwQztxQkFDRixXQUNRO3dCQUNQLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixTQUFTO3FCQUNWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhDbG9zYWJsZUNvbXBvbmVudCxcbiAgQVhDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50Q2xvc2VFdmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIE1YQmFzZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYT3ZlcmxheVJlZiB9IGZyb20gJ0BhY29yZXgvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JDbG9zZUJ1dHRvbkNvbXBvbmVudCwgQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yUGlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIGlzUGxhdGZvcm1Ccm93c2VyLCBOZ0NvbXBvbmVudE91dGxldCwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIGNvbXB1dGVkLFxuICBET0NVTUVOVCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQWN0aW9uU2hlZXRDb25maWcsIEFYQWN0aW9uU2hlZXRJdGVtIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuY2xhc3MnO1xuaW1wb3J0IHsgQVhBY3Rpb25TaGVldFNlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi1zaGVldC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbiBhY3Rpb24gc2hlZXQsIHdoaWNoIGlzIGEgbWVudSB0aGF0IHNsaWRlcyB1cCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1hY3Rpb24tc2hlZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJyhrZXlkb3duLmVzY2FwZSknOiAnb25LZXlkb3duSGFuZGxlcigpJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENsb3NhYmxlQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWEFjdGlvblNoZWV0Q29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JDbG9zZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgIEFYVHJhbnNsYXRvclBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWEFjdGlvblNoZWV0Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKiogQWN0aW9uIHNoZWV0IGNvbmZpZ3VyYXRpb24gZGF0YSAqL1xuICBkYXRhID0gaW5wdXQucmVxdWlyZWQ8QVhBY3Rpb25TaGVldENvbmZpZz4oKTtcblxuICAvKiogQGludGVybmFsIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGNsb3NlIHRoZSBhY3Rpb24gc2hlZXQgKi9cbiAgb25DbG9zZSA9IGlucHV0PChyZXN1bHQ/OiBBWENvbXBvbmVudENsb3NlRXZlbnQpID0+IHZvaWQ+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCBPdmVybGF5IHJlZmVyZW5jZSBmb3IgZXZlbnQgdHJhY2tpbmcgKi9cbiAgb3ZlcmxheVJlZiA9IGlucHV0PEFYT3ZlcmxheVJlZjxhbnk+PigpO1xuXG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHBsYXRmb3JtSUQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgYWN0aW9uU2hlZXRTZXJ2aWNlID0gaW5qZWN0KEFYQWN0aW9uU2hlZXRTZXJ2aWNlKTtcblxuICBwcml2YXRlIG9uTW91c2VNb3ZlTGlzdGVuZXJGbiA9ICgpID0+IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvbk1vdXNlVXBMaXN0ZW5lckZuID0gKCkgPT4gdW5kZWZpbmVkO1xuICBwcml2YXRlIG9uVG91Y2hNb3ZlTGlzdGVuZXJGbiA9ICgpID0+IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvblRvdWNoVXBMaXN0ZW5lckZuID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgaXNEcmFnZ2luZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgaXNGdWxsU2NyZWVuID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBjdXJzZXJPZmZzZXQgPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgYWN0aW9uU2hlZXRIZWlnaHQgPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgaXNBY3Rpb25TaGVldEhlaWdodFNldCA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgdHJhbnNpdGlvbkR1cmF0aW9uID0gc2lnbmFsKDMwMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9jb21wb25lbnRSZWY6IGFueTtcblxuICAvKiogVGVtcGxhdGUgY29udGVudCBpZiBkYXRhLmNvbnRlbnQgaXMgYSBUZW1wbGF0ZVJlZiAqL1xuICBwcm90ZWN0ZWQgdGVtcGxhdGVDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRhdGEoKS5jb250ZW50O1xuICAgIHJldHVybiBjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyBjb250ZW50IDogbnVsbDtcbiAgfSk7XG5cbiAgLyoqIENvbXBvbmVudCBjb250ZW50IGlmIGRhdGEuY29udGVudCBpcyBhIGNvbXBvbmVudCBUeXBlICovXG4gIHByb3RlY3RlZCBjb21wb25lbnRDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRhdGEoKS5jb250ZW50O1xuICAgIHJldHVybiB0eXBlb2YgY29udGVudCA9PT0gJ2Z1bmN0aW9uJyA/IChjb250ZW50IGFzIFR5cGU8YW55PikgOiBudWxsO1xuICB9KTtcblxuICAvKiogVGVtcGxhdGUgY29udGV4dCBmb3IgbmdUZW1wbGF0ZU91dGxldCAqL1xuICBwcm90ZWN0ZWQgdGVtcGxhdGVDb250ZXh0ID0gY29tcHV0ZWQoKCk6IHsgJGltcGxpY2l0OiBBWEFjdGlvblNoZWV0Q29uZmlnOyByZWY6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQgfSA9PiAoe1xuICAgICRpbXBsaWNpdDogdGhpcy5kYXRhKCksXG4gICAgcmVmOiB0aGlzLFxuICB9KSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gRW50ZXIgYW5pbWF0aW9uOiBzdGFydCB3aXRoIGhlaWdodCAwIGFuZCBhbmltYXRlIHRvIG5hdHVyYWwgaGVpZ2h0XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgaG9zdEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuICAgICAgaG9zdEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcblxuICAgICAgLy8gVXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0byBlbnN1cmUgdGhlIGluaXRpYWwgaGVpZ2h0IGlzIGFwcGxpZWQgYmVmb3JlIGFuaW1hdGluZ1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uID0gYCR7dGhpcy50cmFuc2l0aW9uRHVyYXRpb24oKX1tc2A7XG4gICAgICAgIGhvc3RFbGVtZW50LnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgLy8gR2V0IHRoZSBuYXR1cmFsIGhlaWdodFxuICAgICAgICBjb25zdCBuYXR1cmFsSGVpZ2h0ID0gaG9zdEVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMCc7XG5cbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtuYXR1cmFsSGVpZ2h0fXB4YDtcbiAgICAgICAgICAvLyBBZnRlciBhbmltYXRpb24gY29tcGxldGVzLCBzZXQgaGVpZ2h0IHRvIGF1dG8gZm9yIGZsZXhpYmlsaXR5XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICBob3N0RWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9ICcnO1xuICAgICAgICAgIH0sIHRoaXMudHJhbnNpdGlvbkR1cmF0aW9uKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpICYmIHRoaXMuZGF0YSgpLmRyYWdnYWJsZSkge1xuICAgICAgdGhpcy5vbk1vdXNlTW92ZUxpc3RlbmVyRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJywgKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZygpKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLmhlaWdodENhbGN1bGF0b3IoZS5jbGllbnRZKSArIHRoaXMuY3Vyc2VyT2Zmc2V0KCl9cHhgO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaE1vdmVMaXN0ZW5lckZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ3RvdWNobW92ZScsIChlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHRDYWxjdWxhdG9yKGUudG91Y2hlc1swXS5jbGllbnRZKSArIHRoaXMuY3Vyc2VyT2Zmc2V0KCl9cHhgO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Nb3VzZVVwTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdtb3VzZXVwJywgKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZygpKSB7XG4gICAgICAgICAgdGhpcy5pc0RyYWdnaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgICAgICAgZGF0YTogeyBzdGF0ZTogJ2RyYWdFbmQnIH0sXG4gICAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG92ZXJsYXlSZWY6IHRoaXMub3ZlcmxheVJlZigpLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc25hcFRvRmluYWxQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaFVwTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICd0b3VjaGVuZCcsIChlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuYWN0aW9uU2hlZXRTZXJ2aWNlLnNldEFjdGlvblNoZWV0RXZlbnRTdGF0ZSh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgIGRhdGE6IHsgc3RhdGU6ICdkcmFnRW5kJyB9LFxuICAgICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICAgICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnNuYXBUb0ZpbmFsUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbk1vdXNlTW92ZUxpc3RlbmVyRm4oKTtcbiAgICB0aGlzLm9uTW91c2VVcExpc3RlbmVyRm4oKTtcbiAgICB0aGlzLm9uVG91Y2hNb3ZlTGlzdGVuZXJGbigpO1xuICAgIHRoaXMub25Ub3VjaFVwTGlzdGVuZXJGbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU1vdXNlRG93bihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRhdGEoKS5kcmFnZ2FibGUgfHwgZS5idXR0b24gIT09IDApIHJldHVybjtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgZGF0YTogeyBzdGF0ZTogJ2RyYWdTdGFydCcgfSxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgb3ZlcmxheVJlZjogdGhpcy5vdmVybGF5UmVmKCksXG4gICAgfSk7XG4gICAgdGhpcy5oYW5kbGVEb3duKGUuY2xpZW50WSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVG91Y2hEb3duKGU6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZGF0YSgpLmRyYWdnYWJsZSB8fCAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTmFtZS5pbmNsdWRlcygnY2xvc2UnKSkgcmV0dXJuO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhOiB7IHN0YXRlOiAnZHJhZ1N0YXJ0JyB9LFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICB9KTtcbiAgICB0aGlzLmhhbmRsZURvd24oZS50b3VjaGVzWzBdLmNsaWVudFkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEb3duKGNsaWVudFk6IG51bWJlcikge1xuICAgIHRoaXMuaXNEcmFnZ2luZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcwbXMnO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuY3Vyc2VyT2Zmc2V0LnNldChcbiAgICAgICAgY2xpZW50WSAtICh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xpZW50SGVpZ2h0KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzQWN0aW9uU2hlZXRIZWlnaHRTZXQoKSkge1xuICAgICAgdGhpcy5hY3Rpb25TaGVldEhlaWdodC5zZXQodGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsaWVudEhlaWdodCk7XG4gICAgICB0aGlzLmlzQWN0aW9uU2hlZXRIZWlnaHRTZXQuc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc25hcFRvRmluYWxQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uID0gYCR7dGhpcy50cmFuc2l0aW9uRHVyYXRpb24oKX1tc2A7XG4gICAgY29uc3QgY3VycmVudEhlaWdodCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGllbnRIZWlnaHQ7XG4gICAgY29uc3QgaW5pdGlhbEhlaWdodCA9IHRoaXMuYWN0aW9uU2hlZXRIZWlnaHQoKTtcbiAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICBpZiAoY3VycmVudEhlaWdodCA8IGluaXRpYWxIZWlnaHQgKiAwLjc1KSB7XG4gICAgICB0aGlzLmNsb3NlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Z1bGxTY3JlZW4oKSAmJiBjdXJyZW50SGVpZ2h0IDwgd2luZG93SGVpZ2h0ICogMC45KSB7XG4gICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gYCR7aW5pdGlhbEhlaWdodH1weGA7XG4gICAgICB0aGlzLmlzRnVsbFNjcmVlbi5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgICAgZGF0YTogeyBzdGF0ZTogJ25vcm1hbFNpemUnIH0sXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgICBvdmVybGF5UmVmOiB0aGlzLm92ZXJsYXlSZWYoKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5kYXRhKCkuZHJhZ1VwICYmIGN1cnJlbnRIZWlnaHQgPiAod2luZG93SGVpZ2h0ICsgaW5pdGlhbEhlaWdodCkgLyAzKSB7XG4gICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuaGVpZ2h0ID0gJzEwMHZoJztcbiAgICAgIHRoaXMuaXNGdWxsU2NyZWVuLnNldCh0cnVlKTtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5wYXJlbnRFbGVtZW50LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvclkgPSAnY29udGFpbic7XG4gICAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgICBkYXRhOiB7IHN0YXRlOiAnZnVsbFNjcmVlbicgfSxcbiAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICAgIG92ZXJsYXlSZWY6IHRoaXMub3ZlcmxheVJlZigpLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zdHlsZS5oZWlnaHQgPSBgJHtpbml0aWFsSGVpZ2h0fXB4YDtcbiAgICB0aGlzLmFjdGlvblNoZWV0U2VydmljZS5zZXRBY3Rpb25TaGVldEV2ZW50U3RhdGUoe1xuICAgICAgZGF0YTogeyBzdGF0ZTogJ25vcm1hbFNpemUnIH0sXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgIG92ZXJsYXlSZWY6IHRoaXMub3ZlcmxheVJlZigpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoZWlnaHRDYWxjdWxhdG9yKGNsaWVudFk6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuZGF0YSgpLmRyYWdVcCkge1xuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIGNsaWVudFk7XG4gICAgfVxuICAgIGlmIChjbGllbnRZID49IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIHRoaXMuYWN0aW9uU2hlZXRIZWlnaHQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIGNsaWVudFk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmFjdGlvblNoZWV0SGVpZ2h0KCkgKyAodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gY2xpZW50WSAtIHRoaXMuYWN0aW9uU2hlZXRIZWlnaHQoKSkgLyAxMFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjb21wb25lbnQgYXR0YWNobWVudCBmcm9tIG5nQ29tcG9uZW50T3V0bGV0XG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ29tcG9uZW50Q3JlYXRlZChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgaWYgKGNvbXBvbmVudFJlZj8uaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fY29tcG9uZW50UmVmLCB0aGlzLmRhdGEoKSk7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX2NvbXBvbmVudFJlZiwgeyBfaXNQb3B1cDogdHJ1ZSB9KTtcbiAgICAgIGlmIChcbiAgICAgICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyB7IG9uQ2xvc2VkPzogeyBzdWJzY3JpYmU6IChmbjogKGU6IEFYQ29tcG9uZW50Q2xvc2VFdmVudCkgPT4gdm9pZCkgPT4gdm9pZCB9IH0pXG4gICAgICAgICAgLm9uQ2xvc2VkXG4gICAgICApIHtcbiAgICAgICAgKFxuICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyB7IG9uQ2xvc2VkOiB7IHN1YnNjcmliZTogKGZuOiAoZTogQVhDb21wb25lbnRDbG9zZUV2ZW50KSA9PiB2b2lkKSA9PiB2b2lkIH0gfVxuICAgICAgICApLm9uQ2xvc2VkLnN1YnNjcmliZSgoZTogQVhDb21wb25lbnRDbG9zZUV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZShlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY2xpY2sgZXZlbnRzIG9uIGFjdGlvbiBzaGVldCBpdGVtcy5cbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYSB1c2VyIGNsaWNrcyBvbiBhbiBhY3Rpb24gc2hlZXQgaXRlbS4gSXQgY2xvc2VzIHRoZSBhY3Rpb24gc2hlZXRcbiAgICogd2l0aCB0aGUgY2xpY2tlZCBpdGVtIGFzIHRoZSByZXN1bHQgZGF0YSBhbmQgZXhlY3V0ZXMgdGhlIGl0ZW0ncyBvbkNsaWNrIGNhbGxiYWNrIGlmIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBhY3Rpb24gc2hlZXQgaXRlbSB0aGF0IHdhcyBjbGlja2VkLiBDb250YWlucyB0aGUgaXRlbSdzIGRhdGEgYW5kIG9wdGlvbmFsIG9uQ2xpY2sgY2FsbGJhY2suXG4gICAqIEByZXR1cm5zIHZvaWRcbiAgICovXG4gIG9uSXRlbUNsaWNrKGl0ZW06IEFYQWN0aW9uU2hlZXRJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZShpdGVtKTtcbiAgICBpZiAoaXRlbT8ub25DbGljaykgaXRlbS5vbkNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBhY3Rpb24gc2hlZXQgd2l0aCBvcHRpb25hbCByZXN1bHQgZGF0YS5cbiAgICogVGhpcyBtZXRob2QgaW5pdGlhdGVzIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBvZiB0aGUgYWN0aW9uIHNoZWV0IGFuZCBldmVudHVhbGx5IGNsb3NlcyB0aGUgZGlhbG9nLlxuICAgKiBUaGUgY2xvc2luZyBwcm9jZXNzIGluY2x1ZGVzIGEgaGVpZ2h0IGFuaW1hdGlvbiBhbmQgY2xlYW51cCBvZiBldmVudCBsaXN0ZW5lcnMuXG4gICAqXG4gICAqIEBwYXJhbSBlIC0gVGhlIHJlc3VsdCBkYXRhIHRvIHBhc3Mgd2hlbiBjbG9zaW5nIHRoZSBhY3Rpb24gc2hlZXQuIENhbiBiZSBhbnkgdmFsdWUgaW5jbHVkaW5nIG51bGwuXG4gICAqICAgICAgICAgICAgSWYgYW4gQVhBY3Rpb25TaGVldEl0ZW0gaXMgcGFzc2VkLCBpdCByZXByZXNlbnRzIHRoZSBzZWxlY3RlZCBpdGVtLlxuICAgKiBAcGFyYW0gaXNVc2VySW50ZXJhY3Rpb24gLSBXaGV0aGVyIHRoZSBjbG9zZSBhY3Rpb24gd2FzIHRyaWdnZXJlZCBieSB1c2VyIGludGVyYWN0aW9uIChkZWZhdWx0OiB0cnVlKS5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGFmZmVjdHMgaG93IHRoZSBhY3Rpb24gc2hlZXQgaGFuZGxlcyBhY2Nlc3NpYmlsaXR5IGFuZCBldmVudCB0cmFja2luZy5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgY2xvc2UoZTogYW55ID0gbnVsbCwgaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLmhlaWdodCA9IGAke3RoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGllbnRIZWlnaHR9cHhgO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLmhlaWdodCA9ICcwdmgnO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hY3Rpb25TaGVldFNlcnZpY2Uuc2V0QWN0aW9uU2hlZXRFdmVudFN0YXRlKHtcbiAgICAgICAgZGF0YTogeyBzdGF0ZTogJ2Nsb3NlJyB9LFxuICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbixcbiAgICAgICAgb3ZlcmxheVJlZjogdGhpcy5vdmVybGF5UmVmKCksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNsb3NlQ2FsbGJhY2sgPSB0aGlzLm9uQ2xvc2UoKTtcbiAgICAgIGlmIChjbG9zZUNhbGxiYWNrKSB7XG4gICAgICAgIGNsb3NlQ2FsbGJhY2soe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5fY29tcG9uZW50UmVmLFxuICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICAgICAgZGF0YTogZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSwgdGhpcy50cmFuc2l0aW9uRHVyYXRpb24oKSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBvbktleWRvd25IYW5kbGVyKCkge1xuICAgIGNvbnN0IGZvY3VzZWRPckhhc0ZvY3VzZWQgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkubWF0Y2hlcygnOmZvY3VzLXdpdGhpbicpO1xuICAgIGlmICh0aGlzLmRhdGEoKS5jbG9zZUJ1dHRvbiAmJiBmb2N1c2VkT3JIYXNGb2N1c2VkKSB7XG4gICAgICB0aGlzLmNsb3NlKG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChkYXRhKCkuZHJhZ2dhYmxlKSB7XG4gIDxkaXYgKG1vdXNlZG93bik9XCJoYW5kbGVNb3VzZURvd24oJGV2ZW50KVwiICh0b3VjaHN0YXJ0KT1cImhhbmRsZVRvdWNoRG93bigkZXZlbnQpXCIgY2xhc3M9XCJheC1kcmFnLWhhbmRsZS1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZHJhZy1oYW5kbGVcIj48L2Rpdj5cbiAgPC9kaXY+XG59XG5AaWYgKGRhdGEoKS5oZWFkZXIpIHtcbiAgPGF4LWhlYWRlclxuICAgIFtjbGFzcy5kcmFnZ2FibGUtaGVhZGVyXT1cImRhdGEoKS5kcmFnZ2FibGVcIlxuICAgIChtb3VzZWRvd24pPVwiZGF0YSgpLmRyYWdnYWJsZSA/IGhhbmRsZU1vdXNlRG93bigkZXZlbnQpIDogbnVsbFwiXG4gICAgKHRvdWNoc3RhcnQpPVwiZGF0YSgpLmRyYWdnYWJsZSA/IGhhbmRsZVRvdWNoRG93bigkZXZlbnQpIDogbnVsbFwiXG4gID5cbiAgICA8YXgtcHJlZml4PlxuICAgICAgPGF4LXRpdGxlPnt7IGRhdGEoKS50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9heC10aXRsZT5cblxuICAgICAgQGlmIChkYXRhKCkuc3ViVGl0bGUpIHtcbiAgICAgICAgPGF4LXN1YnRpdGxlPlxuICAgICAgICAgIHt7IGRhdGEoKS5zdWJUaXRsZSB9fVxuICAgICAgICA8L2F4LXN1YnRpdGxlPlxuICAgICAgfVxuICAgIDwvYXgtcHJlZml4PlxuICAgIEBpZiAoZGF0YSgpLmNsb3NlQnV0dG9uKSB7XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtY2xvc2UtYnV0dG9uPjwvYXgtY2xvc2UtYnV0dG9uPlxuICAgICAgPC9heC1zdWZmaXg+XG4gICAgfVxuICA8L2F4LWhlYWRlcj5cbn1cbkBpZiAoZGF0YSgpLmNvbnRlbnQpIHtcbiAgPGRpdiBjbGFzcz1cImF4LWN1c3RvbS10ZW1wbGF0ZS1jb250YWluZXJcIj5cbiAgICBAaWYgKHRlbXBsYXRlQ29udGVudCgpKSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVDb250ZW50KCk7IGNvbnRleHQ6IHRlbXBsYXRlQ29udGV4dCgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSBpZiAoY29tcG9uZW50Q29udGVudCgpKSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXBvbmVudENvbnRlbnQoKVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgPC9kaXY+XG59XG5cbjxkaXYgY2xhc3M9XCJheC1hY3Rpb24tbGlzdCBheC1hY3Rpb24tbGlzdC12ZXJ0aWNhbFwiPlxuICBAZm9yIChpdGVtIG9mIGRhdGEoKS5pdGVtczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICBAaWYgKGl0ZW0uZ3JvdXA/LnRpdGxlKSB7XG4gICAgICA8YXgtdGl0bGU+e3sgaXRlbS5ncm91cD8udGl0bGUgfX08L2F4LXRpdGxlPlxuICAgIH1cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF4LWFjdGlvbi1pdGVtIGF4LXt7IGl0ZW0uY29sb3IgfHwgJ2RlZmF1bHQnIH19XCJcbiAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgIFt0YWJpbmRleF09XCJpXCJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1pdGVtLXByZWZpeFwiPlxuICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaXRlbS1pY29uXCIgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8YXgtdGV4dD57eyBpdGVtLnRleHQgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtdGV4dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1pdGVtLXN1ZmZpeFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXRlbS5icmVhaykge1xuICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXActionSheetComponent } from './action-sheet.component';\nimport { AXActionSheetService } from './action-sheet.service';\nimport * as i0 from \"@angular/core\";\nexport class AXActionSheetModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, imports: [AXActionSheetComponent], exports: [AXActionSheetComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, providers: [AXActionSheetService], imports: [AXActionSheetComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXActionSheetModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXActionSheetComponent],\n exports: [AXActionSheetComponent],\n providers: [AXActionSheetService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0L3NyYy9saWIvYWN0aW9uLXNoZWV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU85RCxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixZQUpwQixzQkFBc0IsYUFDdEIsc0JBQXNCO2dIQUdyQixtQkFBbUIsYUFGbkIsQ0FBQyxvQkFBb0IsQ0FBQyxZQUZ2QixzQkFBc0I7OzRGQUlyQixtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhBY3Rpb25TaGVldENvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEFjdGlvblNoZWV0U2VydmljZSB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQVhBY3Rpb25TaGVldENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtBWEFjdGlvblNoZWV0Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbQVhBY3Rpb25TaGVldFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBWEFjdGlvblNoZWV0TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtYWN0aW9uLXNoZWV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQvc3JjL2Fjb3JleC1jb21wb25lbnRzLWFjdGlvbi1zaGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;;;;AAKO,MAAM,oBAAoB,CAAC;AAClC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACtD,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,OAAO,EAAE;AAC7C,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;AACrE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE;AACjD,QAAQ,MAAM,aAAa,GAAG;AAC9B,YAAY,KAAK,EAAE,oBAAoB;AACvC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,oBAAoB,EAAE,IAAI;AACtC,YAAY,MAAM,EAAE,IAAI;AACxB,SAAS;AACT,QAAQ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC;AACrD,QAAQ,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC;AAChD,QAAQ,IAAI,WAAW;AACvB,QAAQ,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK;AAC7C,YAAY,IAAI,WAAW,EAAE;AAC7B,gBAAgB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE;AAChD,gBAAgB,IAAI,MAAM,EAAE,IAAI,EAAE;AAClC,oBAAoB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACtD,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACnC,gBAAgB;AAChB,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,sBAAsB,EAAE;AACpF,YAAY,MAAM,EAAE;AACpB,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,gBAAgB;AACzC,aAAa;AACb,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,UAAU,EAAE,CAAC,uBAAuB,CAAC;AACjD,YAAY,QAAQ,EAAE;AACtB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,UAAU,EAAE,IAAI;AAChC,gBAAgB,YAAY,EAAE,MAAM,CAAC,oBAAoB;AACzD,aAAa;AACb,YAAY,SAAS,EAAE,MAAM;AAC7B;AACA,gBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/B,YAAY,CAAC;AACb,SAAS,CAAC;AACV,QAAQ,WAAW,GAAG;AACtB,YAAY,UAAU;AACtB,YAAY,KAAK,EAAE,gBAAgB;AACnC,SAAS;AACT;AACA,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE;AACtE,YAAY,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;AAClE,QAAQ;AACR;AACA,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACnC,YAAY,UAAU;AACtB,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACnC,YAAY,iBAAiB;AAC7B,SAAS,CAAC;AACV,QAAQ,MAAM,WAAW,GAAG;AAC5B,YAAY,KAAK,EAAE,CAAC,CAAC,KAAK;AAC1B,gBAAgB,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ;AACrD,gBAAgB,IAAI,SAAS,EAAE,KAAK,EAAE;AACtC,oBAAoB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACjD,gBAAgB;AAChB,YAAY,CAAC;AACb,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,OAAO,WAAW;AAC1B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,KAAK,EAAE;AACpC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;AACzC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACxL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC/H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACtHb;AACA;AACA;AACA;AACA;AACO,MAAM,sBAAsB,SAAS,eAAe,CAAC;AAC5D,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzF;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/F,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxC,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AACzC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC9D,QAAQ,IAAI,CAAC,qBAAqB,GAAG,MAAM,SAAS;AACpD,QAAQ,IAAI,CAAC,mBAAmB,GAAG,MAAM,SAAS;AAClD,QAAQ,IAAI,CAAC,qBAAqB,GAAG,MAAM,SAAS;AACpD,QAAQ,IAAI,CAAC,mBAAmB,GAAG,MAAM,SAAS;AAClD,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5F,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChG,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5F,QAAQ,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtG,QAAQ,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpH,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1G;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM;AAC9C,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO;AAC/C,YAAY,OAAO,OAAO,YAAY,WAAW,GAAG,OAAO,GAAG,IAAI;AAClE,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpE;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM;AAC/C,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO;AAC/C,YAAY,OAAO,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,GAAG,IAAI;AACjE,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO;AAC/C,YAAY,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE;AAClC,YAAY,GAAG,EAAE,IAAI;AACrB,SAAS,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE,IAAI;AACJ;AACA;AACA;AACA,IAAI,QAAQ,GAAG;AACf,QAAQ,KAAK,CAAC,QAAQ,EAAE;AACxB;AACA,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAChD,YAAY,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;AACrD,YAAY,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;AAC1C,YAAY,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;AACjD;AACA,YAAY,qBAAqB,CAAC,MAAM;AACxC,gBAAgB,WAAW,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;AACvF,gBAAgB,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AACjD;AACA,gBAAgB,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY;AAC9D,gBAAgB,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;AAC9C,gBAAgB,qBAAqB,CAAC,MAAM;AAC5C,oBAAoB,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;AACnE;AACA,oBAAoB,UAAU,CAAC,MAAM;AACrC,wBAAwB,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AACzD,wBAAwB,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AACvD,oBAAoB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACjD,gBAAgB,CAAC,CAAC;AAClB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE;AACzE,YAAY,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK;AACjG,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACvC,oBAAoB,CAAC,CAAC,cAAc,EAAE;AACtC,oBAAoB,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;AACtH,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,YAAY,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK;AACjG,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACvC,oBAAoB,CAAC,CAAC,cAAc,EAAE;AACtC,oBAAoB,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;AACjI,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,YAAY,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK;AAC7F,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACvC,oBAAoB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9C,oBAAoB,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AACrE,wBAAwB,WAAW,EAAE,CAAC;AACtC,wBAAwB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;AAClD,wBAAwB,iBAAiB,EAAE,IAAI;AAC/C,wBAAwB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACrD,qBAAqB,CAAC;AACtB,oBAAoB,IAAI,CAAC,mBAAmB,EAAE;AAC9C,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,YAAY,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK;AAC9F,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACvC,oBAAoB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9C,oBAAoB,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AACrE,wBAAwB,WAAW,EAAE,CAAC;AACtC,wBAAwB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;AAClD,wBAAwB,iBAAiB,EAAE,IAAI;AAC/C,wBAAwB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACrD,qBAAqB,CAAC;AACtB,oBAAoB,IAAI,CAAC,mBAAmB,EAAE;AAC9C,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,IAAI;AACJ,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,qBAAqB,EAAE;AACpC,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,QAAQ,IAAI,CAAC,qBAAqB,EAAE;AACpC,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,IAAI;AACJ,IAAI,eAAe,CAAC,CAAC,EAAE;AACvB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;AACpD,YAAY;AACZ,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AACzD,YAAY,WAAW,EAAE,CAAC;AAC1B,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;AACxC,YAAY,iBAAiB,EAAE,IAAI;AACnC,YAAY,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACzC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AAClC,IAAI;AACJ,IAAI,eAAe,CAAC,CAAC,EAAE;AACvB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC1E,YAAY;AACZ,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AACzD,YAAY,WAAW,EAAE,CAAC;AAC1B,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;AACxC,YAAY,iBAAiB,EAAE,IAAI;AACnC,YAAY,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACzC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7C,IAAI;AACJ,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK;AAC9D,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAChD,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC;AAC9H,QAAQ;AACR,QAAQ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE;AAC5C,YAAY,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC;AAC1E,YAAY,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;AACjD,QAAQ;AACR,IAAI;AACJ,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;AACzF,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY;AAChE,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE;AACtD,QAAQ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY;AACvE,QAAQ,IAAI,aAAa,GAAG,aAAa,GAAG,IAAI,EAAE;AAClD,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5B,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,aAAa,GAAG,YAAY,GAAG,GAAG,EAAE;AACvE,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;AACrE,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AACxC,YAAY,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AAC7D,gBAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;AAC7C,gBAAgB,iBAAiB,EAAE,IAAI;AACvC,gBAAgB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7C,aAAa,CAAC;AACd,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,aAAa,GAAG,CAAC,YAAY,GAAG,aAAa,IAAI,CAAC,EAAE;AACtF,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO;AACxD,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AACvC,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,GAAG,SAAS;AAClF,YAAY,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AAC7D,gBAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;AAC7C,gBAAgB,iBAAiB,EAAE,IAAI;AACvC,gBAAgB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7C,aAAa,CAAC;AACd,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;AACjE,QAAQ,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AACzD,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;AACzC,YAAY,iBAAiB,EAAE,IAAI;AACnC,YAAY,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACzC,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC9B,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;AAChC,YAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,OAAO;AACvE,QAAQ;AACR,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC9F,YAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,OAAO;AACvE,QAAQ;AACR,QAAQ,QAAQ,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE;AACjI,IAAI;AACJ;AACA;AACA;AACA,IAAI,sBAAsB,CAAC,YAAY,EAAE;AACzC,QAAQ,IAAI,YAAY,EAAE,QAAQ,EAAE;AACpC,YAAY,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,QAAQ;AACtD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1D,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjE,YAAY,IAAI,YAAY,CAAC;AAC7B,iBAAiB,QAAQ,EAAE;AAC3B,gBAAgB,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;AAChE,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,gBAAgB,CAAC,CAAC;AAClB,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,IAAI,EAAE;AACtB,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACxB,QAAQ,IAAI,IAAI,EAAE,OAAO;AACzB,YAAY,IAAI,CAAC,OAAO,EAAE;AAC1B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAAE;AAC9C,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AACtF,QAAQ,UAAU,CAAC,MAAM;AACzB,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;AACtD,QAAQ,CAAC,CAAC;AACV,QAAQ,UAAU,CAAC,MAAM;AACzB,YAAY,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AAC7D,gBAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;AACxC,gBAAgB,iBAAiB;AACjC,gBAAgB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7C,aAAa,CAAC;AACd,YAAY,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE;AAChD,YAAY,IAAI,aAAa,EAAE;AAC/B,gBAAgB,aAAa,CAAC;AAC9B,oBAAoB,SAAS,EAAE,IAAI,CAAC,aAAa;AACjD,oBAAoB,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACtD,oBAAoB,IAAI,EAAE,CAAC;AAC3B,iBAAiB,CAAC;AAClB,YAAY;AACZ,QAAQ,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACrC,IAAI;AACJ;AACA;AACA;AACA,IAAI,gBAAgB,GAAG;AACvB,QAAQ,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;AAClF,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,IAAI,mBAAmB,EAAE;AAC5D,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5B,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,EAAE,EAAE,SAAS,EAAE;AAC7nB,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE;AACzE,YAAY;AACZ,gBAAgB,OAAO,EAAE,mBAAmB;AAC5C,gBAAgB,WAAW,EAAE,sBAAsB;AACnD,aAAa;AACb,YAAY;AACZ,gBAAgB,OAAO,EAAE,oBAAoB;AAC7C,gBAAgB,WAAW,EAAE,sBAAsB;AACnD,aAAa;AACb,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,u4DAAu4D,EAAE,MAAM,EAAE,CAAC,48JAA48J,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,sCAAsC,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,kCAAkC,CAAC,EAAE,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACz7P;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE;AAChJ,wBAAwB,kBAAkB,EAAE,oBAAoB;AAChE,qBAAqB,EAAE,SAAS,EAAE;AAClC,wBAAwB,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE;AACrF,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,mBAAmB;AACxD,4BAA4B,WAAW,EAAE,sBAAsB;AAC/D,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,oBAAoB;AACzD,4BAA4B,WAAW,EAAE,sBAAsB;AAC/D,yBAAyB;AACzB,qBAAqB,EAAE,OAAO,EAAE;AAChC,wBAAwB,2BAA2B;AACnD,wBAAwB,+BAA+B;AACvD,wBAAwB,gBAAgB;AACxC,wBAAwB,iBAAiB;AACzC,wBAAwB,gBAAgB;AACxC,wBAAwB,SAAS;AACjC,qBAAqB,EAAE,QAAQ,EAAE,u4DAAu4D,EAAE,MAAM,EAAE,CAAC,48JAA48J,CAAC,EAAE;AACl4N,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;ACjTnT,MAAM,mBAAmB,CAAC;AACjC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;AAC7M,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;AAC7M;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACrD,oBAAoB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACrD,oBAAoB,SAAS,EAAE,CAAC,oBAAoB,CAAC;AACrD,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AChBb;AACA;AACA;;;;"}
|
|
@@ -321,6 +321,11 @@ class AXMediaViewerContainerComponent {
|
|
|
321
321
|
if (this.swiperRef()?.carousel()) {
|
|
322
322
|
this.swiperRef().carousel().off('activeIndexChange', this.setActiveIndex.bind(this));
|
|
323
323
|
}
|
|
324
|
+
// Clear interval to prevent memory leaks
|
|
325
|
+
if (this.interVal) {
|
|
326
|
+
clearInterval(this.interVal);
|
|
327
|
+
this.interVal = undefined;
|
|
328
|
+
}
|
|
324
329
|
}
|
|
325
330
|
#eff4;
|
|
326
331
|
#eff5;
|
|
@@ -336,13 +341,19 @@ class AXMediaViewerContainerComponent {
|
|
|
336
341
|
}
|
|
337
342
|
goToIndex(index, speed = 1000) {
|
|
338
343
|
if (this.swiperRef()?.carousel() === null) {
|
|
344
|
+
if (this.interVal) {
|
|
345
|
+
clearInterval(this.interVal);
|
|
346
|
+
}
|
|
339
347
|
this.interVal = setInterval(() => {
|
|
340
|
-
this.goToIndex(index);
|
|
341
|
-
},
|
|
348
|
+
this.goToIndex(index, speed);
|
|
349
|
+
}, 500);
|
|
342
350
|
}
|
|
343
351
|
else {
|
|
352
|
+
if (this.interVal) {
|
|
353
|
+
clearInterval(this.interVal);
|
|
354
|
+
this.interVal = undefined;
|
|
355
|
+
}
|
|
344
356
|
this.swiperRef()?.carousel()?.slideTo(index, speed);
|
|
345
|
-
clearInterval(this.interVal);
|
|
346
357
|
}
|
|
347
358
|
}
|
|
348
359
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMediaViewerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|