{"version":3,"file":"acorex-cdk-list-navigation.mjs","sources":["../tmp-esm2022/list-navigation/lib/list-navigation.directive.js","../tmp-esm2022/list-navigation/lib/list-navigation-item.directive.js","../tmp-esm2022/list-navigation/lib/list-navigation.module.js","../tmp-esm2022/list-navigation/acorex-cdk-list-navigation.js"],"sourcesContent":["import { afterNextRender, contentChildren, Directive, effect, ElementRef, inject, input, output, signal, } from '@angular/core';\nimport { AXListNavigationItemDirective } from './list-navigation-item.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXListNavigationDirective {\n    constructor() {\n        this.childElem = contentChildren(AXListNavigationItemDirective, ...(ngDevMode ? [{ debugName: \"childElem\", descendants: true }] : [{ descendants: true }]));\n        this.elementRef = inject(ElementRef);\n        this.activeIndex = signal(0, ...(ngDevMode ? [{ debugName: \"activeIndex\" }] : []));\n        this.onNavigationChanged = output();\n        this.onKeypress = output();\n        this.orientation = input('vertical', ...(ngDevMode ? [{ debugName: \"orientation\" }] : []));\n        this.scrollOption = {\n            behavior: 'smooth',\n            block: 'nearest',\n        };\n        this.#eff = effect(() => {\n            this.childElem().forEach((item, index) => {\n                item.itemElem.nativeElement.tabIndex = 0;\n                item.index.set(index);\n            });\n        }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n        this.#init = afterNextRender(() => {\n            this.elementRef.nativeElement.tabIndex = -1;\n            this.elementRef.nativeElement.onkeydown = (e) => {\n                this.onKeypress.emit({ component: this, nativeEvent: e });\n                if (e.key === 'Tab') {\n                    this.onNavigationChanged.emit({ sender: this });\n                }\n                if (this.orientation() === 'vertical') {\n                    switch (e.key) {\n                        case 'ArrowDown':\n                            this.navigationHandler('ArrowDown');\n                            break;\n                        case 'ArrowUp':\n                            this.navigationHandler('ArrowUp');\n                            break;\n                        case 'ArrowLeft':\n                            this.parentNavigationHandler();\n                            break;\n                    }\n                }\n                else if (this.orientation() === 'horizontal') {\n                    switch (e.key) {\n                        case 'ArrowRight':\n                            this.navigationHandler('ArrowDown');\n                            break;\n                        case 'ArrowLeft':\n                            this.navigationHandler('ArrowUp');\n                            break;\n                        case 'ArrowUp':\n                            this.parentNavigationHandler();\n                            break;\n                    }\n                }\n            };\n        });\n    }\n    #eff;\n    #init;\n    navigationHandler(e) {\n        this.onNavigationChanged.emit({ sender: this });\n        if (e === 'ArrowUp' && this.activeIndex() > 0) {\n            this.activeIndex.update((prev) => prev - 1);\n            this.focusOnIndex(this.activeIndex());\n        }\n        else if (e === 'ArrowDown' && this.activeIndex() < this.childElem().length - 1) {\n            this.activeIndex.update((prev) => prev + 1);\n            this.focusOnIndex(this.activeIndex());\n        }\n    }\n    parentNavigationHandler() {\n        this.onNavigationChanged.emit({ sender: this });\n        const selectedItemParentKey = this.childElem()[this.activeIndex()].navigationParentItemKey();\n        if (!selectedItemParentKey)\n            return;\n        const parentElem = this.childElem().find((item) => item.navigationItemKey === selectedItemParentKey);\n        if (!parentElem)\n            return;\n        setTimeout(() => {\n            parentElem.itemElem.nativeElement.focus();\n        });\n        parentElem.itemElem.nativeElement.scrollIntoView(this.scrollOption);\n    }\n    focusOnIndex(index) {\n        const selectedItem = this.childElem()[index]?.itemElem.nativeElement;\n        if (!selectedItem)\n            return;\n        setTimeout(() => {\n            selectedItem.focus();\n        });\n        selectedItem.scrollIntoView(this.scrollOption);\n    }\n    navigateTo(e) {\n        setTimeout(() => {\n            e.itemElem.nativeElement.focus();\n        });\n        e.itemElem.nativeElement.scrollIntoView(this.scrollOption);\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.3.3\", type: AXListNavigationDirective, isStandalone: true, selector: \"[axListNavigation]\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNavigationChanged: \"onNavigationChanged\", onKeypress: \"onKeypress\" }, queries: [{ propertyName: \"childElem\", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], exportAs: [\"axListNavigation\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: '[axListNavigation]',\n                    exportAs: 'axListNavigation',\n                }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9saXN0LW5hdmlnYXRpb24vc3JjL2xpYi9saXN0LW5hdmlnYXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFNakYsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUtVLGNBQVMsR0FBRyxlQUFlLENBQUMsNkJBQTZCLDZDQUFJLFdBQVcsRUFBRSxJQUFJLE9BQW5CLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFDLENBQUM7UUFDbEYsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxDQUFDLHVEQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsTUFBTSxFQUF5QyxDQUFDO1FBQ3RFLGVBQVUsR0FBRyxNQUFNLEVBQThCLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxLQUFLLENBQTRCLFVBQVUsdURBQUMsQ0FBQztRQUVuRCxpQkFBWSxHQUEwQjtZQUM1QyxRQUFRLEVBQUUsUUFBUTtZQUNsQixLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDO1FBRUYsU0FBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUE2QixDQUFDLFFBQVEsR0FBRyxDQUFD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Q0FBQyxDQUFDO1FBQ0YsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUE2QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUUsQ0FBQzs4R0FqR1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsaVZBQ0EsNkJBQTZCOzsyRkFEdEQseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4TGlzdE5hdmlnYXRpb25dJyxcbiAgZXhwb3J0QXM6ICdheExpc3ROYXZpZ2F0aW9uJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSB7XG4gIHByaXZhdGUgY2hpbGRFbGVtID0gY29udGVudENoaWxkcmVuKEFYTGlzdE5hdmlnYXRpb25JdGVtRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIGFjdGl2ZUluZGV4ID0gc2lnbmFsKDApO1xuICBvbk5hdmlnYXRpb25DaGFuZ2VkID0gb3V0cHV0PHsgc2VuZGVyOiBBWExpc3ROYXZpZ2F0aW9uRGlyZWN0aXZlIH0+KCk7XG4gIG9uS2V5cHJlc3MgPSBvdXRwdXQ8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+KCk7XG4gIG9yaWVudGF0aW9uID0gaW5wdXQ8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ3ZlcnRpY2FsJyk7XG5cbiAgcHJpdmF0ZSBzY3JvbGxPcHRpb246IFNjcm9sbEludG9WaWV3T3B0aW9ucyA9IHtcbiAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgYmxvY2s6ICduZWFyZXN0JyxcbiAgfTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLmNoaWxkRWxlbSgpLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAoaXRlbS5pdGVtRWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS50YWJJbmRleCA9IDA7XG4gICAgICBpdGVtLmluZGV4LnNldChpbmRleCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnRhYkluZGV4ID0gLTE7XG5cbiAgICAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9ua2V5ZG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm9uS2V5cHJlc3MuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgbmF0aXZlRXZlbnQ6IGUgfSk7XG5cbiAgICAgIGlmIChlLmtleSA9PT0gJ1RhYicpIHtcbiAgICAgICAgdGhpcy5vbk5hdmlnYXRpb25DaGFuZ2VkLmVtaXQoeyBzZW5kZXI6IHRoaXMgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uKCkgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgc3dpdGNoIChlLmtleSkge1xuICAgICAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd0Rvd24nKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSGFuZGxlcignQXJyb3dVcCcpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgIHRoaXMucGFyZW50TmF2aWdhdGlvbkhhbmRsZXIoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMub3JpZW50YXRpb24oKSA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgIHN3aXRjaCAoZS5rZXkpIHtcbiAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkhhbmRsZXIoJ0Fycm93RG93bicpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkhhbmRsZXIoJ0Fycm93VXAnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgdGhpcy5wYXJlbnROYXZpZ2F0aW9uSGFuZGxlcigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KTtcblxuICBwcml2YXRlIG5hdmlnYXRpb25IYW5kbGVyKGU6IHN0cmluZykge1xuICAgIHRoaXMub25OYXZpZ2F0aW9uQ2hhbmdlZC5lbWl0KHsgc2VuZGVyOiB0aGlzIH0pO1xuXG4gICAgaWYgKGUgPT09ICdBcnJvd1VwJyAmJiB0aGlzLmFjdGl2ZUluZGV4KCkgPiAwKSB7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4LnVwZGF0ZSgocHJldikgPT4gcHJldiAtIDEpO1xuICAgICAgdGhpcy5mb2N1c09uSW5kZXgodGhpcy5hY3RpdmVJbmRleCgpKTtcbiAgICB9IGVsc2UgaWYgKGUgPT09ICdBcnJvd0Rvd24nICYmIHRoaXMuYWN0aXZlSW5kZXgoKSA8IHRoaXMuY2hpbGRFbGVtKCkubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleC51cGRhdGUoKHByZXYpID0+IHByZXYgKyAxKTtcbiAgICAgIHRoaXMuZm9jdXNPbkluZGV4KHRoaXMuYWN0aXZlSW5kZXgoKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYXJlbnROYXZpZ2F0aW9uSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uTmF2aWdhdGlvbkNoYW5nZWQuZW1pdCh7IHNlbmRlcjogdGhpcyB9KTtcblxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbVBhcmVudEtleSA9IHRoaXMuY2hpbGRFbGVtKClbdGhpcy5hY3RpdmVJbmRleCgpXS5uYXZpZ2F0aW9uUGFyZW50SXRlbUtleSgpO1xuICAgIGlmICghc2VsZWN0ZWRJdGVtUGFyZW50S2V5KSByZXR1cm47XG4gICAgY29uc3QgcGFyZW50RWxlbSA9IHRoaXMuY2hpbGRFbGVtKCkuZmluZCgoaXRlbSkgPT4gaXRlbS5uYXZpZ2F0aW9uSXRlbUtleSA9PT0gc2VsZWN0ZWRJdGVtUGFyZW50S2V5KTtcbiAgICBpZiAoIXBhcmVudEVsZW0pIHJldHVybjtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIChwYXJlbnRFbGVtLml0ZW1FbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEFyZWFFbGVtZW50KS5mb2N1cygpO1xuICAgIH0pO1xuICAgIChwYXJlbnRFbGVtLml0ZW1FbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEFyZWFFbGVtZW50KS5zY3JvbGxJbnRvVmlldyh0aGlzLnNjcm9sbE9wdGlvbik7XG4gIH1cblxuICBmb2N1c09uSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuY2hpbGRFbGVtKClbaW5kZXhdPy5pdGVtRWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICghc2VsZWN0ZWRJdGVtKSByZXR1cm47XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZWxlY3RlZEl0ZW0uZm9jdXMoKTtcbiAgICB9KTtcbiAgICBzZWxlY3RlZEl0ZW0uc2Nyb2xsSW50b1ZpZXcodGhpcy5zY3JvbGxPcHRpb24pO1xuICB9XG5cbiAgbmF2aWdhdGVUbyhlOiBBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgKGUuaXRlbUVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICB9KTtcbiAgICAoZS5pdGVtRWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zY3JvbGxJbnRvVmlldyh0aGlzLnNjcm9sbE9wdGlvbik7XG4gIH1cbn1cbiJdfQ==","import { afterNextRender, Directive, ElementRef, inject, output, signal } from '@angular/core';\nimport { AXListNavigationDirective } from './list-navigation.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXListNavigationItemDirective {\n    constructor() {\n        this.itemElem = inject(ElementRef);\n        this.isActive = signal(false, ...(ngDevMode ? [{ debugName: \"isActive\" }] : []));\n        this.index = signal(0, ...(ngDevMode ? [{ debugName: \"index\" }] : []));\n        this.navigationItemKey = Math.random();\n        this.navigationParentItemKey = signal(null, ...(ngDevMode ? [{ debugName: \"navigationParentItemKey\" }] : []));\n        this.onKeypress = output();\n        this.parent = inject(AXListNavigationDirective);\n        this.injectItemInsideItem = inject(AXListNavigationItemDirective, { optional: true, skipSelf: true });\n        this.#init = afterNextRender(() => {\n            this.itemElem.nativeElement.onkeydown = (e) => {\n                this.onKeypress.emit({ component: this, nativeEvent: e });\n            };\n            this.itemElem.nativeElement.onfocus = () => {\n                this.isActive.set(true);\n                this.parent.activeIndex.set(this.index());\n            };\n            this.itemElem.nativeElement.onblur = () => {\n                this.isActive.set(false);\n            };\n            if (!this.injectItemInsideItem?.navigationItemKey)\n                return;\n            this.navigationParentItemKey.set(this.injectItemInsideItem.navigationItemKey);\n        });\n    }\n    #init;\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXListNavigationItemDirective, isStandalone: true, selector: \"[axListNavigationItem]\", outputs: { onKeypress: \"onKeypress\" }, exportAs: [\"axListNavigationItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationItemDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: '[axListNavigationItem]',\n                    exportAs: 'axListNavigationItem',\n                }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2xpc3QtbmF2aWdhdGlvbi9zcmMvbGliL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBTXhFLE1BQU0sT0FBTyw2QkFBNkI7SUFKMUM7UUFLRSxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxvREFBQyxDQUFDO1FBQ3pCLFVBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxpREFBQyxDQUFDO1FBQ2xCLHNCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQyw0QkFBdUIsR0FBRyxNQUFNLENBQUMsSUFBSSxtRUFBQyxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxNQUFNLEVBQThCLENBQUM7UUFFMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzNDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFekcsVUFBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUE2QixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQWdCLEVBQUUsRUFBRTtnQkFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBNkIsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBNkIsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUM7WUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQjtnQkFBRSxPQUFPO1lBQzFELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQWpCQyxLQUFLLENBZ0JGOzhHQTNCUSw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYSHRtbEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWExpc3ROYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LW5hdmlnYXRpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4TGlzdE5hdmlnYXRpb25JdGVtXScsXG4gIGV4cG9ydEFzOiAnYXhMaXN0TmF2aWdhdGlvbkl0ZW0nLFxufSlcbmV4cG9ydCBjbGFzcyBBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSB7XG4gIGl0ZW1FbGVtID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBpc0FjdGl2ZSA9IHNpZ25hbChmYWxzZSk7XG4gIGluZGV4ID0gc2lnbmFsKDApO1xuICBuYXZpZ2F0aW9uSXRlbUtleSA9IE1hdGgucmFuZG9tKCk7XG4gIG5hdmlnYXRpb25QYXJlbnRJdGVtS2V5ID0gc2lnbmFsKG51bGwpO1xuICBvbktleXByZXNzID0gb3V0cHV0PEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PigpO1xuXG4gIHByaXZhdGUgcGFyZW50ID0gaW5qZWN0KEFYTGlzdE5hdmlnYXRpb25EaXJlY3RpdmUpO1xuICBwcml2YXRlIGluamVjdEl0ZW1JbnNpZGVJdGVtID0gaW5qZWN0KEFYTGlzdE5hdmlnYXRpb25JdGVtRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlLCBza2lwU2VsZjogdHJ1ZSB9KTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgKHRoaXMuaXRlbUVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkub25rZXlkb3duID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIHRoaXMub25LZXlwcmVzcy5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBuYXRpdmVFdmVudDogZSB9KTtcbiAgICB9O1xuXG4gICAgKHRoaXMuaXRlbUVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkub25mb2N1cyA9ICgpID0+IHtcbiAgICAgIHRoaXMuaXNBY3RpdmUuc2V0KHRydWUpO1xuICAgICAgdGhpcy5wYXJlbnQuYWN0aXZlSW5kZXguc2V0KHRoaXMuaW5kZXgoKSk7XG4gICAgfTtcblxuICAgICh0aGlzLml0ZW1FbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9uYmx1ciA9ICgpID0+IHtcbiAgICAgIHRoaXMuaXNBY3RpdmUuc2V0KGZhbHNlKTtcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmluamVjdEl0ZW1JbnNpZGVJdGVtPy5uYXZpZ2F0aW9uSXRlbUtleSkgcmV0dXJuO1xuICAgIHRoaXMubmF2aWdhdGlvblBhcmVudEl0ZW1LZXkuc2V0KHRoaXMuaW5qZWN0SXRlbUluc2lkZUl0ZW0ubmF2aWdhdGlvbkl0ZW1LZXkpO1xuICB9KTtcbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXListNavigationItemDirective } from './list-navigation-item.directive';\nimport { AXListNavigationDirective } from './list-navigation.directive';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXListNavigationDirective, AXListNavigationItemDirective];\nconst MODULES = [CommonModule];\nexport class AXListNavigationModule {\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationModule, imports: [CommonModule, AXListNavigationDirective, AXListNavigationItemDirective], exports: [AXListNavigationDirective, AXListNavigationItemDirective] }); }\n    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXListNavigationModule, decorators: [{\n            type: NgModule,\n            args: [{\n                    imports: [...MODULES, ...COMPONENT],\n                    exports: [...COMPONENT],\n                    providers: [],\n                }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9saXN0LW5hdmlnYXRpb24vc3JjL2xpYi9saXN0LW5hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV4RSxNQUFNLFNBQVMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLDZCQUE2QixDQUFDLENBQUM7QUFFN0UsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQU8vQixNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQVBsQixZQUFZLEVBRlYseUJBQXlCLEVBQUUsNkJBQTZCLGFBQXhELHlCQUF5QixFQUFFLDZCQUE2QjsrR0FTOUQsc0JBQXNCLFlBSnBCLE9BQU87OzJGQUlULHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEFYTGlzdE5hdmlnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtbmF2aWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSwgQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmVdO1xuXG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhMaXN0TmF2aWdhdGlvbk1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1saXN0LW5hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvbGlzdC1uYXZpZ2F0aW9uL3NyYy9hY29yZXgtY2RrLWxpc3QtbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}