@acorex/cdk 20.1.13 → 20.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/accordion/index.d.ts +6 -6
  2. package/fesm2022/acorex-cdk-accordion.mjs +62 -64
  3. package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
  4. package/fesm2022/acorex-cdk-carousel.mjs +6 -6
  5. package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
  6. package/fesm2022/acorex-cdk-clipboard.mjs +7 -7
  7. package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
  8. package/fesm2022/acorex-cdk-common.mjs +114 -114
  9. package/fesm2022/acorex-cdk-common.mjs.map +1 -1
  10. package/fesm2022/acorex-cdk-dom.mjs +3 -3
  11. package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
  12. package/fesm2022/acorex-cdk-drag-drop.mjs +64 -64
  13. package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
  14. package/fesm2022/acorex-cdk-drawer.mjs +22 -22
  15. package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
  16. package/fesm2022/acorex-cdk-focus-trap.mjs +4 -4
  17. package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
  18. package/fesm2022/acorex-cdk-input-mask.mjs +10 -10
  19. package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
  20. package/fesm2022/acorex-cdk-list-navigation.mjs +18 -18
  21. package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
  22. package/fesm2022/acorex-cdk-outline.mjs +22 -22
  23. package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
  24. package/fesm2022/acorex-cdk-overlay.mjs +3 -3
  25. package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
  26. package/fesm2022/acorex-cdk-pan-view.mjs +19 -19
  27. package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
  28. package/fesm2022/acorex-cdk-resizable.mjs +11 -11
  29. package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
  30. package/fesm2022/acorex-cdk-selection.mjs +19 -19
  31. package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
  32. package/fesm2022/acorex-cdk-sliding-item.mjs +15 -15
  33. package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
  34. package/fesm2022/acorex-cdk-sticky.mjs +3 -3
  35. package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
  36. package/fesm2022/acorex-cdk-virtual-scroll.mjs +17 -17
  37. package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
  38. package/fesm2022/acorex-cdk-wysiwyg.mjs +1 -1
  39. package/fesm2022/acorex-cdk-wysiwyg.mjs.map +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-outline.mjs","sources":["../tmp-esm2022/outline/lib/outline-container.directive.js","../tmp-esm2022/outline/lib/outline-item.directive.js","../tmp-esm2022/outline/lib/outline.module.js","../tmp-esm2022/outline/acorex-cdk-outline.js"],"sourcesContent":["import { AXClipBoardService } from '@acorex/cdk/clipboard';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, computed, Directive, ElementRef, inject, input, NgZone, PLATFORM_ID, signal, } from '@angular/core';\nimport { BehaviorSubject, debounceTime, fromEvent, map, Subject } from 'rxjs'; // Import Subject and debounceTime\nimport * as i0 from \"@angular/core\";\nexport class AXOutlineContainerDirective {\n constructor() {\n this.zone = inject(NgZone);\n this.platformId = inject(PLATFORM_ID);\n this.el = inject((ElementRef));\n this.unsubscriber = inject(AXUnsubscriber);\n this.clipboardService = inject(AXClipBoardService);\n this.target = input();\n this.smoothScroll = input(true);\n this.showHashItem = input(false);\n this.activationOffset = input(16);\n this.copyUrlOnClick = input(false);\n this.activateLastAtBottom = input(true);\n this.scrollableElementId = input(null);\n this.scrollTop = signal(0);\n this.outlineItems = signal([]);\n this.scrollableElement = computed(() => this.scrollableElementId()\n ? document.getElementById(this.scrollableElementId())\n : this.el.nativeElement);\n this.mutationSubject = new Subject();\n this.MUTATION_DEBOUNCE_TIME = 150;\n this.outlineItems$ = new BehaviorSubject([]);\n this.#anr = afterNextRender(() => {\n if (this.smoothScroll()) {\n this.scrollableElement().style.overflow = 'auto';\n this.scrollableElement().style.scrollBehavior = 'smooth';\n }\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n const scrollable = this.scrollableElement().tagName === 'HTML' ? window : this.scrollableElement();\n fromEvent(scrollable, 'scroll')\n .pipe(this.unsubscriber.takeUntilDestroy, map(() => this.scrollableElement().scrollTop))\n .subscribe((scrollTop) => {\n this.scrollTop.set(scrollTop);\n this.scrollChanged(scrollTop);\n });\n this.mutationObserver = new MutationObserver((mutationsList) => {\n const relevantMutation = mutationsList.some((mutation) => mutation.type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0));\n if (relevantMutation) {\n this.mutationSubject.next();\n }\n });\n this.mutationObserver.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n });\n this.mutationSubject\n .pipe(debounceTime(this.MUTATION_DEBOUNCE_TIME), this.unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this.refreshOutlineItems();\n });\n }\n });\n }\n #anr;\n ngOnDestroy() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n ngAfterViewInit() {\n this.refreshOutlineItems();\n }\n scrollChanged(scrollTop) {\n this.outlineItems.update((prevItems) => {\n if (prevItems.length === 0)\n return prevItems;\n const scrollHeight = this.scrollableElement().scrollHeight;\n const clientHeight = this.scrollableElement().clientHeight;\n const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;\n if (isAtBottom && this.activateLastAtBottom()) {\n return prevItems.map((item, index) => ({\n ...item,\n active: index === prevItems.length - 1,\n }));\n }\n let activeIndex = -1;\n for (let i = 0; i < prevItems.length; i++) {\n const item = prevItems[i];\n if (scrollTop >= item.scrollY - this.activationOffset()) {\n activeIndex = i;\n }\n }\n return prevItems.map((item, index) => ({\n ...item,\n active: index === activeIndex,\n }));\n });\n this.outlineItems$.next(this.outlineItems());\n }\n setOutlineItems() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n requestAnimationFrame(() => {\n const targets = this.target() ? [...this.el.nativeElement.querySelectorAll(this.target())] : [];\n targets.push(...this.el.nativeElement.querySelectorAll('[data-ax-outline-item=\"true\"]'));\n const uniqueTargets = new Set(targets);\n const outlineItems = Array.from(uniqueTargets)\n .filter((el) => {\n return el.dataset['axOutlineItem'] !== 'false';\n })\n .map((el) => {\n // Ensure el is explicitly HTMLElement\n let fragment = el.id;\n if (!fragment) {\n const textContentForId = el.textContent?.trim() ?? ''; // Read text BEFORE adding/modifying for hash\n if (textContentForId) {\n fragment = `${textContentForId.toLowerCase().replace(/\\s+/g, '-')}`;\n let counter = 1;\n const originalFragment = fragment;\n while (document.getElementById(fragment)) {\n fragment = `${originalFragment}-${counter}`;\n counter++;\n }\n }\n else {\n // Use a more specific prefix for generated IDs to avoid potential collisions\n fragment = `ax-outline-${Math.random().toString(36).slice(2, 7)}`;\n }\n el.id = fragment; // Set the ID on the element\n }\n el.style.scrollMargin = `${this.activationOffset()}px`;\n const existingLink = el.querySelector('a.ax-outline-hash-link');\n if (existingLink) {\n existingLink.remove();\n }\n if (this.showHashItem()) {\n const anchor = document.createElement('a');\n anchor.textContent = '#';\n anchor.href = `${window.location.pathname}${window.location.search}#${fragment}`;\n anchor.classList.add('ax-outline-hash-link');\n // Styling for the hash link\n anchor.style.paddingInlineStart = '0.5rem'; // Adjust as needed\n anchor.style.opacity = '0';\n anchor.style.transition = 'opacity 0.2s ease-in-out';\n anchor.style.cursor = 'pointer';\n anchor.setAttribute('aria-hidden', 'true');\n anchor.setAttribute('fragment', fragment);\n const enterListener = () => (anchor.style.opacity = '1');\n const leaveListener = () => (anchor.style.opacity = '0');\n el.addEventListener('mouseenter', enterListener);\n el.addEventListener('mouseleave', leaveListener);\n el.appendChild(anchor);\n if (this.copyUrlOnClick()) {\n anchor.addEventListener('click', async () => {\n try {\n await this.clipboardService.copy(anchor.href);\n }\n catch (err) {\n console.error('Failed to copy outline URL:', err);\n }\n });\n }\n }\n return { el, active: false, scrollY: el.offsetTop, hasAnchor: this.showHashItem() };\n })\n .sort((a, b) => a.scrollY - b.scrollY);\n this.outlineItems.set(outlineItems);\n this.scrollChanged(this.scrollTop());\n if (this.mutationObserver) {\n this.mutationObserver.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n }\n });\n }\n refreshOutlineItems() {\n this.setOutlineItems();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXOutlineContainerDirective, isStandalone: true, selector: \"[axOutlineContainer]\", inputs: { target: { classPropertyName: \"target\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null }, smoothScroll: { classPropertyName: \"smoothScroll\", publicName: \"smoothScroll\", isSignal: true, isRequired: false, transformFunction: null }, showHashItem: { classPropertyName: \"showHashItem\", publicName: \"showHashItem\", isSignal: true, isRequired: false, transformFunction: null }, activationOffset: { classPropertyName: \"activationOffset\", publicName: \"activationOffset\", isSignal: true, isRequired: false, transformFunction: null }, copyUrlOnClick: { classPropertyName: \"copyUrlOnClick\", publicName: \"copyUrlOnClick\", isSignal: true, isRequired: false, transformFunction: null }, activateLastAtBottom: { classPropertyName: \"activateLastAtBottom\", publicName: \"activateLastAtBottom\", isSignal: true, isRequired: false, transformFunction: null }, scrollableElementId: { classPropertyName: \"scrollableElementId\", publicName: \"scrollableElementId\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [AXUnsubscriber, AXClipBoardService], exportAs: [\"axOutlineContainer\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axOutlineContainer]',\n exportAs: 'axOutlineContainer',\n providers: [AXUnsubscriber, AXClipBoardService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL291dGxpbmUvc3JjL2xpYi9vdXRsaW5lLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBRWYsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQyxDQUFDLGtDQUFrQzs7QUFTakgsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQU1VLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFDckMsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFdEQsV0FBTSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVC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QUFPLENBQUMsQ0FBQztZQUV6QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBRXJDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7b0JBQ25ELFNBQVMsRUFBRSxJQUFJO29CQUNmLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBNU1VLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHVsQ0FGM0IsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUM7OzJGQUVwQywyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xpcEJvYXJkU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIEFmdGVyVmlld0luaXQsXG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBQTEFURk9STV9JRCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIG1hcCwgU3ViamVjdCB9IGZyb20gJ3J4anMnOyAvLyBJbXBvcnQgU3ViamVjdCBhbmQgZGVib3VuY2VUaW1lXG5cbmV4cG9ydCB0eXBlIG91dGxpbmVJdGVtVHlwZSA9IHsgZWw6IEhUTUxFbGVtZW50OyBhY3RpdmU6IGJvb2xlYW47IHNjcm9sbFk6IG51bWJlcjsgaGFzQW5jaG9yOiBib29sZWFuIH07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theE91dGxpbmVDb250YWluZXJdJyxcbiAgZXhwb3J0QXM6ICdheE91dGxpbmVDb250YWluZXInLFxuICBwcm92aWRlcnM6IFtBWFVuc3Vic2NyaWJlciwgQVhDbGlwQm9hcmRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhPdXRsaW5lQ29udGFpbmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG4gIHByaXZhdGUgY2xpcGJvYXJkU2VydmljZSA9IGluamVjdChBWENsaXBCb2FyZFNlcnZpY2UpO1xuXG4gIHRhcmdldCA9IGlucHV0PHN0cmluZz4oKTtcbiAgc21vb3RoU2Nyb2xsID0gaW5wdXQodHJ1ZSk7XG4gIHNob3dIYXNoSXRlbSA9IGlucHV0KGZhbHNlKTtcbiAgYWN0aXZhdGlvbk9mZnNldCA9IGlucHV0KDE2KTtcbiAgY29weVVybE9uQ2xpY2sgPSBpbnB1dChmYWxzZSk7XG4gIGFjdGl2YXRlTGFzdEF0Qm90dG9tID0gaW5wdXQodHJ1ZSk7XG4gIHNjcm9sbGFibGVFbGVtZW50SWQgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHNjcm9sbFRvcCA9IHNpZ25hbCgwKTtcbiAgcHJpdmF0ZSBvdXRsaW5lSXRlbXMgPSBzaWduYWw8b3V0bGluZUl0ZW1UeXBlW10+KFtdKTtcblxuICBwcml2YXRlIHNjcm9sbGFibGVFbGVtZW50ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnNjcm9sbGFibGVFbGVtZW50SWQoKVxuICAgICAgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnNjcm9sbGFibGVFbGVtZW50SWQoKSlcbiAgICAgIDogKHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCksXG4gICk7XG5cbiAgcHJpdmF0ZSBtdXRhdGlvblN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IE1VVEFUSU9OX0RFQk9VTkNFX1RJTUUgPSAxNTA7XG4gIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IHVuZGVmaW5lZDtcbiAgb3V0bGluZUl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8b3V0bGluZUl0ZW1UeXBlW10+KFtdKTtcblxuICAjYW5yID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBpZiAodGhpcy5zbW9vdGhTY3JvbGwoKSkge1xuICAgICAgdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xuICAgICAgdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gJ3Ntb290aCc7XG4gICAgfVxuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNjcm9sbGFibGUgPSB0aGlzLnNjcm9sbGFibGVFbGVtZW50KCkudGFnTmFtZSA9PT0gJ0hUTUwnID8gd2luZG93IDogdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpO1xuICAgICAgICBmcm9tRXZlbnQoc2Nyb2xsYWJsZSwgJ3Njcm9sbCcpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95LFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5zY3JvbGxUb3ApLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxUb3ApID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9wLnNldChzY3JvbGxUb3ApO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxDaGFuZ2VkKHNjcm9sbFRvcCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uc0xpc3QpID0+IHtcbiAgICAgICAgICBjb25zdCByZWxldmFudE11dGF0aW9uID0gbXV0YXRpb25zTGlzdC5zb21lKFxuICAgICAgICAgICAgKG11dGF0aW9uKSA9PlxuICAgICAgICAgICAgICBtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0JyAmJiAobXV0YXRpb24uYWRkZWROb2Rlcy5sZW5ndGggPiAwIHx8IG11dGF0aW9uLnJlbW92ZWROb2Rlcy5sZW5ndGggPiAwKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChyZWxldmFudE11dGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm11dGF0aW9uU3ViamVjdC5uZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tdXRhdGlvblN1YmplY3RcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuTVVUQVRJT05fREVCT1VOQ0VfVElNRSksIHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaE91dGxpbmVJdGVtcygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMucmVmcmVzaE91dGxpbmVJdGVtcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxDaGFuZ2VkKHNjcm9sbFRvcDogbnVtYmVyKSB7XG4gICAgdGhpcy5vdXRsaW5lSXRlbXMudXBkYXRlKChwcmV2SXRlbXMpID0+IHtcbiAgICAgIGlmIChwcmV2SXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gcHJldkl0ZW1zO1xuXG4gICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0aGlzLnNjcm9sbGFibGVFbGVtZW50KCkuc2Nyb2xsSGVpZ2h0O1xuICAgICAgY29uc3QgY2xpZW50SGVpZ2h0ID0gdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLmNsaWVudEhlaWdodDtcbiAgICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMTtcblxuICAgICAgaWYgKGlzQXRCb3R0b20gJiYgdGhpcy5hY3RpdmF0ZUxhc3RBdEJvdHRvbSgpKSB7XG4gICAgICAgIHJldHVybiBwcmV2SXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIGFjdGl2ZTogaW5kZXggPT09IHByZXZJdGVtcy5sZW5ndGggLSAxLFxuICAgICAgICB9KSk7XG4gICAgICB9XG5cbiAgICAgIGxldCBhY3RpdmVJbmRleCA9IC0xO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2SXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHByZXZJdGVtc1tpXTtcbiAgICAgICAgaWYgKHNjcm9sbFRvcCA+PSBpdGVtLnNjcm9sbFkgLSB0aGlzLmFjdGl2YXRpb25PZmZzZXQoKSkge1xuICAgICAgICAgIGFjdGl2ZUluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHByZXZJdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBhY3RpdmU6IGluZGV4ID09PSBhY3RpdmVJbmRleCxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgICB0aGlzLm91dGxpbmVJdGVtcyQubmV4dCh0aGlzLm91dGxpbmVJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3V0bGluZUl0ZW1zKCkge1xuICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldHMgPSB0aGlzLnRhcmdldCgpID8gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMudGFyZ2V0KCkpXSA6IFtdO1xuICAgICAgdGFyZ2V0cy5wdXNoKC4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1heC1vdXRsaW5lLWl0ZW09XCJ0cnVlXCJdJykpO1xuICAgICAgY29uc3QgdW5pcXVlVGFyZ2V0cyA9IG5ldyBTZXQodGFyZ2V0cyk7XG5cbiAgICAgIGNvbnN0IG91dGxpbmVJdGVtcyA9IEFycmF5LmZyb20odW5pcXVlVGFyZ2V0cylcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IHtcbiAgICAgICAgICByZXR1cm4gZWwuZGF0YXNldFsnYXhPdXRsaW5lSXRlbSddICE9PSAnZmFsc2UnO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKChlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAvLyBFbnN1cmUgZWwgaXMgZXhwbGljaXRseSBIVE1MRWxlbWVudFxuICAgICAgICAgIGxldCBmcmFnbWVudCA9IGVsLmlkO1xuICAgICAgICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRDb250ZW50Rm9ySWQgPSBlbC50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnOyAvLyBSZWFkIHRleHQgQkVGT1JFIGFkZGluZy9tb2RpZnlpbmcgZm9yIGhhc2hcbiAgICAgICAgICAgIGlmICh0ZXh0Q29udGVudEZvcklkKSB7XG4gICAgICAgICAgICAgIGZyYWdtZW50ID0gYCR7dGV4dENvbnRlbnRGb3JJZC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKX1gO1xuICAgICAgICAgICAgICBsZXQgY291bnRlciA9IDE7XG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsRnJhZ21lbnQgPSBmcmFnbWVudDtcbiAgICAgICAgICAgICAgd2hpbGUgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZyYWdtZW50KSkge1xuICAgICAgICAgICAgICAgIGZyYWdtZW50ID0gYCR7b3JpZ2luYWxGcmFnbWVudH0tJHtjb3VudGVyfWA7XG4gICAgICAgICAgICAgICAgY291bnRlcisrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBVc2UgYSBtb3JlIHNwZWNpZmljIHByZWZpeCBmb3IgZ2VuZXJhdGVkIElEcyB0byBhdm9pZCBwb3RlbnRpYWwgY29sbGlzaW9uc1xuICAgICAgICAgICAgICBmcmFnbWVudCA9IGBheC1vdXRsaW5lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgNyl9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsLmlkID0gZnJhZ21lbnQ7IC8vIFNldCB0aGUgSUQgb24gdGhlIGVsZW1lbnRcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlbC5zdHlsZS5zY3JvbGxNYXJnaW4gPSBgJHt0aGlzLmFjdGl2YXRpb25PZmZzZXQoKX1weGA7XG5cbiAgICAgICAgICBjb25zdCBleGlzdGluZ0xpbmsgPSBlbC5xdWVyeVNlbGVjdG9yKCdhLmF4LW91dGxpbmUtaGFzaC1saW5rJyk7XG4gICAgICAgICAgaWYgKGV4aXN0aW5nTGluaykge1xuICAgICAgICAgICAgZXhpc3RpbmdMaW5rLnJlbW92ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnNob3dIYXNoSXRlbSgpKSB7XG4gICAgICAgICAgICBjb25zdCBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgICBhbmNob3IudGV4dENvbnRlbnQgPSAnIyc7XG4gICAgICAgICAgICBhbmNob3IuaHJlZiA9IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3dpbmRvdy5sb2NhdGlvbi5zZWFyY2h9IyR7ZnJhZ21lbnR9YDtcbiAgICAgICAgICAgIGFuY2hvci5jbGFzc0xpc3QuYWRkKCdheC1vdXRsaW5lLWhhc2gtbGluaycpO1xuXG4gICAgICAgICAgICAvLyBTdHlsaW5nIGZvciB0aGUgaGFzaCBsaW5rXG4gICAgICAgICAgICBhbmNob3Iuc3R5bGUucGFkZGluZ0lubGluZVN0YXJ0ID0gJzAuNXJlbSc7IC8vIEFkanVzdCBhcyBuZWVkZWRcbiAgICAgICAgICAgIGFuY2hvci5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgICAgICAgYW5jaG9yLnN0eWxlLnRyYW5zaXRpb24gPSAnb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0JztcbiAgICAgICAgICAgIGFuY2hvci5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7XG4gICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCdmcmFnbWVudCcsIGZyYWdtZW50KTtcblxuICAgICAgICAgICAgY29uc3QgZW50ZXJMaXN0ZW5lciA9ICgpID0+IChhbmNob3Iuc3R5bGUub3BhY2l0eSA9ICcxJyk7XG4gICAgICAgICAgICBjb25zdCBsZWF2ZUxpc3RlbmVyID0gKCkgPT4gKGFuY2hvci5zdHlsZS5vcGFjaXR5ID0gJzAnKTtcblxuICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIGVudGVyTGlzdGVuZXIpO1xuICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIGxlYXZlTGlzdGVuZXIpO1xuXG4gICAgICAgICAgICBlbC5hcHBlbmRDaGlsZChhbmNob3IpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb3B5VXJsT25DbGljaygpKSB7XG4gICAgICAgICAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5jbGlwYm9hcmRTZXJ2aWNlLmNvcHkoYW5jaG9yLmhyZWYpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgb3V0bGluZSBVUkw6JywgZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7IGVsLCBhY3RpdmU6IGZhbHNlLCBzY3JvbGxZOiBlbC5vZmZzZXRUb3AsIGhhc0FuY2hvcjogdGhpcy5zaG93SGFzaEl0ZW0oKSB9O1xuICAgICAgICB9KVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5zY3JvbGxZIC0gYi5zY3JvbGxZKTtcblxuICAgICAgdGhpcy5vdXRsaW5lSXRlbXMuc2V0KG91dGxpbmVJdGVtcyk7XG4gICAgICB0aGlzLnNjcm9sbENoYW5nZWQodGhpcy5zY3JvbGxUb3AoKSk7XG5cbiAgICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hPdXRsaW5lSXRlbXMoKSB7XG4gICAgdGhpcy5zZXRPdXRsaW5lSXRlbXMoKTtcbiAgfVxufVxuIl19","import { afterNextRender, Directive, ElementRef, inject, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXOutlineItemDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.id = input();\n this.disabled = input(false);\n this.#anr = afterNextRender(() => {\n this.el.nativeElement.dataset['axOutlineItem'] = this.disabled() ? 'false' : 'true';\n let newId;\n if (!this.id()) {\n const textContent = this.el.nativeElement.textContent.trim();\n if (textContent) {\n newId = `${textContent.replace(/\\s+/g, '-')}`;\n }\n else {\n newId = `${Math.random().toString(36).slice(2, 7)}`;\n }\n this.el.nativeElement.id = newId;\n }\n });\n }\n #anr;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXOutlineItemDirective, isStandalone: true, selector: \"[axOutlineItem]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"axOutlineItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axOutlineItem]',\n exportAs: 'axOutlineItem',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9vdXRsaW5lL3NyYy9saWIvb3V0bGluZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdEYsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQUtVLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsU0FBSSxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUE2QixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRXJHLElBQUksS0FBSyxDQUFDO1lBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNmLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDN0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDaEIsS0FBSyxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxDQUFDO2dCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFkQyxJQUFJLENBYUQ7OEdBbkJRLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theE91dGxpbmVJdGVtXScsXG4gIGV4cG9ydEFzOiAnYXhPdXRsaW5lSXRlbScsXG59KVxuZXhwb3J0IGNsYXNzIEFYT3V0bGluZUl0ZW1EaXJlY3RpdmUge1xuICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIGlkID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcblxuICAjYW5yID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5kYXRhc2V0WydheE91dGxpbmVJdGVtJ10gPSB0aGlzLmRpc2FibGVkKCkgPyAnZmFsc2UnIDogJ3RydWUnO1xuXG4gICAgbGV0IG5ld0lkO1xuICAgIGlmICghdGhpcy5pZCgpKSB7XG4gICAgICBjb25zdCB0ZXh0Q29udGVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCk7XG4gICAgICBpZiAodGV4dENvbnRlbnQpIHtcbiAgICAgICAgbmV3SWQgPSBgJHt0ZXh0Q29udGVudC5yZXBsYWNlKC9cXHMrL2csICctJyl9YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0lkID0gYCR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgNyl9YDtcbiAgICAgIH1cbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCA9IG5ld0lkO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXOutlineContainerDirective } from './outline-container.directive';\nimport { AXOutlineItemDirective } from './outline-item.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXOutlineContainerDirective, AXOutlineItemDirective];\nconst MODULES = [CommonModule];\nexport class AXOutlineModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineModule, imports: [CommonModule, AXOutlineContainerDirective, AXOutlineItemDirective], exports: [AXOutlineContainerDirective, AXOutlineItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOutlineModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvb3V0bGluZS9zcmMvbGliL291dGxpbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVsRSxNQUFNLFNBQVMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDeEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQU8vQixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsWUFQWCxZQUFZLEVBRFYsMkJBQTJCLEVBQUUsc0JBQXNCLGFBQW5ELDJCQUEyQixFQUFFLHNCQUFzQjsrR0FRekQsZUFBZSxZQUpiLE9BQU87OzJGQUlULGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPdXRsaW5lQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9vdXRsaW5lLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQVhPdXRsaW5lSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vb3V0bGluZS1pdGVtLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWE91dGxpbmVDb250YWluZXJEaXJlY3RpdmUsIEFYT3V0bGluZUl0ZW1EaXJlY3RpdmVdO1xuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYT3V0bGluZU1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1vdXRsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL291dGxpbmUvc3JjL2Fjb3JleC1jZGstb3V0bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-outline.mjs","sources":["../tmp-esm2022/outline/lib/outline-container.directive.js","../tmp-esm2022/outline/lib/outline-item.directive.js","../tmp-esm2022/outline/lib/outline.module.js","../tmp-esm2022/outline/acorex-cdk-outline.js"],"sourcesContent":["import { AXClipBoardService } from '@acorex/cdk/clipboard';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, computed, Directive, ElementRef, inject, input, NgZone, PLATFORM_ID, signal, } from '@angular/core';\nimport { BehaviorSubject, debounceTime, fromEvent, map, Subject } from 'rxjs'; // Import Subject and debounceTime\nimport * as i0 from \"@angular/core\";\nexport class AXOutlineContainerDirective {\n constructor() {\n this.zone = inject(NgZone);\n this.platformId = inject(PLATFORM_ID);\n this.el = inject((ElementRef));\n this.unsubscriber = inject(AXUnsubscriber);\n this.clipboardService = inject(AXClipBoardService);\n this.target = input(...(ngDevMode ? [undefined, { debugName: \"target\" }] : []));\n this.smoothScroll = input(true, ...(ngDevMode ? [{ debugName: \"smoothScroll\" }] : []));\n this.showHashItem = input(false, ...(ngDevMode ? [{ debugName: \"showHashItem\" }] : []));\n this.activationOffset = input(16, ...(ngDevMode ? [{ debugName: \"activationOffset\" }] : []));\n this.copyUrlOnClick = input(false, ...(ngDevMode ? [{ debugName: \"copyUrlOnClick\" }] : []));\n this.activateLastAtBottom = input(true, ...(ngDevMode ? [{ debugName: \"activateLastAtBottom\" }] : []));\n this.scrollableElementId = input(null, ...(ngDevMode ? [{ debugName: \"scrollableElementId\" }] : []));\n this.scrollTop = signal(0, ...(ngDevMode ? [{ debugName: \"scrollTop\" }] : []));\n this.outlineItems = signal([], ...(ngDevMode ? [{ debugName: \"outlineItems\" }] : []));\n this.scrollableElement = computed(() => this.scrollableElementId()\n ? document.getElementById(this.scrollableElementId())\n : this.el.nativeElement, ...(ngDevMode ? [{ debugName: \"scrollableElement\" }] : []));\n this.mutationSubject = new Subject();\n this.MUTATION_DEBOUNCE_TIME = 150;\n this.outlineItems$ = new BehaviorSubject([]);\n this.#anr = afterNextRender(() => {\n if (this.smoothScroll()) {\n this.scrollableElement().style.overflow = 'auto';\n this.scrollableElement().style.scrollBehavior = 'smooth';\n }\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n const scrollable = this.scrollableElement().tagName === 'HTML' ? window : this.scrollableElement();\n fromEvent(scrollable, 'scroll')\n .pipe(this.unsubscriber.takeUntilDestroy, map(() => this.scrollableElement().scrollTop))\n .subscribe((scrollTop) => {\n this.scrollTop.set(scrollTop);\n this.scrollChanged(scrollTop);\n });\n this.mutationObserver = new MutationObserver((mutationsList) => {\n const relevantMutation = mutationsList.some((mutation) => mutation.type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0));\n if (relevantMutation) {\n this.mutationSubject.next();\n }\n });\n this.mutationObserver.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n });\n this.mutationSubject\n .pipe(debounceTime(this.MUTATION_DEBOUNCE_TIME), this.unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this.refreshOutlineItems();\n });\n }\n });\n }\n #anr;\n ngOnDestroy() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n ngAfterViewInit() {\n this.refreshOutlineItems();\n }\n scrollChanged(scrollTop) {\n this.outlineItems.update((prevItems) => {\n if (prevItems.length === 0)\n return prevItems;\n const scrollHeight = this.scrollableElement().scrollHeight;\n const clientHeight = this.scrollableElement().clientHeight;\n const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;\n if (isAtBottom && this.activateLastAtBottom()) {\n return prevItems.map((item, index) => ({\n ...item,\n active: index === prevItems.length - 1,\n }));\n }\n let activeIndex = -1;\n for (let i = 0; i < prevItems.length; i++) {\n const item = prevItems[i];\n if (scrollTop >= item.scrollY - this.activationOffset()) {\n activeIndex = i;\n }\n }\n return prevItems.map((item, index) => ({\n ...item,\n active: index === activeIndex,\n }));\n });\n this.outlineItems$.next(this.outlineItems());\n }\n setOutlineItems() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n requestAnimationFrame(() => {\n const targets = this.target() ? [...this.el.nativeElement.querySelectorAll(this.target())] : [];\n targets.push(...this.el.nativeElement.querySelectorAll('[data-ax-outline-item=\"true\"]'));\n const uniqueTargets = new Set(targets);\n const outlineItems = Array.from(uniqueTargets)\n .filter((el) => {\n return el.dataset['axOutlineItem'] !== 'false';\n })\n .map((el) => {\n // Ensure el is explicitly HTMLElement\n let fragment = el.id;\n if (!fragment) {\n const textContentForId = el.textContent?.trim() ?? ''; // Read text BEFORE adding/modifying for hash\n if (textContentForId) {\n fragment = `${textContentForId.toLowerCase().replace(/\\s+/g, '-')}`;\n let counter = 1;\n const originalFragment = fragment;\n while (document.getElementById(fragment)) {\n fragment = `${originalFragment}-${counter}`;\n counter++;\n }\n }\n else {\n // Use a more specific prefix for generated IDs to avoid potential collisions\n fragment = `ax-outline-${Math.random().toString(36).slice(2, 7)}`;\n }\n el.id = fragment; // Set the ID on the element\n }\n el.style.scrollMargin = `${this.activationOffset()}px`;\n const existingLink = el.querySelector('a.ax-outline-hash-link');\n if (existingLink) {\n existingLink.remove();\n }\n if (this.showHashItem()) {\n const anchor = document.createElement('a');\n anchor.textContent = '#';\n anchor.href = `${window.location.pathname}${window.location.search}#${fragment}`;\n anchor.classList.add('ax-outline-hash-link');\n // Styling for the hash link\n anchor.style.paddingInlineStart = '0.5rem'; // Adjust as needed\n anchor.style.opacity = '0';\n anchor.style.transition = 'opacity 0.2s ease-in-out';\n anchor.style.cursor = 'pointer';\n anchor.setAttribute('aria-hidden', 'true');\n anchor.setAttribute('fragment', fragment);\n const enterListener = () => (anchor.style.opacity = '1');\n const leaveListener = () => (anchor.style.opacity = '0');\n el.addEventListener('mouseenter', enterListener);\n el.addEventListener('mouseleave', leaveListener);\n el.appendChild(anchor);\n if (this.copyUrlOnClick()) {\n anchor.addEventListener('click', async () => {\n try {\n await this.clipboardService.copy(anchor.href);\n }\n catch (err) {\n console.error('Failed to copy outline URL:', err);\n }\n });\n }\n }\n return { el, active: false, scrollY: el.offsetTop, hasAnchor: this.showHashItem() };\n })\n .sort((a, b) => a.scrollY - b.scrollY);\n this.outlineItems.set(outlineItems);\n this.scrollChanged(this.scrollTop());\n if (this.mutationObserver) {\n this.mutationObserver.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n }\n });\n }\n refreshOutlineItems() {\n this.setOutlineItems();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.2\", type: AXOutlineContainerDirective, isStandalone: true, selector: \"[axOutlineContainer]\", inputs: { target: { classPropertyName: \"target\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null }, smoothScroll: { classPropertyName: \"smoothScroll\", publicName: \"smoothScroll\", isSignal: true, isRequired: false, transformFunction: null }, showHashItem: { classPropertyName: \"showHashItem\", publicName: \"showHashItem\", isSignal: true, isRequired: false, transformFunction: null }, activationOffset: { classPropertyName: \"activationOffset\", publicName: \"activationOffset\", isSignal: true, isRequired: false, transformFunction: null }, copyUrlOnClick: { classPropertyName: \"copyUrlOnClick\", publicName: \"copyUrlOnClick\", isSignal: true, isRequired: false, transformFunction: null }, activateLastAtBottom: { classPropertyName: \"activateLastAtBottom\", publicName: \"activateLastAtBottom\", isSignal: true, isRequired: false, transformFunction: null }, scrollableElementId: { classPropertyName: \"scrollableElementId\", publicName: \"scrollableElementId\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [AXUnsubscriber, AXClipBoardService], exportAs: [\"axOutlineContainer\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axOutlineContainer]',\n exportAs: 'axOutlineContainer',\n providers: [AXUnsubscriber, AXClipBoardService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL291dGxpbmUvc3JjL2xpYi9vdXRsaW5lLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBRWYsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQyxDQUFDLGtDQUFrQzs7QUFTakgsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQU1VLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFDckMsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFdEQsV0FBTSxHQUFHLEtBQUssNERBQVUsQ0FBQztRQUN6QixpQkFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLHdEQUFDLENBQUM7UUFDM0IsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyx3REFBQyxDQUFDO1FB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QUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUVyQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFO29CQUNuRCxTQUFTLEVBQUUsSUFBSTtvQkFDZixPQUFPLEVBQUUsSUFBSTtpQkFDZCxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQTVNVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix1bENBRjNCLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDOzsyRkFFcEMsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsaXBCb2FyZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBBZnRlclZpZXdJbml0LFxuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBtYXAsIFN1YmplY3QgfSBmcm9tICdyeGpzJzsgLy8gSW1wb3J0IFN1YmplY3QgYW5kIGRlYm91bmNlVGltZVxuXG5leHBvcnQgdHlwZSBvdXRsaW5lSXRlbVR5cGUgPSB7IGVsOiBIVE1MRWxlbWVudDsgYWN0aXZlOiBib29sZWFuOyBzY3JvbGxZOiBudW1iZXI7IGhhc0FuY2hvcjogYm9vbGVhbiB9O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhPdXRsaW5lQ29udGFpbmVyXScsXG4gIGV4cG9ydEFzOiAnYXhPdXRsaW5lQ29udGFpbmVyJyxcbiAgcHJvdmlkZXJzOiBbQVhVbnN1YnNjcmliZXIsIEFYQ2xpcEJvYXJkU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYT3V0bGluZUNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIGNsaXBib2FyZFNlcnZpY2UgPSBpbmplY3QoQVhDbGlwQm9hcmRTZXJ2aWNlKTtcblxuICB0YXJnZXQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHNtb290aFNjcm9sbCA9IGlucHV0KHRydWUpO1xuICBzaG93SGFzaEl0ZW0gPSBpbnB1dChmYWxzZSk7XG4gIGFjdGl2YXRpb25PZmZzZXQgPSBpbnB1dCgxNik7XG4gIGNvcHlVcmxPbkNsaWNrID0gaW5wdXQoZmFsc2UpO1xuICBhY3RpdmF0ZUxhc3RBdEJvdHRvbSA9IGlucHV0KHRydWUpO1xuICBzY3JvbGxhYmxlRWxlbWVudElkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSBzY3JvbGxUb3AgPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgb3V0bGluZUl0ZW1zID0gc2lnbmFsPG91dGxpbmVJdGVtVHlwZVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBzY3JvbGxhYmxlRWxlbWVudCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zY3JvbGxhYmxlRWxlbWVudElkKClcbiAgICAgID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zY3JvbGxhYmxlRWxlbWVudElkKCkpXG4gICAgICA6ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLFxuICApO1xuXG4gIHByaXZhdGUgbXV0YXRpb25TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBNVVRBVElPTl9ERUJPVU5DRV9USU1FID0gMTUwO1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCB1bmRlZmluZWQ7XG4gIG91dGxpbmVJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG91dGxpbmVJdGVtVHlwZVtdPihbXSk7XG5cbiAgI2FuciA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgaWYgKHRoaXMuc21vb3RoU2Nyb2xsKCkpIHtcbiAgICAgIHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5zdHlsZS5vdmVyZmxvdyA9ICdhdXRvJztcbiAgICAgIHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICdzbW9vdGgnO1xuICAgIH1cblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBjb25zdCBzY3JvbGxhYmxlID0gdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLnRhZ05hbWUgPT09ICdIVE1MJyA/IHdpbmRvdyA6IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKTtcbiAgICAgICAgZnJvbUV2ZW50KHNjcm9sbGFibGUsICdzY3JvbGwnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLnNjcm9sbGFibGVFbGVtZW50KCkuc2Nyb2xsVG9wKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoc2Nyb2xsVG9wKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvcC5zZXQoc2Nyb2xsVG9wKTtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsQ2hhbmdlZChzY3JvbGxUb3ApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsZXZhbnRNdXRhdGlvbiA9IG11dGF0aW9uc0xpc3Quc29tZShcbiAgICAgICAgICAgIChtdXRhdGlvbikgPT5cbiAgICAgICAgICAgICAgbXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcgJiYgKG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoID4gMCB8fCBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAocmVsZXZhbnRNdXRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tdXRhdGlvblN1YmplY3QubmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubXV0YXRpb25TdWJqZWN0XG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLk1VVEFUSU9OX0RFQk9VTkNFX1RJTUUpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hPdXRsaW5lSXRlbXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlZnJlc2hPdXRsaW5lSXRlbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsQ2hhbmdlZChzY3JvbGxUb3A6IG51bWJlcikge1xuICAgIHRoaXMub3V0bGluZUl0ZW1zLnVwZGF0ZSgocHJldkl0ZW1zKSA9PiB7XG4gICAgICBpZiAocHJldkl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHByZXZJdGVtcztcblxuICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLnNjcm9sbEhlaWdodDtcbiAgICAgIGNvbnN0IGNsaWVudEhlaWdodCA9IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5jbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDE7XG5cbiAgICAgIGlmIChpc0F0Qm90dG9tICYmIHRoaXMuYWN0aXZhdGVMYXN0QXRCb3R0b20oKSkge1xuICAgICAgICByZXR1cm4gcHJldkl0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICBhY3RpdmU6IGluZGV4ID09PSBwcmV2SXRlbXMubGVuZ3RoIC0gMSxcbiAgICAgICAgfSkpO1xuICAgICAgfVxuXG4gICAgICBsZXQgYWN0aXZlSW5kZXggPSAtMTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldkl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBwcmV2SXRlbXNbaV07XG4gICAgICAgIGlmIChzY3JvbGxUb3AgPj0gaXRlbS5zY3JvbGxZIC0gdGhpcy5hY3RpdmF0aW9uT2Zmc2V0KCkpIHtcbiAgICAgICAgICBhY3RpdmVJbmRleCA9IGk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmV2SXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgYWN0aXZlOiBpbmRleCA9PT0gYWN0aXZlSW5kZXgsXG4gICAgICB9KSk7XG4gICAgfSk7XG4gICAgdGhpcy5vdXRsaW5lSXRlbXMkLm5leHQodGhpcy5vdXRsaW5lSXRlbXMoKSk7XG4gIH1cblxuICBwcml2YXRlIHNldE91dGxpbmVJdGVtcygpIHtcbiAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXRzID0gdGhpcy50YXJnZXQoKSA/IFsuLi50aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnRhcmdldCgpKV0gOiBbXTtcbiAgICAgIHRhcmdldHMucHVzaCguLi50aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtYXgtb3V0bGluZS1pdGVtPVwidHJ1ZVwiXScpKTtcbiAgICAgIGNvbnN0IHVuaXF1ZVRhcmdldHMgPSBuZXcgU2V0KHRhcmdldHMpO1xuXG4gICAgICBjb25zdCBvdXRsaW5lSXRlbXMgPSBBcnJheS5mcm9tKHVuaXF1ZVRhcmdldHMpXG4gICAgICAgIC5maWx0ZXIoKGVsKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVsLmRhdGFzZXRbJ2F4T3V0bGluZUl0ZW0nXSAhPT0gJ2ZhbHNlJztcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgLy8gRW5zdXJlIGVsIGlzIGV4cGxpY2l0bHkgSFRNTEVsZW1lbnRcbiAgICAgICAgICBsZXQgZnJhZ21lbnQgPSBlbC5pZDtcbiAgICAgICAgICBpZiAoIWZyYWdtZW50KSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Q29udGVudEZvcklkID0gZWwudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJzsgLy8gUmVhZCB0ZXh0IEJFRk9SRSBhZGRpbmcvbW9kaWZ5aW5nIGZvciBoYXNoXG4gICAgICAgICAgICBpZiAodGV4dENvbnRlbnRGb3JJZCkge1xuICAgICAgICAgICAgICBmcmFnbWVudCA9IGAke3RleHRDb250ZW50Rm9ySWQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJyl9YDtcbiAgICAgICAgICAgICAgbGV0IGNvdW50ZXIgPSAxO1xuICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEZyYWdtZW50ID0gZnJhZ21lbnQ7XG4gICAgICAgICAgICAgIHdoaWxlIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmcmFnbWVudCkpIHtcbiAgICAgICAgICAgICAgICBmcmFnbWVudCA9IGAke29yaWdpbmFsRnJhZ21lbnR9LSR7Y291bnRlcn1gO1xuICAgICAgICAgICAgICAgIGNvdW50ZXIrKztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gVXNlIGEgbW9yZSBzcGVjaWZpYyBwcmVmaXggZm9yIGdlbmVyYXRlZCBJRHMgdG8gYXZvaWQgcG90ZW50aWFsIGNvbGxpc2lvbnNcbiAgICAgICAgICAgICAgZnJhZ21lbnQgPSBgYXgtb3V0bGluZS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDcpfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbC5pZCA9IGZyYWdtZW50OyAvLyBTZXQgdGhlIElEIG9uIHRoZSBlbGVtZW50XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZWwuc3R5bGUuc2Nyb2xsTWFyZ2luID0gYCR7dGhpcy5hY3RpdmF0aW9uT2Zmc2V0KCl9cHhgO1xuXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdMaW5rID0gZWwucXVlcnlTZWxlY3RvcignYS5heC1vdXRsaW5lLWhhc2gtbGluaycpO1xuICAgICAgICAgIGlmIChleGlzdGluZ0xpbmspIHtcbiAgICAgICAgICAgIGV4aXN0aW5nTGluay5yZW1vdmUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5zaG93SGFzaEl0ZW0oKSkge1xuICAgICAgICAgICAgY29uc3QgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgICAgYW5jaG9yLnRleHRDb250ZW50ID0gJyMnO1xuICAgICAgICAgICAgYW5jaG9yLmhyZWYgPSBgJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9JHt3aW5kb3cubG9jYXRpb24uc2VhcmNofSMke2ZyYWdtZW50fWA7XG4gICAgICAgICAgICBhbmNob3IuY2xhc3NMaXN0LmFkZCgnYXgtb3V0bGluZS1oYXNoLWxpbmsnKTtcblxuICAgICAgICAgICAgLy8gU3R5bGluZyBmb3IgdGhlIGhhc2ggbGlua1xuICAgICAgICAgICAgYW5jaG9yLnN0eWxlLnBhZGRpbmdJbmxpbmVTdGFydCA9ICcwLjVyZW0nOyAvLyBBZGp1c3QgYXMgbmVlZGVkXG4gICAgICAgICAgICBhbmNob3Iuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgICAgIGFuY2hvci5zdHlsZS50cmFuc2l0aW9uID0gJ29wYWNpdHkgMC4ycyBlYXNlLWluLW91dCc7XG4gICAgICAgICAgICBhbmNob3Iuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInO1xuICAgICAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgnZnJhZ21lbnQnLCBmcmFnbWVudCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGVudGVyTGlzdGVuZXIgPSAoKSA9PiAoYW5jaG9yLnN0eWxlLm9wYWNpdHkgPSAnMScpO1xuICAgICAgICAgICAgY29uc3QgbGVhdmVMaXN0ZW5lciA9ICgpID0+IChhbmNob3Iuc3R5bGUub3BhY2l0eSA9ICcwJyk7XG5cbiAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBlbnRlckxpc3RlbmVyKTtcbiAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZUxpc3RlbmVyKTtcblxuICAgICAgICAgICAgZWwuYXBwZW5kQ2hpbGQoYW5jaG9yKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29weVVybE9uQ2xpY2soKSkge1xuICAgICAgICAgICAgICBhbmNob3IuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuY2xpcGJvYXJkU2VydmljZS5jb3B5KGFuY2hvci5ocmVmKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IG91dGxpbmUgVVJMOicsIGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4geyBlbCwgYWN0aXZlOiBmYWxzZSwgc2Nyb2xsWTogZWwub2Zmc2V0VG9wLCBoYXNBbmNob3I6IHRoaXMuc2hvd0hhc2hJdGVtKCkgfTtcbiAgICAgICAgfSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEuc2Nyb2xsWSAtIGIuc2Nyb2xsWSk7XG5cbiAgICAgIHRoaXMub3V0bGluZUl0ZW1zLnNldChvdXRsaW5lSXRlbXMpO1xuICAgICAgdGhpcy5zY3JvbGxDaGFuZ2VkKHRoaXMuc2Nyb2xsVG9wKCkpO1xuXG4gICAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoT3V0bGluZUl0ZW1zKCkge1xuICAgIHRoaXMuc2V0T3V0bGluZUl0ZW1zKCk7XG4gIH1cbn1cbiJdfQ==","import { afterNextRender, Directive, ElementRef, inject, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXOutlineItemDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.id = input(...(ngDevMode ? [undefined, { debugName: \"id\" }] : []));\n this.disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n this.#anr = afterNextRender(() => {\n this.el.nativeElement.dataset['axOutlineItem'] = this.disabled() ? 'false' : 'true';\n let newId;\n if (!this.id()) {\n const textContent = this.el.nativeElement.textContent.trim();\n if (textContent) {\n newId = `${textContent.replace(/\\s+/g, '-')}`;\n }\n else {\n newId = `${Math.random().toString(36).slice(2, 7)}`;\n }\n this.el.nativeElement.id = newId;\n }\n });\n }\n #anr;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.2\", type: AXOutlineItemDirective, isStandalone: true, selector: \"[axOutlineItem]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"axOutlineItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axOutlineItem]',\n exportAs: 'axOutlineItem',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9vdXRsaW5lL3NyYy9saWIvb3V0bGluZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdEYsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQUtVLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsT0FBRSxHQUFHLEtBQUssd0RBQVUsQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUMsQ0FBQztRQUV4QixTQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQTZCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFFckcsSUFBSSxLQUFLLENBQUM7WUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3RCxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNoQixLQUFLLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQWRDLElBQUksQ0FhRDs4R0FuQlEsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGVBQWU7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4T3V0bGluZUl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdheE91dGxpbmVJdGVtJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhPdXRsaW5lSXRlbURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgaWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gICNhbnIgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmRhdGFzZXRbJ2F4T3V0bGluZUl0ZW0nXSA9IHRoaXMuZGlzYWJsZWQoKSA/ICdmYWxzZScgOiAndHJ1ZSc7XG5cbiAgICBsZXQgbmV3SWQ7XG4gICAgaWYgKCF0aGlzLmlkKCkpIHtcbiAgICAgIGNvbnN0IHRleHRDb250ZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnRyaW0oKTtcbiAgICAgIGlmICh0ZXh0Q29udGVudCkge1xuICAgICAgICBuZXdJZCA9IGAke3RleHRDb250ZW50LnJlcGxhY2UoL1xccysvZywgJy0nKX1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3SWQgPSBgJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCA3KX1gO1xuICAgICAgfVxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkID0gbmV3SWQ7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXOutlineContainerDirective } from './outline-container.directive';\nimport { AXOutlineItemDirective } from './outline-item.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXOutlineContainerDirective, AXOutlineItemDirective];\nconst MODULES = [CommonModule];\nexport class AXOutlineModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineModule, imports: [CommonModule, AXOutlineContainerDirective, AXOutlineItemDirective], exports: [AXOutlineContainerDirective, AXOutlineItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOutlineModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvb3V0bGluZS9zcmMvbGliL291dGxpbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVsRSxNQUFNLFNBQVMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDeEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQU8vQixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsWUFQWCxZQUFZLEVBRFYsMkJBQTJCLEVBQUUsc0JBQXNCLGFBQW5ELDJCQUEyQixFQUFFLHNCQUFzQjsrR0FRekQsZUFBZSxZQUpiLE9BQU87OzJGQUlULGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPdXRsaW5lQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9vdXRsaW5lLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQVhPdXRsaW5lSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vb3V0bGluZS1pdGVtLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtBWE91dGxpbmVDb250YWluZXJEaXJlY3RpdmUsIEFYT3V0bGluZUl0ZW1EaXJlY3RpdmVdO1xuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYT3V0bGluZU1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1vdXRsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL291dGxpbmUvc3JjL2Fjb3JleC1jZGstb3V0bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -25,10 +25,10 @@ class AXOverlayService {
