@acorex/cdk 20.3.8 → 20.3.10

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.
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, signal, PLATFORM_ID, output, model, afterNextRender, effect, Directive, contentChildren, NgModule } from '@angular/core';
3
3
  import { AXHtmlUtil } from '@acorex/core/utils';
4
+ import { AXZIndexService } from '@acorex/core/z-index';
4
5
  import { isPlatformBrowser } from '@angular/common';
5
6
 
6
7
  class AXDrawerItemDirective {
@@ -9,6 +10,8 @@ class AXDrawerItemDirective {
9
10
  this.htmlElem = signal(null, ...(ngDevMode ? [{ debugName: "htmlElem" }] : []));
10
11
  this.parent = inject(AXDrawerContainerDirective);
11
12
  this.platformID = inject(PLATFORM_ID);
13
+ this.zIndexService = inject(AXZIndexService);
14
+ this.zToken = null;
12
15
  this.collapseState = signal(false, ...(ngDevMode ? [{ debugName: "collapseState" }] : []));
13
16
  this.collapseStateChanged = output();
14
17
  this.location = model('start', ...(ngDevMode ? [{ debugName: "location" }] : []));
@@ -27,7 +30,6 @@ class AXDrawerItemDirective {
27
30
  this.htmlElem().style.display = 'none';
28
31
  }
29
32
  this.htmlElem().style.height = '100%';
30
- this.htmlElem().style.zIndex = '60';
31
33
  window.addEventListener('resize', this.removeBackDropOnResize);
32
34
  this.resizeObserver = new ResizeObserver(() => {
33
35
  if (this.collapsed()) {
@@ -108,6 +110,9 @@ class AXDrawerItemDirective {
108
110
  });
109
111
  }
110
112
  this.resizeObserver.unobserve(this.htmlElem());
113
+ // Acquire z-index from service
114
+ this.zToken = this.zIndexService.acquire();
115
+ this.htmlElem().style.zIndex = String(this.zToken.zIndex);
111
116
  this.htmlElem().style.transition = `${this.transition()}ms all ease`;
112
117
  this.htmlElem().style.display = 'block';
113
118
  if (this.mode() === 'overlay') {
@@ -126,7 +131,6 @@ class AXDrawerItemDirective {
126
131
  }
127
132
  }
128
133
  if (this.mode() === 'push') {
129
- this.htmlElem().style.zIndex = '60';
130
134
  if (this.location() === 'start') {
131
135
  this.htmlElem().style.marginInlineStart = '0px';
132
136
  }
@@ -154,9 +158,12 @@ class AXDrawerItemDirective {
154
158
  hide() {
155
159
  if (!this.htmlElem())
156
160
  return;
161
+ // Release z-index token
162
+ this.zIndexService.release(this.zToken);
163
+ this.zToken = null;
164
+ this.htmlElem().style.zIndex = '';
157
165
  const rect = this.htmlElem().getBoundingClientRect();
158
166
  if (this.mode() === 'push') {
159
- this.htmlElem().style.zIndex = '0';
160
167
  if (this.location() === 'end') {
161
168
  this.htmlElem().style.marginInlineEnd = `-${rect.width}px`;
162
169
  }
@@ -216,10 +223,10 @@ class AXDrawerItemDirective {
216
223
  backdropElem.classList.add('ax-cdk-drawer-backdrop');
217
224
  backdropElem.style.position = 'absolute';
218
225
  backdropElem.style.top = '0';
219
- backdropElem.style.zIndex = '0';
220
226
  backdropElem.style.width = '100vw';
221
227
  backdropElem.style.height = '100vh';
222
- backdropElem.style.zIndex = '50';
228
+ // Set backdrop z-index just below the drawer's z-index
229
+ backdropElem.style.zIndex = String((this.zToken?.zIndex ?? 1001) - 1);
223
230
  backdropElem.style.opacity = '0';
224
231
  backdropElem.style.transition = `opacity ${this.transition()}ms ease`;
225
232
  backdropElem.classList.add(...this.backdropClass().split(' '));
@@ -251,6 +258,9 @@ class AXDrawerItemDirective {
251
258
  }
252
259
  }
253
260
  ngOnDestroy() {
261
+ // Release z-index token on destroy
262
+ this.zIndexService.release(this.zToken);
263
+ this.zToken = null;
254
264
  if (this.resizeObserver && this.htmlElem()) {
255
265
  this.resizeObserver.unobserve(this.htmlElem());
256
266
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-drawer.mjs","sources":["../tmp-esm2022/drawer/lib/drawer-item.directive.js","../tmp-esm2022/drawer/lib/drawer-container.directive.js","../tmp-esm2022/drawer/lib/drawer.module.js","../tmp-esm2022/drawer/acorex-cdk-drawer.js"],"sourcesContent":["import { AXHtmlUtil } from '@acorex/core/utils';\nimport { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, Directive, effect, ElementRef, inject, model, output, PLATFORM_ID, signal, } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXDrawerItemDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.htmlElem = signal(null, ...(ngDevMode ? [{ debugName: \"htmlElem\" }] : []));\n this.parent = inject(AXDrawerContainerDirective);\n this.platformID = inject(PLATFORM_ID);\n this.collapseState = signal(false, ...(ngDevMode ? [{ debugName: \"collapseState\" }] : []));\n this.collapseStateChanged = output();\n this.location = model('start', ...(ngDevMode ? [{ debugName: \"location\" }] : []));\n this.collapsed = model(true, ...(ngDevMode ? [{ debugName: \"collapsed\" }] : []));\n this.backDrop = model(true, ...(ngDevMode ? [{ debugName: \"backDrop\" }] : []));\n this.mode = model('overlay', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.transition = model(100, ...(ngDevMode ? [{ debugName: \"transition\" }] : []));\n this.closeOnBackdropClick = model(false, ...(ngDevMode ? [{ debugName: \"closeOnBackdropClick\" }] : []));\n this.backdropClass = model('ax-bg-black/45', ...(ngDevMode ? [{ debugName: \"backdropClass\" }] : []));\n this.onBackdropClick = output();\n this.singleOpenMode = model(true, ...(ngDevMode ? [{ debugName: \"singleOpenMode\" }] : []));\n this.id = Math.random();\n this.#init = afterNextRender(() => {\n this.htmlElem.set(this.el.nativeElement);\n if (this.collapsed()) {\n this.htmlElem().style.display = 'none';\n }\n this.htmlElem().style.height = '100%';\n this.htmlElem().style.zIndex = '60';\n window.addEventListener('resize', this.removeBackDropOnResize);\n this.resizeObserver = new ResizeObserver(() => {\n if (this.collapsed()) {\n this.hide();\n }\n });\n this.resizeObserver.observe(this.htmlElem());\n });\n this.#eff2 = effect(() => {\n if (this.collapsed()) {\n this.hide();\n }\n else {\n this.show();\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff2\" }] : []));\n this.#eff3 = effect(() => {\n if (!this.htmlElem())\n return;\n if (this.mode() === 'overlay') {\n this.htmlElem().style.position = 'absolute';\n this.htmlElem().style.marginInlineEnd = 'auto';\n this.htmlElem().style.marginInlineStart = 'auto';\n this.htmlElem().style.marginBlockStart = 'auto';\n this.htmlElem().style.marginBlockEnd = 'auto';\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff3\" }] : []));\n this.#eff4 = effect(() => {\n if (!this.htmlElem())\n return;\n if (this.mode() === 'push') {\n this.htmlElem().style.position = 'relative';\n this.htmlElem().style.top = 'auto';\n this.htmlElem().style.left = 'auto';\n this.htmlElem().style.right = 'auto';\n this.htmlElem().style.bottom = 'auto';\n switch (this.location()) {\n case 'end':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.justifyContent = 'space-between';\n break;\n case 'start':\n this.htmlElem().style.order = '-999';\n break;\n case 'bottom':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n case 'top':\n this.htmlElem().style.order = '-999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n }\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff4\" }] : []));\n this.removeBackDropOnResize = () => {\n if (this.collapseState() && this.mode() === 'overlay') {\n this.removeBackdrop();\n }\n };\n }\n #init;\n #eff2;\n #eff3;\n #eff4;\n /**\n * Shows the drawer by animating it into view.\n *\n * @returns void - No return value. The drawer becomes visible.\n */\n show() {\n if (!this.htmlElem())\n return;\n if (this.singleOpenMode()) {\n this.parent.drawerItem().forEach((item) => {\n if (item.location() === this.location() && item.id !== this.id)\n item.hide();\n });\n }\n this.resizeObserver.unobserve(this.htmlElem());\n this.htmlElem().style.transition = `${this.transition()}ms all ease`;\n this.htmlElem().style.display = 'block';\n if (this.mode() === 'overlay') {\n if (this.location() === 'start') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.right = `0px`)\n : (this.htmlElem().style.left = `0px`);\n }\n if (this.location() === 'end') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.left = `0px`)\n : (this.htmlElem().style.right = `0px`);\n }\n if (this.location() === 'top' || this.location() === 'bottom') {\n this.htmlElem().style.top = `0px`;\n }\n }\n if (this.mode() === 'push') {\n this.htmlElem().style.zIndex = '60';\n if (this.location() === 'start') {\n this.htmlElem().style.marginInlineStart = '0px';\n }\n if (this.location() === 'end') {\n this.htmlElem().style.marginInlineEnd = '0px';\n }\n if (this.location() === 'bottom') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n if (this.location() === 'top') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n }\n if (this.backDrop() && this.mode() === 'overlay') {\n this.addBackdrop();\n }\n this.collapseState.set(true);\n this.collapseStateChanged.emit(true);\n }\n /**\n * Hides the drawer by animating it out of view.\n *\n * @returns void - No return value. The drawer becomes hidden.\n */\n hide() {\n if (!this.htmlElem())\n return;\n const rect = this.htmlElem().getBoundingClientRect();\n if (this.mode() === 'push') {\n this.htmlElem().style.zIndex = '0';\n if (this.location() === 'end') {\n this.htmlElem().style.marginInlineEnd = `-${rect.width}px`;\n }\n if (this.location() === 'start') {\n this.htmlElem().style.marginInlineStart = `-${rect.width}px`;\n }\n if (this.location() === 'bottom') {\n this.htmlElem().style.marginBlockStart = `${rect.height}px`;\n }\n if (this.location() === 'top') {\n this.htmlElem().style.marginBlockStart = `-${rect.height}px`;\n }\n }\n if (this.mode() === 'overlay') {\n if (this.location() === 'start') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.right = `-${rect.width}px`)\n : (this.htmlElem().style.left = `-${rect.width}px`);\n }\n if (this.location() === 'end') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.left = `-${rect.width}px`)\n : (this.htmlElem().style.right = `-${rect.width}px`);\n }\n if (this.location() === 'top') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.bottom = `-${rect.height}px`)\n : (this.htmlElem().style.top = `-${rect.height}px`);\n }\n if (this.location() === 'bottom') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.top = `${rect.height}px`)\n : (this.htmlElem().style.bottom = `${rect.height}px`);\n }\n }\n if (this.backDrop() && this.mode() === 'overlay') {\n this.removeBackdrop();\n }\n this.collapseState.set(false);\n this.collapseStateChanged.emit(false);\n }\n /**\n * Toggles the drawer state between visible and hidden.\n *\n * @returns void - No return value. The drawer state is toggled.\n */\n toggle() {\n if (this.collapseState()) {\n this.hide();\n }\n else {\n this.show();\n }\n }\n addBackdrop() {\n const backdropElem = document.createElement('div');\n backdropElem.classList.add('ax-cdk-drawer-backdrop');\n backdropElem.style.position = 'absolute';\n backdropElem.style.top = '0';\n backdropElem.style.zIndex = '0';\n backdropElem.style.width = '100vw';\n backdropElem.style.height = '100vh';\n backdropElem.style.zIndex = '50';\n backdropElem.style.opacity = '0';\n backdropElem.style.transition = `opacity ${this.transition()}ms ease`;\n backdropElem.classList.add(...this.backdropClass().split(' '));\n this.parent.el.nativeElement.appendChild(backdropElem);\n // Trigger animation after element is added to DOM\n requestAnimationFrame(() => {\n backdropElem.style.opacity = '1';\n });\n backdropElem.addEventListener('pointerdown', (event) => {\n event.stopPropagation();\n if (!this.htmlElem().contains(event.target) && this.collapseState()) {\n this.onBackdropClick.emit({ nativeEvent: event, component: this });\n if (this.closeOnBackdropClick()) {\n this.hide();\n }\n }\n });\n }\n removeBackdrop() {\n const backdropElem = this.parent.el.nativeElement.querySelector('.ax-cdk-drawer-backdrop');\n if (backdropElem) {\n backdropElem.style.opacity = '0';\n // Remove element after animation completes\n setTimeout(() => {\n if (backdropElem.parentNode) {\n backdropElem.remove();\n }\n }, parseFloat(String(this.transition())));\n }\n }\n ngOnDestroy() {\n if (this.resizeObserver && this.htmlElem()) {\n this.resizeObserver.unobserve(this.htmlElem());\n }\n if (isPlatformBrowser(this.platformID)) {\n window.removeEventListener('resize', this.removeBackDropOnResize);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.15\", type: AXDrawerItemDirective, isStandalone: true, selector: \"[axDrawerItem]\", inputs: { location: { classPropertyName: \"location\", publicName: \"location\", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: \"collapsed\", publicName: \"collapsed\", isSignal: true, isRequired: false, transformFunction: null }, backDrop: { classPropertyName: \"backDrop\", publicName: \"backDrop\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, transition: { classPropertyName: \"transition\", publicName: \"transition\", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: \"closeOnBackdropClick\", publicName: \"closeOnBackdropClick\", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: \"backdropClass\", publicName: \"backdropClass\", isSignal: true, isRequired: false, transformFunction: null }, singleOpenMode: { classPropertyName: \"singleOpenMode\", publicName: \"singleOpenMode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapseStateChanged: \"collapseStateChanged\", location: \"locationChange\", collapsed: \"collapsedChange\", backDrop: \"backDropChange\", mode: \"modeChange\", transition: \"transitionChange\", closeOnBackdropClick: \"closeOnBackdropClickChange\", backdropClass: \"backdropClassChange\", onBackdropClick: \"onBackdropClick\", singleOpenMode: \"singleOpenModeChange\" }, exportAs: [\"axDrawerItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axDrawerItem]',\n exportAs: 'axDrawerItem',\n }]\n }], propDecorators: { collapseStateChanged: [{ type: i0.Output, args: [\"collapseStateChanged\"] }], location: [{ type: i0.Input, args: [{ isSignal: true, alias: \"location\", required: false }] }, { type: i0.Output, args: [\"locationChange\"] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: \"collapsed\", required: false }] }, { type: i0.Output, args: [\"collapsedChange\"] }], backDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: \"backDrop\", required: false }] }, { type: i0.Output, args: [\"backDropChange\"] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"mode\", required: false }] }, { type: i0.Output, args: [\"modeChange\"] }], transition: [{ type: i0.Input, args: [{ isSignal: true, alias: \"transition\", required: false }] }, { type: i0.Output, args: [\"transitionChange\"] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: \"closeOnBackdropClick\", required: false }] }, { type: i0.Output, args: [\"closeOnBackdropClickChange\"] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: \"backdropClass\", required: false }] }, { type: i0.Output, args: [\"backdropClassChange\"] }], onBackdropClick: [{ type: i0.Output, args: [\"onBackdropClick\"] }], singleOpenMode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"singleOpenMode\", required: false }] }, { type: i0.Output, args: [\"singleOpenModeChange\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2RyYXdlci9zcmMvbGliL2RyYXdlci1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVExRSxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS1UsT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsTUFBTSxDQUFjLElBQUksb0RBQUMsQ0FBQztRQUNyQyxXQUFNLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDNUMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLHlEQUFDLENBQUM7UUFFdEMseUJBQW9CLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFFekMsYUFBUSxHQUFHLEtBQUssQ0FBbUIsT0FBTyxvREFBQyxDQUFDO1FBQzVDLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxxREFBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxvREFBQyxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxLQUFLLENBQWUsU0FBUyxnREFBQyxDQUFDO1FBQ3RDLGVBQVUsR0FBRyxLQUFLLENBQVMsR0FBRyxzREFB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LFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDNUIsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQyxFQUNELFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FDdEMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBUUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDOytHQXBTVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsaWNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIG91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERyYXdlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZHJhd2VyLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0IHR5cGUgQVhEcmF3ZXJNb2RlID0gJ3B1c2gnIHwgJ292ZXJsYXknO1xuZXhwb3J0IHR5cGUgQVhEcmF3ZXJMb2NhdGlvbiA9ICdzdGFydCcgfCAnZW5kJyB8ICd0b3AnIHwgJ2JvdHRvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theERyYXdlckl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdheERyYXdlckl0ZW0nLFxufSlcbmV4cG9ydCBjbGFzcyBBWERyYXdlckl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGh0bWxFbGVtID0gc2lnbmFsPEhUTUxFbGVtZW50PihudWxsKTtcbiAgcHJpdmF0ZSBwYXJlbnQgPSBpbmplY3QoQVhEcmF3ZXJDb250YWluZXJEaXJlY3RpdmUpO1xuICBwcml2YXRlIHBsYXRmb3JtSUQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGNvbGxhcHNlU3RhdGUgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcbiAgY29sbGFwc2VTdGF0ZUNoYW5nZWQgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICBsb2NhdGlvbiA9IG1vZGVsPEFYRHJhd2VyTG9jYXRpb24+KCdzdGFydCcpO1xuICBjb2xsYXBzZWQgPSBtb2RlbCh0cnVlKTtcbiAgYmFja0Ryb3AgPSBtb2RlbCh0cnVlKTtcbiAgbW9kZSA9IG1vZGVsPEFYRHJhd2VyTW9kZT4oJ292ZXJsYXknKTtcbiAgdHJhbnNpdGlvbiA9IG1vZGVsPG51bWJlcj4oMTAwKTtcbiAgY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSBtb2RlbChmYWxzZSk7XG4gIGJhY2tkcm9wQ2xhc3MgPSBtb2RlbCgnYXgtYmctYmxhY2svNDUnKTtcbiAgb25CYWNrZHJvcENsaWNrID0gb3V0cHV0PEFYQ2xpY2tFdmVudD4oKTtcbiAgc2luZ2xlT3Blbk1vZGUgPSBtb2RlbCh0cnVlKTtcbiAgaWQgPSBNYXRoLnJhbmRvbSgpO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICB0aGlzLmh0bWxFbGVtLnNldCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuXG4gICAgaWYgKHRoaXMuY29sbGFwc2VkKCkpIHtcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cblxuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XG4gICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLnpJbmRleCA9ICc2MCc7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZW1vdmVCYWNrRHJvcE9uUmVzaXplKTtcblxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKCkpIHtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuaHRtbEVsZW0oKSk7XG4gIH0pO1xuXG4gICNlZmYyID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5jb2xsYXBzZWQoKSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH1cbiAgfSk7XG5cbiAgI2VmZjMgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdGhpcy5odG1sRWxlbSgpKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdvdmVybGF5Jykge1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5JbmxpbmVFbmQgPSAnYXV0byc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luSW5saW5lU3RhcnQgPSAnYXV0byc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luQmxvY2tTdGFydCA9ICdhdXRvJztcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5CbG9ja0VuZCA9ICdhdXRvJztcbiAgICB9XG4gIH0pO1xuXG4gICNlZmY0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRoaXMuaHRtbEVsZW0oKSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAncHVzaCcpIHtcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUudG9wID0gJ2F1dG8nO1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLmxlZnQgPSAnYXV0byc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUucmlnaHQgPSAnYXV0byc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUuYm90dG9tID0gJ2F1dG8nO1xuXG4gICAgICBzd2l0Y2ggKHRoaXMubG9jYXRpb24oKSkge1xuICAgICAgICBjYXNlICdlbmQnOlxuICAgICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5vcmRlciA9ICc5OTknO1xuICAgICAgICAgIHRoaXMucGFyZW50LmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnc3BhY2UtYmV0d2Vlbic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUub3JkZXIgPSAnLTk5OSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm9yZGVyID0gJzk5OSc7XG4gICAgICAgICAgdGhpcy5wYXJlbnQuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5mbGV4RGlyZWN0aW9uID0gJ2NvbHVtbic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm9yZGVyID0gJy05OTknO1xuICAgICAgICAgIHRoaXMucGFyZW50LmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZmxleERpcmVjdGlvbiA9ICdjb2x1bW4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIFNob3dzIHRoZSBkcmF3ZXIgYnkgYW5pbWF0aW5nIGl0IGludG8gdmlldy5cbiAgICpcbiAgICogQHJldHVybnMgdm9pZCAtIE5vIHJldHVybiB2YWx1ZS4gVGhlIGRyYXdlciBiZWNvbWVzIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgc2hvdygpIHtcbiAgICBpZiAoIXRoaXMuaHRtbEVsZW0oKSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuc2luZ2xlT3Blbk1vZGUoKSkge1xuICAgICAgdGhpcy5wYXJlbnQuZHJhd2VySXRlbSgpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ubG9jYXRpb24oKSA9PT0gdGhpcy5sb2NhdGlvbigpICYmIGl0ZW0uaWQgIT09IHRoaXMuaWQpIGl0ZW0uaGlkZSgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5odG1sRWxlbSgpKTtcblxuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS50cmFuc2l0aW9uID0gYCR7dGhpcy50cmFuc2l0aW9uKCl9bXMgYWxsIGVhc2VgO1xuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ292ZXJsYXknKSB7XG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnc3RhcnQnKSB7XG4gICAgICAgIEFYSHRtbFV0aWwuaXNSdGwodGhpcy5odG1sRWxlbSgpKVxuICAgICAgICAgID8gKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5yaWdodCA9IGAwcHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5sZWZ0ID0gYDBweGApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnZW5kJykge1xuICAgICAgICBBWEh0bWxVdGlsLmlzUnRsKHRoaXMuaHRtbEVsZW0oKSlcbiAgICAgICAgICA/ICh0aGlzLmh0bWxFbGVtKCkuc3R5bGUubGVmdCA9IGAwcHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5yaWdodCA9IGAwcHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3RvcCcgfHwgdGhpcy5sb2NhdGlvbigpID09PSAnYm90dG9tJykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUudG9wID0gYDBweGA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAncHVzaCcpIHtcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS56SW5kZXggPSAnNjAnO1xuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnc3RhcnQnKSB7XG4gICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5JbmxpbmVTdGFydCA9ICcwcHgnO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnZW5kJykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luSW5saW5lRW5kID0gJzBweCc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdib3R0b20nKSB7XG4gICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5CbG9ja1N0YXJ0ID0gJzBweCc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICd0b3AnKSB7XG4gICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5CbG9ja1N0YXJ0ID0gJzBweCc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYmFja0Ryb3AoKSAmJiB0aGlzLm1vZGUoKSA9PT0gJ292ZXJsYXknKSB7XG4gICAgICB0aGlzLmFkZEJhY2tkcm9wKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb2xsYXBzZVN0YXRlLnNldCh0cnVlKTtcbiAgICB0aGlzLmNvbGxhcHNlU3RhdGVDaGFuZ2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZXMgdGhlIGRyYXdlciBieSBhbmltYXRpbmcgaXQgb3V0IG9mIHZpZXcuXG4gICAqXG4gICAqIEByZXR1cm5zIHZvaWQgLSBObyByZXR1cm4gdmFsdWUuIFRoZSBkcmF3ZXIgYmVjb21lcyBoaWRkZW4uXG4gICAqL1xuICBwdWJsaWMgaGlkZSgpIHtcbiAgICBpZiAoIXRoaXMuaHRtbEVsZW0oKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcmVjdCA9IHRoaXMuaHRtbEVsZW0oKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ3B1c2gnKSB7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUuekluZGV4ID0gJzAnO1xuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbklubGluZUVuZCA9IGAtJHtyZWN0LndpZHRofXB4YDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luSW5saW5lU3RhcnQgPSBgLSR7cmVjdC53aWR0aH1weGA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdib3R0b20nKSB7XG4gICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5CbG9ja1N0YXJ0ID0gYCR7cmVjdC5oZWlnaHR9cHhgO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAndG9wJykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luQmxvY2tTdGFydCA9IGAtJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScpIHtcbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdzdGFydCcpIHtcbiAgICAgICAgQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmh0bWxFbGVtKCkpXG4gICAgICAgICAgPyAodGhpcy5odG1sRWxlbSgpLnN0eWxlLnJpZ2h0ID0gYC0ke3JlY3Qud2lkdGh9cHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5sZWZ0ID0gYC0ke3JlY3Qud2lkdGh9cHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmh0bWxFbGVtKCkpXG4gICAgICAgICAgPyAodGhpcy5odG1sRWxlbSgpLnN0eWxlLmxlZnQgPSBgLSR7cmVjdC53aWR0aH1weGApXG4gICAgICAgICAgOiAodGhpcy5odG1sRWxlbSgpLnN0eWxlLnJpZ2h0ID0gYC0ke3JlY3Qud2lkdGh9cHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmh0bWxFbGVtKCkpXG4gICAgICAgICAgPyAodGhpcy5odG1sRWxlbSgpLnN0eWxlLmJvdHRvbSA9IGAtJHtyZWN0LmhlaWdodH1weGApXG4gICAgICAgICAgOiAodGhpcy5odG1sRWxlbSgpLnN0eWxlLnRvcCA9IGAtJHtyZWN0LmhlaWdodH1weGApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnYm90dG9tJykge1xuICAgICAgICBBWEh0bWxVdGlsLmlzUnRsKHRoaXMuaHRtbEVsZW0oKSlcbiAgICAgICAgICA/ICh0aGlzLmh0bWxFbGVtKCkuc3R5bGUudG9wID0gYCR7cmVjdC5oZWlnaHR9cHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5ib3R0b20gPSBgJHtyZWN0LmhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmJhY2tEcm9wKCkgJiYgdGhpcy5tb2RlKCkgPT09ICdvdmVybGF5Jykge1xuICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgIH1cblxuICAgIHRoaXMuY29sbGFwc2VTdGF0ZS5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY29sbGFwc2VTdGF0ZUNoYW5nZWQuZW1pdChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgZHJhd2VyIHN0YXRlIGJldHdlZW4gdmlzaWJsZSBhbmQgaGlkZGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyB2b2lkIC0gTm8gcmV0dXJuIHZhbHVlLiBUaGUgZHJhd2VyIHN0YXRlIGlzIHRvZ2dsZWQuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLmNvbGxhcHNlU3RhdGUoKSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQmFja2Ryb3AoKSB7XG4gICAgY29uc3QgYmFja2Ryb3BFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgYmFja2Ryb3BFbGVtLmNsYXNzTGlzdC5hZGQoJ2F4LWNkay1kcmF3ZXItYmFja2Ryb3AnKTtcbiAgICBiYWNrZHJvcEVsZW0uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS50b3AgPSAnMCc7XG4gICAgYmFja2Ryb3BFbGVtLnN0eWxlLnpJbmRleCA9ICcwJztcbiAgICBiYWNrZHJvcEVsZW0uc3R5bGUud2lkdGggPSAnMTAwdncnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5oZWlnaHQgPSAnMTAwdmgnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS56SW5kZXggPSAnNTAnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS50cmFuc2l0aW9uID0gYG9wYWNpdHkgJHt0aGlzLnRyYW5zaXRpb24oKX1tcyBlYXNlYDtcbiAgICBiYWNrZHJvcEVsZW0uY2xhc3NMaXN0LmFkZCguLi50aGlzLmJhY2tkcm9wQ2xhc3MoKS5zcGxpdCgnICcpKTtcblxuICAgIHRoaXMucGFyZW50LmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYmFja2Ryb3BFbGVtKTtcblxuICAgIC8vIFRyaWdnZXIgYW5pbWF0aW9uIGFmdGVyIGVsZW1lbnQgaXMgYWRkZWQgdG8gRE9NXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzEnO1xuICAgIH0pO1xuICAgIGJhY2tkcm9wRWxlbS5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZiAoIXRoaXMuaHRtbEVsZW0oKS5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgJiYgdGhpcy5jb2xsYXBzZVN0YXRlKCkpIHtcbiAgICAgICAgdGhpcy5vbkJhY2tkcm9wQ2xpY2suZW1pdCh7IG5hdGl2ZUV2ZW50OiBldmVudCwgY29tcG9uZW50OiB0aGlzIH0pO1xuICAgICAgICBpZiAodGhpcy5jbG9zZU9uQmFja2Ryb3BDbGljaygpKSB7XG4gICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQmFja2Ryb3AoKSB7XG4gICAgY29uc3QgYmFja2Ryb3BFbGVtID0gdGhpcy5wYXJlbnQuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYXgtY2RrLWRyYXdlci1iYWNrZHJvcCcpO1xuICAgIGlmIChiYWNrZHJvcEVsZW0pIHtcbiAgICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuXG4gICAgICAvLyBSZW1vdmUgZWxlbWVudCBhZnRlciBhbmltYXRpb24gY29tcGxldGVzXG4gICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgaWYgKGJhY2tkcm9wRWxlbS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICBiYWNrZHJvcEVsZW0ucmVtb3ZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwYXJzZUZsb2F0KFN0cmluZyh0aGlzLnRyYW5zaXRpb24oKSkpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUJhY2tEcm9wT25SZXNpemUgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY29sbGFwc2VTdGF0ZSgpICYmIHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScpIHtcbiAgICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgICB9XG4gIH07XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIgJiYgdGhpcy5odG1sRWxlbSgpKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmh0bWxFbGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZW1vdmVCYWNrRHJvcE9uUmVzaXplKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { afterNextRender, contentChildren, Directive, ElementRef, inject } from '@angular/core';\nimport { AXDrawerItemDirective } from './drawer-item.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXDrawerContainerDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.drawerItem = contentChildren(AXDrawerItemDirective, ...(ngDevMode ? [{ debugName: \"drawerItem\", descendants: true }] : [{ descendants: true }]));\n this.#init = afterNextRender(() => {\n const htmlElem = this.el.nativeElement;\n htmlElem.style.position = 'relative';\n htmlElem.style.overflow = 'hidden';\n htmlElem.style.display = 'flex';\n htmlElem.style.touchAction = 'none';\n htmlElem.style.width = '100%';\n });\n }\n #init;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.3.15\", type: AXDrawerContainerDirective, isStandalone: true, selector: \"[axDrawerContainer]\", queries: [{ propertyName: \"drawerItem\", predicate: AXDrawerItemDirective, descendants: true, isSignal: true }], exportAs: [\"axDrawerContainer\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axDrawerContainer]',\n exportAs: 'axDrawerContainer',\n }]\n }], propDecorators: { drawerItem: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXDrawerItemDirective), { ...{ descendants: true }, isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvZHJhd2VyL3NyYy9saWIvZHJhd2VyLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLRSxPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxlQUFlLENBQUMscUJBQXFCLDhDQUFJLFdBQVcsRUFBRSxJQUFJLE9BQW5CLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFDLENBQUM7UUFFM0UsVUFBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1lBQ3RELFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUNyQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDbkMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztZQUNwQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQVJDLEtBQUssQ0FPRjsrR0FYUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwwR0FFUixxQkFBcUI7OzRGQUZ2QywwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7a0dBRzhCLHFCQUFxQixRQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEcmF3ZXJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmF3ZXItaXRlbS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhEcmF3ZXJDb250YWluZXJdJyxcbiAgZXhwb3J0QXM6ICdheERyYXdlckNvbnRhaW5lcicsXG59KVxuZXhwb3J0IGNsYXNzIEFYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlIHtcbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIGRyYXdlckl0ZW0gPSBjb250ZW50Q2hpbGRyZW4oQVhEcmF3ZXJJdGVtRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBjb25zdCBodG1sRWxlbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBodG1sRWxlbS5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG4gICAgaHRtbEVsZW0uc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICBodG1sRWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgIGh0bWxFbGVtLnN0eWxlLnRvdWNoQWN0aW9uID0gJ25vbmUnO1xuICAgIGh0bWxFbGVtLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICB9KTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\nimport { AXDrawerItemDirective } from './drawer-item.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXDrawerContainerDirective, AXDrawerItemDirective];\nconst MODULES = [];\nexport class AXDrawerDirectiveModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, imports: [AXDrawerContainerDirective, AXDrawerItemDirective], exports: [AXDrawerContainerDirective, AXDrawerItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9kcmF3ZXIvc3JjL2xpYi9kcmF3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRWhFLE1BQU0sU0FBUyxHQUFHLENBQUMsMEJBQTBCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUV0RSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFPbkIsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsWUFUakIsMEJBQTBCLEVBQUUscUJBQXFCLGFBQWpELDBCQUEwQixFQUFFLHFCQUFxQjtnSEFTdkQsdUJBQXVCLFlBSnJCLE9BQU87OzRGQUlULHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmF3ZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWERyYXdlckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RyYXdlci1pdGVtLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWERyYXdlckNvbnRhaW5lckRpcmVjdGl2ZSwgQVhEcmF3ZXJJdGVtRGlyZWN0aXZlXTtcblxuY29uc3QgTU9EVUxFUyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYRHJhd2VyRGlyZWN0aXZlTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1kcmF3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvZHJhd2VyL3NyYy9hY29yZXgtY2RrLWRyYXdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-drawer.mjs","sources":["../tmp-esm2022/drawer/lib/drawer-item.directive.js","../tmp-esm2022/drawer/lib/drawer-container.directive.js","../tmp-esm2022/drawer/lib/drawer.module.js","../tmp-esm2022/drawer/acorex-cdk-drawer.js"],"sourcesContent":["import { AXHtmlUtil } from '@acorex/core/utils';\nimport { AXZIndexService } from '@acorex/core/z-index';\nimport { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, Directive, effect, ElementRef, inject, model, output, PLATFORM_ID, signal, } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXDrawerItemDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.htmlElem = signal(null, ...(ngDevMode ? [{ debugName: \"htmlElem\" }] : []));\n this.parent = inject(AXDrawerContainerDirective);\n this.platformID = inject(PLATFORM_ID);\n this.zIndexService = inject(AXZIndexService);\n this.zToken = null;\n this.collapseState = signal(false, ...(ngDevMode ? [{ debugName: \"collapseState\" }] : []));\n this.collapseStateChanged = output();\n this.location = model('start', ...(ngDevMode ? [{ debugName: \"location\" }] : []));\n this.collapsed = model(true, ...(ngDevMode ? [{ debugName: \"collapsed\" }] : []));\n this.backDrop = model(true, ...(ngDevMode ? [{ debugName: \"backDrop\" }] : []));\n this.mode = model('overlay', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n this.transition = model(100, ...(ngDevMode ? [{ debugName: \"transition\" }] : []));\n this.closeOnBackdropClick = model(false, ...(ngDevMode ? [{ debugName: \"closeOnBackdropClick\" }] : []));\n this.backdropClass = model('ax-bg-black/45', ...(ngDevMode ? [{ debugName: \"backdropClass\" }] : []));\n this.onBackdropClick = output();\n this.singleOpenMode = model(true, ...(ngDevMode ? [{ debugName: \"singleOpenMode\" }] : []));\n this.id = Math.random();\n this.#init = afterNextRender(() => {\n this.htmlElem.set(this.el.nativeElement);\n if (this.collapsed()) {\n this.htmlElem().style.display = 'none';\n }\n this.htmlElem().style.height = '100%';\n window.addEventListener('resize', this.removeBackDropOnResize);\n this.resizeObserver = new ResizeObserver(() => {\n if (this.collapsed()) {\n this.hide();\n }\n });\n this.resizeObserver.observe(this.htmlElem());\n });\n this.#eff2 = effect(() => {\n if (this.collapsed()) {\n this.hide();\n }\n else {\n this.show();\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff2\" }] : []));\n this.#eff3 = effect(() => {\n if (!this.htmlElem())\n return;\n if (this.mode() === 'overlay') {\n this.htmlElem().style.position = 'absolute';\n this.htmlElem().style.marginInlineEnd = 'auto';\n this.htmlElem().style.marginInlineStart = 'auto';\n this.htmlElem().style.marginBlockStart = 'auto';\n this.htmlElem().style.marginBlockEnd = 'auto';\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff3\" }] : []));\n this.#eff4 = effect(() => {\n if (!this.htmlElem())\n return;\n if (this.mode() === 'push') {\n this.htmlElem().style.position = 'relative';\n this.htmlElem().style.top = 'auto';\n this.htmlElem().style.left = 'auto';\n this.htmlElem().style.right = 'auto';\n this.htmlElem().style.bottom = 'auto';\n switch (this.location()) {\n case 'end':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.justifyContent = 'space-between';\n break;\n case 'start':\n this.htmlElem().style.order = '-999';\n break;\n case 'bottom':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n case 'top':\n this.htmlElem().style.order = '-999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n }\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff4\" }] : []));\n this.removeBackDropOnResize = () => {\n if (this.collapseState() && this.mode() === 'overlay') {\n this.removeBackdrop();\n }\n };\n }\n #init;\n #eff2;\n #eff3;\n #eff4;\n /**\n * Shows the drawer by animating it into view.\n *\n * @returns void - No return value. The drawer becomes visible.\n */\n show() {\n if (!this.htmlElem())\n return;\n if (this.singleOpenMode()) {\n this.parent.drawerItem().forEach((item) => {\n if (item.location() === this.location() && item.id !== this.id)\n item.hide();\n });\n }\n this.resizeObserver.unobserve(this.htmlElem());\n // Acquire z-index from service\n this.zToken = this.zIndexService.acquire();\n this.htmlElem().style.zIndex = String(this.zToken.zIndex);\n this.htmlElem().style.transition = `${this.transition()}ms all ease`;\n this.htmlElem().style.display = 'block';\n if (this.mode() === 'overlay') {\n if (this.location() === 'start') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.right = `0px`)\n : (this.htmlElem().style.left = `0px`);\n }\n if (this.location() === 'end') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.left = `0px`)\n : (this.htmlElem().style.right = `0px`);\n }\n if (this.location() === 'top' || this.location() === 'bottom') {\n this.htmlElem().style.top = `0px`;\n }\n }\n if (this.mode() === 'push') {\n if (this.location() === 'start') {\n this.htmlElem().style.marginInlineStart = '0px';\n }\n if (this.location() === 'end') {\n this.htmlElem().style.marginInlineEnd = '0px';\n }\n if (this.location() === 'bottom') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n if (this.location() === 'top') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n }\n if (this.backDrop() && this.mode() === 'overlay') {\n this.addBackdrop();\n }\n this.collapseState.set(true);\n this.collapseStateChanged.emit(true);\n }\n /**\n * Hides the drawer by animating it out of view.\n *\n * @returns void - No return value. The drawer becomes hidden.\n */\n hide() {\n if (!this.htmlElem())\n return;\n // Release z-index token\n this.zIndexService.release(this.zToken);\n this.zToken = null;\n this.htmlElem().style.zIndex = '';\n const rect = this.htmlElem().getBoundingClientRect();\n if (this.mode() === 'push') {\n if (this.location() === 'end') {\n this.htmlElem().style.marginInlineEnd = `-${rect.width}px`;\n }\n if (this.location() === 'start') {\n this.htmlElem().style.marginInlineStart = `-${rect.width}px`;\n }\n if (this.location() === 'bottom') {\n this.htmlElem().style.marginBlockStart = `${rect.height}px`;\n }\n if (this.location() === 'top') {\n this.htmlElem().style.marginBlockStart = `-${rect.height}px`;\n }\n }\n if (this.mode() === 'overlay') {\n if (this.location() === 'start') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.right = `-${rect.width}px`)\n : (this.htmlElem().style.left = `-${rect.width}px`);\n }\n if (this.location() === 'end') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.left = `-${rect.width}px`)\n : (this.htmlElem().style.right = `-${rect.width}px`);\n }\n if (this.location() === 'top') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.bottom = `-${rect.height}px`)\n : (this.htmlElem().style.top = `-${rect.height}px`);\n }\n if (this.location() === 'bottom') {\n AXHtmlUtil.isRtl(this.htmlElem())\n ? (this.htmlElem().style.top = `${rect.height}px`)\n : (this.htmlElem().style.bottom = `${rect.height}px`);\n }\n }\n if (this.backDrop() && this.mode() === 'overlay') {\n this.removeBackdrop();\n }\n this.collapseState.set(false);\n this.collapseStateChanged.emit(false);\n }\n /**\n * Toggles the drawer state between visible and hidden.\n *\n * @returns void - No return value. The drawer state is toggled.\n */\n toggle() {\n if (this.collapseState()) {\n this.hide();\n }\n else {\n this.show();\n }\n }\n addBackdrop() {\n const backdropElem = document.createElement('div');\n backdropElem.classList.add('ax-cdk-drawer-backdrop');\n backdropElem.style.position = 'absolute';\n backdropElem.style.top = '0';\n backdropElem.style.width = '100vw';\n backdropElem.style.height = '100vh';\n // Set backdrop z-index just below the drawer's z-index\n backdropElem.style.zIndex = String((this.zToken?.zIndex ?? 1001) - 1);\n backdropElem.style.opacity = '0';\n backdropElem.style.transition = `opacity ${this.transition()}ms ease`;\n backdropElem.classList.add(...this.backdropClass().split(' '));\n this.parent.el.nativeElement.appendChild(backdropElem);\n // Trigger animation after element is added to DOM\n requestAnimationFrame(() => {\n backdropElem.style.opacity = '1';\n });\n backdropElem.addEventListener('pointerdown', (event) => {\n event.stopPropagation();\n if (!this.htmlElem().contains(event.target) && this.collapseState()) {\n this.onBackdropClick.emit({ nativeEvent: event, component: this });\n if (this.closeOnBackdropClick()) {\n this.hide();\n }\n }\n });\n }\n removeBackdrop() {\n const backdropElem = this.parent.el.nativeElement.querySelector('.ax-cdk-drawer-backdrop');\n if (backdropElem) {\n backdropElem.style.opacity = '0';\n // Remove element after animation completes\n setTimeout(() => {\n if (backdropElem.parentNode) {\n backdropElem.remove();\n }\n }, parseFloat(String(this.transition())));\n }\n }\n ngOnDestroy() {\n // Release z-index token on destroy\n this.zIndexService.release(this.zToken);\n this.zToken = null;\n if (this.resizeObserver && this.htmlElem()) {\n this.resizeObserver.unobserve(this.htmlElem());\n }\n if (isPlatformBrowser(this.platformID)) {\n window.removeEventListener('resize', this.removeBackDropOnResize);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.15\", type: AXDrawerItemDirective, isStandalone: true, selector: \"[axDrawerItem]\", inputs: { location: { classPropertyName: \"location\", publicName: \"location\", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: \"collapsed\", publicName: \"collapsed\", isSignal: true, isRequired: false, transformFunction: null }, backDrop: { classPropertyName: \"backDrop\", publicName: \"backDrop\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null }, transition: { classPropertyName: \"transition\", publicName: \"transition\", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: \"closeOnBackdropClick\", publicName: \"closeOnBackdropClick\", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: \"backdropClass\", publicName: \"backdropClass\", isSignal: true, isRequired: false, transformFunction: null }, singleOpenMode: { classPropertyName: \"singleOpenMode\", publicName: \"singleOpenMode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapseStateChanged: \"collapseStateChanged\", location: \"locationChange\", collapsed: \"collapsedChange\", backDrop: \"backDropChange\", mode: \"modeChange\", transition: \"transitionChange\", closeOnBackdropClick: \"closeOnBackdropClickChange\", backdropClass: \"backdropClassChange\", onBackdropClick: \"onBackdropClick\", singleOpenMode: \"singleOpenModeChange\" }, exportAs: [\"axDrawerItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axDrawerItem]',\n exportAs: 'axDrawerItem',\n }]\n }], propDecorators: { collapseStateChanged: [{ type: i0.Output, args: [\"collapseStateChanged\"] }], location: [{ type: i0.Input, args: [{ isSignal: true, alias: \"location\", required: false }] }, { type: i0.Output, args: [\"locationChange\"] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: \"collapsed\", required: false }] }, { type: i0.Output, args: [\"collapsedChange\"] }], backDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: \"backDrop\", required: false }] }, { type: i0.Output, args: [\"backDropChange\"] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"mode\", required: false }] }, { type: i0.Output, args: [\"modeChange\"] }], transition: [{ type: i0.Input, args: [{ isSignal: true, alias: \"transition\", required: false }] }, { type: i0.Output, args: [\"transitionChange\"] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: \"closeOnBackdropClick\", required: false }] }, { type: i0.Output, args: [\"closeOnBackdropClickChange\"] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: \"backdropClass\", required: false }] }, { type: i0.Output, args: [\"backdropClassChange\"] }], onBackdropClick: [{ type: i0.Output, args: [\"onBackdropClick\"] }], singleOpenMode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"singleOpenMode\", required: false }] }, { type: i0.Output, args: [\"singleOpenModeChange\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2RyYXdlci9zcmMvbGliL2RyYXdlci1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLHFCQUFxQjtJQUpsQztRQUtVLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBYyxJQUFJLG9EQUFDLENBQUM7UUFDckMsV0FBTSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFvQixJQUFJLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyx5REFBQyxDQUFDO1FBRXRDLHlCQUFvQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRXpDLGFBQVEsR0FBRyxLQUFLLENBQW1CLE9BQU8sb0RBQUMsQ0FBQztRQUM1QyxjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUkscURBQUMsQ0FBQztRQUN4Qixh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QkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYSHRtbFV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQVhaSW5kZXhTZXJ2aWNlLCBBWFpUb2tlbiB9IGZyb20gJ0BhY29yZXgvY29yZS96LWluZGV4JztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgbW9kZWwsXG4gIE9uRGVzdHJveSxcbiAgb3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmF3ZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgdHlwZSBBWERyYXdlck1vZGUgPSAncHVzaCcgfCAnb3ZlcmxheSc7XG5leHBvcnQgdHlwZSBBWERyYXdlckxvY2F0aW9uID0gJ3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4RHJhd2VySXRlbV0nLFxuICBleHBvcnRBczogJ2F4RHJhd2VySXRlbScsXG59KVxuZXhwb3J0IGNsYXNzIEFYRHJhd2VySXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgaHRtbEVsZW0gPSBzaWduYWw8SFRNTEVsZW1lbnQ+KG51bGwpO1xuICBwcml2YXRlIHBhcmVudCA9IGluamVjdChBWERyYXdlckNvbnRhaW5lckRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgekluZGV4U2VydmljZSA9IGluamVjdChBWFpJbmRleFNlcnZpY2UpO1xuICBwcml2YXRlIHpUb2tlbjogQVhaVG9rZW4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb2xsYXBzZVN0YXRlID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG4gIGNvbGxhcHNlU3RhdGVDaGFuZ2VkID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgbG9jYXRpb24gPSBtb2RlbDxBWERyYXdlckxvY2F0aW9uPignc3RhcnQnKTtcbiAgY29sbGFwc2VkID0gbW9kZWwodHJ1ZSk7XG4gIGJhY2tEcm9wID0gbW9kZWwodHJ1ZSk7XG4gIG1vZGUgPSBtb2RlbDxBWERyYXdlck1vZGU+KCdvdmVybGF5Jyk7XG4gIHRyYW5zaXRpb24gPSBtb2RlbDxudW1iZXI+KDEwMCk7XG4gIGNsb3NlT25CYWNrZHJvcENsaWNrID0gbW9kZWwoZmFsc2UpO1xuICBiYWNrZHJvcENsYXNzID0gbW9kZWwoJ2F4LWJnLWJsYWNrLzQ1Jyk7XG4gIG9uQmFja2Ryb3BDbGljayA9IG91dHB1dDxBWENsaWNrRXZlbnQ+KCk7XG4gIHNpbmdsZU9wZW5Nb2RlID0gbW9kZWwodHJ1ZSk7XG4gIGlkID0gTWF0aC5yYW5kb20oKTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy5odG1sRWxlbS5zZXQodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcblxuICAgIGlmICh0aGlzLmNvbGxhcHNlZCgpKSB7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG5cbiAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVtb3ZlQmFja0Ryb3BPblJlc2l6ZSk7XG5cbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbGxhcHNlZCgpKSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmh0bWxFbGVtKCkpO1xuICB9KTtcblxuICAjZWZmMiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuY29sbGFwc2VkKCkpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH0pO1xuXG4gICNlZmYzID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRoaXMuaHRtbEVsZW0oKSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScpIHtcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luSW5saW5lRW5kID0gJ2F1dG8nO1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbklubGluZVN0YXJ0ID0gJ2F1dG8nO1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbkJsb2NrU3RhcnQgPSAnYXV0byc7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luQmxvY2tFbmQgPSAnYXV0byc7XG4gICAgfVxuICB9KTtcblxuICAjZWZmNCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF0aGlzLmh0bWxFbGVtKCkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ3B1c2gnKSB7XG4gICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLnRvcCA9ICdhdXRvJztcbiAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5sZWZ0ID0gJ2F1dG8nO1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLnJpZ2h0ID0gJ2F1dG8nO1xuICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLmJvdHRvbSA9ICdhdXRvJztcblxuICAgICAgc3dpdGNoICh0aGlzLmxvY2F0aW9uKCkpIHtcbiAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUub3JkZXIgPSAnOTk5JztcbiAgICAgICAgICB0aGlzLnBhcmVudC5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ3NwYWNlLWJldHdlZW4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdGFydCc6XG4gICAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm9yZGVyID0gJy05OTknO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5vcmRlciA9ICc5OTknO1xuICAgICAgICAgIHRoaXMucGFyZW50LmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZmxleERpcmVjdGlvbiA9ICdjb2x1bW4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5vcmRlciA9ICctOTk5JztcbiAgICAgICAgICB0aGlzLnBhcmVudC5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmZsZXhEaXJlY3Rpb24gPSAnY29sdW1uJztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTaG93cyB0aGUgZHJhd2VyIGJ5IGFuaW1hdGluZyBpdCBpbnRvIHZpZXcuXG4gICAqXG4gICAqIEByZXR1cm5zIHZvaWQgLSBObyByZXR1cm4gdmFsdWUuIFRoZSBkcmF3ZXIgYmVjb21lcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLmh0bWxFbGVtKCkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLnNpbmdsZU9wZW5Nb2RlKCkpIHtcbiAgICAgIHRoaXMucGFyZW50LmRyYXdlckl0ZW0oKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmxvY2F0aW9uKCkgPT09IHRoaXMubG9jYXRpb24oKSAmJiBpdGVtLmlkICE9PSB0aGlzLmlkKSBpdGVtLmhpZGUoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuaHRtbEVsZW0oKSk7XG5cbiAgICAvLyBBY3F1aXJlIHotaW5kZXggZnJvbSBzZXJ2aWNlXG4gICAgdGhpcy56VG9rZW4gPSB0aGlzLnpJbmRleFNlcnZpY2UuYWNxdWlyZSgpO1xuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS56SW5kZXggPSBTdHJpbmcodGhpcy56VG9rZW4uekluZGV4KTtcblxuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS50cmFuc2l0aW9uID0gYCR7dGhpcy50cmFuc2l0aW9uKCl9bXMgYWxsIGVhc2VgO1xuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ292ZXJsYXknKSB7XG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnc3RhcnQnKSB7XG4gICAgICAgIEFYSHRtbFV0aWwuaXNSdGwodGhpcy5odG1sRWxlbSgpKVxuICAgICAgICAgID8gKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5yaWdodCA9IGAwcHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5sZWZ0ID0gYDBweGApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnZW5kJykge1xuICAgICAgICBBWEh0bWxVdGlsLmlzUnRsKHRoaXMuaHRtbEVsZW0oKSlcbiAgICAgICAgICA/ICh0aGlzLmh0bWxFbGVtKCkuc3R5bGUubGVmdCA9IGAwcHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5yaWdodCA9IGAwcHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3RvcCcgfHwgdGhpcy5sb2NhdGlvbigpID09PSAnYm90dG9tJykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUudG9wID0gYDBweGA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAncHVzaCcpIHtcbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdzdGFydCcpIHtcbiAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbklubGluZVN0YXJ0ID0gJzBweCc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdlbmQnKSB7XG4gICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5JbmxpbmVFbmQgPSAnMHB4JztcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbkJsb2NrU3RhcnQgPSAnMHB4JztcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbkJsb2NrU3RhcnQgPSAnMHB4JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5iYWNrRHJvcCgpICYmIHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScpIHtcbiAgICAgIHRoaXMuYWRkQmFja2Ryb3AoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbGxhcHNlU3RhdGUuc2V0KHRydWUpO1xuICAgIHRoaXMuY29sbGFwc2VTdGF0ZUNoYW5nZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgZHJhd2VyIGJ5IGFuaW1hdGluZyBpdCBvdXQgb2Ygdmlldy5cbiAgICpcbiAgICogQHJldHVybnMgdm9pZCAtIE5vIHJldHVybiB2YWx1ZS4gVGhlIGRyYXdlciBiZWNvbWVzIGhpZGRlbi5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCkge1xuICAgIGlmICghdGhpcy5odG1sRWxlbSgpKSByZXR1cm47XG5cbiAgICAvLyBSZWxlYXNlIHotaW5kZXggdG9rZW5cbiAgICB0aGlzLnpJbmRleFNlcnZpY2UucmVsZWFzZSh0aGlzLnpUb2tlbik7XG4gICAgdGhpcy56VG9rZW4gPSBudWxsO1xuICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS56SW5kZXggPSAnJztcblxuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmh0bWxFbGVtKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdwdXNoJykge1xuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgdGhpcy5odG1sRWxlbSgpLnN0eWxlLm1hcmdpbklubGluZUVuZCA9IGAtJHtyZWN0LndpZHRofXB4YDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luSW5saW5lU3RhcnQgPSBgLSR7cmVjdC53aWR0aH1weGA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdib3R0b20nKSB7XG4gICAgICAgIHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5tYXJnaW5CbG9ja1N0YXJ0ID0gYCR7cmVjdC5oZWlnaHR9cHhgO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAndG9wJykge1xuICAgICAgICB0aGlzLmh0bWxFbGVtKCkuc3R5bGUubWFyZ2luQmxvY2tTdGFydCA9IGAtJHtyZWN0LmhlaWdodH1weGA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScpIHtcbiAgICAgIGlmICh0aGlzLmxvY2F0aW9uKCkgPT09ICdzdGFydCcpIHtcbiAgICAgICAgQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmh0bWxFbGVtKCkpXG4gICAgICAgICAgPyAodGhpcy5odG1sRWxlbSgpLnN0eWxlLnJpZ2h0ID0gYC0ke3JlY3Qud2lkdGh9cHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5sZWZ0ID0gYC0ke3JlY3Qud2lkdGh9cHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmh0bWxFbGVtKCkpXG4gICAgICAgICAgPyAodGhpcy5odG1sRWxlbSgpLnN0eWxlLmxlZnQgPSBgLSR7cmVjdC53aWR0aH1weGApXG4gICAgICAgICAgOiAodGhpcy5odG1sRWxlbSgpLnN0eWxlLnJpZ2h0ID0gYC0ke3JlY3Qud2lkdGh9cHhgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubG9jYXRpb24oKSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgQVhIdG1sVXRpbC5pc1J0bCh0aGlzLmh0bWxFbGVtKCkpXG4gICAgICAgICAgPyAodGhpcy5odG1sRWxlbSgpLnN0eWxlLmJvdHRvbSA9IGAtJHtyZWN0LmhlaWdodH1weGApXG4gICAgICAgICAgOiAodGhpcy5odG1sRWxlbSgpLnN0eWxlLnRvcCA9IGAtJHtyZWN0LmhlaWdodH1weGApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhdGlvbigpID09PSAnYm90dG9tJykge1xuICAgICAgICBBWEh0bWxVdGlsLmlzUnRsKHRoaXMuaHRtbEVsZW0oKSlcbiAgICAgICAgICA/ICh0aGlzLmh0bWxFbGVtKCkuc3R5bGUudG9wID0gYCR7cmVjdC5oZWlnaHR9cHhgKVxuICAgICAgICAgIDogKHRoaXMuaHRtbEVsZW0oKS5zdHlsZS5ib3R0b20gPSBgJHtyZWN0LmhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmJhY2tEcm9wKCkgJiYgdGhpcy5tb2RlKCkgPT09ICdvdmVybGF5Jykge1xuICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgIH1cblxuICAgIHRoaXMuY29sbGFwc2VTdGF0ZS5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY29sbGFwc2VTdGF0ZUNoYW5nZWQuZW1pdChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgZHJhd2VyIHN0YXRlIGJldHdlZW4gdmlzaWJsZSBhbmQgaGlkZGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyB2b2lkIC0gTm8gcmV0dXJuIHZhbHVlLiBUaGUgZHJhd2VyIHN0YXRlIGlzIHRvZ2dsZWQuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLmNvbGxhcHNlU3RhdGUoKSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQmFja2Ryb3AoKSB7XG4gICAgY29uc3QgYmFja2Ryb3BFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgYmFja2Ryb3BFbGVtLmNsYXNzTGlzdC5hZGQoJ2F4LWNkay1kcmF3ZXItYmFja2Ryb3AnKTtcbiAgICBiYWNrZHJvcEVsZW0uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS50b3AgPSAnMCc7XG4gICAgYmFja2Ryb3BFbGVtLnN0eWxlLndpZHRoID0gJzEwMHZ3JztcbiAgICBiYWNrZHJvcEVsZW0uc3R5bGUuaGVpZ2h0ID0gJzEwMHZoJztcbiAgICAvLyBTZXQgYmFja2Ryb3Agei1pbmRleCBqdXN0IGJlbG93IHRoZSBkcmF3ZXIncyB6LWluZGV4XG4gICAgYmFja2Ryb3BFbGVtLnN0eWxlLnpJbmRleCA9IFN0cmluZygodGhpcy56VG9rZW4/LnpJbmRleCA/PyAxMDAxKSAtIDEpO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgIGJhY2tkcm9wRWxlbS5zdHlsZS50cmFuc2l0aW9uID0gYG9wYWNpdHkgJHt0aGlzLnRyYW5zaXRpb24oKX1tcyBlYXNlYDtcbiAgICBiYWNrZHJvcEVsZW0uY2xhc3NMaXN0LmFkZCguLi50aGlzLmJhY2tkcm9wQ2xhc3MoKS5zcGxpdCgnICcpKTtcblxuICAgIHRoaXMucGFyZW50LmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYmFja2Ryb3BFbGVtKTtcblxuICAgIC8vIFRyaWdnZXIgYW5pbWF0aW9uIGFmdGVyIGVsZW1lbnQgaXMgYWRkZWQgdG8gRE9NXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzEnO1xuICAgIH0pO1xuICAgIGJhY2tkcm9wRWxlbS5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZiAoIXRoaXMuaHRtbEVsZW0oKS5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgJiYgdGhpcy5jb2xsYXBzZVN0YXRlKCkpIHtcbiAgICAgICAgdGhpcy5vbkJhY2tkcm9wQ2xpY2suZW1pdCh7IG5hdGl2ZUV2ZW50OiBldmVudCwgY29tcG9uZW50OiB0aGlzIH0pO1xuICAgICAgICBpZiAodGhpcy5jbG9zZU9uQmFja2Ryb3BDbGljaygpKSB7XG4gICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQmFja2Ryb3AoKSB7XG4gICAgY29uc3QgYmFja2Ryb3BFbGVtID0gdGhpcy5wYXJlbnQuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYXgtY2RrLWRyYXdlci1iYWNrZHJvcCcpO1xuICAgIGlmIChiYWNrZHJvcEVsZW0pIHtcbiAgICAgIGJhY2tkcm9wRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuXG4gICAgICAvLyBSZW1vdmUgZWxlbWVudCBhZnRlciBhbmltYXRpb24gY29tcGxldGVzXG4gICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgaWYgKGJhY2tkcm9wRWxlbS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICBiYWNrZHJvcEVsZW0ucmVtb3ZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwYXJzZUZsb2F0KFN0cmluZyh0aGlzLnRyYW5zaXRpb24oKSkpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUJhY2tEcm9wT25SZXNpemUgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY29sbGFwc2VTdGF0ZSgpICYmIHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScpIHtcbiAgICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgICB9XG4gIH07XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gUmVsZWFzZSB6LWluZGV4IHRva2VuIG9uIGRlc3Ryb3lcbiAgICB0aGlzLnpJbmRleFNlcnZpY2UucmVsZWFzZSh0aGlzLnpUb2tlbik7XG4gICAgdGhpcy56VG9rZW4gPSBudWxsO1xuXG4gICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIgJiYgdGhpcy5odG1sRWxlbSgpKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmh0bWxFbGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZW1vdmVCYWNrRHJvcE9uUmVzaXplKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { afterNextRender, contentChildren, Directive, ElementRef, inject } from '@angular/core';\nimport { AXDrawerItemDirective } from './drawer-item.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXDrawerContainerDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.drawerItem = contentChildren(AXDrawerItemDirective, ...(ngDevMode ? [{ debugName: \"drawerItem\", descendants: true }] : [{ descendants: true }]));\n this.#init = afterNextRender(() => {\n const htmlElem = this.el.nativeElement;\n htmlElem.style.position = 'relative';\n htmlElem.style.overflow = 'hidden';\n htmlElem.style.display = 'flex';\n htmlElem.style.touchAction = 'none';\n htmlElem.style.width = '100%';\n });\n }\n #init;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.3.15\", type: AXDrawerContainerDirective, isStandalone: true, selector: \"[axDrawerContainer]\", queries: [{ propertyName: \"drawerItem\", predicate: AXDrawerItemDirective, descendants: true, isSignal: true }], exportAs: [\"axDrawerContainer\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axDrawerContainer]',\n exportAs: 'axDrawerContainer',\n }]\n }], propDecorators: { drawerItem: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXDrawerItemDirective), { ...{ descendants: true }, isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvZHJhd2VyL3NyYy9saWIvZHJhd2VyLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLRSxPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxlQUFlLENBQUMscUJBQXFCLDhDQUFJLFdBQVcsRUFBRSxJQUFJLE9BQW5CLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFDLENBQUM7UUFFM0UsVUFBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1lBQ3RELFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUNyQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDbkMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztZQUNwQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQVJDLEtBQUssQ0FPRjsrR0FYUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwwR0FFUixxQkFBcUI7OzRGQUZ2QywwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7a0dBRzhCLHFCQUFxQixRQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEcmF3ZXJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmF3ZXItaXRlbS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhEcmF3ZXJDb250YWluZXJdJyxcbiAgZXhwb3J0QXM6ICdheERyYXdlckNvbnRhaW5lcicsXG59KVxuZXhwb3J0IGNsYXNzIEFYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlIHtcbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIGRyYXdlckl0ZW0gPSBjb250ZW50Q2hpbGRyZW4oQVhEcmF3ZXJJdGVtRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBjb25zdCBodG1sRWxlbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBodG1sRWxlbS5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG4gICAgaHRtbEVsZW0uc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICBodG1sRWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgIGh0bWxFbGVtLnN0eWxlLnRvdWNoQWN0aW9uID0gJ25vbmUnO1xuICAgIGh0bWxFbGVtLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICB9KTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\nimport { AXDrawerItemDirective } from './drawer-item.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXDrawerContainerDirective, AXDrawerItemDirective];\nconst MODULES = [];\nexport class AXDrawerDirectiveModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, imports: [AXDrawerContainerDirective, AXDrawerItemDirective], exports: [AXDrawerContainerDirective, AXDrawerItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXDrawerDirectiveModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9kcmF3ZXIvc3JjL2xpYi9kcmF3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRWhFLE1BQU0sU0FBUyxHQUFHLENBQUMsMEJBQTBCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUV0RSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFPbkIsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO2dIQUF2Qix1QkFBdUIsWUFUakIsMEJBQTBCLEVBQUUscUJBQXFCLGFBQWpELDBCQUEwQixFQUFFLHFCQUFxQjtnSEFTdkQsdUJBQXVCLFlBSnJCLE9BQU87OzRGQUlULHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmF3ZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWERyYXdlckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RyYXdlci1pdGVtLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWERyYXdlckNvbnRhaW5lckRpcmVjdGl2ZSwgQVhEcmF3ZXJJdGVtRGlyZWN0aXZlXTtcblxuY29uc3QgTU9EVUxFUyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYRHJhd2VyRGlyZWN0aXZlTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1kcmF3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvZHJhd2VyL3NyYy9hY29yZXgtY2RrLWRyYXdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { AXZIndexService } from '@acorex/core/z-index';
1
2
  import * as i0 from '@angular/core';
2
3
  import { signal, output, inject, Renderer2, ElementRef, effect, untracked, Directive } from '@angular/core';
3
4
 
@@ -28,8 +29,13 @@ class AXFullScreenDirective {
28
29
  * Fullscreen change event
29
30
  */
30
31
  this.fullscreenChange = output();
32
+ /**
33
+ * Z-index token for this fullscreen instance
34
+ */
35
+ this.zToken = null;
31
36
  this.renderer = inject(Renderer2);
32
37
  this.elementRef = inject(ElementRef);
38
+ this.zIndexService = inject(AXZIndexService);
33
39
  // Sync state changes to output
34
40
  effect(() => {
35
41
  const isFullscreen = this.isFullscreenState();
@@ -61,6 +67,8 @@ class AXFullScreenDirective {
61
67
  // Store original styles and parent
62
68
  this.storeOriginalStyles(element);
63
69
  this.originalParent = element.parentElement;
70
+ // Acquire z-index token
71
+ this.zToken = this.zIndexService.acquire();
64
72
  // Create fullscreen container
65
73
  this.fullscreenContainer = this.renderer.createElement('div');
66
74
  this.renderer.setStyle(this.fullscreenContainer, 'position', 'fixed');
@@ -68,7 +76,7 @@ class AXFullScreenDirective {
68
76
  this.renderer.setStyle(this.fullscreenContainer, 'left', '0');
69
77
  this.renderer.setStyle(this.fullscreenContainer, 'width', '100vw');
70
78
  this.renderer.setStyle(this.fullscreenContainer, 'height', '100vh');
71
- this.renderer.setStyle(this.fullscreenContainer, 'z-index', '100');
79
+ this.renderer.setStyle(this.fullscreenContainer, 'z-index', String(this.zToken.zIndex));
72
80
  this.renderer.setStyle(this.fullscreenContainer, 'background-color', '#ffffff');
73
81
  this.renderer.setStyle(this.fullscreenContainer, 'overflow', 'auto');
74
82
  // Move element to container
@@ -109,6 +117,9 @@ class AXFullScreenDirective {
109
117
  this.renderer.removeChild(document.body, this.fullscreenContainer);
110
118
  this.fullscreenContainer = null;
111
119
  }
120
+ // Release z-index token
121
+ this.zIndexService.release(this.zToken);
122
+ this.zToken = null;
112
123
  // Restore original styles
113
124
  this.restoreOriginalStyles(element);
114
125
  this.isFullscreenState.set(false);
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-full-screen.mjs","sources":["../tmp-esm2022/full-screen/lib/full-screen.directive.js","../tmp-esm2022/full-screen/acorex-cdk-full-screen.js"],"sourcesContent":["import { Directive, effect, ElementRef, inject, output, Renderer2, signal, untracked } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Fullscreen directive that provides CSS-based fullscreen functionality\n * Usage: <element axFullscreen #fullscreen=\"axFullscreen\"></element>\n * Then: fullscreen.toggle() or fullscreen.enter() or fullscreen.exit()\n */\nexport class AXFullScreenDirective {\n constructor() {\n /**\n * Current fullscreen state\n */\n this.isFullscreenState = signal(false, ...(ngDevMode ? [{ debugName: \"isFullscreenState\" }] : []));\n /**\n * Original element styles to restore\n */\n this.originalStyles = {};\n /**\n * Original parent element reference\n */\n this.originalParent = null;\n /**\n * Fullscreen container element\n */\n this.fullscreenContainer = null;\n /**\n * Fullscreen change event\n */\n this.fullscreenChange = output();\n this.renderer = inject(Renderer2);\n this.elementRef = inject(ElementRef);\n // Sync state changes to output\n effect(() => {\n const isFullscreen = this.isFullscreenState();\n untracked(() => {\n this.fullscreenChange.emit(isFullscreen);\n });\n });\n }\n /**\n * Toggle fullscreen state\n */\n toggle() {\n if (this.isFullscreenState()) {\n this.exit();\n }\n else {\n this.enter();\n }\n }\n /**\n * Enter fullscreen mode using CSS\n */\n enter() {\n if (this.isFullscreenState()) {\n return;\n }\n const element = this.elementRef.nativeElement;\n try {\n // Store original styles and parent\n this.storeOriginalStyles(element);\n this.originalParent = element.parentElement;\n // Create fullscreen container\n this.fullscreenContainer = this.renderer.createElement('div');\n this.renderer.setStyle(this.fullscreenContainer, 'position', 'fixed');\n this.renderer.setStyle(this.fullscreenContainer, 'top', '0');\n this.renderer.setStyle(this.fullscreenContainer, 'left', '0');\n this.renderer.setStyle(this.fullscreenContainer, 'width', '100vw');\n this.renderer.setStyle(this.fullscreenContainer, 'height', '100vh');\n this.renderer.setStyle(this.fullscreenContainer, 'z-index', '100');\n this.renderer.setStyle(this.fullscreenContainer, 'background-color', '#ffffff');\n this.renderer.setStyle(this.fullscreenContainer, 'overflow', 'auto');\n // Move element to container\n this.renderer.appendChild(this.fullscreenContainer, element);\n // Apply fullscreen styles to element\n this.renderer.setStyle(element, 'position', 'relative');\n this.renderer.setStyle(element, 'width', '100%');\n this.renderer.setStyle(element, 'height', '100%');\n this.renderer.setStyle(element, 'margin', '0');\n this.renderer.setStyle(element, 'padding', '0');\n // Append container to body\n this.renderer.appendChild(document.body, this.fullscreenContainer);\n // Prevent body scroll\n this.renderer.setStyle(document.body, 'overflow', 'hidden');\n this.isFullscreenState.set(true);\n }\n catch (error) {\n console.error('Error entering fullscreen:', error);\n this.restoreOriginalStyles(element);\n }\n }\n /**\n * Exit fullscreen mode\n */\n exit() {\n if (!this.isFullscreenState()) {\n return;\n }\n const element = this.elementRef.nativeElement;\n try {\n // Restore body scroll\n this.renderer.removeStyle(document.body, 'overflow');\n // Move element back to original parent\n if (this.fullscreenContainer && this.originalParent) {\n this.renderer.removeChild(this.fullscreenContainer, element);\n this.renderer.appendChild(this.originalParent, element);\n // Remove container\n this.renderer.removeChild(document.body, this.fullscreenContainer);\n this.fullscreenContainer = null;\n }\n // Restore original styles\n this.restoreOriginalStyles(element);\n this.isFullscreenState.set(false);\n }\n catch (error) {\n console.error('Error exiting fullscreen:', error);\n }\n }\n /**\n * Check if currently in fullscreen mode\n */\n isFullscreen() {\n return this.isFullscreenState();\n }\n /**\n * Store original element styles\n */\n storeOriginalStyles(element) {\n const computedStyle = window.getComputedStyle(element);\n this.originalStyles = {\n position: computedStyle.position,\n top: computedStyle.top,\n left: computedStyle.left,\n width: computedStyle.width,\n height: computedStyle.height,\n zIndex: computedStyle.zIndex,\n backgroundColor: computedStyle.backgroundColor,\n margin: computedStyle.margin,\n padding: computedStyle.padding,\n };\n }\n /**\n * Restore original element styles\n */\n restoreOriginalStyles(element) {\n if (!this.originalStyles) {\n return;\n }\n // Restore each style property\n Object.entries(this.originalStyles).forEach(([key, value]) => {\n const styleKey = this.camelToKebabCase(key);\n if (value) {\n this.renderer.setStyle(element, styleKey, value);\n }\n else {\n this.renderer.removeStyle(element, styleKey);\n }\n });\n this.originalStyles = {};\n }\n /**\n * Convert camelCase to kebab-case for CSS properties\n */\n camelToKebabCase(str) {\n return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXFullScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.15\", type: AXFullScreenDirective, isStandalone: true, selector: \"[axFullscreen]\", outputs: { fullscreenChange: \"fullscreenChange\" }, exportAs: [\"axFullscreen\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXFullScreenDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axFullscreen]',\n standalone: true,\n exportAs: 'axFullscreen',\n }]\n }], ctorParameters: () => [], propDecorators: { fullscreenChange: [{ type: i0.Output, args: [\"fullscreenChange\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2Z1bGwtc2NyZWVuL3NyYy9saWIvZnVsbC1zY3JlZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1Rzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQXVDaEM7UUF0Q0E7O1dBRUc7UUFDYyxzQkFBaUIsR0FBRyxNQUFNLENBQVUsS0FBSyw2REFBQyxDQUFDO1FBRTVEOztXQUVHO1FBQ0ssbUJBQWMsR0FVbEIsRUFBRSxDQUFDO1FBRVA7O1dBRUc7UUFDSyxtQkFBYyxHQUF1QixJQUFJLENBQUM7UUFFbEQ7O1dBRUc7UUFDSyx3QkFBbUIsR0FBdUIsSUFBSSxDQUFDO1FBRXZEOztXQUVHO1FBQ00scUJBQWdCLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFFN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUd4RSwrQkFBK0I7UUFDL0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVB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TyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVFLENBQUM7K0dBak1VLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBvdXRwdXQsIFJlbmRlcmVyMiwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBGdWxsc2NyZWVuIGRpcmVjdGl2ZSB0aGF0IHByb3ZpZGVzIENTUy1iYXNlZCBmdWxsc2NyZWVuIGZ1bmN0aW9uYWxpdHlcbiAqIFVzYWdlOiA8ZWxlbWVudCBheEZ1bGxzY3JlZW4gI2Z1bGxzY3JlZW49XCJheEZ1bGxzY3JlZW5cIj48L2VsZW1lbnQ+XG4gKiBUaGVuOiBmdWxsc2NyZWVuLnRvZ2dsZSgpIG9yIGZ1bGxzY3JlZW4uZW50ZXIoKSBvciBmdWxsc2NyZWVuLmV4aXQoKVxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhGdWxsc2NyZWVuXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnYXhGdWxsc2NyZWVuJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhGdWxsU2NyZWVuRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZnVsbHNjcmVlbiBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Z1bGxzY3JlZW5TdGF0ZSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIE9yaWdpbmFsIGVsZW1lbnQgc3R5bGVzIHRvIHJlc3RvcmVcbiAgICovXG4gIHByaXZhdGUgb3JpZ2luYWxTdHlsZXM6IHtcbiAgICBwb3NpdGlvbj86IHN0cmluZztcbiAgICB0b3A/OiBzdHJpbmc7XG4gICAgbGVmdD86IHN0cmluZztcbiAgICB3aWR0aD86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBzdHJpbmc7XG4gICAgekluZGV4Pzogc3RyaW5nO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBtYXJnaW4/OiBzdHJpbmc7XG4gICAgcGFkZGluZz86IHN0cmluZztcbiAgfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBPcmlnaW5hbCBwYXJlbnQgZWxlbWVudCByZWZlcmVuY2VcbiAgICovXG4gIHByaXZhdGUgb3JpZ2luYWxQYXJlbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEZ1bGxzY3JlZW4gY29udGFpbmVyIGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgZnVsbHNjcmVlbkNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogRnVsbHNjcmVlbiBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHJlYWRvbmx5IGZ1bGxzY3JlZW5DaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gU3luYyBzdGF0ZSBjaGFuZ2VzIHRvIG91dHB1dFxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpc0Z1bGxzY3JlZW4gPSB0aGlzLmlzRnVsbHNjcmVlblN0YXRlKCk7XG4gICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW5DaGFuZ2UuZW1pdChpc0Z1bGxzY3JlZW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIGZ1bGxzY3JlZW4gc3RhdGVcbiAgICovXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW5TdGF0ZSgpKSB7XG4gICAgICB0aGlzLmV4aXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbnRlcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlciBmdWxsc2NyZWVuIG1vZGUgdXNpbmcgQ1NTXG4gICAqL1xuICBlbnRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW5TdGF0ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFN0b3JlIG9yaWdpbmFsIHN0eWxlcyBhbmQgcGFyZW50XG4gICAgICB0aGlzLnN0b3JlT3JpZ2luYWxTdHlsZXMoZWxlbWVudCk7XG4gICAgICB0aGlzLm9yaWdpbmFsUGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAvLyBDcmVhdGUgZnVsbHNjcmVlbiBjb250YWluZXJcbiAgICAgIHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ3RvcCcsICcwJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ2xlZnQnLCAnMCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsICd3aWR0aCcsICcxMDB2dycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsICdoZWlnaHQnLCAnMTAwdmgnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5mdWxsc2NyZWVuQ29udGFpbmVyLCAnei1pbmRleCcsICcxMDAnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5mdWxsc2NyZWVuQ29udGFpbmVyLCAnYmFja2dyb3VuZC1jb2xvcicsICcjZmZmZmZmJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ292ZXJmbG93JywgJ2F1dG8nKTtcblxuICAgICAgLy8gTW92ZSBlbGVtZW50IHRvIGNvbnRhaW5lclxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsIGVsZW1lbnQpO1xuXG4gICAgICAvLyBBcHBseSBmdWxsc2NyZWVuIHN0eWxlcyB0byBlbGVtZW50XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnd2lkdGgnLCAnMTAwJScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ21hcmdpbicsICcwJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdwYWRkaW5nJywgJzAnKTtcblxuICAgICAgLy8gQXBwZW5kIGNvbnRhaW5lciB0byBib2R5XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lcik7XG5cbiAgICAgIC8vIFByZXZlbnQgYm9keSBzY3JvbGxcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuXG4gICAgICB0aGlzLmlzRnVsbHNjcmVlblN0YXRlLnNldCh0cnVlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZW50ZXJpbmcgZnVsbHNjcmVlbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnJlc3RvcmVPcmlnaW5hbFN0eWxlcyhlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhpdCBmdWxsc2NyZWVuIG1vZGVcbiAgICovXG4gIGV4aXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRnVsbHNjcmVlblN0YXRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0cnkge1xuICAgICAgLy8gUmVzdG9yZSBib2R5IHNjcm9sbFxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKTtcblxuICAgICAgLy8gTW92ZSBlbGVtZW50IGJhY2sgdG8gb3JpZ2luYWwgcGFyZW50XG4gICAgICBpZiAodGhpcy5mdWxsc2NyZWVuQ29udGFpbmVyICYmIHRoaXMub3JpZ2luYWxQYXJlbnQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsIGVsZW1lbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMub3JpZ2luYWxQYXJlbnQsIGVsZW1lbnQpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBjb250YWluZXJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIpO1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIHN0eWxlc1xuICAgICAgdGhpcy5yZXN0b3JlT3JpZ2luYWxTdHlsZXMoZWxlbWVudCk7XG5cbiAgICAgIHRoaXMuaXNGdWxsc2NyZWVuU3RhdGUuc2V0KGZhbHNlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXhpdGluZyBmdWxsc2NyZWVuOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudGx5IGluIGZ1bGxzY3JlZW4gbW9kZVxuICAgKi9cbiAgaXNGdWxsc2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRnVsbHNjcmVlblN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgb3JpZ2luYWwgZWxlbWVudCBzdHlsZXNcbiAgICovXG4gIHByaXZhdGUgc3RvcmVPcmlnaW5hbFN0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICB0aGlzLm9yaWdpbmFsU3R5bGVzID0ge1xuICAgICAgcG9zaXRpb246IGNvbXB1dGVkU3R5bGUucG9zaXRpb24sXG4gICAgICB0b3A6IGNvbXB1dGVkU3R5bGUudG9wLFxuICAgICAgbGVmdDogY29tcHV0ZWRTdHlsZS5sZWZ0LFxuICAgICAgd2lkdGg6IGNvbXB1dGVkU3R5bGUud2lkdGgsXG4gICAgICBoZWlnaHQ6IGNvbXB1dGVkU3R5bGUuaGVpZ2h0LFxuICAgICAgekluZGV4OiBjb21wdXRlZFN0eWxlLnpJbmRleCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgICBtYXJnaW46IGNvbXB1dGVkU3R5bGUubWFyZ2luLFxuICAgICAgcGFkZGluZzogY29tcHV0ZWRTdHlsZS5wYWRkaW5nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZSBvcmlnaW5hbCBlbGVtZW50IHN0eWxlc1xuICAgKi9cbiAgcHJpdmF0ZSByZXN0b3JlT3JpZ2luYWxTdHlsZXMoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3JpZ2luYWxTdHlsZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBSZXN0b3JlIGVhY2ggc3R5bGUgcHJvcGVydHlcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLm9yaWdpbmFsU3R5bGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlS2V5ID0gdGhpcy5jYW1lbFRvS2ViYWJDYXNlKGtleSk7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBzdHlsZUtleSwgdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCBzdHlsZUtleSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm9yaWdpbmFsU3R5bGVzID0ge307XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBjYW1lbENhc2UgdG8ga2ViYWItY2FzZSBmb3IgQ1NTIHByb3BlcnRpZXNcbiAgICovXG4gIHByaXZhdGUgY2FtZWxUb0tlYmFiQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW2EtejAtOV18KD89W0EtWl0pKShbQS1aXSkvZywgJyQxLSQyJykudG9Mb3dlckNhc2UoKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1mdWxsLXNjcmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9mdWxsLXNjcmVlbi9zcmMvYWNvcmV4LWNkay1mdWxsLXNjcmVlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-full-screen.mjs","sources":["../tmp-esm2022/full-screen/lib/full-screen.directive.js","../tmp-esm2022/full-screen/acorex-cdk-full-screen.js"],"sourcesContent":["import { AXZIndexService } from '@acorex/core/z-index';\nimport { Directive, effect, ElementRef, inject, output, Renderer2, signal, untracked } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Fullscreen directive that provides CSS-based fullscreen functionality\n * Usage: <element axFullscreen #fullscreen=\"axFullscreen\"></element>\n * Then: fullscreen.toggle() or fullscreen.enter() or fullscreen.exit()\n */\nexport class AXFullScreenDirective {\n constructor() {\n /**\n * Current fullscreen state\n */\n this.isFullscreenState = signal(false, ...(ngDevMode ? [{ debugName: \"isFullscreenState\" }] : []));\n /**\n * Original element styles to restore\n */\n this.originalStyles = {};\n /**\n * Original parent element reference\n */\n this.originalParent = null;\n /**\n * Fullscreen container element\n */\n this.fullscreenContainer = null;\n /**\n * Fullscreen change event\n */\n this.fullscreenChange = output();\n /**\n * Z-index token for this fullscreen instance\n */\n this.zToken = null;\n this.renderer = inject(Renderer2);\n this.elementRef = inject(ElementRef);\n this.zIndexService = inject(AXZIndexService);\n // Sync state changes to output\n effect(() => {\n const isFullscreen = this.isFullscreenState();\n untracked(() => {\n this.fullscreenChange.emit(isFullscreen);\n });\n });\n }\n /**\n * Toggle fullscreen state\n */\n toggle() {\n if (this.isFullscreenState()) {\n this.exit();\n }\n else {\n this.enter();\n }\n }\n /**\n * Enter fullscreen mode using CSS\n */\n enter() {\n if (this.isFullscreenState()) {\n return;\n }\n const element = this.elementRef.nativeElement;\n try {\n // Store original styles and parent\n this.storeOriginalStyles(element);\n this.originalParent = element.parentElement;\n // Acquire z-index token\n this.zToken = this.zIndexService.acquire();\n // Create fullscreen container\n this.fullscreenContainer = this.renderer.createElement('div');\n this.renderer.setStyle(this.fullscreenContainer, 'position', 'fixed');\n this.renderer.setStyle(this.fullscreenContainer, 'top', '0');\n this.renderer.setStyle(this.fullscreenContainer, 'left', '0');\n this.renderer.setStyle(this.fullscreenContainer, 'width', '100vw');\n this.renderer.setStyle(this.fullscreenContainer, 'height', '100vh');\n this.renderer.setStyle(this.fullscreenContainer, 'z-index', String(this.zToken.zIndex));\n this.renderer.setStyle(this.fullscreenContainer, 'background-color', '#ffffff');\n this.renderer.setStyle(this.fullscreenContainer, 'overflow', 'auto');\n // Move element to container\n this.renderer.appendChild(this.fullscreenContainer, element);\n // Apply fullscreen styles to element\n this.renderer.setStyle(element, 'position', 'relative');\n this.renderer.setStyle(element, 'width', '100%');\n this.renderer.setStyle(element, 'height', '100%');\n this.renderer.setStyle(element, 'margin', '0');\n this.renderer.setStyle(element, 'padding', '0');\n // Append container to body\n this.renderer.appendChild(document.body, this.fullscreenContainer);\n // Prevent body scroll\n this.renderer.setStyle(document.body, 'overflow', 'hidden');\n this.isFullscreenState.set(true);\n }\n catch (error) {\n console.error('Error entering fullscreen:', error);\n this.restoreOriginalStyles(element);\n }\n }\n /**\n * Exit fullscreen mode\n */\n exit() {\n if (!this.isFullscreenState()) {\n return;\n }\n const element = this.elementRef.nativeElement;\n try {\n // Restore body scroll\n this.renderer.removeStyle(document.body, 'overflow');\n // Move element back to original parent\n if (this.fullscreenContainer && this.originalParent) {\n this.renderer.removeChild(this.fullscreenContainer, element);\n this.renderer.appendChild(this.originalParent, element);\n // Remove container\n this.renderer.removeChild(document.body, this.fullscreenContainer);\n this.fullscreenContainer = null;\n }\n // Release z-index token\n this.zIndexService.release(this.zToken);\n this.zToken = null;\n // Restore original styles\n this.restoreOriginalStyles(element);\n this.isFullscreenState.set(false);\n }\n catch (error) {\n console.error('Error exiting fullscreen:', error);\n }\n }\n /**\n * Check if currently in fullscreen mode\n */\n isFullscreen() {\n return this.isFullscreenState();\n }\n /**\n * Store original element styles\n */\n storeOriginalStyles(element) {\n const computedStyle = window.getComputedStyle(element);\n this.originalStyles = {\n position: computedStyle.position,\n top: computedStyle.top,\n left: computedStyle.left,\n width: computedStyle.width,\n height: computedStyle.height,\n zIndex: computedStyle.zIndex,\n backgroundColor: computedStyle.backgroundColor,\n margin: computedStyle.margin,\n padding: computedStyle.padding,\n };\n }\n /**\n * Restore original element styles\n */\n restoreOriginalStyles(element) {\n if (!this.originalStyles) {\n return;\n }\n // Restore each style property\n Object.entries(this.originalStyles).forEach(([key, value]) => {\n const styleKey = this.camelToKebabCase(key);\n if (value) {\n this.renderer.setStyle(element, styleKey, value);\n }\n else {\n this.renderer.removeStyle(element, styleKey);\n }\n });\n this.originalStyles = {};\n }\n /**\n * Convert camelCase to kebab-case for CSS properties\n */\n camelToKebabCase(str) {\n return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXFullScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.15\", type: AXFullScreenDirective, isStandalone: true, selector: \"[axFullscreen]\", outputs: { fullscreenChange: \"fullscreenChange\" }, exportAs: [\"axFullscreen\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXFullScreenDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axFullscreen]',\n standalone: true,\n exportAs: 'axFullscreen',\n }]\n }], ctorParameters: () => [], propDecorators: { fullscreenChange: [{ type: i0.Output, args: [\"fullscreenChange\"] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2Z1bGwtc2NyZWVuL3NyYy9saWIvZnVsbC1zY3JlZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUc7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUE2Q2hDO1FBNUNBOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUFVLEtBQUssNkRBQUMsQ0FBQztRQUU1RDs7V0FFRztRQUNLLG1CQUFjLEdBVWxCLEVBQUUsQ0FBQztRQUVQOztXQUVHO1FBQ0ssbUJBQWMsR0FBdUIsSUFBSSxDQUFDO1FBRWxEOztXQUVHO1FBQ0ssd0JBQW1CLEdBQXVCLElBQUksQ0FBQztRQUV2RDs7V0FFRztRQUNNLHFCQUFnQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRTlDOztXQUVHO1FBQ0ssV0FBTSxHQUFvQixJQUFJLENBQUM7UUFFdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUN6RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUd2RCwrQkFBK0I7UUFDL0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FB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SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUIsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU87UUFDVCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVFLENBQUM7K0dBOU1VLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFpJbmRleFNlcnZpY2UsIEFYWlRva2VuIH0gZnJvbSAnQGFjb3JleC9jb3JlL3otaW5kZXgnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgb3V0cHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRnVsbHNjcmVlbiBkaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBDU1MtYmFzZWQgZnVsbHNjcmVlbiBmdW5jdGlvbmFsaXR5XG4gKiBVc2FnZTogPGVsZW1lbnQgYXhGdWxsc2NyZWVuICNmdWxsc2NyZWVuPVwiYXhGdWxsc2NyZWVuXCI+PC9lbGVtZW50PlxuICogVGhlbjogZnVsbHNjcmVlbi50b2dnbGUoKSBvciBmdWxsc2NyZWVuLmVudGVyKCkgb3IgZnVsbHNjcmVlbi5leGl0KClcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4RnVsbHNjcmVlbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2F4RnVsbHNjcmVlbicsXG59KVxuZXhwb3J0IGNsYXNzIEFYRnVsbFNjcmVlbkRpcmVjdGl2ZSB7XG4gIC8qKlxuICAgKiBDdXJyZW50IGZ1bGxzY3JlZW4gc3RhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNGdWxsc2NyZWVuU3RhdGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBPcmlnaW5hbCBlbGVtZW50IHN0eWxlcyB0byByZXN0b3JlXG4gICAqL1xuICBwcml2YXRlIG9yaWdpbmFsU3R5bGVzOiB7XG4gICAgcG9zaXRpb24/OiBzdHJpbmc7XG4gICAgdG9wPzogc3RyaW5nO1xuICAgIGxlZnQ/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgIHpJbmRleD86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgbWFyZ2luPzogc3RyaW5nO1xuICAgIHBhZGRpbmc/OiBzdHJpbmc7XG4gIH0gPSB7fTtcblxuICAvKipcbiAgICogT3JpZ2luYWwgcGFyZW50IGVsZW1lbnQgcmVmZXJlbmNlXG4gICAqL1xuICBwcml2YXRlIG9yaWdpbmFsUGFyZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBGdWxsc2NyZWVuIGNvbnRhaW5lciBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIGZ1bGxzY3JlZW5Db250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEZ1bGxzY3JlZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICByZWFkb25seSBmdWxsc2NyZWVuQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIFotaW5kZXggdG9rZW4gZm9yIHRoaXMgZnVsbHNjcmVlbiBpbnN0YW5jZVxuICAgKi9cbiAgcHJpdmF0ZSB6VG9rZW46IEFYWlRva2VuIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHpJbmRleFNlcnZpY2UgPSBpbmplY3QoQVhaSW5kZXhTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBTeW5jIHN0YXRlIGNoYW5nZXMgdG8gb3V0cHV0XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlzRnVsbHNjcmVlbiA9IHRoaXMuaXNGdWxsc2NyZWVuU3RhdGUoKTtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZS5lbWl0KGlzRnVsbHNjcmVlbik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgZnVsbHNjcmVlbiBzdGF0ZVxuICAgKi9cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlblN0YXRlKCkpIHtcbiAgICAgIHRoaXMuZXhpdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVudGVyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVudGVyIGZ1bGxzY3JlZW4gbW9kZSB1c2luZyBDU1NcbiAgICovXG4gIGVudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlblN0YXRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0cnkge1xuICAgICAgLy8gU3RvcmUgb3JpZ2luYWwgc3R5bGVzIGFuZCBwYXJlbnRcbiAgICAgIHRoaXMuc3RvcmVPcmlnaW5hbFN0eWxlcyhlbGVtZW50KTtcbiAgICAgIHRoaXMub3JpZ2luYWxQYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgICAgIC8vIEFjcXVpcmUgei1pbmRleCB0b2tlblxuICAgICAgdGhpcy56VG9rZW4gPSB0aGlzLnpJbmRleFNlcnZpY2UuYWNxdWlyZSgpO1xuXG4gICAgICAvLyBDcmVhdGUgZnVsbHNjcmVlbiBjb250YWluZXJcbiAgICAgIHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ3RvcCcsICcwJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ2xlZnQnLCAnMCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsICd3aWR0aCcsICcxMDB2dycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsICdoZWlnaHQnLCAnMTAwdmgnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5mdWxsc2NyZWVuQ29udGFpbmVyLCAnei1pbmRleCcsIFN0cmluZyh0aGlzLnpUb2tlbi56SW5kZXgpKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5mdWxsc2NyZWVuQ29udGFpbmVyLCAnYmFja2dyb3VuZC1jb2xvcicsICcjZmZmZmZmJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lciwgJ292ZXJmbG93JywgJ2F1dG8nKTtcblxuICAgICAgLy8gTW92ZSBlbGVtZW50IHRvIGNvbnRhaW5lclxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsIGVsZW1lbnQpO1xuXG4gICAgICAvLyBBcHBseSBmdWxsc2NyZWVuIHN0eWxlcyB0byBlbGVtZW50XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnd2lkdGgnLCAnMTAwJScpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ21hcmdpbicsICcwJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdwYWRkaW5nJywgJzAnKTtcblxuICAgICAgLy8gQXBwZW5kIGNvbnRhaW5lciB0byBib2R5XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuZnVsbHNjcmVlbkNvbnRhaW5lcik7XG5cbiAgICAgIC8vIFByZXZlbnQgYm9keSBzY3JvbGxcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuXG4gICAgICB0aGlzLmlzRnVsbHNjcmVlblN0YXRlLnNldCh0cnVlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZW50ZXJpbmcgZnVsbHNjcmVlbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnJlc3RvcmVPcmlnaW5hbFN0eWxlcyhlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhpdCBmdWxsc2NyZWVuIG1vZGVcbiAgICovXG4gIGV4aXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRnVsbHNjcmVlblN0YXRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0cnkge1xuICAgICAgLy8gUmVzdG9yZSBib2R5IHNjcm9sbFxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKTtcblxuICAgICAgLy8gTW92ZSBlbGVtZW50IGJhY2sgdG8gb3JpZ2luYWwgcGFyZW50XG4gICAgICBpZiAodGhpcy5mdWxsc2NyZWVuQ29udGFpbmVyICYmIHRoaXMub3JpZ2luYWxQYXJlbnQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIsIGVsZW1lbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMub3JpZ2luYWxQYXJlbnQsIGVsZW1lbnQpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBjb250YWluZXJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIpO1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW5Db250YWluZXIgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWxlYXNlIHotaW5kZXggdG9rZW5cbiAgICAgIHRoaXMuekluZGV4U2VydmljZS5yZWxlYXNlKHRoaXMuelRva2VuKTtcbiAgICAgIHRoaXMuelRva2VuID0gbnVsbDtcblxuICAgICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBzdHlsZXNcbiAgICAgIHRoaXMucmVzdG9yZU9yaWdpbmFsU3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgICB0aGlzLmlzRnVsbHNjcmVlblN0YXRlLnNldChmYWxzZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4aXRpbmcgZnVsbHNjcmVlbjonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGN1cnJlbnRseSBpbiBmdWxsc2NyZWVuIG1vZGVcbiAgICovXG4gIGlzRnVsbHNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Z1bGxzY3JlZW5TdGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlIG9yaWdpbmFsIGVsZW1lbnQgc3R5bGVzXG4gICAqL1xuICBwcml2YXRlIHN0b3JlT3JpZ2luYWxTdHlsZXMoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgdGhpcy5vcmlnaW5hbFN0eWxlcyA9IHtcbiAgICAgIHBvc2l0aW9uOiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uLFxuICAgICAgdG9wOiBjb21wdXRlZFN0eWxlLnRvcCxcbiAgICAgIGxlZnQ6IGNvbXB1dGVkU3R5bGUubGVmdCxcbiAgICAgIHdpZHRoOiBjb21wdXRlZFN0eWxlLndpZHRoLFxuICAgICAgaGVpZ2h0OiBjb21wdXRlZFN0eWxlLmhlaWdodCxcbiAgICAgIHpJbmRleDogY29tcHV0ZWRTdHlsZS56SW5kZXgsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbXB1dGVkU3R5bGUuYmFja2dyb3VuZENvbG9yLFxuICAgICAgbWFyZ2luOiBjb21wdXRlZFN0eWxlLm1hcmdpbixcbiAgICAgIHBhZGRpbmc6IGNvbXB1dGVkU3R5bGUucGFkZGluZyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmUgb3JpZ2luYWwgZWxlbWVudCBzdHlsZXNcbiAgICovXG4gIHByaXZhdGUgcmVzdG9yZU9yaWdpbmFsU3R5bGVzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9yaWdpbmFsU3R5bGVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSBlYWNoIHN0eWxlIHByb3BlcnR5XG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5vcmlnaW5hbFN0eWxlcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBzdHlsZUtleSA9IHRoaXMuY2FtZWxUb0tlYmFiQ2FzZShrZXkpO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgc3R5bGVLZXksIHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWxlbWVudCwgc3R5bGVLZXkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5vcmlnaW5hbFN0eWxlcyA9IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgY2FtZWxDYXNlIHRvIGtlYmFiLWNhc2UgZm9yIENTUyBwcm9wZXJ0aWVzXG4gICAqL1xuICBwcml2YXRlIGNhbWVsVG9LZWJhYkNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFthLXowLTldfCg/PVtBLVpdKSkoW0EtWl0pL2csICckMS0kMicpLnRvTG93ZXJDYXNlKCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1mdWxsLXNjcmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9mdWxsLXNjcmVlbi9zcmMvYWNvcmV4LWNkay1mdWxsLXNjcmVlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}