@acorex/cdk 20.3.39 → 20.3.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-cdk-accordion.mjs +22 -22
- package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
- package/fesm2022/acorex-cdk-carousel.mjs +3 -3
- package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
- package/fesm2022/acorex-cdk-clipboard.mjs +7 -7
- package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
- package/fesm2022/acorex-cdk-common.mjs +97 -97
- package/fesm2022/acorex-cdk-common.mjs.map +1 -1
- package/fesm2022/acorex-cdk-dom.mjs +4 -4
- package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
- package/fesm2022/acorex-cdk-double-click.mjs +4 -4
- package/fesm2022/acorex-cdk-double-click.mjs.map +1 -1
- package/fesm2022/acorex-cdk-drag-drop.mjs +19 -19
- package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
- package/fesm2022/acorex-cdk-drawer.mjs +12 -12
- package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
- package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
- package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
- package/fesm2022/acorex-cdk-full-screen.mjs +4 -4
- package/fesm2022/acorex-cdk-full-screen.mjs.map +1 -1
- package/fesm2022/acorex-cdk-input-mask.mjs +4 -4
- package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
- package/fesm2022/acorex-cdk-list-navigation.mjs +12 -12
- package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
- package/fesm2022/acorex-cdk-outline.mjs +8 -8
- package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
- package/fesm2022/acorex-cdk-overlay.mjs +3 -3
- package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
- package/fesm2022/acorex-cdk-pan-view.mjs +4 -4
- package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
- package/fesm2022/acorex-cdk-resizable.mjs +4 -4
- package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
- package/fesm2022/acorex-cdk-selection.mjs +12 -12
- package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
- package/fesm2022/acorex-cdk-sliding-item.mjs +3 -3
- package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-cdk-sticky.mjs +3 -3
- package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
- package/fesm2022/acorex-cdk-uploader.mjs +10 -10
- package/fesm2022/acorex-cdk-uploader.mjs.map +1 -1
- package/fesm2022/acorex-cdk-virtual-scroll.mjs +11 -11
- package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
- package/fesm2022/acorex-cdk-z-index.mjs +3 -3
- package/fesm2022/acorex-cdk-z-index.mjs.map +1 -1
- package/overlay/index.d.ts +1 -1
- package/package.json +4 -4
|
@@ -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 { 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.16\", ngImport: i0, type: AXFullScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.16\", type: AXFullScreenDirective, isStandalone: true, selector: \"[axFullscreen]\", outputs: { fullscreenChange: \"fullscreenChange\" }, exportAs: [\"axFullscreen\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2Z1bGwtc2NyZWVuL3NyYy9saWIvZnVsbC1zY3JlZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUc7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUE2Q2hDO1FBNUNBOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUFVLEtBQUssNkRBQUMsQ0FBQztRQUU1RDs7V0FFRztRQUNLLG1CQUFjLEdBVWxCLEVBQUUsQ0FBQztRQUVQOztXQUVHO1FBQ0ssbUJBQWMsR0FBdUIsSUFBSSxDQUFDO1FBRWxEOztXQUVHO1FBQ0ssd0JBQW1CLEdBQXVCLElBQUksQ0FBQztRQUV2RDs7V0FFRztRQUNNLHFCQUFnQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRTlDOztXQUVHO1FBQ0ssV0FBTSxHQUFvQixJQUFJLENBQUM7UUFFdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUN6RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUd2RCwrQkFBK0I7UUFDL0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFFOUMsSUFBSSxDQUFDO1lBQ0gsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFFNUMsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUUzQyw4QkFBOEI7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFckUsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUU3RCxxQ0FBcUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRWhELDJCQUEyQjtZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRW5FLHNCQUFzQjtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUU1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTlDLElBQUksQ0FBQztZQUNILHNCQUFzQjtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXJELHVDQUF1QztZQUN2QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFFeEQsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLENBQUM7WUFFRCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBRW5CLDBCQUEwQjtZQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQixDQUFDLE9BQW9CO1FBQzlDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTtZQUNoQyxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3hCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztZQUMxQixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDNUIsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1lBQzVCLGVBQWUsRUFBRSxhQUFhLENBQUMsZUFBZTtZQUM5QyxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDNUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO1NBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUIsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU87UUFDVCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVFLENBQUM7K0dBOU1VLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFpJbmRleFNlcnZpY2UsIEFYWlRva2VuIH0gZnJvbSAnQGFjb3JleC9jb3JlL3otaW5kZXgnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgb3V0cHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRnVsbHNjcmVlbiBkaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBDU1MtYmFzZWQgZnVsbHNjcmVlbiBmdW5jdGlvbmFsaXR5XG4gKiBVc2FnZTogPGVsZW1lbnQgYXhGdWxsc2NyZWVuICNmdWxsc2NyZWVuPVwiYXhGdWxsc2NyZWVuXCI+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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"}
|
|
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.3\", ngImport: i0, type: AXFullScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXFullScreenDirective, isStandalone: true, selector: \"[axFullscreen]\", outputs: { fullscreenChange: \"fullscreenChange\" }, exportAs: [\"axFullscreen\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXFullScreenDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axFullscreen]',\n standalone: true,\n exportAs: 'axFullscreen',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1zY3JlZW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2Z1bGwtc2NyZWVuL3NyYy9saWIvZnVsbC1zY3JlZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUc7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUE2Q2hDO1FBNUNBOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUFVLEtBQUssNkRBQUMsQ0FBQztRQUU1RDs7V0FFRztRQUNLLG1CQUFjLEdBVWxCLEVBQUUsQ0FBQztRQUVQOztXQUVHO1FBQ0ssbUJBQWMsR0FBdUIsSUFBSSxDQUFDO1FBRWxEOztXQUVHO1FBQ0ssd0JBQW1CLEdBQXVCLElBQUksQ0FBQztRQUV2RDs7V0FFRztRQUNNLHFCQUFnQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRTlDOztXQUVHO1FBQ0ssV0FBTSxHQUFvQixJQUFJLENBQUM7UUFFdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUN6RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUd2RCwrQkFBK0I7UUFDL0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFFOUMsSUFBSSxDQUFDO1lBQ0gsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFFNUMsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUUzQyw4QkFBOEI7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFckUsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUU3RCxxQ0FBcUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRWhELDJCQUEyQjtZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRW5FLHNCQUFzQjtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUU1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTlDLElBQUksQ0FBQztZQUNILHNCQUFzQjtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXJELHVDQUF1QztZQUN2QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFFeEQsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLENBQUM7WUFFRCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBRW5CLDBCQUEwQjtZQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQixDQUFDLE9BQW9CO1FBQzlDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTtZQUNoQyxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3hCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztZQUMxQixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDNUIsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1lBQzVCLGVBQWUsRUFBRSxhQUFhLENBQUMsZUFBZTtZQUM5QyxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDNUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO1NBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUIsQ0FBQyxPQUFvQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU87UUFDVCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVFLENBQUM7OEdBOU1VLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFpJbmRleFNlcnZpY2UsIEFYWlRva2VuIH0gZnJvbSAnQGFjb3JleC9jb3JlL3otaW5kZXgnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgb3V0cHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRnVsbHNjcmVlbiBkaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBDU1MtYmFzZWQgZnVsbHNjcmVlbiBmdW5jdGlvbmFsaXR5XG4gKiBVc2FnZTogPGVsZW1lbnQgYXhGdWxsc2NyZWVuICNmdWxsc2NyZWVuPVwiYXhGdWxsc2NyZWVuXCI+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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"}
|
|
@@ -263,16 +263,16 @@ class AXInputMaskDirective {
|
|
|
263
263
|
}
|
|
264
264
|
return this.rangeValueLimit(finalValue);
|
|
265
265
|
}
|
|
266
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
267
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
266
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXInputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
267
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.3", type: AXInputMaskDirective, isStandalone: true, selector: "[axInputMask]", inputs: { maskMode: { classPropertyName: "maskMode", publicName: "maskMode", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, eager: { classPropertyName: "eager", publicName: "eager", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, decimal: { classPropertyName: "decimal", publicName: "decimal", isSignal: true, isRequired: false, transformFunction: null }, maskPattern: { classPropertyName: "maskPattern", publicName: "maskPattern", isSignal: true, isRequired: false, transformFunction: null }, customTokens: { classPropertyName: "customTokens", publicName: "customTokens", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMaskChanged: "onMaskChanged" }, exportAs: ["axInputMask"], ngImport: i0 }); }
|
|
268
268
|
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXInputMaskDirective, decorators: [{
|
|
270
270
|
type: Directive,
|
|
271
271
|
args: [{
|
|
272
272
|
selector: '[axInputMask]',
|
|
273
273
|
exportAs: 'axInputMask',
|
|
274
274
|
}]
|
|
275
|
-
}]
|
|
275
|
+
}] });
|
|
276
276
|
|
|
277
277
|
/**
|
|
278
278
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-cdk-input-mask.mjs","sources":["../tmp-esm2022/input-mask/lib/input-mask.directive.js","../tmp-esm2022/input-mask/acorex-cdk-input-mask.js"],"sourcesContent":["import { Directive, effect, ElementRef, inject, input, output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive that provides input masking functionality for various data types including\n * Hijri dates, digits, decimal numbers, and thousands-separated numbers.\n * Built on top of the Maska.js library for robust input validation and formatting.\n */\nexport class AXInputMaskDirective {\n constructor() {\n this.elm = inject(ElementRef);\n /**\n * The mode of input masking to apply.\n * @default 'digits'\n */\n this.maskMode = input('digits', ...(ngDevMode ? [{ debugName: \"maskMode\" }] : []));\n /**\n * The separator character used in the mask (e.g., '/' for dates, ',' for thousands).\n * @default '/'\n */\n this.separator = input('/', ...(ngDevMode ? [{ debugName: \"separator\" }] : []));\n /**\n * Whether to apply the mask eagerly (as user types) or on blur.\n * @default false\n */\n this.eager = input(false, ...(ngDevMode ? [{ debugName: \"eager\" }] : []));\n /**\n * Event emitted when the masked value changes.\n */\n this.onMaskChanged = output();\n /**\n * Minimum allowed value for numeric inputs.\n * @default null\n */\n this.minValue = input(null, ...(ngDevMode ? [{ debugName: \"minValue\" }] : []));\n /**\n * Maximum allowed value for numeric inputs.\n * @default null\n */\n this.maxValue = input(null, ...(ngDevMode ? [{ debugName: \"maxValue\" }] : []));\n /**\n * Number of decimal places allowed for decimal inputs.\n * @default 0\n */\n this.decimal = input(0, ...(ngDevMode ? [{ debugName: \"decimal\" }] : []));\n /**\n * Custom mask pattern for 'mask' mode.\n * Use the following tokens:\n * - `#`: Required digit (0-9)\n * - `^`: Required letter (a-z, A-Z)\n * - `@`: Required alphanumeric (0-9, a-z, A-Z)\n *\n * Use ! before token to escape symbol. For example !# will render # instead of a digit.\n * Any other character is treated as a literal separator.\n * @example '(###) ###-####' for phone numbers\n * @example 'AA-####' for license plates\n * @example '##/##/####' for dates\n */\n this.maskPattern = input(null, ...(ngDevMode ? [{ debugName: \"maskPattern\" }] : []));\n /**\n * Custom token definitions to extend or override default mask tokens.\n * Each token maps to a pattern regex and optional transformation.\n * @example { 'P': { pattern: /[1-9]/, transform: (c) => c.toUpperCase() } }\n */\n this.customTokens = input({}, ...(ngDevMode ? [{ debugName: \"customTokens\" }] : []));\n this.#eff = effect(() => {\n if (this.maskMode() === null)\n return;\n if (this.maskMode() === 'mask' && !this.maskPattern())\n return;\n this.initializeMask();\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n async initializeMask() {\n if (this.maskaJs)\n this.maskaJs.destroy();\n let mask;\n let tokens;\n // Default tokens for built-in modes\n const defaultTokens = {\n D: { pattern: /-/, optional: true },\n F: { pattern: /[0-9]/, repeated: true },\n X: { pattern: /[0-9.]/, repeated: true },\n U: { pattern: /[-0-9.]/, repeated: true },\n };\n // Tokens for custom mask mode\n const maskModeTokens = {\n '#': { pattern: /[0-9]/ },\n '^': { pattern: /[a-zA-Z]/ },\n '@': { pattern: /[a-zA-Z0-9]/ },\n ...this.customTokens(),\n };\n switch (this.maskMode()) {\n case 'hijriDate':\n mask = [`1###${this.separator()}##${this.separator()}##`];\n tokens = defaultTokens;\n break;\n case 'digits':\n mask = ['DF'];\n tokens = defaultTokens;\n break;\n case 'decimal':\n mask = [`DX`];\n tokens = defaultTokens;\n break;\n case 'thousandsSeparator':\n mask = [`U`];\n tokens = defaultTokens;\n break;\n case 'mask':\n mask = [this.maskPattern()];\n tokens = maskModeTokens;\n break;\n }\n const { MaskInput } = await import('maska');\n this.maskaJs = new MaskInput(this.elm.nativeElement, {\n mask,\n reversed: this.maskMode() === 'thousandsSeparator' ? true : false,\n tokens,\n postProcess: (value) => {\n switch (this.maskMode()) {\n case 'hijriDate':\n return this.hijriMaskHandler(value);\n case 'digits':\n return this.rangeValueLimit(value);\n case 'decimal':\n return this.decimalMaskHandler(value);\n case 'thousandsSeparator':\n return this.thousandsSeparatorHandler(value);\n case 'mask':\n return value;\n default:\n return value;\n }\n },\n preProcess: (value) => {\n switch (this.maskMode()) {\n case 'hijriDate':\n return this.hijriMaskHandler(value);\n case 'digits':\n return this.rangeValueLimit(value);\n case 'decimal':\n return this.decimalMaskHandler(value);\n case 'thousandsSeparator':\n return this.thousandsSeparatorHandler(value);\n case 'mask':\n return value;\n default:\n return value;\n }\n },\n onMaska: (details) => {\n this.onMaskChanged.emit(details);\n },\n eager: this.eager(),\n });\n }\n thousandsSeparatorHandler(value) {\n let thousandsSeparator = this.separator();\n switch (this.separator()) {\n case '-':\n thousandsSeparator = '_';\n break;\n case '.':\n thousandsSeparator = ',';\n break;\n }\n let clearValue;\n const firstChar = value.charAt(0);\n const restOfString = value.slice(1);\n if (firstChar === '-') {\n clearValue = '-' + restOfString.replace(/-/g, '');\n }\n else {\n clearValue = value.replace(/-/g, '');\n }\n // Ensure only one decimal point\n const decimalParts = clearValue.split('.');\n if (decimalParts.length > 2) {\n clearValue = decimalParts[0] + '.' + decimalParts.slice(1).join('');\n }\n // Apply range limits to the cleaned value\n clearValue = this.rangeValueLimit(clearValue);\n const addSeparator = clearValue.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n return addSeparator;\n }\n hijriMaskHandler(value) {\n const [yearStr, monthStr, dayStr] = value.split(this.separator());\n const year = +yearStr;\n const month = +monthStr;\n const day = +dayStr;\n //Month Logics\n if (!month || !year)\n return value;\n if (month > 12) {\n return `${yearStr}${this.separator()}12`;\n }\n if (month < 1) {\n return `${yearStr}${this.separator()}01`;\n }\n //Day Logics\n if (!day)\n return value;\n if (day < 1) {\n return `${yearStr}-${monthStr}${this.separator()}01`;\n }\n let maxDay = 30;\n if (month <= 6) {\n maxDay = 31;\n }\n else if (month === 12) {\n // Hijri leap year rule: (11 * year + 14) % 30 < 11\n const isKabise = (11 * year + 14) % 30 < 11;\n maxDay = isKabise ? 30 : 29;\n }\n if (day > maxDay) {\n return `${yearStr}${this.separator()}${monthStr}${this.separator()}${maxDay}`;\n }\n return value;\n }\n rangeValueLimit(value) {\n let convertedValue;\n if (this.separator()) {\n convertedValue = +value.split(this.separator()).join('');\n }\n else {\n convertedValue = +value;\n }\n if (this.minValue() && convertedValue < this.minValue()) {\n return this.minValue().toString();\n }\n if (this.maxValue() && convertedValue > this.maxValue()) {\n return this.maxValue().toString();\n }\n return value;\n }\n decimalMaskHandler(value) {\n // Remove any non-digit and non-decimal characters except the first decimal point\n let cleanValue = value;\n let finalValue;\n // Ensure only one decimal point\n const decimalParts = cleanValue.split('.');\n if (decimalParts.length > 2) {\n cleanValue = decimalParts[0] + '.' + decimalParts.slice(1).join('');\n }\n // Split into integer and decimal parts\n const parts = cleanValue.split('.');\n const integerPart = parts[0] || '';\n const decimalPart = parts[1] || '';\n // Limit decimal part to the specified number of digits\n const limitedDecimalPart = decimalPart.slice(0, this.decimal());\n // Reconstruct the value\n if (limitedDecimalPart.length > 0) {\n finalValue = integerPart + '.' + limitedDecimalPart;\n }\n else if (cleanValue.includes('.')) {\n // If there's a decimal point but no decimal part, keep the decimal point\n finalValue = integerPart + '.';\n }\n else {\n finalValue = integerPart;\n }\n return this.rangeValueLimit(finalValue);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXInputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.16\", type: AXInputMaskDirective, isStandalone: true, selector: \"[axInputMask]\", inputs: { maskMode: { classPropertyName: \"maskMode\", publicName: \"maskMode\", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: \"separator\", publicName: \"separator\", isSignal: true, isRequired: false, transformFunction: null }, eager: { classPropertyName: \"eager\", publicName: \"eager\", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null }, decimal: { classPropertyName: \"decimal\", publicName: \"decimal\", isSignal: true, isRequired: false, transformFunction: null }, maskPattern: { classPropertyName: \"maskPattern\", publicName: \"maskPattern\", isSignal: true, isRequired: false, transformFunction: null }, customTokens: { classPropertyName: \"customTokens\", publicName: \"customTokens\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMaskChanged: \"onMaskChanged\" }, exportAs: [\"axInputMask\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXInputMaskDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axInputMask]',\n exportAs: 'axInputMask',\n }]\n }], propDecorators: { maskMode: [{ type: i0.Input, args: [{ isSignal: true, alias: \"maskMode\", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: \"separator\", required: false }] }], eager: [{ type: i0.Input, args: [{ isSignal: true, alias: \"eager\", required: false }] }], onMaskChanged: [{ type: i0.Output, args: [\"onMaskChanged\"] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: \"minValue\", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: \"maxValue\", required: false }] }], decimal: [{ type: i0.Input, args: [{ isSignal: true, alias: \"decimal\", required: false }] }], maskPattern: [{ type: i0.Input, args: [{ isSignal: true, alias: \"maskPattern\", required: false }] }], customTokens: [{ type: i0.Input, args: [{ isSignal: true, alias: \"customTokens\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvaW5wdXQtbWFzay9zcmMvbGliL2lucHV0LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQ3JGOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBS1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdqQzs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFtQixRQUFRLG9EQUFDLENBQUM7UUFFN0M7OztXQUdHO1FBQ0gsY0FBUyxHQUFHLEtBQUssQ0FBUyxHQUFHLHFEQUFDLENBQUM7UUFFL0I7OztXQUdHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLGlEQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLE1BQU0sRUFBb0IsQ0FBQztRQUUzQzs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFTLElBQUksb0RBQUMsQ0FBQztRQUUvQjs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFTLElBQUksb0RBQUMsQ0FBQztRQUUvQjs7O1dBR0c7UUFDSCxZQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsbURBQUMsQ0FBQztRQUVuQjs7Ozs7Ozs7Ozs7O1dBWUc7UUFDSCxnQkFBVyxHQUFHLEtBQUssQ0FBUyxJQUFJLHVEQUFDLENBQUM7UUFFbEM7Ozs7V0FJRztRQUNILGlCQUFZLEdBQUcsS0FBSyxDQUFlLEVBQUUsd0RBQUMsQ0FBQztRQUV2QyxTQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVB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YUFBYTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE1hc2tJbnB1dCB9IGZyb20gJ21hc2thJztcblxuLyoqXG4gKiBFdmVudCBwYXlsb2FkIGZvciBpbnB1dCBtYXNrIHZhbHVlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCB0eXBlIEFYSW5wdXRNYXNrRXZlbnQgPSB7XG4gIG1hc2tlZDogc3RyaW5nO1xuICB1bm1hc2tlZDogc3RyaW5nO1xuICBjb21wbGV0ZWQ6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEF2YWlsYWJsZSBpbnB1dCBtYXNrIG1vZGVzIGZvciBkaWZmZXJlbnQgZGF0YSB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgQVhJbnB1dE1hc2tNb2RlcyA9ICdoaWpyaURhdGUnIHwgJ2RpZ2l0cycgfCAndGhvdXNhbmRzU2VwYXJhdG9yJyB8ICdkZWNpbWFsJyB8ICdtYXNrJztcblxuLyoqXG4gKiBUb2tlbiBkZWZpbml0aW9ucyBmb3IgY3VzdG9tIG1hc2sgcGF0dGVybnMuXG4gKiAtIGAjYDogRGlnaXQgKDAtOSlcbiAqIC0gYF5gOiBMZXR0ZXIgKGEteiwgQS1aKVxuICogLSBgQGA6IEFscGhhbnVtZXJpYyAoMC05LCBhLXosIEEtWilcbiAqL1xuZXhwb3J0IHR5cGUgQVhNYXNrVG9rZW5zID0ge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgcGF0dGVybjogUmVnRXhwO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICB0cmFuc2Zvcm0/OiAoY2hhcjogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgcmVwZWF0ZWQ/OiBib29sZWFuO1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgcHJvdmlkZXMgaW5wdXQgbWFza2luZyBmdW5jdGlvbmFsaXR5IGZvciB2YXJpb3VzIGRhdGEgdHlwZXMgaW5jbHVkaW5nXG4gKiBIaWpyaSBkYXRlcywgZGlnaXRzLCBkZWNpbWFsIG51bWJlcnMsIGFuZCB0aG91c2FuZHMtc2VwYXJhdGVkIG51bWJlcnMuXG4gKiBCdWlsdCBvbiB0b3Agb2YgdGhlIE1hc2thLmpzIGxpYnJhcnkgZm9yIHJvYnVzdCBpbnB1dCB2YWxpZGF0aW9uIGFuZCBmb3JtYXR0aW5nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhJbnB1dE1hc2tdJyxcbiAgZXhwb3J0QXM6ICdheElucHV0TWFzaycsXG59KVxuZXhwb3J0IGNsYXNzIEFYSW5wdXRNYXNrRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBlbG0gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgbWFza2FKczogTWFza0lucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZSBvZiBpbnB1dCBtYXNraW5nIHRvIGFwcGx5LlxuICAgKiBAZGVmYXVsdCAnZGlnaXRzJ1xuICAgKi9cbiAgbWFza01vZGUgPSBpbnB1dDxBWElucHV0TWFza01vZGVzPignZGlnaXRzJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyIHVzZWQgaW4gdGhlIG1hc2sgKGUuZy4sICcvJyBmb3IgZGF0ZXMsICcsJyBmb3IgdGhvdXNhbmRzKS5cbiAgICogQGRlZmF1bHQgJy8nXG4gICAqL1xuICBzZXBhcmF0b3IgPSBpbnB1dDxzdHJpbmc+KCcvJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXBwbHkgdGhlIG1hc2sgZWFnZXJseSAoYXMgdXNlciB0eXBlcykgb3Igb24gYmx1ci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGVhZ2VyID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1hc2tlZCB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgb25NYXNrQ2hhbmdlZCA9IG91dHB1dDxBWElucHV0TWFza0V2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGFsbG93ZWQgdmFsdWUgZm9yIG51bWVyaWMgaW5wdXRzLlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBtaW5WYWx1ZSA9IGlucHV0PG51bWJlcj4obnVsbCk7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCB2YWx1ZSBmb3IgbnVtZXJpYyBpbnB1dHMuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIG1heFZhbHVlID0gaW5wdXQ8bnVtYmVyPihudWxsKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIGFsbG93ZWQgZm9yIGRlY2ltYWwgaW5wdXRzLlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBkZWNpbWFsID0gaW5wdXQoMCk7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtYXNrIHBhdHRlcm4gZm9yICdtYXNrJyBtb2RlLlxuICAgKiBVc2UgdGhlIGZvbGxvd2luZyB0b2tlbnM6XG4gICAqIC0gYCNgOiBSZXF1aXJlZCBkaWdpdCAoMC05KVxuICAgKiAtIGBeYDogUmVxdWlyZWQgbGV0dGVyIChhLXosIEEtWilcbiAgICogLSBgQGA6IFJlcXVpcmVkIGFscGhhbnVtZXJpYyAoMC05LCBhLXosIEEtWilcbiAgICpcbiAgICogVXNlICEgYmVmb3JlIHRva2VuIHRvIGVzY2FwZSBzeW1ib2wuIEZvciBleGFtcGxlICEjIHdpbGwgcmVuZGVyICMgaW5zdGVhZCBvZiBhIGRpZ2l0LlxuICAgKiBBbnkgb3RoZXIgY2hhcmFjdGVyIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHNlcGFyYXRvci5cbiAgICogQGV4YW1wbGUgJygjIyMpICMjIy0jIyMjJyBmb3IgcGhvbmUgbnVtYmVyc1xuICAgKiBAZXhhbXBsZSAnQUEtIyMjIycgZm9yIGxpY2Vuc2UgcGxhdGVzXG4gICAqIEBleGFtcGxlICcjIy8jIy8jIyMjJyBmb3IgZGF0ZXNcbiAgICovXG4gIG1hc2tQYXR0ZXJuID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcblxuICAvKipcbiAgICogQ3VzdG9tIHRva2VuIGRlZmluaXRpb25zIHRvIGV4dGVuZCBvciBvdmVycmlkZSBkZWZhdWx0IG1hc2sgdG9rZW5zLlxuICAgKiBFYWNoIHRva2VuIG1hcHMgdG8gYSBwYXR0ZXJuIHJlZ2V4IGFuZCBvcHRpb25hbCB0cmFuc2Zvcm1hdGlvbi5cbiAgICogQGV4YW1wbGUgeyAnUCc6IHsgcGF0dGVybjogL1sxLTldLywgdHJhbnNmb3JtOiAoYykgPT4gYy50b1VwcGVyQ2FzZSgpIH0gfVxuICAgKi9cbiAgY3VzdG9tVG9rZW5zID0gaW5wdXQ8QVhNYXNrVG9rZW5zPih7fSk7XG5cbiAgI2VmZiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMubWFza01vZGUoKSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLm1hc2tNb2RlKCkgPT09ICdtYXNrJyAmJiAhdGhpcy5tYXNrUGF0dGVybigpKSByZXR1cm47XG4gICAgdGhpcy5pbml0aWFsaXplTWFzaygpO1xuICB9KTtcblxuICBwcml2YXRlIGFzeW5jIGluaXRpYWxpemVNYXNrKCkge1xuICAgIGlmICh0aGlzLm1hc2thSnMpIHRoaXMubWFza2FKcy5kZXN0cm95KCk7XG5cbiAgICBsZXQgbWFzazogc3RyaW5nW107XG4gICAgbGV0IHRva2VuczogUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgeyBwYXR0ZXJuOiBSZWdFeHA7IG9wdGlvbmFsPzogYm9vbGVhbjsgcmVwZWF0ZWQ/OiBib29sZWFuOyB0cmFuc2Zvcm0/OiAoY2hhcjogc3RyaW5nKSA9PiBzdHJpbmcgfVxuICAgID47XG5cbiAgICAvLyBEZWZhdWx0IHRva2VucyBmb3IgYnVpbHQtaW4gbW9kZXNcbiAgICBjb25zdCBkZWZhdWx0VG9rZW5zOiBBWE1hc2tUb2tlbnMgPSB7XG4gICAgICBEOiB7IHBhdHRlcm46IC8tLywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgIEY6IHsgcGF0dGVybjogL1swLTldLywgcmVwZWF0ZWQ6IHRydWUgfSxcbiAgICAgIFg6IHsgcGF0dGVybjogL1swLTkuXS8sIHJlcGVhdGVkOiB0cnVlIH0sXG4gICAgICBVOiB7IHBhdHRlcm46IC9bLTAtOS5dLywgcmVwZWF0ZWQ6IHRydWUgfSxcbiAgICB9O1xuXG4gICAgLy8gVG9rZW5zIGZvciBjdXN0b20gbWFzayBtb2RlXG4gICAgY29uc3QgbWFza01vZGVUb2tlbnM6IEFYTWFza1Rva2VucyA9IHtcbiAgICAgICcjJzogeyBwYXR0ZXJuOiAvWzAtOV0vIH0sXG4gICAgICAnXic6IHsgcGF0dGVybjogL1thLXpBLVpdLyB9LFxuICAgICAgJ0AnOiB7IHBhdHRlcm46IC9bYS16QS1aMC05XS8gfSxcbiAgICAgIC4uLnRoaXMuY3VzdG9tVG9rZW5zKCksXG4gICAgfTtcblxuICAgIHN3aXRjaCAodGhpcy5tYXNrTW9kZSgpKSB7XG4gICAgICBjYXNlICdoaWpyaURhdGUnOlxuICAgICAgICBtYXNrID0gW2AxIyMjJHt0aGlzLnNlcGFyYXRvcigpfSMjJHt0aGlzLnNlcGFyYXRvcigpfSMjYF07XG4gICAgICAgIHRva2VucyA9IGRlZmF1bHRUb2tlbnM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGlnaXRzJzpcbiAgICAgICAgbWFzayA9IFsnREYnXTtcbiAgICAgICAgdG9rZW5zID0gZGVmYXVsdFRva2VucztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZWNpbWFsJzpcbiAgICAgICAgbWFzayA9IFtgRFhgXTtcbiAgICAgICAgdG9rZW5zID0gZGVmYXVsdFRva2VucztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0aG91c2FuZHNTZXBhcmF0b3InOlxuICAgICAgICBtYXNrID0gW2BVYF07XG4gICAgICAgIHRva2VucyA9IGRlZmF1bHRUb2tlbnM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbWFzayc6XG4gICAgICAgIG1hc2sgPSBbdGhpcy5tYXNrUGF0dGVybigpXTtcbiAgICAgICAgdG9rZW5zID0gbWFza01vZGVUb2tlbnM7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IHsgTWFza0lucHV0IH0gPSBhd2FpdCBpbXBvcnQoJ21hc2thJyk7XG5cbiAgICB0aGlzLm1hc2thSnMgPSBuZXcgTWFza0lucHV0KHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIG1hc2ssXG4gICAgICByZXZlcnNlZDogdGhpcy5tYXNrTW9kZSgpID09PSAndGhvdXNhbmRzU2VwYXJhdG9yJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHRva2VucyxcbiAgICAgIHBvc3RQcm9jZXNzOiAodmFsdWUpID0+IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm1hc2tNb2RlKCkpIHtcbiAgICAgICAgICBjYXNlICdoaWpyaURhdGUnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlqcmlNYXNrSGFuZGxlcih2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnZGlnaXRzJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVMaW1pdCh2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnZGVjaW1hbCc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsTWFza0hhbmRsZXIodmFsdWUpO1xuICAgICAgICAgIGNhc2UgJ3Rob3VzYW5kc1NlcGFyYXRvcic6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aG91c2FuZHNTZXBhcmF0b3JIYW5kbGVyKHZhbHVlKTtcbiAgICAgICAgICBjYXNlICdtYXNrJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJlUHJvY2VzczogKHZhbHVlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tYXNrTW9kZSgpKSB7XG4gICAgICAgICAgY2FzZSAnaGlqcmlEYXRlJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhpanJpTWFza0hhbmRsZXIodmFsdWUpO1xuICAgICAgICAgIGNhc2UgJ2RpZ2l0cyc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlTGltaXQodmFsdWUpO1xuICAgICAgICAgIGNhc2UgJ2RlY2ltYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbE1hc2tIYW5kbGVyKHZhbHVlKTtcbiAgICAgICAgICBjYXNlICd0aG91c2FuZHNTZXBhcmF0b3InOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhvdXNhbmRzU2VwYXJhdG9ySGFuZGxlcih2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnbWFzayc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uTWFza2E6IChkZXRhaWxzKSA9PiB7XG4gICAgICAgIHRoaXMub25NYXNrQ2hhbmdlZC5lbWl0KGRldGFpbHMpO1xuICAgICAgfSxcbiAgICAgIGVhZ2VyOiB0aGlzLmVhZ2VyKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRob3VzYW5kc1NlcGFyYXRvckhhbmRsZXIodmFsdWU6IHN0cmluZykge1xuICAgIGxldCB0aG91c2FuZHNTZXBhcmF0b3IgPSB0aGlzLnNlcGFyYXRvcigpO1xuXG4gICAgc3dpdGNoICh0aGlzLnNlcGFyYXRvcigpKSB7XG4gICAgICBjYXNlICctJzpcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yID0gJ18nO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJy4nOlxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3IgPSAnLCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGxldCBjbGVhclZhbHVlOiBzdHJpbmc7XG5cbiAgICBjb25zdCBmaXJzdENoYXIgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgY29uc3QgcmVzdE9mU3RyaW5nID0gdmFsdWUuc2xpY2UoMSk7XG5cbiAgICBpZiAoZmlyc3RDaGFyID09PSAnLScpIHtcbiAgICAgIGNsZWFyVmFsdWUgPSAnLScgKyByZXN0T2ZTdHJpbmcucmVwbGFjZSgvLS9nLCAnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8tL2csICcnKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgb25seSBvbmUgZGVjaW1hbCBwb2ludFxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0cyA9IGNsZWFyVmFsdWUuc3BsaXQoJy4nKTtcbiAgICBpZiAoZGVjaW1hbFBhcnRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIGNsZWFyVmFsdWUgPSBkZWNpbWFsUGFydHNbMF0gKyAnLicgKyBkZWNpbWFsUGFydHMuc2xpY2UoMSkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgcmFuZ2UgbGltaXRzIHRvIHRoZSBjbGVhbmVkIHZhbHVlXG4gICAgY2xlYXJWYWx1ZSA9IHRoaXMucmFuZ2VWYWx1ZUxpbWl0KGNsZWFyVmFsdWUpO1xuXG4gICAgY29uc3QgYWRkU2VwYXJhdG9yID0gY2xlYXJWYWx1ZS5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCB0aG91c2FuZHNTZXBhcmF0b3IpO1xuXG4gICAgcmV0dXJuIGFkZFNlcGFyYXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgaGlqcmlNYXNrSGFuZGxlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgW3llYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHJdID0gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IoKSk7XG5cbiAgICBjb25zdCB5ZWFyID0gK3llYXJTdHI7XG4gICAgY29uc3QgbW9udGggPSArbW9udGhTdHI7XG4gICAgY29uc3QgZGF5ID0gK2RheVN0cjtcblxuICAgIC8vTW9udGggTG9naWNzXG4gICAgaWYgKCFtb250aCB8fCAheWVhcikgcmV0dXJuIHZhbHVlO1xuICAgIGlmIChtb250aCA+IDEyKSB7XG4gICAgICByZXR1cm4gYCR7eWVhclN0cn0ke3RoaXMuc2VwYXJhdG9yKCl9MTJgO1xuICAgIH1cbiAgICBpZiAobW9udGggPCAxKSB7XG4gICAgICByZXR1cm4gYCR7eWVhclN0cn0ke3RoaXMuc2VwYXJhdG9yKCl9MDFgO1xuICAgIH1cblxuICAgIC8vRGF5IExvZ2ljc1xuICAgIGlmICghZGF5KSByZXR1cm4gdmFsdWU7XG5cbiAgICBpZiAoZGF5IDwgMSkge1xuICAgICAgcmV0dXJuIGAke3llYXJTdHJ9LSR7bW9udGhTdHJ9JHt0aGlzLnNlcGFyYXRvcigpfTAxYDtcbiAgICB9XG5cbiAgICBsZXQgbWF4RGF5ID0gMzA7XG4gICAgaWYgKG1vbnRoIDw9IDYpIHtcbiAgICAgIG1heERheSA9IDMxO1xuICAgIH0gZWxzZSBpZiAobW9udGggPT09IDEyKSB7XG4gICAgICAvLyBIaWpyaSBsZWFwIHllYXIgcnVsZTogKDExICogeWVhciArIDE0KSAlIDMwIDwgMTFcbiAgICAgIGNvbnN0IGlzS2FiaXNlID0gKDExICogeWVhciArIDE0KSAlIDMwIDwgMTE7XG4gICAgICBtYXhEYXkgPSBpc0thYmlzZSA/IDMwIDogMjk7XG4gICAgfVxuXG4gICAgaWYgKGRheSA+IG1heERheSkge1xuICAgICAgcmV0dXJuIGAke3llYXJTdHJ9JHt0aGlzLnNlcGFyYXRvcigpfSR7bW9udGhTdHJ9JHt0aGlzLnNlcGFyYXRvcigpfSR7bWF4RGF5fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByYW5nZVZhbHVlTGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIGxldCBjb252ZXJ0ZWRWYWx1ZTogbnVtYmVyO1xuXG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yKCkpIHtcbiAgICAgIGNvbnZlcnRlZFZhbHVlID0gK3ZhbHVlLnNwbGl0KHRoaXMuc2VwYXJhdG9yKCkpLmpvaW4oJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb252ZXJ0ZWRWYWx1ZSA9ICt2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW5WYWx1ZSgpICYmIGNvbnZlcnRlZFZhbHVlIDwgdGhpcy5taW5WYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5taW5WYWx1ZSgpLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWF4VmFsdWUoKSAmJiBjb252ZXJ0ZWRWYWx1ZSA+IHRoaXMubWF4VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWUoKS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGVjaW1hbE1hc2tIYW5kbGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBSZW1vdmUgYW55IG5vbi1kaWdpdCBhbmQgbm9uLWRlY2ltYWwgY2hhcmFjdGVycyBleGNlcHQgdGhlIGZpcnN0IGRlY2ltYWwgcG9pbnRcbiAgICBsZXQgY2xlYW5WYWx1ZSA9IHZhbHVlO1xuICAgIGxldCBmaW5hbFZhbHVlOiBzdHJpbmc7XG5cbiAgICAvLyBFbnN1cmUgb25seSBvbmUgZGVjaW1hbCBwb2ludFxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0cyA9IGNsZWFuVmFsdWUuc3BsaXQoJy4nKTtcbiAgICBpZiAoZGVjaW1hbFBhcnRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIGNsZWFuVmFsdWUgPSBkZWNpbWFsUGFydHNbMF0gKyAnLicgKyBkZWNpbWFsUGFydHMuc2xpY2UoMSkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLy8gU3BsaXQgaW50byBpbnRlZ2VyIGFuZCBkZWNpbWFsIHBhcnRzXG4gICAgY29uc3QgcGFydHMgPSBjbGVhblZhbHVlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgaW50ZWdlclBhcnQgPSBwYXJ0c1swXSB8fCAnJztcbiAgICBjb25zdCBkZWNpbWFsUGFydCA9IHBhcnRzWzFdIHx8ICcnO1xuXG4gICAgLy8gTGltaXQgZGVjaW1hbCBwYXJ0IHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRpZ2l0c1xuICAgIGNvbnN0IGxpbWl0ZWREZWNpbWFsUGFydCA9IGRlY2ltYWxQYXJ0LnNsaWNlKDAsIHRoaXMuZGVjaW1hbCgpKTtcblxuICAgIC8vIFJlY29uc3RydWN0IHRoZSB2YWx1ZVxuICAgIGlmIChsaW1pdGVkRGVjaW1hbFBhcnQubGVuZ3RoID4gMCkge1xuICAgICAgZmluYWxWYWx1ZSA9IGludGVnZXJQYXJ0ICsgJy4nICsgbGltaXRlZERlY2ltYWxQYXJ0O1xuICAgIH0gZWxzZSBpZiAoY2xlYW5WYWx1ZS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIGEgZGVjaW1hbCBwb2ludCBidXQgbm8gZGVjaW1hbCBwYXJ0LCBrZWVwIHRoZSBkZWNpbWFsIHBvaW50XG4gICAgICBmaW5hbFZhbHVlID0gaW50ZWdlclBhcnQgKyAnLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbmFsVmFsdWUgPSBpbnRlZ2VyUGFydDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlTGltaXQoZmluYWxWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1pbnB1dC1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2lucHV0LW1hc2svc3JjL2Fjb3JleC1jZGstaW5wdXQtbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAM,oBAAoB,CAAC;AAClC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1F;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvF;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF;AACA;AACA;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5F;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5F,QAAQ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM;AACjC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI;AACxC,gBAAgB;AAChB,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACjE,gBAAgB;AAChB,YAAY,IAAI,CAAC,cAAc,EAAE;AACjC,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzD,IAAI;AACJ,IAAI,IAAI;AACR,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,IAAI,IAAI,CAAC,OAAO;AACxB,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAClC,QAAQ,IAAI,IAAI;AAChB,QAAQ,IAAI,MAAM;AAClB;AACA,QAAQ,MAAM,aAAa,GAAG;AAC9B,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC/C,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;AACnD,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;AACpD,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;AACrD,SAAS;AACT;AACA,QAAQ,MAAM,cAAc,GAAG;AAC/B,YAAY,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;AACrC,YAAY,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;AACxC,YAAY,GAAG,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AAC3C,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;AAClC,SAAS;AACT,QAAQ,QAAQ,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAY,KAAK,WAAW;AAC5B,gBAAgB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AACzE,gBAAgB,MAAM,GAAG,aAAa;AACtC,gBAAgB;AAChB,YAAY,KAAK,QAAQ;AACzB,gBAAgB,IAAI,GAAG,CAAC,IAAI,CAAC;AAC7B,gBAAgB,MAAM,GAAG,aAAa;AACtC,gBAAgB;AAChB,YAAY,KAAK,SAAS;AAC1B,gBAAgB,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7B,gBAAgB,MAAM,GAAG,aAAa;AACtC,gBAAgB;AAChB,YAAY,KAAK,oBAAoB;AACrC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,gBAAgB,MAAM,GAAG,aAAa;AACtC,gBAAgB;AAChB,YAAY,KAAK,MAAM;AACvB,gBAAgB,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3C,gBAAgB,MAAM,GAAG,cAAc;AACvC,gBAAgB;AAChB;AACA,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,OAAO,CAAC;AACnD,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC7D,YAAY,IAAI;AAChB,YAAY,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,oBAAoB,GAAG,IAAI,GAAG,KAAK;AAC7E,YAAY,MAAM;AAClB,YAAY,WAAW,EAAE,CAAC,KAAK,KAAK;AACpC,gBAAgB,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvC,oBAAoB,KAAK,WAAW;AACpC,wBAAwB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC3D,oBAAoB,KAAK,QAAQ;AACjC,wBAAwB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAC1D,oBAAoB,KAAK,SAAS;AAClC,wBAAwB,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;AAC7D,oBAAoB,KAAK,oBAAoB;AAC7C,wBAAwB,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACpE,oBAAoB,KAAK,MAAM;AAC/B,wBAAwB,OAAO,KAAK;AACpC,oBAAoB;AACpB,wBAAwB,OAAO,KAAK;AACpC;AACA,YAAY,CAAC;AACb,YAAY,UAAU,EAAE,CAAC,KAAK,KAAK;AACnC,gBAAgB,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvC,oBAAoB,KAAK,WAAW;AACpC,wBAAwB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC3D,oBAAoB,KAAK,QAAQ;AACjC,wBAAwB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAC1D,oBAAoB,KAAK,SAAS;AAClC,wBAAwB,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;AAC7D,oBAAoB,KAAK,oBAAoB;AAC7C,wBAAwB,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACpE,oBAAoB,KAAK,MAAM;AAC/B,wBAAwB,OAAO,KAAK;AACpC,oBAAoB;AACpB,wBAAwB,OAAO,KAAK;AACpC;AACA,YAAY,CAAC;AACb,YAAY,OAAO,EAAE,CAAC,OAAO,KAAK;AAClC,gBAAgB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAChD,YAAY,CAAC;AACb,YAAY,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AAC/B,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,yBAAyB,CAAC,KAAK,EAAE;AACrC,QAAQ,IAAI,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE;AACjD,QAAQ,QAAQ,IAAI,CAAC,SAAS,EAAE;AAChC,YAAY,KAAK,GAAG;AACpB,gBAAgB,kBAAkB,GAAG,GAAG;AACxC,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,kBAAkB,GAAG,GAAG;AACxC,gBAAgB;AAChB;AACA,QAAQ,IAAI,UAAU;AACtB,QAAQ,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,QAAQ,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,QAAQ,IAAI,SAAS,KAAK,GAAG,EAAE;AAC/B,YAAY,UAAU,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC7D,QAAQ;AACR,aAAa;AACb,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAChD,QAAQ;AACR;AACA,QAAQ,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AAClD,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,YAAY,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/E,QAAQ;AACR;AACA,QAAQ,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;AACrD,QAAQ,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;AAC5F,QAAQ,OAAO,YAAY;AAC3B,IAAI;AACJ,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B,QAAQ,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACzE,QAAQ,MAAM,IAAI,GAAG,CAAC,OAAO;AAC7B,QAAQ,MAAM,KAAK,GAAG,CAAC,QAAQ;AAC/B,QAAQ,MAAM,GAAG,GAAG,CAAC,MAAM;AAC3B;AACA,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;AAC3B,YAAY,OAAO,KAAK;AACxB,QAAQ,IAAI,KAAK,GAAG,EAAE,EAAE;AACxB,YAAY,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AACpD,QAAQ;AACR,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE;AACvB,YAAY,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AACpD,QAAQ;AACR;AACA,QAAQ,IAAI,CAAC,GAAG;AAChB,YAAY,OAAO,KAAK;AACxB,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE;AACrB,YAAY,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AAChE,QAAQ;AACR,QAAQ,IAAI,MAAM,GAAG,EAAE;AACvB,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE;AACxB,YAAY,MAAM,GAAG,EAAE;AACvB,QAAQ;AACR,aAAa,IAAI,KAAK,KAAK,EAAE,EAAE;AAC/B;AACA,YAAY,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;AACvD,YAAY,MAAM,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE;AACvC,QAAQ;AACR,QAAQ,IAAI,GAAG,GAAG,MAAM,EAAE;AAC1B,YAAY,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AACzF,QAAQ;AACR,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,eAAe,CAAC,KAAK,EAAE;AAC3B,QAAQ,IAAI,cAAc;AAC1B,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AAC9B,YAAY,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACpE,QAAQ;AACR,aAAa;AACb,YAAY,cAAc,GAAG,CAAC,KAAK;AACnC,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjE,YAAY,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;AAC7C,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjE,YAAY,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;AAC7C,QAAQ;AACR,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC9B;AACA,QAAQ,IAAI,UAAU,GAAG,KAAK;AAC9B,QAAQ,IAAI,UAAU;AACtB;AACA,QAAQ,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AAClD,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,YAAY,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/E,QAAQ;AACR;AACA,QAAQ,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3C,QAAQ,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AAC1C,QAAQ,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AAC1C;AACA,QAAQ,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACvE;AACA,QAAQ,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,YAAY,UAAU,GAAG,WAAW,GAAG,GAAG,GAAG,kBAAkB;AAC/D,QAAQ;AACR,aAAa,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC3C;AACA,YAAY,UAAU,GAAG,WAAW,GAAG,GAAG;AAC1C,QAAQ;AACR,aAAa;AACb,YAAY,UAAU,GAAG,WAAW;AACpC,QAAQ;AACR,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;AAC/C,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACvL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAChyC;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC/H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,eAAe;AAC7C,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;ACjRx2B;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"acorex-cdk-input-mask.mjs","sources":["../tmp-esm2022/input-mask/lib/input-mask.directive.js","../tmp-esm2022/input-mask/acorex-cdk-input-mask.js"],"sourcesContent":["import { Directive, effect, ElementRef, inject, input, output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Directive that provides input masking functionality for various data types including\n * Hijri dates, digits, decimal numbers, and thousands-separated numbers.\n * Built on top of the Maska.js library for robust input validation and formatting.\n */\nexport class AXInputMaskDirective {\n constructor() {\n this.elm = inject(ElementRef);\n /**\n * The mode of input masking to apply.\n * @default 'digits'\n */\n this.maskMode = input('digits', ...(ngDevMode ? [{ debugName: \"maskMode\" }] : []));\n /**\n * The separator character used in the mask (e.g., '/' for dates, ',' for thousands).\n * @default '/'\n */\n this.separator = input('/', ...(ngDevMode ? [{ debugName: \"separator\" }] : []));\n /**\n * Whether to apply the mask eagerly (as user types) or on blur.\n * @default false\n */\n this.eager = input(false, ...(ngDevMode ? [{ debugName: \"eager\" }] : []));\n /**\n * Event emitted when the masked value changes.\n */\n this.onMaskChanged = output();\n /**\n * Minimum allowed value for numeric inputs.\n * @default null\n */\n this.minValue = input(null, ...(ngDevMode ? [{ debugName: \"minValue\" }] : []));\n /**\n * Maximum allowed value for numeric inputs.\n * @default null\n */\n this.maxValue = input(null, ...(ngDevMode ? [{ debugName: \"maxValue\" }] : []));\n /**\n * Number of decimal places allowed for decimal inputs.\n * @default 0\n */\n this.decimal = input(0, ...(ngDevMode ? [{ debugName: \"decimal\" }] : []));\n /**\n * Custom mask pattern for 'mask' mode.\n * Use the following tokens:\n * - `#`: Required digit (0-9)\n * - `^`: Required letter (a-z, A-Z)\n * - `@`: Required alphanumeric (0-9, a-z, A-Z)\n *\n * Use ! before token to escape symbol. For example !# will render # instead of a digit.\n * Any other character is treated as a literal separator.\n * @example '(###) ###-####' for phone numbers\n * @example 'AA-####' for license plates\n * @example '##/##/####' for dates\n */\n this.maskPattern = input(null, ...(ngDevMode ? [{ debugName: \"maskPattern\" }] : []));\n /**\n * Custom token definitions to extend or override default mask tokens.\n * Each token maps to a pattern regex and optional transformation.\n * @example { 'P': { pattern: /[1-9]/, transform: (c) => c.toUpperCase() } }\n */\n this.customTokens = input({}, ...(ngDevMode ? [{ debugName: \"customTokens\" }] : []));\n this.#eff = effect(() => {\n if (this.maskMode() === null)\n return;\n if (this.maskMode() === 'mask' && !this.maskPattern())\n return;\n this.initializeMask();\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n async initializeMask() {\n if (this.maskaJs)\n this.maskaJs.destroy();\n let mask;\n let tokens;\n // Default tokens for built-in modes\n const defaultTokens = {\n D: { pattern: /-/, optional: true },\n F: { pattern: /[0-9]/, repeated: true },\n X: { pattern: /[0-9.]/, repeated: true },\n U: { pattern: /[-0-9.]/, repeated: true },\n };\n // Tokens for custom mask mode\n const maskModeTokens = {\n '#': { pattern: /[0-9]/ },\n '^': { pattern: /[a-zA-Z]/ },\n '@': { pattern: /[a-zA-Z0-9]/ },\n ...this.customTokens(),\n };\n switch (this.maskMode()) {\n case 'hijriDate':\n mask = [`1###${this.separator()}##${this.separator()}##`];\n tokens = defaultTokens;\n break;\n case 'digits':\n mask = ['DF'];\n tokens = defaultTokens;\n break;\n case 'decimal':\n mask = [`DX`];\n tokens = defaultTokens;\n break;\n case 'thousandsSeparator':\n mask = [`U`];\n tokens = defaultTokens;\n break;\n case 'mask':\n mask = [this.maskPattern()];\n tokens = maskModeTokens;\n break;\n }\n const { MaskInput } = await import('maska');\n this.maskaJs = new MaskInput(this.elm.nativeElement, {\n mask,\n reversed: this.maskMode() === 'thousandsSeparator' ? true : false,\n tokens,\n postProcess: (value) => {\n switch (this.maskMode()) {\n case 'hijriDate':\n return this.hijriMaskHandler(value);\n case 'digits':\n return this.rangeValueLimit(value);\n case 'decimal':\n return this.decimalMaskHandler(value);\n case 'thousandsSeparator':\n return this.thousandsSeparatorHandler(value);\n case 'mask':\n return value;\n default:\n return value;\n }\n },\n preProcess: (value) => {\n switch (this.maskMode()) {\n case 'hijriDate':\n return this.hijriMaskHandler(value);\n case 'digits':\n return this.rangeValueLimit(value);\n case 'decimal':\n return this.decimalMaskHandler(value);\n case 'thousandsSeparator':\n return this.thousandsSeparatorHandler(value);\n case 'mask':\n return value;\n default:\n return value;\n }\n },\n onMaska: (details) => {\n this.onMaskChanged.emit(details);\n },\n eager: this.eager(),\n });\n }\n thousandsSeparatorHandler(value) {\n let thousandsSeparator = this.separator();\n switch (this.separator()) {\n case '-':\n thousandsSeparator = '_';\n break;\n case '.':\n thousandsSeparator = ',';\n break;\n }\n let clearValue;\n const firstChar = value.charAt(0);\n const restOfString = value.slice(1);\n if (firstChar === '-') {\n clearValue = '-' + restOfString.replace(/-/g, '');\n }\n else {\n clearValue = value.replace(/-/g, '');\n }\n // Ensure only one decimal point\n const decimalParts = clearValue.split('.');\n if (decimalParts.length > 2) {\n clearValue = decimalParts[0] + '.' + decimalParts.slice(1).join('');\n }\n // Apply range limits to the cleaned value\n clearValue = this.rangeValueLimit(clearValue);\n const addSeparator = clearValue.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n return addSeparator;\n }\n hijriMaskHandler(value) {\n const [yearStr, monthStr, dayStr] = value.split(this.separator());\n const year = +yearStr;\n const month = +monthStr;\n const day = +dayStr;\n //Month Logics\n if (!month || !year)\n return value;\n if (month > 12) {\n return `${yearStr}${this.separator()}12`;\n }\n if (month < 1) {\n return `${yearStr}${this.separator()}01`;\n }\n //Day Logics\n if (!day)\n return value;\n if (day < 1) {\n return `${yearStr}-${monthStr}${this.separator()}01`;\n }\n let maxDay = 30;\n if (month <= 6) {\n maxDay = 31;\n }\n else if (month === 12) {\n // Hijri leap year rule: (11 * year + 14) % 30 < 11\n const isKabise = (11 * year + 14) % 30 < 11;\n maxDay = isKabise ? 30 : 29;\n }\n if (day > maxDay) {\n return `${yearStr}${this.separator()}${monthStr}${this.separator()}${maxDay}`;\n }\n return value;\n }\n rangeValueLimit(value) {\n let convertedValue;\n if (this.separator()) {\n convertedValue = +value.split(this.separator()).join('');\n }\n else {\n convertedValue = +value;\n }\n if (this.minValue() && convertedValue < this.minValue()) {\n return this.minValue().toString();\n }\n if (this.maxValue() && convertedValue > this.maxValue()) {\n return this.maxValue().toString();\n }\n return value;\n }\n decimalMaskHandler(value) {\n // Remove any non-digit and non-decimal characters except the first decimal point\n let cleanValue = value;\n let finalValue;\n // Ensure only one decimal point\n const decimalParts = cleanValue.split('.');\n if (decimalParts.length > 2) {\n cleanValue = decimalParts[0] + '.' + decimalParts.slice(1).join('');\n }\n // Split into integer and decimal parts\n const parts = cleanValue.split('.');\n const integerPart = parts[0] || '';\n const decimalPart = parts[1] || '';\n // Limit decimal part to the specified number of digits\n const limitedDecimalPart = decimalPart.slice(0, this.decimal());\n // Reconstruct the value\n if (limitedDecimalPart.length > 0) {\n finalValue = integerPart + '.' + limitedDecimalPart;\n }\n else if (cleanValue.includes('.')) {\n // If there's a decimal point but no decimal part, keep the decimal point\n finalValue = integerPart + '.';\n }\n else {\n finalValue = integerPart;\n }\n return this.rangeValueLimit(finalValue);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXInputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.3\", type: AXInputMaskDirective, isStandalone: true, selector: \"[axInputMask]\", inputs: { maskMode: { classPropertyName: \"maskMode\", publicName: \"maskMode\", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: \"separator\", publicName: \"separator\", isSignal: true, isRequired: false, transformFunction: null }, eager: { classPropertyName: \"eager\", publicName: \"eager\", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null }, decimal: { classPropertyName: \"decimal\", publicName: \"decimal\", isSignal: true, isRequired: false, transformFunction: null }, maskPattern: { classPropertyName: \"maskPattern\", publicName: \"maskPattern\", isSignal: true, isRequired: false, transformFunction: null }, customTokens: { classPropertyName: \"customTokens\", publicName: \"customTokens\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMaskChanged: \"onMaskChanged\" }, exportAs: [\"axInputMask\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXInputMaskDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axInputMask]',\n exportAs: 'axInputMask',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvaW5wdXQtbWFzay9zcmMvbGliL2lucHV0LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQ3JGOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBS1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdqQzs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFtQixRQUFRLG9EQUFDLENBQUM7UUFFN0M7OztXQUdHO1FBQ0gsY0FBUyxHQUFHLEtBQUssQ0FBUyxHQUFHLHFEQUFDLENBQUM7UUFFL0I7OztXQUdHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLGlEQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLE1BQU0sRUFBb0IsQ0FBQztRQUUzQzs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFTLElBQUksb0RBQUMsQ0FBQztRQUUvQjs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFTLElBQUksb0RBQUMsQ0FBQztRQUUvQjs7O1dBR0c7UUFDSCxZQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsbURBQUMsQ0FBQztRQUVuQjs7Ozs7Ozs7Ozs7O1dBWUc7UUFDSCxnQkFBVyxHQUFHLEtBQUssQ0FBUyxJQUFJLHVEQUFDLENBQUM7UUFFbEM7Ozs7V0FJRztRQUNILGlCQUFZLEdBQUcsS0FBSyxDQUFlLEVBQUUsd0RBQUMsQ0FBQztRQUV2QyxTQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVB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YUFBYTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE1hc2tJbnB1dCB9IGZyb20gJ21hc2thJztcblxuLyoqXG4gKiBFdmVudCBwYXlsb2FkIGZvciBpbnB1dCBtYXNrIHZhbHVlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCB0eXBlIEFYSW5wdXRNYXNrRXZlbnQgPSB7XG4gIG1hc2tlZDogc3RyaW5nO1xuICB1bm1hc2tlZDogc3RyaW5nO1xuICBjb21wbGV0ZWQ6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEF2YWlsYWJsZSBpbnB1dCBtYXNrIG1vZGVzIGZvciBkaWZmZXJlbnQgZGF0YSB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgQVhJbnB1dE1hc2tNb2RlcyA9ICdoaWpyaURhdGUnIHwgJ2RpZ2l0cycgfCAndGhvdXNhbmRzU2VwYXJhdG9yJyB8ICdkZWNpbWFsJyB8ICdtYXNrJztcblxuLyoqXG4gKiBUb2tlbiBkZWZpbml0aW9ucyBmb3IgY3VzdG9tIG1hc2sgcGF0dGVybnMuXG4gKiAtIGAjYDogRGlnaXQgKDAtOSlcbiAqIC0gYF5gOiBMZXR0ZXIgKGEteiwgQS1aKVxuICogLSBgQGA6IEFscGhhbnVtZXJpYyAoMC05LCBhLXosIEEtWilcbiAqL1xuZXhwb3J0IHR5cGUgQVhNYXNrVG9rZW5zID0ge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgcGF0dGVybjogUmVnRXhwO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICB0cmFuc2Zvcm0/OiAoY2hhcjogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgcmVwZWF0ZWQ/OiBib29sZWFuO1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgcHJvdmlkZXMgaW5wdXQgbWFza2luZyBmdW5jdGlvbmFsaXR5IGZvciB2YXJpb3VzIGRhdGEgdHlwZXMgaW5jbHVkaW5nXG4gKiBIaWpyaSBkYXRlcywgZGlnaXRzLCBkZWNpbWFsIG51bWJlcnMsIGFuZCB0aG91c2FuZHMtc2VwYXJhdGVkIG51bWJlcnMuXG4gKiBCdWlsdCBvbiB0b3Agb2YgdGhlIE1hc2thLmpzIGxpYnJhcnkgZm9yIHJvYnVzdCBpbnB1dCB2YWxpZGF0aW9uIGFuZCBmb3JtYXR0aW5nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhJbnB1dE1hc2tdJyxcbiAgZXhwb3J0QXM6ICdheElucHV0TWFzaycsXG59KVxuZXhwb3J0IGNsYXNzIEFYSW5wdXRNYXNrRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBlbG0gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgbWFza2FKczogTWFza0lucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZSBvZiBpbnB1dCBtYXNraW5nIHRvIGFwcGx5LlxuICAgKiBAZGVmYXVsdCAnZGlnaXRzJ1xuICAgKi9cbiAgbWFza01vZGUgPSBpbnB1dDxBWElucHV0TWFza01vZGVzPignZGlnaXRzJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyIHVzZWQgaW4gdGhlIG1hc2sgKGUuZy4sICcvJyBmb3IgZGF0ZXMsICcsJyBmb3IgdGhvdXNhbmRzKS5cbiAgICogQGRlZmF1bHQgJy8nXG4gICAqL1xuICBzZXBhcmF0b3IgPSBpbnB1dDxzdHJpbmc+KCcvJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXBwbHkgdGhlIG1hc2sgZWFnZXJseSAoYXMgdXNlciB0eXBlcykgb3Igb24gYmx1ci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGVhZ2VyID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1hc2tlZCB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgb25NYXNrQ2hhbmdlZCA9IG91dHB1dDxBWElucHV0TWFza0V2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGFsbG93ZWQgdmFsdWUgZm9yIG51bWVyaWMgaW5wdXRzLlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBtaW5WYWx1ZSA9IGlucHV0PG51bWJlcj4obnVsbCk7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCB2YWx1ZSBmb3IgbnVtZXJpYyBpbnB1dHMuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIG1heFZhbHVlID0gaW5wdXQ8bnVtYmVyPihudWxsKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIGFsbG93ZWQgZm9yIGRlY2ltYWwgaW5wdXRzLlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBkZWNpbWFsID0gaW5wdXQoMCk7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtYXNrIHBhdHRlcm4gZm9yICdtYXNrJyBtb2RlLlxuICAgKiBVc2UgdGhlIGZvbGxvd2luZyB0b2tlbnM6XG4gICAqIC0gYCNgOiBSZXF1aXJlZCBkaWdpdCAoMC05KVxuICAgKiAtIGBeYDogUmVxdWlyZWQgbGV0dGVyIChhLXosIEEtWilcbiAgICogLSBgQGA6IFJlcXVpcmVkIGFscGhhbnVtZXJpYyAoMC05LCBhLXosIEEtWilcbiAgICpcbiAgICogVXNlICEgYmVmb3JlIHRva2VuIHRvIGVzY2FwZSBzeW1ib2wuIEZvciBleGFtcGxlICEjIHdpbGwgcmVuZGVyICMgaW5zdGVhZCBvZiBhIGRpZ2l0LlxuICAgKiBBbnkgb3RoZXIgY2hhcmFjdGVyIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHNlcGFyYXRvci5cbiAgICogQGV4YW1wbGUgJygjIyMpICMjIy0jIyMjJyBmb3IgcGhvbmUgbnVtYmVyc1xuICAgKiBAZXhhbXBsZSAnQUEtIyMjIycgZm9yIGxpY2Vuc2UgcGxhdGVzXG4gICAqIEBleGFtcGxlICcjIy8jIy8jIyMjJyBmb3IgZGF0ZXNcbiAgICovXG4gIG1hc2tQYXR0ZXJuID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcblxuICAvKipcbiAgICogQ3VzdG9tIHRva2VuIGRlZmluaXRpb25zIHRvIGV4dGVuZCBvciBvdmVycmlkZSBkZWZhdWx0IG1hc2sgdG9rZW5zLlxuICAgKiBFYWNoIHRva2VuIG1hcHMgdG8gYSBwYXR0ZXJuIHJlZ2V4IGFuZCBvcHRpb25hbCB0cmFuc2Zvcm1hdGlvbi5cbiAgICogQGV4YW1wbGUgeyAnUCc6IHsgcGF0dGVybjogL1sxLTldLywgdHJhbnNmb3JtOiAoYykgPT4gYy50b1VwcGVyQ2FzZSgpIH0gfVxuICAgKi9cbiAgY3VzdG9tVG9rZW5zID0gaW5wdXQ8QVhNYXNrVG9rZW5zPih7fSk7XG5cbiAgI2VmZiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMubWFza01vZGUoKSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLm1hc2tNb2RlKCkgPT09ICdtYXNrJyAmJiAhdGhpcy5tYXNrUGF0dGVybigpKSByZXR1cm47XG4gICAgdGhpcy5pbml0aWFsaXplTWFzaygpO1xuICB9KTtcblxuICBwcml2YXRlIGFzeW5jIGluaXRpYWxpemVNYXNrKCkge1xuICAgIGlmICh0aGlzLm1hc2thSnMpIHRoaXMubWFza2FKcy5kZXN0cm95KCk7XG5cbiAgICBsZXQgbWFzazogc3RyaW5nW107XG4gICAgbGV0IHRva2VuczogUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgeyBwYXR0ZXJuOiBSZWdFeHA7IG9wdGlvbmFsPzogYm9vbGVhbjsgcmVwZWF0ZWQ/OiBib29sZWFuOyB0cmFuc2Zvcm0/OiAoY2hhcjogc3RyaW5nKSA9PiBzdHJpbmcgfVxuICAgID47XG5cbiAgICAvLyBEZWZhdWx0IHRva2VucyBmb3IgYnVpbHQtaW4gbW9kZXNcbiAgICBjb25zdCBkZWZhdWx0VG9rZW5zOiBBWE1hc2tUb2tlbnMgPSB7XG4gICAgICBEOiB7IHBhdHRlcm46IC8tLywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgIEY6IHsgcGF0dGVybjogL1swLTldLywgcmVwZWF0ZWQ6IHRydWUgfSxcbiAgICAgIFg6IHsgcGF0dGVybjogL1swLTkuXS8sIHJlcGVhdGVkOiB0cnVlIH0sXG4gICAgICBVOiB7IHBhdHRlcm46IC9bLTAtOS5dLywgcmVwZWF0ZWQ6IHRydWUgfSxcbiAgICB9O1xuXG4gICAgLy8gVG9rZW5zIGZvciBjdXN0b20gbWFzayBtb2RlXG4gICAgY29uc3QgbWFza01vZGVUb2tlbnM6IEFYTWFza1Rva2VucyA9IHtcbiAgICAgICcjJzogeyBwYXR0ZXJuOiAvWzAtOV0vIH0sXG4gICAgICAnXic6IHsgcGF0dGVybjogL1thLXpBLVpdLyB9LFxuICAgICAgJ0AnOiB7IHBhdHRlcm46IC9bYS16QS1aMC05XS8gfSxcbiAgICAgIC4uLnRoaXMuY3VzdG9tVG9rZW5zKCksXG4gICAgfTtcblxuICAgIHN3aXRjaCAodGhpcy5tYXNrTW9kZSgpKSB7XG4gICAgICBjYXNlICdoaWpyaURhdGUnOlxuICAgICAgICBtYXNrID0gW2AxIyMjJHt0aGlzLnNlcGFyYXRvcigpfSMjJHt0aGlzLnNlcGFyYXRvcigpfSMjYF07XG4gICAgICAgIHRva2VucyA9IGRlZmF1bHRUb2tlbnM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGlnaXRzJzpcbiAgICAgICAgbWFzayA9IFsnREYnXTtcbiAgICAgICAgdG9rZW5zID0gZGVmYXVsdFRva2VucztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZWNpbWFsJzpcbiAgICAgICAgbWFzayA9IFtgRFhgXTtcbiAgICAgICAgdG9rZW5zID0gZGVmYXVsdFRva2VucztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0aG91c2FuZHNTZXBhcmF0b3InOlxuICAgICAgICBtYXNrID0gW2BVYF07XG4gICAgICAgIHRva2VucyA9IGRlZmF1bHRUb2tlbnM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbWFzayc6XG4gICAgICAgIG1hc2sgPSBbdGhpcy5tYXNrUGF0dGVybigpXTtcbiAgICAgICAgdG9rZW5zID0gbWFza01vZGVUb2tlbnM7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnN0IHsgTWFza0lucHV0IH0gPSBhd2FpdCBpbXBvcnQoJ21hc2thJyk7XG5cbiAgICB0aGlzLm1hc2thSnMgPSBuZXcgTWFza0lucHV0KHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIG1hc2ssXG4gICAgICByZXZlcnNlZDogdGhpcy5tYXNrTW9kZSgpID09PSAndGhvdXNhbmRzU2VwYXJhdG9yJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHRva2VucyxcbiAgICAgIHBvc3RQcm9jZXNzOiAodmFsdWUpID0+IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm1hc2tNb2RlKCkpIHtcbiAgICAgICAgICBjYXNlICdoaWpyaURhdGUnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlqcmlNYXNrSGFuZGxlcih2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnZGlnaXRzJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVMaW1pdCh2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnZGVjaW1hbCc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsTWFza0hhbmRsZXIodmFsdWUpO1xuICAgICAgICAgIGNhc2UgJ3Rob3VzYW5kc1NlcGFyYXRvcic6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aG91c2FuZHNTZXBhcmF0b3JIYW5kbGVyKHZhbHVlKTtcbiAgICAgICAgICBjYXNlICdtYXNrJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJlUHJvY2VzczogKHZhbHVlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tYXNrTW9kZSgpKSB7XG4gICAgICAgICAgY2FzZSAnaGlqcmlEYXRlJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhpanJpTWFza0hhbmRsZXIodmFsdWUpO1xuICAgICAgICAgIGNhc2UgJ2RpZ2l0cyc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlTGltaXQodmFsdWUpO1xuICAgICAgICAgIGNhc2UgJ2RlY2ltYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbE1hc2tIYW5kbGVyKHZhbHVlKTtcbiAgICAgICAgICBjYXNlICd0aG91c2FuZHNTZXBhcmF0b3InOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhvdXNhbmRzU2VwYXJhdG9ySGFuZGxlcih2YWx1ZSk7XG4gICAgICAgICAgY2FzZSAnbWFzayc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uTWFza2E6IChkZXRhaWxzKSA9PiB7XG4gICAgICAgIHRoaXMub25NYXNrQ2hhbmdlZC5lbWl0KGRldGFpbHMpO1xuICAgICAgfSxcbiAgICAgIGVhZ2VyOiB0aGlzLmVhZ2VyKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRob3VzYW5kc1NlcGFyYXRvckhhbmRsZXIodmFsdWU6IHN0cmluZykge1xuICAgIGxldCB0aG91c2FuZHNTZXBhcmF0b3IgPSB0aGlzLnNlcGFyYXRvcigpO1xuXG4gICAgc3dpdGNoICh0aGlzLnNlcGFyYXRvcigpKSB7XG4gICAgICBjYXNlICctJzpcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yID0gJ18nO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJy4nOlxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3IgPSAnLCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGxldCBjbGVhclZhbHVlOiBzdHJpbmc7XG5cbiAgICBjb25zdCBmaXJzdENoYXIgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgY29uc3QgcmVzdE9mU3RyaW5nID0gdmFsdWUuc2xpY2UoMSk7XG5cbiAgICBpZiAoZmlyc3RDaGFyID09PSAnLScpIHtcbiAgICAgIGNsZWFyVmFsdWUgPSAnLScgKyByZXN0T2ZTdHJpbmcucmVwbGFjZSgvLS9nLCAnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8tL2csICcnKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgb25seSBvbmUgZGVjaW1hbCBwb2ludFxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0cyA9IGNsZWFyVmFsdWUuc3BsaXQoJy4nKTtcbiAgICBpZiAoZGVjaW1hbFBhcnRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIGNsZWFyVmFsdWUgPSBkZWNpbWFsUGFydHNbMF0gKyAnLicgKyBkZWNpbWFsUGFydHMuc2xpY2UoMSkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgcmFuZ2UgbGltaXRzIHRvIHRoZSBjbGVhbmVkIHZhbHVlXG4gICAgY2xlYXJWYWx1ZSA9IHRoaXMucmFuZ2VWYWx1ZUxpbWl0KGNsZWFyVmFsdWUpO1xuXG4gICAgY29uc3QgYWRkU2VwYXJhdG9yID0gY2xlYXJWYWx1ZS5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCB0aG91c2FuZHNTZXBhcmF0b3IpO1xuXG4gICAgcmV0dXJuIGFkZFNlcGFyYXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgaGlqcmlNYXNrSGFuZGxlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgW3llYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHJdID0gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IoKSk7XG5cbiAgICBjb25zdCB5ZWFyID0gK3llYXJTdHI7XG4gICAgY29uc3QgbW9udGggPSArbW9udGhTdHI7XG4gICAgY29uc3QgZGF5ID0gK2RheVN0cjtcblxuICAgIC8vTW9udGggTG9naWNzXG4gICAgaWYgKCFtb250aCB8fCAheWVhcikgcmV0dXJuIHZhbHVlO1xuICAgIGlmIChtb250aCA+IDEyKSB7XG4gICAgICByZXR1cm4gYCR7eWVhclN0cn0ke3RoaXMuc2VwYXJhdG9yKCl9MTJgO1xuICAgIH1cbiAgICBpZiAobW9udGggPCAxKSB7XG4gICAgICByZXR1cm4gYCR7eWVhclN0cn0ke3RoaXMuc2VwYXJhdG9yKCl9MDFgO1xuICAgIH1cblxuICAgIC8vRGF5IExvZ2ljc1xuICAgIGlmICghZGF5KSByZXR1cm4gdmFsdWU7XG5cbiAgICBpZiAoZGF5IDwgMSkge1xuICAgICAgcmV0dXJuIGAke3llYXJTdHJ9LSR7bW9udGhTdHJ9JHt0aGlzLnNlcGFyYXRvcigpfTAxYDtcbiAgICB9XG5cbiAgICBsZXQgbWF4RGF5ID0gMzA7XG4gICAgaWYgKG1vbnRoIDw9IDYpIHtcbiAgICAgIG1heERheSA9IDMxO1xuICAgIH0gZWxzZSBpZiAobW9udGggPT09IDEyKSB7XG4gICAgICAvLyBIaWpyaSBsZWFwIHllYXIgcnVsZTogKDExICogeWVhciArIDE0KSAlIDMwIDwgMTFcbiAgICAgIGNvbnN0IGlzS2FiaXNlID0gKDExICogeWVhciArIDE0KSAlIDMwIDwgMTE7XG4gICAgICBtYXhEYXkgPSBpc0thYmlzZSA/IDMwIDogMjk7XG4gICAgfVxuXG4gICAgaWYgKGRheSA+IG1heERheSkge1xuICAgICAgcmV0dXJuIGAke3llYXJTdHJ9JHt0aGlzLnNlcGFyYXRvcigpfSR7bW9udGhTdHJ9JHt0aGlzLnNlcGFyYXRvcigpfSR7bWF4RGF5fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByYW5nZVZhbHVlTGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIGxldCBjb252ZXJ0ZWRWYWx1ZTogbnVtYmVyO1xuXG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yKCkpIHtcbiAgICAgIGNvbnZlcnRlZFZhbHVlID0gK3ZhbHVlLnNwbGl0KHRoaXMuc2VwYXJhdG9yKCkpLmpvaW4oJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb252ZXJ0ZWRWYWx1ZSA9ICt2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW5WYWx1ZSgpICYmIGNvbnZlcnRlZFZhbHVlIDwgdGhpcy5taW5WYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5taW5WYWx1ZSgpLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWF4VmFsdWUoKSAmJiBjb252ZXJ0ZWRWYWx1ZSA+IHRoaXMubWF4VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWUoKS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGVjaW1hbE1hc2tIYW5kbGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBSZW1vdmUgYW55IG5vbi1kaWdpdCBhbmQgbm9uLWRlY2ltYWwgY2hhcmFjdGVycyBleGNlcHQgdGhlIGZpcnN0IGRlY2ltYWwgcG9pbnRcbiAgICBsZXQgY2xlYW5WYWx1ZSA9IHZhbHVlO1xuICAgIGxldCBmaW5hbFZhbHVlOiBzdHJpbmc7XG5cbiAgICAvLyBFbnN1cmUgb25seSBvbmUgZGVjaW1hbCBwb2ludFxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0cyA9IGNsZWFuVmFsdWUuc3BsaXQoJy4nKTtcbiAgICBpZiAoZGVjaW1hbFBhcnRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIGNsZWFuVmFsdWUgPSBkZWNpbWFsUGFydHNbMF0gKyAnLicgKyBkZWNpbWFsUGFydHMuc2xpY2UoMSkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLy8gU3BsaXQgaW50byBpbnRlZ2VyIGFuZCBkZWNpbWFsIHBhcnRzXG4gICAgY29uc3QgcGFydHMgPSBjbGVhblZhbHVlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgaW50ZWdlclBhcnQgPSBwYXJ0c1swXSB8fCAnJztcbiAgICBjb25zdCBkZWNpbWFsUGFydCA9IHBhcnRzWzFdIHx8ICcnO1xuXG4gICAgLy8gTGltaXQgZGVjaW1hbCBwYXJ0IHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRpZ2l0c1xuICAgIGNvbnN0IGxpbWl0ZWREZWNpbWFsUGFydCA9IGRlY2ltYWxQYXJ0LnNsaWNlKDAsIHRoaXMuZGVjaW1hbCgpKTtcblxuICAgIC8vIFJlY29uc3RydWN0IHRoZSB2YWx1ZVxuICAgIGlmIChsaW1pdGVkRGVjaW1hbFBhcnQubGVuZ3RoID4gMCkge1xuICAgICAgZmluYWxWYWx1ZSA9IGludGVnZXJQYXJ0ICsgJy4nICsgbGltaXRlZERlY2ltYWxQYXJ0O1xuICAgIH0gZWxzZSBpZiAoY2xlYW5WYWx1ZS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAvLyBJZiB0aGVyZSdzIGEgZGVjaW1hbCBwb2ludCBidXQgbm8gZGVjaW1hbCBwYXJ0LCBrZWVwIHRoZSBkZWNpbWFsIHBvaW50XG4gICAgICBmaW5hbFZhbHVlID0gaW50ZWdlclBhcnQgKyAnLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbmFsVmFsdWUgPSBpbnRlZ2VyUGFydDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlTGltaXQoZmluYWxWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1pbnB1dC1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2lucHV0LW1hc2svc3JjL2Fjb3JleC1jZGstaW5wdXQtbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -97,16 +97,16 @@ class AXListNavigationDirective {
|
|
|
97
97
|
});
|
|
98
98
|
e.itemElem.nativeElement.scrollIntoView(this.scrollOption);
|
|
99
99
|
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
101
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
101
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.3", type: AXListNavigationDirective, isStandalone: true, selector: "[axListNavigation]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNavigationChanged: "onNavigationChanged", onKeypress: "onKeypress" }, queries: [{ propertyName: "childElem", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], exportAs: ["axListNavigation"], ngImport: i0 }); }
|
|
102
102
|
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationDirective, decorators: [{
|
|
104
104
|
type: Directive,
|
|
105
105
|
args: [{
|
|
106
106
|
selector: '[axListNavigation]',
|
|
107
107
|
exportAs: 'axListNavigation',
|
|
108
108
|
}]
|
|
109
|
-
}]
|
|
109
|
+
}] });
|
|
110
110
|
|
|
111
111
|
class AXListNavigationItemDirective {
|
|
112
112
|
constructor() {
|
|
@@ -135,25 +135,25 @@ class AXListNavigationItemDirective {
|
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
137
|
#init;
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
139
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
139
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: AXListNavigationItemDirective, isStandalone: true, selector: "[axListNavigationItem]", outputs: { onKeypress: "onKeypress" }, exportAs: ["axListNavigationItem"], ngImport: i0 }); }
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationItemDirective, decorators: [{
|
|
142
142
|
type: Directive,
|
|
143
143
|
args: [{
|
|
144
144
|
selector: '[axListNavigationItem]',
|
|
145
145
|
exportAs: 'axListNavigationItem',
|
|
146
146
|
}]
|
|
147
|
-
}]
|
|
147
|
+
}] });
|
|
148
148
|
|
|
149
149
|
const COMPONENT = [AXListNavigationDirective, AXListNavigationItemDirective];
|
|
150
150
|
const MODULES = [CommonModule];
|
|
151
151
|
class AXListNavigationModule {
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
153
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
154
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
153
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationModule, imports: [CommonModule, AXListNavigationDirective, AXListNavigationItemDirective], exports: [AXListNavigationDirective, AXListNavigationItemDirective] }); }
|
|
154
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationModule, imports: [MODULES] }); }
|
|
155
155
|
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXListNavigationModule, decorators: [{
|
|
157
157
|
type: NgModule,
|
|
158
158
|
args: [{
|
|
159
159
|
imports: [...MODULES, ...COMPONENT],
|