25
25
  };
26
26
  }
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AXOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXOverlayService, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AXOverlayService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-overlay.mjs","sources":["../tmp-esm2022/overlay/lib/overlay.service.js","../tmp-esm2022/overlay/acorex-cdk-overlay.js"],"sourcesContent":["import { AXComponentService } from '@acorex/core/components';\nimport { inject, Injectable, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXOverlayService {\n constructor() {\n this.componentService = inject(AXComponentService);\n }\n async create(content, options) {\n if (content instanceof TemplateRef) {\n const ref = await this.componentService.createFromTemplate(content);\n return {\n instance: ref,\n };\n }\n else {\n const ref = await this.componentService.createFromComponent(content);\n if (options?.inputs) {\n Object.entries(options.inputs).forEach((c) => {\n ref.setInput(c[0], c[1]);\n });\n }\n return {\n instance: ref,\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXOverlayService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL292ZXJsYXkvc3JjL2xpYi9vdmVybGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQUlVLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBb0J2RDtJQWxCQyxLQUFLLENBQUMsTUFBTSxDQUFVLE9BQThCLEVBQUUsT0FBMEI7UUFDOUUsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7WUFDbkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUksT0FBTyxDQUFDLENBQUM7WUFDdkUsT0FBTztnQkFDTCxRQUFRLEVBQUUsR0FBRzthQUNkLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFJLE9BQU8sQ0FBQyxDQUFDO1lBQ3hFLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU87Z0JBQ0wsUUFBUSxFQUFFLEdBQUc7YUFDZCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBcEJVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50Q29udGVudCwgQVhDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPdmVybGF5T3B0aW9ucywgQVhPdmVybGF5UmVmIH0gZnJvbSAnLi9vdmVybGF5LnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYT3ZlcmxheVNlcnZpY2Uge1xuICBwcml2YXRlIGNvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoQVhDb21wb25lbnRTZXJ2aWNlKTtcblxuICBhc3luYyBjcmVhdGU8VCA9IGFueT4oY29udGVudDogQVhDb21wb25lbnRDb250ZW50PFQ+LCBvcHRpb25zPzogQVhPdmVybGF5T3B0aW9ucyk6IFByb21pc2U8QVhPdmVybGF5UmVmPFQ+PiB7XG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgY29uc3QgcmVmID0gYXdhaXQgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUZyb21UZW1wbGF0ZTxUPihjb250ZW50KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGluc3RhbmNlOiByZWYsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWYgPSBhd2FpdCB0aGlzLmNvbXBvbmVudFNlcnZpY2UuY3JlYXRlRnJvbUNvbXBvbmVudDxUPihjb250ZW50KTtcbiAgICAgIGlmIChvcHRpb25zPy5pbnB1dHMpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMob3B0aW9ucy5pbnB1dHMpLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICByZWYuc2V0SW5wdXQoY1swXSwgY1sxXSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5zdGFuY2U6IHJlZixcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1vdmVybGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL292ZXJsYXkvc3JjL2Fjb3JleC1jZGstb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,MAAM,gBAAgB,CAAC;AAC9B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1D;AACA,IAAI,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AACnC,QAAQ,IAAI,OAAO,YAAY,WAAW,EAAE;AAC5C,YAAY,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC;AAC/E,YAAY,OAAO;AACnB,gBAAgB,QAAQ,EAAE,GAAG;AAC7B,aAAa;AACb;AACA,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC;AAChF,YAAY,IAAI,OAAO,EAAE,MAAM,EAAE;AACjC,gBAAgB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC9D,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,iBAAiB,CAAC;AAClB;AACA,YAAY,OAAO;AACnB,gBAAgB,QAAQ,EAAE,GAAG;AAC7B,aAAa;AACb;AACA;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACnL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AClCb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"acorex-cdk-overlay.mjs","sources":["../tmp-esm2022/overlay/lib/overlay.service.js","../tmp-esm2022/overlay/acorex-cdk-overlay.js"],"sourcesContent":["import { AXComponentService } from '@acorex/core/components';\nimport { inject, Injectable, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXOverlayService {\n constructor() {\n this.componentService = inject(AXComponentService);\n }\n async create(content, options) {\n if (content instanceof TemplateRef) {\n const ref = await this.componentService.createFromTemplate(content);\n return {\n instance: ref,\n };\n }\n else {\n const ref = await this.componentService.createFromComponent(content);\n if (options?.inputs) {\n Object.entries(options.inputs).forEach((c) => {\n ref.setInput(c[0], c[1]);\n });\n }\n return {\n instance: ref,\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXOverlayService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL292ZXJsYXkvc3JjL2xpYi9vdmVybGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQUlVLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBb0J2RDtJQWxCQyxLQUFLLENBQUMsTUFBTSxDQUFVLE9BQThCLEVBQUUsT0FBMEI7UUFDOUUsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7WUFDbkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUksT0FBTyxDQUFDLENBQUM7WUFDdkUsT0FBTztnQkFDTCxRQUFRLEVBQUUsR0FBRzthQUNkLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFJLE9BQU8sQ0FBQyxDQUFDO1lBQ3hFLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU87Z0JBQ0wsUUFBUSxFQUFFLEdBQUc7YUFDZCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBcEJVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50Q29udGVudCwgQVhDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhPdmVybGF5T3B0aW9ucywgQVhPdmVybGF5UmVmIH0gZnJvbSAnLi9vdmVybGF5LnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYT3ZlcmxheVNlcnZpY2Uge1xuICBwcml2YXRlIGNvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoQVhDb21wb25lbnRTZXJ2aWNlKTtcblxuICBhc3luYyBjcmVhdGU8VCA9IGFueT4oY29udGVudDogQVhDb21wb25lbnRDb250ZW50PFQ+LCBvcHRpb25zPzogQVhPdmVybGF5T3B0aW9ucyk6IFByb21pc2U8QVhPdmVybGF5UmVmPFQ+PiB7XG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgY29uc3QgcmVmID0gYXdhaXQgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUZyb21UZW1wbGF0ZTxUPihjb250ZW50KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGluc3RhbmNlOiByZWYsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWYgPSBhd2FpdCB0aGlzLmNvbXBvbmVudFNlcnZpY2UuY3JlYXRlRnJvbUNvbXBvbmVudDxUPihjb250ZW50KTtcbiAgICAgIGlmIChvcHRpb25zPy5pbnB1dHMpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMob3B0aW9ucy5pbnB1dHMpLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICByZWYuc2V0SW5wdXQoY1swXSwgY1sxXSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5zdGFuY2U6IHJlZixcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1vdmVybGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL292ZXJsYXkvc3JjL2Fjb3JleC1jZGstb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,MAAM,gBAAgB,CAAC;AAC9B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1D;AACA,IAAI,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AACnC,QAAQ,IAAI,OAAO,YAAY,WAAW,EAAE;AAC5C,YAAY,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC;AAC/E,YAAY,OAAO;AACnB,gBAAgB,QAAQ,EAAE,GAAG;AAC7B,aAAa;AACb;AACA,aAAa;AACb,YAAY,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC;AAChF,YAAY,IAAI,OAAO,EAAE,MAAM,EAAE;AACjC,gBAAgB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC9D,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,iBAAiB,CAAC;AAClB;AACA,YAAY,OAAO;AACnB,gBAAgB,QAAQ,EAAE,GAAG;AAC7B,aAAa;AACb;AACA;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACnL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AClCb;AACA;AACA;;;;"}
@@ -9,24 +9,24 @@ class AXPanViewDirective {
9
9
  this.render = inject(Renderer2);
10
10
  this.document = inject(DOCUMENT);
11
11
  this.el = inject((ElementRef));
12
- this.startX = signal(0);
13
- this.startY = signal(0);
14
- this.pointerDown = signal(false);
15
- this.wrapper = signal(null);
16
- this.zoomStep = input(7);
17
- this.minZoom = input(25);
18
- this.maxZoom = input(400);
19
- this.freeMode = input(false);
20
- this.fitContent = input(true);
21
- this.disablePan = input(false);
22
- this.disableZoom = input(false);
23
- this.wrapperClasses = input('');
24
- this.panX = model(0);
25
- this.panY = model(0);
26
- this.zoom = model(100);
12
+ this.startX = signal(0, ...(ngDevMode ? [{ debugName: "startX" }] : []));
13
+ this.startY = signal(0, ...(ngDevMode ? [{ debugName: "startY" }] : []));
14
+ this.pointerDown = signal(false, ...(ngDevMode ? [{ debugName: "pointerDown" }] : []));
15
+ this.wrapper = signal(null, ...(ngDevMode ? [{ debugName: "wrapper" }] : []));
16
+ this.zoomStep = input(7, ...(ngDevMode ? [{ debugName: "zoomStep" }] : []));
17
+ this.minZoom = input(25, ...(ngDevMode ? [{ debugName: "minZoom" }] : []));
18
+ this.maxZoom = input(400, ...(ngDevMode ? [{ debugName: "maxZoom" }] : []));
19
+ this.freeMode = input(false, ...(ngDevMode ? [{ debugName: "freeMode" }] : []));
20
+ this.fitContent = input(true, ...(ngDevMode ? [{ debugName: "fitContent" }] : []));
21
+ this.disablePan = input(false, ...(ngDevMode ? [{ debugName: "disablePan" }] : []));
22
+ this.disableZoom = input(false, ...(ngDevMode ? [{ debugName: "disableZoom" }] : []));
23
+ this.wrapperClasses = input('', ...(ngDevMode ? [{ debugName: "wrapperClasses" }] : []));
24
+ this.panX = model(0, ...(ngDevMode ? [{ debugName: "panX" }] : []));
25
+ this.panY = model(0, ...(ngDevMode ? [{ debugName: "panY" }] : []));
26
+ this.zoom = model(100, ...(ngDevMode ? [{ debugName: "zoom" }] : []));
27
27
  this.zoomChange = output();
28
28
  this.positionChange = output();
29
- this.nativeEl = computed(() => this.el.nativeElement);
29
+ this.nativeEl = computed(() => this.el.nativeElement, ...(ngDevMode ? [{ debugName: "nativeEl" }] : []));
30
30
  this.initialWidth = linkedSignal(() => this.nativeEl().getBoundingClientRect().width);
31
31
  this.initialHeight = linkedSignal(() => this.nativeEl().getBoundingClientRect().height);
32
32
  this.#anr = afterNextRender(() => {
@@ -182,10 +182,10 @@ class AXPanViewDirective {
182
182
  this.zoom.set(Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() - this.zoomStep()))));
183
183
  this.setElementPosition();
184
184
  }
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPanViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
186
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: AXPanViewDirective, isStandalone: true, selector: "[axPanView]", inputs: { zoomStep: { classPropertyName: "zoomStep", publicName: "zoomStep", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: true, isRequired: false, transformFunction: null }, freeMode: { classPropertyName: "freeMode", publicName: "freeMode", isSignal: true, isRequired: false, transformFunction: null }, fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: true, isRequired: false, transformFunction: null }, disablePan: { classPropertyName: "disablePan", publicName: "disablePan", isSignal: true, isRequired: false, transformFunction: null }, disableZoom: { classPropertyName: "disableZoom", publicName: "disableZoom", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, panX: { classPropertyName: "panX", publicName: "panX", isSignal: true, isRequired: false, transformFunction: null }, panY: { classPropertyName: "panY", publicName: "panY", isSignal: true, isRequired: false, transformFunction: null }, zoom: { classPropertyName: "zoom", publicName: "zoom", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { panX: "panXChange", panY: "panYChange", zoom: "zoomChange", zoomChange: "zoomChange", positionChange: "positionChange" }, exportAs: ["axPanView"], ngImport: i0 }); }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AXPanViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
186
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: AXPanViewDirective, isStandalone: true, selector: "[axPanView]", inputs: { zoomStep: { classPropertyName: "zoomStep", publicName: "zoomStep", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: true, isRequired: false, transformFunction: null }, freeMode: { classPropertyName: "freeMode", publicName: "freeMode", isSignal: true, isRequired: false, transformFunction: null }, fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: true, isRequired: false, transformFunction: null }, disablePan: { classPropertyName: "disablePan", publicName: "disablePan", isSignal: true, isRequired: false, transformFunction: null }, disableZoom: { classPropertyName: "disableZoom", publicName: "disableZoom", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, panX: { classPropertyName: "panX", publicName: "panX", isSignal: true, isRequired: false, transformFunction: null }, panY: { classPropertyName: "panY", publicName: "panY", isSignal: true, isRequired: false, transformFunction: null }, zoom: { classPropertyName: "zoom", publicName: "zoom", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { panX: "panXChange", panY: "panYChange", zoom: "zoomChange", zoomChange: "zoomChange", positionChange: "positionChange" }, exportAs: ["axPanView"], ngImport: i0 }); }
187
187
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPanViewDirective, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AXPanViewDirective, decorators: [{
189
189
  type: Directive,
190
190
  args: [{
191
191
  selector: '[axPanView]',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-pan-view.mjs","sources":["../tmp-esm2022/pan-view/lib/pan-view.directive.js","../tmp-esm2022/pan-view/acorex-cdk-pan-view.js"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, computed, Directive, DOCUMENT, ElementRef, inject, input, linkedSignal, model, NgZone, output, PLATFORM_ID, Renderer2, signal, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPanViewDirective {\n constructor() {\n this.platformId = inject(PLATFORM_ID);\n this.zone = inject(NgZone);\n this.render = inject(Renderer2);\n this.document = inject(DOCUMENT);\n this.el = inject((ElementRef));\n this.startX = signal(0);\n this.startY = signal(0);\n this.pointerDown = signal(false);\n this.wrapper = signal(null);\n this.zoomStep = input(7);\n this.minZoom = input(25);\n this.maxZoom = input(400);\n this.freeMode = input(false);\n this.fitContent = input(true);\n this.disablePan = input(false);\n this.disableZoom = input(false);\n this.wrapperClasses = input('');\n this.panX = model(0);\n this.panY = model(0);\n this.zoom = model(100);\n this.zoomChange = output();\n this.positionChange = output();\n this.nativeEl = computed(() => this.el.nativeElement);\n this.initialWidth = linkedSignal(() => this.nativeEl().getBoundingClientRect().width);\n this.initialHeight = linkedSignal(() => this.nativeEl().getBoundingClientRect().height);\n this.#anr = afterNextRender(() => {\n // Create Wrapper\n this.createWrapper();\n this.zone.runOutsideAngular(() => {\n // Wheel Event\n this.wrapper().onwheel = (e) => {\n e.preventDefault();\n if (e.ctrlKey || this.freeMode()) {\n this.handleZoomChange(e);\n return;\n }\n else if (e.shiftKey) {\n if (this.disablePan())\n return;\n this.panX.update((prev) => prev - e.deltaY / 3);\n this.setElementPosition();\n }\n else {\n if (this.disablePan())\n return;\n this.panY.update((prev) => prev - e.deltaY / 3);\n this.setElementPosition();\n }\n };\n // Pointer Down Event\n this.wrapper().onpointerdown = (e) => this.handlePointerDown(e);\n // Pointer Move Event\n this.document.onpointermove = (e) => this.handlePointerMove(e);\n // Pointer Up/Leave Event\n this.document.onpointerup = (e) => this.handlePointerUp(e);\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver(() => this.sizeChanged());\n this.resizeObserver.observe(this.wrapper());\n this.resizeObserver.observe(this.nativeEl());\n }\n });\n setTimeout(() => {\n this.resetPosition();\n });\n });\n }\n #anr;\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId))\n this.resizeObserver.disconnect();\n }\n createWrapper() {\n this.wrapper.set(this.render.createElement('div'));\n this.render.addClass(this.wrapper(), 'ax-pan-view-wrapper');\n if (this.wrapperClasses())\n this.render.addClass(this.wrapper(), this.wrapperClasses());\n const parent = this.nativeEl().parentNode;\n this.render.appendChild(this.wrapper(), this.nativeEl());\n this.render.insertBefore(parent, this.wrapper(), this.nativeEl().nextSibling);\n this.render.setStyle(this.wrapper(), 'width', '100%');\n this.render.setStyle(this.wrapper(), 'height', '100%');\n this.render.setStyle(this.wrapper(), 'overflow', 'hidden');\n this.render.setStyle(this.wrapper(), 'position', 'relative');\n this.render.setStyle(this.nativeEl(), 'top', '0');\n this.render.setStyle(this.nativeEl(), 'left', '0');\n this.render.setStyle(this.nativeEl(), 'position', 'absolute');\n }\n handlePointerDown(e) {\n if (this.disablePan())\n return;\n if (!this.freeMode() && e.pointerType === 'mouse' && e.buttons !== 4)\n return;\n if (this.freeMode() && e.pointerType === 'mouse' && e.buttons !== 1)\n return;\n e.preventDefault();\n this.pointerDown.set(true);\n this.wrapper().style.cursor = 'grabbing';\n // Update previous position for next move\n this.startX.set(e.clientX - this.panX());\n this.startY.set(e.clientY - this.panY());\n }\n handlePointerMove(e) {\n if (!this.pointerDown() || this.disablePan())\n return;\n e.preventDefault();\n this.panX.set(e.clientX - this.startX());\n this.panY.set(e.clientY - this.startY());\n this.setElementPosition();\n }\n handlePointerUp(e) {\n if (!this.pointerDown() || this.disablePan())\n return;\n e.preventDefault();\n this.pointerDown.set(false);\n this.wrapper().style.cursor = 'auto';\n }\n handleZoomChange(e) {\n if (this.disableZoom())\n return;\n e.preventDefault();\n const rect = this.nativeEl().getBoundingClientRect();\n const mouseX = e.clientX - rect.left;\n const mouseY = e.clientY - rect.top;\n // Calculate the new zoom based on step\n const zoomDirection = e.deltaY > 0 ? -1 : 1; // Scroll up -> zoom in, scroll down -> zoom out\n const newZoom = Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() + zoomDirection * this.zoomStep())));\n const scaleChange = newZoom / this.zoom();\n // Adjust pan to keep zoom centered at the mouse position\n this.panX.update((prev) => prev - (mouseX - rect.width / 2) * (scaleChange - 1));\n this.panY.update((prev) => prev - (mouseY - rect.height / 2) * (scaleChange - 1));\n this.zoom.set(newZoom);\n this.setElementPosition();\n }\n sizeChanged() {\n const prevWidth = this.initialWidth();\n const prevHeight = this.initialHeight();\n this.initialWidth.set((this.nativeEl().getBoundingClientRect().width * 100) / this.zoom());\n this.initialHeight.set((this.nativeEl().getBoundingClientRect().height * 100) / this.zoom());\n const newWidth = this.initialWidth();\n const newHeight = this.initialHeight();\n // Maintain the same relative position\n this.panX.update((prev) => prev - (newWidth - prevWidth) / 2);\n this.panY.update((prev) => prev - (newHeight - prevHeight) / 2);\n this.setElementPosition();\n }\n setFitContentScale() {\n if (!this.fitContent())\n return;\n const height = this.wrapper().clientHeight / this.nativeEl().clientHeight;\n const width = this.wrapper().clientWidth / this.nativeEl().clientWidth;\n this.zoom.set(Math.round(Math.min(height, width) * 100));\n }\n setElementPosition() {\n this.nativeEl().style.transform = `translate(${this.panX()}px, ${this.panY()}px) scale(${this.zoom() / 100})`;\n this.positionChange.emit({ x: this.panX(), y: this.panY() });\n this.zoomChange.emit(this.zoom());\n }\n resetPosition() {\n const containerWidth = this.wrapper().offsetWidth;\n const containerHeight = this.wrapper().offsetHeight;\n const boxLeft = (containerWidth - this.initialWidth()) / 2;\n const boxTop = (containerHeight - this.initialHeight()) / 2;\n this.panX.set(boxLeft);\n this.panY.set(boxTop);\n if (this.fitContent())\n this.setFitContentScale();\n else\n this.zoom.set(100);\n this.setElementPosition();\n }\n zoomIn() {\n this.zoom.set(Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() + this.zoomStep()))));\n this.setElementPosition();\n }\n zoomOut() {\n this.zoom.set(Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() - this.zoomStep()))));\n this.setElementPosition();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPanViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXPanViewDirective, isStandalone: true, selector: \"[axPanView]\", inputs: { zoomStep: { classPropertyName: \"zoomStep\", publicName: \"zoomStep\", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: \"minZoom\", publicName: \"minZoom\", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: \"maxZoom\", publicName: \"maxZoom\", isSignal: true, isRequired: false, transformFunction: null }, freeMode: { classPropertyName: \"freeMode\", publicName: \"freeMode\", isSignal: true, isRequired: false, transformFunction: null }, fitContent: { classPropertyName: \"fitContent\", publicName: \"fitContent\", isSignal: true, isRequired: false, transformFunction: null }, disablePan: { classPropertyName: \"disablePan\", publicName: \"disablePan\", isSignal: true, isRequired: false, transformFunction: null }, disableZoom: { classPropertyName: \"disableZoom\", publicName: \"disableZoom\", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: \"wrapperClasses\", publicName: \"wrapperClasses\", isSignal: true, isRequired: false, transformFunction: null }, panX: { classPropertyName: \"panX\", publicName: \"panX\", isSignal: true, isRequired: false, transformFunction: null }, panY: { classPropertyName: \"panY\", publicName: \"panY\", isSignal: true, isRequired: false, transformFunction: null }, zoom: { classPropertyName: \"zoom\", publicName: \"zoom\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { panX: \"panXChange\", panY: \"panYChange\", zoom: \"zoomChange\", zoomChange: \"zoomChange\", positionChange: \"positionChange\" }, exportAs: [\"axPanView\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPanViewDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axPanView]',\n exportAs: 'axPanView',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLXZpZXcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL3Bhbi12aWV3L3NyYy9saWIvcGFuLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQU12QixNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBT1UsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFckMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixXQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQXdCLElBQUksQ0FBQyxDQUFDO1FBRXRELGFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyxDQUFD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QVEsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsQ0FBZTtRQUN2QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxPQUFP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Q0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQTdNVSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBET0NVTUVOVCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxuICBtb2RlbCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIG91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4UGFuVmlld10nLFxuICBleHBvcnRBczogJ2F4UGFuVmlldycsXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFuVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHJlbmRlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgcHJpdmF0ZSBzdGFydFggPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgc3RhcnRZID0gc2lnbmFsKDApO1xuICBwcml2YXRlIHBvaW50ZXJEb3duID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSB3cmFwcGVyID0gc2lnbmFsPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgem9vbVN0ZXAgPSBpbnB1dCg3KTtcbiAgbWluWm9vbSA9IGlucHV0KDI1KTtcbiAgbWF4Wm9vbSA9IGlucHV0KDQwMCk7XG4gIGZyZWVNb2RlID0gaW5wdXQoZmFsc2UpO1xuICBmaXRDb250ZW50ID0gaW5wdXQodHJ1ZSk7XG4gIGRpc2FibGVQYW4gPSBpbnB1dChmYWxzZSk7XG4gIGRpc2FibGVab29tID0gaW5wdXQoZmFsc2UpO1xuICB3cmFwcGVyQ2xhc3NlcyA9IGlucHV0KCcnKTtcblxuICBwYW5YID0gbW9kZWwoMCk7XG4gIHBhblkgPSBtb2RlbCgwKTtcbiAgem9vbSA9IG1vZGVsKDEwMCk7XG5cbiAgem9vbUNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XG4gIHBvc2l0aW9uQ2hhbmdlID0gb3V0cHV0PHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4oKTtcblxuICBwcml2YXRlIG5hdGl2ZUVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcblxuICBwcml2YXRlIGluaXRpYWxXaWR0aCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLm5hdGl2ZUVsKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpO1xuICBwcml2YXRlIGluaXRpYWxIZWlnaHQgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5uYXRpdmVFbCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG5cbiAgI2FuciA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgLy8gQ3JlYXRlIFdyYXBwZXJcbiAgICB0aGlzLmNyZWF0ZVdyYXBwZXIoKTtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgLy8gV2hlZWwgRXZlbnRcbiAgICAgIHRoaXMud3JhcHBlcigpLm9ud2hlZWwgPSAoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmIChlLmN0cmxLZXkgfHwgdGhpcy5mcmVlTW9kZSgpKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVab29tQ2hhbmdlKGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChlLnNoaWZ0S2V5KSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZVBhbigpKSByZXR1cm47XG4gICAgICAgICAgdGhpcy5wYW5YLnVwZGF0ZSgocHJldikgPT4gcHJldiAtIGUuZGVsdGFZIC8gMyk7XG4gICAgICAgICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlUGFuKCkpIHJldHVybjtcbiAgICAgICAgICB0aGlzLnBhblkudXBkYXRlKChwcmV2KSA9PiBwcmV2IC0gZS5kZWx0YVkgLyAzKTtcbiAgICAgICAgICB0aGlzLnNldEVsZW1lbnRQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgLy8gUG9pbnRlciBEb3duIEV2ZW50XG4gICAgICB0aGlzLndyYXBwZXIoKS5vbnBvaW50ZXJkb3duID0gKGUpID0+IHRoaXMuaGFuZGxlUG9pbnRlckRvd24oZSk7XG4gICAgICAvLyBQb2ludGVyIE1vdmUgRXZlbnRcbiAgICAgIHRoaXMuZG9jdW1lbnQub25wb2ludGVybW92ZSA9IChlKSA9PiB0aGlzLmhhbmRsZVBvaW50ZXJNb3ZlKGUpO1xuICAgICAgLy8gUG9pbnRlciBVcC9MZWF2ZSBFdmVudFxuICAgICAgdGhpcy5kb2N1bWVudC5vbnBvaW50ZXJ1cCA9IChlKSA9PiB0aGlzLmhhbmRsZVBvaW50ZXJVcChlKTtcblxuICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLnNpemVDaGFuZ2VkKCkpO1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy53cmFwcGVyKCkpO1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5uYXRpdmVFbCgpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRQb3NpdGlvbigpO1xuICAgIH0pO1xuICB9KTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdyYXBwZXIoKSB7XG4gICAgdGhpcy53cmFwcGVyLnNldCh0aGlzLnJlbmRlci5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG4gICAgdGhpcy5yZW5kZXIuYWRkQ2xhc3ModGhpcy53cmFwcGVyKCksICdheC1wYW4tdmlldy13cmFwcGVyJyk7XG4gICAgaWYgKHRoaXMud3JhcHBlckNsYXNzZXMoKSkgdGhpcy5yZW5kZXIuYWRkQ2xhc3ModGhpcy53cmFwcGVyKCksIHRoaXMud3JhcHBlckNsYXNzZXMoKSk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLm5hdGl2ZUVsKCkucGFyZW50Tm9kZTtcbiAgICB0aGlzLnJlbmRlci5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIoKSwgdGhpcy5uYXRpdmVFbCgpKTtcbiAgICB0aGlzLnJlbmRlci5pbnNlcnRCZWZvcmUocGFyZW50LCB0aGlzLndyYXBwZXIoKSwgdGhpcy5uYXRpdmVFbCgpLm5leHRTaWJsaW5nKTtcblxuICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMud3JhcHBlcigpLCAnd2lkdGgnLCAnMTAwJScpO1xuICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMud3JhcHBlcigpLCAnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICB0aGlzLnJlbmRlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIoKSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMud3JhcHBlcigpLCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcblxuICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMubmF0aXZlRWwoKSwgJ3RvcCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXIuc2V0U3R5bGUodGhpcy5uYXRpdmVFbCgpLCAnbGVmdCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXIuc2V0U3R5bGUodGhpcy5uYXRpdmVFbCgpLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUG9pbnRlckRvd24oZTogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVBhbigpKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmZyZWVNb2RlKCkgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyAmJiBlLmJ1dHRvbnMgIT09IDQpIHJldHVybjtcbiAgICBpZiAodGhpcy5mcmVlTW9kZSgpICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScgJiYgZS5idXR0b25zICE9PSAxKSByZXR1cm47XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucG9pbnRlckRvd24uc2V0KHRydWUpO1xuICAgIHRoaXMud3JhcHBlcigpLnN0eWxlLmN1cnNvciA9ICdncmFiYmluZyc7XG5cbiAgICAvLyBVcGRhdGUgcHJldmlvdXMgcG9zaXRpb24gZm9yIG5leHQgbW92ZVxuICAgIHRoaXMuc3RhcnRYLnNldChlLmNsaWVudFggLSB0aGlzLnBhblgoKSk7XG4gICAgdGhpcy5zdGFydFkuc2V0KGUuY2xpZW50WSAtIHRoaXMucGFuWSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUG9pbnRlck1vdmUoZTogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLnBvaW50ZXJEb3duKCkgfHwgdGhpcy5kaXNhYmxlUGFuKCkpIHJldHVybjtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5wYW5YLnNldChlLmNsaWVudFggLSB0aGlzLnN0YXJ0WCgpKTtcbiAgICB0aGlzLnBhblkuc2V0KGUuY2xpZW50WSAtIHRoaXMuc3RhcnRZKCkpO1xuXG4gICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUG9pbnRlclVwKGU6IFBvaW50ZXJFdmVudCkge1xuICAgIGlmICghdGhpcy5wb2ludGVyRG93bigpIHx8IHRoaXMuZGlzYWJsZVBhbigpKSByZXR1cm47XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucG9pbnRlckRvd24uc2V0KGZhbHNlKTtcbiAgICB0aGlzLndyYXBwZXIoKS5zdHlsZS5jdXJzb3IgPSAnYXV0byc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVpvb21DaGFuZ2UoZTogV2hlZWxFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVab29tKCkpIHJldHVybjtcblxuICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IHJlY3QgPSB0aGlzLm5hdGl2ZUVsKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgbW91c2VYID0gZS5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuICAgIGNvbnN0IG1vdXNlWSA9IGUuY2xpZW50WSAtIHJlY3QudG9wO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHRoZSBuZXcgem9vbSBiYXNlZCBvbiBzdGVwXG4gICAgY29uc3Qgem9vbURpcmVjdGlvbiA9IGUuZGVsdGFZID4gMCA/IC0xIDogMTsgLy8gU2Nyb2xsIHVwIC0+IHpvb20gaW4sIHNjcm9sbCBkb3duIC0+IHpvb20gb3V0XG4gICAgY29uc3QgbmV3Wm9vbSA9IE1hdGgucm91bmQoXG4gICAgICBNYXRoLm1heCh0aGlzLm1pblpvb20oKSwgTWF0aC5taW4odGhpcy5tYXhab29tKCksIHRoaXMuem9vbSgpICsgem9vbURpcmVjdGlvbiAqIHRoaXMuem9vbVN0ZXAoKSkpLFxuICAgICk7XG5cbiAgICBjb25zdCBzY2FsZUNoYW5nZSA9IG5ld1pvb20gLyB0aGlzLnpvb20oKTtcblxuICAgIC8vIEFkanVzdCBwYW4gdG8ga2VlcCB6b29tIGNlbnRlcmVkIGF0IHRoZSBtb3VzZSBwb3NpdGlvblxuICAgIHRoaXMucGFuWC51cGRhdGUoKHByZXYpID0+IHByZXYgLSAobW91c2VYIC0gcmVjdC53aWR0aCAvIDIpICogKHNjYWxlQ2hhbmdlIC0gMSkpO1xuICAgIHRoaXMucGFuWS51cGRhdGUoKHByZXYpID0+IHByZXYgLSAobW91c2VZIC0gcmVjdC5oZWlnaHQgLyAyKSAqIChzY2FsZUNoYW5nZSAtIDEpKTtcbiAgICB0aGlzLnpvb20uc2V0KG5ld1pvb20pO1xuXG4gICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2l6ZUNoYW5nZWQoKSB7XG4gICAgY29uc3QgcHJldldpZHRoID0gdGhpcy5pbml0aWFsV2lkdGgoKTtcbiAgICBjb25zdCBwcmV2SGVpZ2h0ID0gdGhpcy5pbml0aWFsSGVpZ2h0KCk7XG5cbiAgICB0aGlzLmluaXRpYWxXaWR0aC5zZXQoKHRoaXMubmF0aXZlRWwoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAqIDEwMCkgLyB0aGlzLnpvb20oKSk7XG4gICAgdGhpcy5pbml0aWFsSGVpZ2h0LnNldCgodGhpcy5uYXRpdmVFbCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCAqIDEwMCkgLyB0aGlzLnpvb20oKSk7XG5cbiAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoKCk7XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gdGhpcy5pbml0aWFsSGVpZ2h0KCk7XG5cbiAgICAvLyBNYWludGFpbiB0aGUgc2FtZSByZWxhdGl2ZSBwb3NpdGlvblxuICAgIHRoaXMucGFuWC51cGRhdGUoKHByZXYpID0+IHByZXYgLSAobmV3V2lkdGggLSBwcmV2V2lkdGgpIC8gMik7XG4gICAgdGhpcy5wYW5ZLnVwZGF0ZSgocHJldikgPT4gcHJldiAtIChuZXdIZWlnaHQgLSBwcmV2SGVpZ2h0KSAvIDIpO1xuXG4gICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rml0Q29udGVudFNjYWxlKCkge1xuICAgIGlmICghdGhpcy5maXRDb250ZW50KCkpIHJldHVybjtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLndyYXBwZXIoKS5jbGllbnRIZWlnaHQgLyB0aGlzLm5hdGl2ZUVsKCkuY2xpZW50SGVpZ2h0O1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy53cmFwcGVyKCkuY2xpZW50V2lkdGggLyB0aGlzLm5hdGl2ZUVsKCkuY2xpZW50V2lkdGg7XG4gICAgdGhpcy56b29tLnNldChNYXRoLnJvdW5kKE1hdGgubWluKGhlaWdodCwgd2lkdGgpICogMTAwKSk7XG4gIH1cblxuICBzZXRFbGVtZW50UG9zaXRpb24oKSB7XG4gICAgdGhpcy5uYXRpdmVFbCgpLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHt0aGlzLnBhblgoKX1weCwgJHt0aGlzLnBhblkoKX1weCkgc2NhbGUoJHt0aGlzLnpvb20oKSAvIDEwMH0pYDtcblxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UuZW1pdCh7IHg6IHRoaXMucGFuWCgpLCB5OiB0aGlzLnBhblkoKSB9KTtcbiAgICB0aGlzLnpvb21DaGFuZ2UuZW1pdCh0aGlzLnpvb20oKSk7XG4gIH1cblxuICByZXNldFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy53cmFwcGVyKCkub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgY29udGFpbmVySGVpZ2h0ID0gdGhpcy53cmFwcGVyKCkub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY29uc3QgYm94TGVmdCA9IChjb250YWluZXJXaWR0aCAtIHRoaXMuaW5pdGlhbFdpZHRoKCkpIC8gMjtcbiAgICBjb25zdCBib3hUb3AgPSAoY29udGFpbmVySGVpZ2h0IC0gdGhpcy5pbml0aWFsSGVpZ2h0KCkpIC8gMjtcblxuICAgIHRoaXMucGFuWC5zZXQoYm94TGVmdCk7XG4gICAgdGhpcy5wYW5ZLnNldChib3hUb3ApO1xuXG4gICAgaWYgKHRoaXMuZml0Q29udGVudCgpKSB0aGlzLnNldEZpdENvbnRlbnRTY2FsZSgpO1xuICAgIGVsc2UgdGhpcy56b29tLnNldCgxMDApO1xuXG4gICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIHpvb21JbigpIHtcbiAgICB0aGlzLnpvb20uc2V0KE1hdGgucm91bmQoTWF0aC5tYXgodGhpcy5taW5ab29tKCksIE1hdGgubWluKHRoaXMubWF4Wm9vbSgpLCB0aGlzLnpvb20oKSArIHRoaXMuem9vbVN0ZXAoKSkpKSk7XG4gICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIHpvb21PdXQoKSB7XG4gICAgdGhpcy56b29tLnNldChNYXRoLnJvdW5kKE1hdGgubWF4KHRoaXMubWluWm9vbSgpLCBNYXRoLm1pbih0aGlzLm1heFpvb20oKSwgdGhpcy56b29tKCkgLSB0aGlzLnpvb21TdGVwKCkpKSkpO1xuICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1wYW4tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9wYW4tdmlldy9zcmMvYWNvcmV4LWNkay1wYW4tdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-pan-view.mjs","sources":["../tmp-esm2022/pan-view/lib/pan-view.directive.js","../tmp-esm2022/pan-view/acorex-cdk-pan-view.js"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, computed, Directive, DOCUMENT, ElementRef, inject, input, linkedSignal, model, NgZone, output, PLATFORM_ID, Renderer2, signal, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPanViewDirective {\n constructor() {\n this.platformId = inject(PLATFORM_ID);\n this.zone = inject(NgZone);\n this.render = inject(Renderer2);\n this.document = inject(DOCUMENT);\n this.el = inject((ElementRef));\n this.startX = signal(0, ...(ngDevMode ? [{ debugName: \"startX\" }] : []));\n this.startY = signal(0, ...(ngDevMode ? [{ debugName: \"startY\" }] : []));\n this.pointerDown = signal(false, ...(ngDevMode ? [{ debugName: \"pointerDown\" }] : []));\n this.wrapper = signal(null, ...(ngDevMode ? [{ debugName: \"wrapper\" }] : []));\n this.zoomStep = input(7, ...(ngDevMode ? [{ debugName: \"zoomStep\" }] : []));\n this.minZoom = input(25, ...(ngDevMode ? [{ debugName: \"minZoom\" }] : []));\n this.maxZoom = input(400, ...(ngDevMode ? [{ debugName: \"maxZoom\" }] : []));\n this.freeMode = input(false, ...(ngDevMode ? [{ debugName: \"freeMode\" }] : []));\n this.fitContent = input(true, ...(ngDevMode ? [{ debugName: \"fitContent\" }] : []));\n this.disablePan = input(false, ...(ngDevMode ? [{ debugName: \"disablePan\" }] : []));\n this.disableZoom = input(false, ...(ngDevMode ? [{ debugName: \"disableZoom\" }] : []));\n this.wrapperClasses = input('', ...(ngDevMode ? [{ debugName: \"wrapperClasses\" }] : []));\n this.panX = model(0, ...(ngDevMode ? [{ debugName: \"panX\" }] : []));\n this.panY = model(0, ...(ngDevMode ? [{ debugName: \"panY\" }] : []));\n this.zoom = model(100, ...(ngDevMode ? [{ debugName: \"zoom\" }] : []));\n this.zoomChange = output();\n this.positionChange = output();\n this.nativeEl = computed(() => this.el.nativeElement, ...(ngDevMode ? [{ debugName: \"nativeEl\" }] : []));\n this.initialWidth = linkedSignal(() => this.nativeEl().getBoundingClientRect().width);\n this.initialHeight = linkedSignal(() => this.nativeEl().getBoundingClientRect().height);\n this.#anr = afterNextRender(() => {\n // Create Wrapper\n this.createWrapper();\n this.zone.runOutsideAngular(() => {\n // Wheel Event\n this.wrapper().onwheel = (e) => {\n e.preventDefault();\n if (e.ctrlKey || this.freeMode()) {\n this.handleZoomChange(e);\n return;\n }\n else if (e.shiftKey) {\n if (this.disablePan())\n return;\n this.panX.update((prev) => prev - e.deltaY / 3);\n this.setElementPosition();\n }\n else {\n if (this.disablePan())\n return;\n this.panY.update((prev) => prev - e.deltaY / 3);\n this.setElementPosition();\n }\n };\n // Pointer Down Event\n this.wrapper().onpointerdown = (e) => this.handlePointerDown(e);\n // Pointer Move Event\n this.document.onpointermove = (e) => this.handlePointerMove(e);\n // Pointer Up/Leave Event\n this.document.onpointerup = (e) => this.handlePointerUp(e);\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver(() => this.sizeChanged());\n this.resizeObserver.observe(this.wrapper());\n this.resizeObserver.observe(this.nativeEl());\n }\n });\n setTimeout(() => {\n this.resetPosition();\n });\n });\n }\n #anr;\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId))\n this.resizeObserver.disconnect();\n }\n createWrapper() {\n this.wrapper.set(this.render.createElement('div'));\n this.render.addClass(this.wrapper(), 'ax-pan-view-wrapper');\n if (this.wrapperClasses())\n this.render.addClass(this.wrapper(), this.wrapperClasses());\n const parent = this.nativeEl().parentNode;\n this.render.appendChild(this.wrapper(), this.nativeEl());\n this.render.insertBefore(parent, this.wrapper(), this.nativeEl().nextSibling);\n this.render.setStyle(this.wrapper(), 'width', '100%');\n this.render.setStyle(this.wrapper(), 'height', '100%');\n this.render.setStyle(this.wrapper(), 'overflow', 'hidden');\n this.render.setStyle(this.wrapper(), 'position', 'relative');\n this.render.setStyle(this.nativeEl(), 'top', '0');\n this.render.setStyle(this.nativeEl(), 'left', '0');\n this.render.setStyle(this.nativeEl(), 'position', 'absolute');\n }\n handlePointerDown(e) {\n if (this.disablePan())\n return;\n if (!this.freeMode() && e.pointerType === 'mouse' && e.buttons !== 4)\n return;\n if (this.freeMode() && e.pointerType === 'mouse' && e.buttons !== 1)\n return;\n e.preventDefault();\n this.pointerDown.set(true);\n this.wrapper().style.cursor = 'grabbing';\n // Update previous position for next move\n this.startX.set(e.clientX - this.panX());\n this.startY.set(e.clientY - this.panY());\n }\n handlePointerMove(e) {\n if (!this.pointerDown() || this.disablePan())\n return;\n e.preventDefault();\n this.panX.set(e.clientX - this.startX());\n this.panY.set(e.clientY - this.startY());\n this.setElementPosition();\n }\n handlePointerUp(e) {\n if (!this.pointerDown() || this.disablePan())\n return;\n e.preventDefault();\n this.pointerDown.set(false);\n this.wrapper().style.cursor = 'auto';\n }\n handleZoomChange(e) {\n if (this.disableZoom())\n return;\n e.preventDefault();\n const rect = this.nativeEl().getBoundingClientRect();\n const mouseX = e.clientX - rect.left;\n const mouseY = e.clientY - rect.top;\n // Calculate the new zoom based on step\n const zoomDirection = e.deltaY > 0 ? -1 : 1; // Scroll up -> zoom in, scroll down -> zoom out\n const newZoom = Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() + zoomDirection * this.zoomStep())));\n const scaleChange = newZoom / this.zoom();\n // Adjust pan to keep zoom centered at the mouse position\n this.panX.update((prev) => prev - (mouseX - rect.width / 2) * (scaleChange - 1));\n this.panY.update((prev) => prev - (mouseY - rect.height / 2) * (scaleChange - 1));\n this.zoom.set(newZoom);\n this.setElementPosition();\n }\n sizeChanged() {\n const prevWidth = this.initialWidth();\n const prevHeight = this.initialHeight();\n this.initialWidth.set((this.nativeEl().getBoundingClientRect().width * 100) / this.zoom());\n this.initialHeight.set((this.nativeEl().getBoundingClientRect().height * 100) / this.zoom());\n const newWidth = this.initialWidth();\n const newHeight = this.initialHeight();\n // Maintain the same relative position\n this.panX.update((prev) => prev - (newWidth - prevWidth) / 2);\n this.panY.update((prev) => prev - (newHeight - prevHeight) / 2);\n this.setElementPosition();\n }\n setFitContentScale() {\n if (!this.fitContent())\n return;\n const height = this.wrapper().clientHeight / this.nativeEl().clientHeight;\n const width = this.wrapper().clientWidth / this.nativeEl().clientWidth;\n this.zoom.set(Math.round(Math.min(height, width) * 100));\n }\n setElementPosition() {\n this.nativeEl().style.transform = `translate(${this.panX()}px, ${this.panY()}px) scale(${this.zoom() / 100})`;\n this.positionChange.emit({ x: this.panX(), y: this.panY() });\n this.zoomChange.emit(this.zoom());\n }\n resetPosition() {\n const containerWidth = this.wrapper().offsetWidth;\n const containerHeight = this.wrapper().offsetHeight;\n const boxLeft = (containerWidth - this.initialWidth()) / 2;\n const boxTop = (containerHeight - this.initialHeight()) / 2;\n this.panX.set(boxLeft);\n this.panY.set(boxTop);\n if (this.fitContent())\n this.setFitContentScale();\n else\n this.zoom.set(100);\n this.setElementPosition();\n }\n zoomIn() {\n this.zoom.set(Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() + this.zoomStep()))));\n this.setElementPosition();\n }\n zoomOut() {\n this.zoom.set(Math.round(Math.max(this.minZoom(), Math.min(this.maxZoom(), this.zoom() - this.zoomStep()))));\n this.setElementPosition();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXPanViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.2\", type: AXPanViewDirective, isStandalone: true, selector: \"[axPanView]\", inputs: { zoomStep: { classPropertyName: \"zoomStep\", publicName: \"zoomStep\", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: \"minZoom\", publicName: \"minZoom\", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: \"maxZoom\", publicName: \"maxZoom\", isSignal: true, isRequired: false, transformFunction: null }, freeMode: { classPropertyName: \"freeMode\", publicName: \"freeMode\", isSignal: true, isRequired: false, transformFunction: null }, fitContent: { classPropertyName: \"fitContent\", publicName: \"fitContent\", isSignal: true, isRequired: false, transformFunction: null }, disablePan: { classPropertyName: \"disablePan\", publicName: \"disablePan\", isSignal: true, isRequired: false, transformFunction: null }, disableZoom: { classPropertyName: \"disableZoom\", publicName: \"disableZoom\", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: \"wrapperClasses\", publicName: \"wrapperClasses\", isSignal: true, isRequired: false, transformFunction: null }, panX: { classPropertyName: \"panX\", publicName: \"panX\", isSignal: true, isRequired: false, transformFunction: null }, panY: { classPropertyName: \"panY\", publicName: \"panY\", isSignal: true, isRequired: false, transformFunction: null }, zoom: { classPropertyName: \"zoom\", publicName: \"zoom\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { panX: \"panXChange\", panY: \"panYChange\", zoom: \"zoomChange\", zoomChange: \"zoomChange\", positionChange: \"positionChange\" }, exportAs: [\"axPanView\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: AXPanViewDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axPanView]',\n exportAs: 'axPanView',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLXZpZXcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL3Bhbi12aWV3L3NyYy9saWIvcGFuLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOztBQU12QixNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBT1UsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFckMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLGtEQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLGtEQUFDLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyx1REFBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQXdCLElBQUksbURBQUMsQ0FBQztRQUV0RCxhQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsb0RBQUMsQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsbURBQUMsQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FB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RUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0E3TVUsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxXQUFXO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgY29tcHV0ZWQsXG4gIERpcmVjdGl2ZSxcbiAgRE9DVU1FTlQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgbW9kZWwsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theFBhblZpZXddJyxcbiAgZXhwb3J0QXM6ICdheFBhblZpZXcnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhblZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSByZW5kZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gIHByaXZhdGUgc3RhcnRYID0gc2lnbmFsKDApO1xuICBwcml2YXRlIHN0YXJ0WSA9IHNpZ25hbCgwKTtcbiAgcHJpdmF0ZSBwb2ludGVyRG93biA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgd3JhcHBlciA9IHNpZ25hbDxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gIHpvb21TdGVwID0gaW5wdXQoNyk7XG4gIG1pblpvb20gPSBpbnB1dCgyNSk7XG4gIG1heFpvb20gPSBpbnB1dCg0MDApO1xuICBmcmVlTW9kZSA9IGlucHV0KGZhbHNlKTtcbiAgZml0Q29udGVudCA9IGlucHV0KHRydWUpO1xuICBkaXNhYmxlUGFuID0gaW5wdXQoZmFsc2UpO1xuICBkaXNhYmxlWm9vbSA9IGlucHV0KGZhbHNlKTtcbiAgd3JhcHBlckNsYXNzZXMgPSBpbnB1dCgnJyk7XG5cbiAgcGFuWCA9IG1vZGVsKDApO1xuICBwYW5ZID0gbW9kZWwoMCk7XG4gIHpvb20gPSBtb2RlbCgxMDApO1xuXG4gIHpvb21DaGFuZ2UgPSBvdXRwdXQ8bnVtYmVyPigpO1xuICBwb3NpdGlvbkNoYW5nZSA9IG91dHB1dDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KCk7XG5cbiAgcHJpdmF0ZSBuYXRpdmVFbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgcHJpdmF0ZSBpbml0aWFsV2lkdGggPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5uYXRpdmVFbCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtcbiAgcHJpdmF0ZSBpbml0aWFsSGVpZ2h0ID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMubmF0aXZlRWwoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuXG4gICNhbnIgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIC8vIENyZWF0ZSBXcmFwcGVyXG4gICAgdGhpcy5jcmVhdGVXcmFwcGVyKCk7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIC8vIFdoZWVsIEV2ZW50XG4gICAgICB0aGlzLndyYXBwZXIoKS5vbndoZWVsID0gKGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoZS5jdHJsS2V5IHx8IHRoaXMuZnJlZU1vZGUoKSkge1xuICAgICAgICAgIHRoaXMuaGFuZGxlWm9vbUNoYW5nZShlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVQYW4oKSkgcmV0dXJuO1xuICAgICAgICAgIHRoaXMucGFuWC51cGRhdGUoKHByZXYpID0+IHByZXYgLSBlLmRlbHRhWSAvIDMpO1xuICAgICAgICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZVBhbigpKSByZXR1cm47XG4gICAgICAgICAgdGhpcy5wYW5ZLnVwZGF0ZSgocHJldikgPT4gcHJldiAtIGUuZGVsdGFZIC8gMyk7XG4gICAgICAgICAgdGhpcy5zZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIC8vIFBvaW50ZXIgRG93biBFdmVudFxuICAgICAgdGhpcy53cmFwcGVyKCkub25wb2ludGVyZG93biA9IChlKSA9PiB0aGlzLmhhbmRsZVBvaW50ZXJEb3duKGUpO1xuICAgICAgLy8gUG9pbnRlciBNb3ZlIEV2ZW50XG4gICAgICB0aGlzLmRvY3VtZW50Lm9ucG9pbnRlcm1vdmUgPSAoZSkgPT4gdGhpcy5oYW5kbGVQb2ludGVyTW92ZShlKTtcbiAgICAgIC8vIFBvaW50ZXIgVXAvTGVhdmUgRXZlbnRcbiAgICAgIHRoaXMuZG9jdW1lbnQub25wb2ludGVydXAgPSAoZSkgPT4gdGhpcy5oYW5kbGVQb2ludGVyVXAoZSk7XG5cbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gdGhpcy5zaXplQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMud3JhcHBlcigpKTtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMubmF0aXZlRWwoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0UG9zaXRpb24oKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVXcmFwcGVyKCkge1xuICAgIHRoaXMud3JhcHBlci5zZXQodGhpcy5yZW5kZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuICAgIHRoaXMucmVuZGVyLmFkZENsYXNzKHRoaXMud3JhcHBlcigpLCAnYXgtcGFuLXZpZXctd3JhcHBlcicpO1xuICAgIGlmICh0aGlzLndyYXBwZXJDbGFzc2VzKCkpIHRoaXMucmVuZGVyLmFkZENsYXNzKHRoaXMud3JhcHBlcigpLCB0aGlzLndyYXBwZXJDbGFzc2VzKCkpO1xuXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5uYXRpdmVFbCgpLnBhcmVudE5vZGU7XG4gICAgdGhpcy5yZW5kZXIuYXBwZW5kQ2hpbGQodGhpcy53cmFwcGVyKCksIHRoaXMubmF0aXZlRWwoKSk7XG4gICAgdGhpcy5yZW5kZXIuaW5zZXJ0QmVmb3JlKHBhcmVudCwgdGhpcy53cmFwcGVyKCksIHRoaXMubmF0aXZlRWwoKS5uZXh0U2libGluZyk7XG5cbiAgICB0aGlzLnJlbmRlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIoKSwgJ3dpZHRoJywgJzEwMCUnKTtcbiAgICB0aGlzLnJlbmRlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIoKSwgJ2hlaWdodCcsICcxMDAlJyk7XG4gICAgdGhpcy5yZW5kZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyKCksICdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICB0aGlzLnJlbmRlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIoKSwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XG5cbiAgICB0aGlzLnJlbmRlci5zZXRTdHlsZSh0aGlzLm5hdGl2ZUVsKCksICd0b3AnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMubmF0aXZlRWwoKSwgJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMubmF0aXZlRWwoKSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBvaW50ZXJEb3duKGU6IFBvaW50ZXJFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVQYW4oKSkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5mcmVlTW9kZSgpICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScgJiYgZS5idXR0b25zICE9PSA0KSByZXR1cm47XG4gICAgaWYgKHRoaXMuZnJlZU1vZGUoKSAmJiBlLnBvaW50ZXJUeXBlID09PSAnbW91c2UnICYmIGUuYnV0dG9ucyAhPT0gMSkgcmV0dXJuO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnBvaW50ZXJEb3duLnNldCh0cnVlKTtcbiAgICB0aGlzLndyYXBwZXIoKS5zdHlsZS5jdXJzb3IgPSAnZ3JhYmJpbmcnO1xuXG4gICAgLy8gVXBkYXRlIHByZXZpb3VzIHBvc2l0aW9uIGZvciBuZXh0IG1vdmVcbiAgICB0aGlzLnN0YXJ0WC5zZXQoZS5jbGllbnRYIC0gdGhpcy5wYW5YKCkpO1xuICAgIHRoaXMuc3RhcnRZLnNldChlLmNsaWVudFkgLSB0aGlzLnBhblkoKSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBvaW50ZXJNb3ZlKGU6IFBvaW50ZXJFdmVudCkge1xuICAgIGlmICghdGhpcy5wb2ludGVyRG93bigpIHx8IHRoaXMuZGlzYWJsZVBhbigpKSByZXR1cm47XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucGFuWC5zZXQoZS5jbGllbnRYIC0gdGhpcy5zdGFydFgoKSk7XG4gICAgdGhpcy5wYW5ZLnNldChlLmNsaWVudFkgLSB0aGlzLnN0YXJ0WSgpKTtcblxuICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBvaW50ZXJVcChlOiBQb2ludGVyRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMucG9pbnRlckRvd24oKSB8fCB0aGlzLmRpc2FibGVQYW4oKSkgcmV0dXJuO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnBvaW50ZXJEb3duLnNldChmYWxzZSk7XG4gICAgdGhpcy53cmFwcGVyKCkuc3R5bGUuY3Vyc29yID0gJ2F1dG8nO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVab29tQ2hhbmdlKGU6IFdoZWVsRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlWm9vbSgpKSByZXR1cm47XG5cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCByZWN0ID0gdGhpcy5uYXRpdmVFbCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IG1vdXNlWCA9IGUuY2xpZW50WCAtIHJlY3QubGVmdDtcbiAgICBjb25zdCBtb3VzZVkgPSBlLmNsaWVudFkgLSByZWN0LnRvcDtcblxuICAgIC8vIENhbGN1bGF0ZSB0aGUgbmV3IHpvb20gYmFzZWQgb24gc3RlcFxuICAgIGNvbnN0IHpvb21EaXJlY3Rpb24gPSBlLmRlbHRhWSA+IDAgPyAtMSA6IDE7IC8vIFNjcm9sbCB1cCAtPiB6b29tIGluLCBzY3JvbGwgZG93biAtPiB6b29tIG91dFxuICAgIGNvbnN0IG5ld1pvb20gPSBNYXRoLnJvdW5kKFxuICAgICAgTWF0aC5tYXgodGhpcy5taW5ab29tKCksIE1hdGgubWluKHRoaXMubWF4Wm9vbSgpLCB0aGlzLnpvb20oKSArIHpvb21EaXJlY3Rpb24gKiB0aGlzLnpvb21TdGVwKCkpKSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2NhbGVDaGFuZ2UgPSBuZXdab29tIC8gdGhpcy56b29tKCk7XG5cbiAgICAvLyBBZGp1c3QgcGFuIHRvIGtlZXAgem9vbSBjZW50ZXJlZCBhdCB0aGUgbW91c2UgcG9zaXRpb25cbiAgICB0aGlzLnBhblgudXBkYXRlKChwcmV2KSA9PiBwcmV2IC0gKG1vdXNlWCAtIHJlY3Qud2lkdGggLyAyKSAqIChzY2FsZUNoYW5nZSAtIDEpKTtcbiAgICB0aGlzLnBhblkudXBkYXRlKChwcmV2KSA9PiBwcmV2IC0gKG1vdXNlWSAtIHJlY3QuaGVpZ2h0IC8gMikgKiAoc2NhbGVDaGFuZ2UgLSAxKSk7XG4gICAgdGhpcy56b29tLnNldChuZXdab29tKTtcblxuICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHNpemVDaGFuZ2VkKCkge1xuICAgIGNvbnN0IHByZXZXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoKCk7XG4gICAgY29uc3QgcHJldkhlaWdodCA9IHRoaXMuaW5pdGlhbEhlaWdodCgpO1xuXG4gICAgdGhpcy5pbml0aWFsV2lkdGguc2V0KCh0aGlzLm5hdGl2ZUVsKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKiAxMDApIC8gdGhpcy56b29tKCkpO1xuICAgIHRoaXMuaW5pdGlhbEhlaWdodC5zZXQoKHRoaXMubmF0aXZlRWwoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgKiAxMDApIC8gdGhpcy56b29tKCkpO1xuXG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCgpO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IHRoaXMuaW5pdGlhbEhlaWdodCgpO1xuXG4gICAgLy8gTWFpbnRhaW4gdGhlIHNhbWUgcmVsYXRpdmUgcG9zaXRpb25cbiAgICB0aGlzLnBhblgudXBkYXRlKChwcmV2KSA9PiBwcmV2IC0gKG5ld1dpZHRoIC0gcHJldldpZHRoKSAvIDIpO1xuICAgIHRoaXMucGFuWS51cGRhdGUoKHByZXYpID0+IHByZXYgLSAobmV3SGVpZ2h0IC0gcHJldkhlaWdodCkgLyAyKTtcblxuICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEZpdENvbnRlbnRTY2FsZSgpIHtcbiAgICBpZiAoIXRoaXMuZml0Q29udGVudCgpKSByZXR1cm47XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy53cmFwcGVyKCkuY2xpZW50SGVpZ2h0IC8gdGhpcy5uYXRpdmVFbCgpLmNsaWVudEhlaWdodDtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMud3JhcHBlcigpLmNsaWVudFdpZHRoIC8gdGhpcy5uYXRpdmVFbCgpLmNsaWVudFdpZHRoO1xuICAgIHRoaXMuem9vbS5zZXQoTWF0aC5yb3VuZChNYXRoLm1pbihoZWlnaHQsIHdpZHRoKSAqIDEwMCkpO1xuICB9XG5cbiAgc2V0RWxlbWVudFBvc2l0aW9uKCkge1xuICAgIHRoaXMubmF0aXZlRWwoKS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7dGhpcy5wYW5YKCl9cHgsICR7dGhpcy5wYW5ZKCl9cHgpIHNjYWxlKCR7dGhpcy56b29tKCkgLyAxMDB9KWA7XG5cbiAgICB0aGlzLnBvc2l0aW9uQ2hhbmdlLmVtaXQoeyB4OiB0aGlzLnBhblgoKSwgeTogdGhpcy5wYW5ZKCkgfSk7XG4gICAgdGhpcy56b29tQ2hhbmdlLmVtaXQodGhpcy56b29tKCkpO1xuICB9XG5cbiAgcmVzZXRQb3NpdGlvbigpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMud3JhcHBlcigpLm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IHRoaXMud3JhcHBlcigpLm9mZnNldEhlaWdodDtcblxuICAgIGNvbnN0IGJveExlZnQgPSAoY29udGFpbmVyV2lkdGggLSB0aGlzLmluaXRpYWxXaWR0aCgpKSAvIDI7XG4gICAgY29uc3QgYm94VG9wID0gKGNvbnRhaW5lckhlaWdodCAtIHRoaXMuaW5pdGlhbEhlaWdodCgpKSAvIDI7XG5cbiAgICB0aGlzLnBhblguc2V0KGJveExlZnQpO1xuICAgIHRoaXMucGFuWS5zZXQoYm94VG9wKTtcblxuICAgIGlmICh0aGlzLmZpdENvbnRlbnQoKSkgdGhpcy5zZXRGaXRDb250ZW50U2NhbGUoKTtcbiAgICBlbHNlIHRoaXMuem9vbS5zZXQoMTAwKTtcblxuICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICB6b29tSW4oKSB7XG4gICAgdGhpcy56b29tLnNldChNYXRoLnJvdW5kKE1hdGgubWF4KHRoaXMubWluWm9vbSgpLCBNYXRoLm1pbih0aGlzLm1heFpvb20oKSwgdGhpcy56b29tKCkgKyB0aGlzLnpvb21TdGVwKCkpKSkpO1xuICAgIHRoaXMuc2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICB6b29tT3V0KCkge1xuICAgIHRoaXMuem9vbS5zZXQoTWF0aC5yb3VuZChNYXRoLm1heCh0aGlzLm1pblpvb20oKSwgTWF0aC5taW4odGhpcy5tYXhab29tKCksIHRoaXMuem9vbSgpIC0gdGhpcy56b29tU3RlcCgpKSkpKTtcbiAgICB0aGlzLnNldEVsZW1lbnRQb3NpdGlvbigpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1wYW4tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9wYW4tdmlldy9zcmMvYWNvcmV4LWNkay1wYW4tdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}