@acorex/cdk 19.15.0-next.8 → 20.0.0

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 (143) hide show
  1. package/accordion/index.d.ts +56 -0
  2. package/carousel/index.d.ts +17 -1
  3. package/clipboard/README.md +3 -0
  4. package/{common/lib/directives/copy-clipboard.directive.d.ts → clipboard/index.d.ts} +14 -8
  5. package/common/index.d.ts +930 -33
  6. package/dom/index.d.ts +16 -1
  7. package/drag-drop/index.d.ts +111 -4
  8. package/drawer/index.d.ts +49 -3
  9. package/fesm2022/acorex-cdk-accordion.mjs +206 -0
  10. package/fesm2022/acorex-cdk-accordion.mjs.map +1 -0
  11. package/fesm2022/acorex-cdk-carousel.mjs +3 -3
  12. package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
  13. package/fesm2022/acorex-cdk-clipboard.mjs +90 -0
  14. package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -0
  15. package/fesm2022/acorex-cdk-common.mjs +123 -208
  16. package/fesm2022/acorex-cdk-common.mjs.map +1 -1
  17. package/fesm2022/acorex-cdk-dom.mjs +3 -3
  18. package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
  19. package/fesm2022/acorex-cdk-drag-drop.mjs +15 -15
  20. package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
  21. package/fesm2022/acorex-cdk-drawer.mjs +85 -66
  22. package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
  23. package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
  24. package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
  25. package/fesm2022/acorex-cdk-input-mask.mjs +79 -0
  26. package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -0
  27. package/fesm2022/acorex-cdk-list-navigation.mjs +10 -10
  28. package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
  29. package/fesm2022/acorex-cdk-outline.mjs +115 -40
  30. package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
  31. package/fesm2022/acorex-cdk-overlay.mjs +3 -3
  32. package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
  33. package/fesm2022/acorex-cdk-pan-view.mjs +5 -5
  34. package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
  35. package/fesm2022/acorex-cdk-qrcode.mjs.map +1 -1
  36. package/fesm2022/acorex-cdk-resizable.mjs +5 -5
  37. package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
  38. package/fesm2022/acorex-cdk-selection.mjs +24 -15
  39. package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
  40. package/fesm2022/acorex-cdk-sliding-item.mjs +7 -7
  41. package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
  42. package/fesm2022/acorex-cdk-sticky.mjs +19 -19
  43. package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
  44. package/fesm2022/acorex-cdk-virtual-scroll.mjs +10 -10
  45. package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
  46. package/fesm2022/acorex-cdk-wysiwyg.mjs.map +1 -1
  47. package/fesm2022/acorex-cdk.mjs.map +1 -1
  48. package/focus-trap/index.d.ts +19 -1
  49. package/index.d.ts +3 -1
  50. package/input-mask/README.md +3 -0
  51. package/input-mask/index.d.ts +19 -0
  52. package/list-navigation/index.d.ts +44 -3
  53. package/outline/index.d.ts +57 -3
  54. package/overlay/index.d.ts +27 -2
  55. package/package.json +22 -14
  56. package/pan-view/index.d.ts +51 -1
  57. package/qrcode/index.d.ts +21 -1
  58. package/resizable/index.d.ts +61 -1
  59. package/selection/index.d.ts +43 -3
  60. package/sliding-item/index.d.ts +25 -2
  61. package/sticky/index.d.ts +31 -1
  62. package/virtual-scroll/index.d.ts +41 -3
  63. package/wysiwyg/index.d.ts +29 -1
  64. package/carousel/carousel.directive.d.ts +0 -13
  65. package/collapse/index.d.ts +0 -6
  66. package/collapse/lib/collapse-directive/collapse-close-button.directive.d.ts +0 -8
  67. package/collapse/lib/collapse-directive/collapse-group.directive.d.ts +0 -9
  68. package/collapse/lib/collapse-directive/collapse-item-content.directive.d.ts +0 -8
  69. package/collapse/lib/collapse-directive/collapse-item-header.directive.d.ts +0 -5
  70. package/collapse/lib/collapse-directive/collapse-item.directive.d.ts +0 -13
  71. package/collapse/lib/collapse.module.d.ts +0 -12
  72. package/common/lib/classes/components.class.d.ts +0 -97
  73. package/common/lib/classes/datalist.class.d.ts +0 -37
  74. package/common/lib/classes/datasource.class.d.ts +0 -87
  75. package/common/lib/classes/events.class.d.ts +0 -96
  76. package/common/lib/classes/styles.class.d.ts +0 -12
  77. package/common/lib/common.module.d.ts +0 -10
  78. package/common/lib/components/base-component.class.d.ts +0 -42
  79. package/common/lib/components/button-base-component.class.d.ts +0 -55
  80. package/common/lib/components/color-component.class.d.ts +0 -12
  81. package/common/lib/components/colorlook-component.class.d.ts +0 -6
  82. package/common/lib/components/input-base-value-component.class.d.ts +0 -35
  83. package/common/lib/components/interactive-component.class.d.ts +0 -57
  84. package/common/lib/components/look-component.class.d.ts +0 -18
  85. package/common/lib/components/selection-base.component.class.d.ts +0 -53
  86. package/common/lib/components/value-component.class.d.ts +0 -70
  87. package/common/lib/directives/auto-focus.directive.d.ts +0 -17
  88. package/common/lib/directives/delayed-value-changed.directive.d.ts +0 -17
  89. package/common/lib/directives/hotkey.directive.d.ts +0 -22
  90. package/common/lib/directives/infinite-scroll.directive.d.ts +0 -25
  91. package/common/lib/directives/inverted-color.directive.d.ts +0 -12
  92. package/common/lib/directives/responsive.directive.d.ts +0 -10
  93. package/common/lib/directives/ripple.directive.d.ts +0 -18
  94. package/common/lib/interfaces/component.interface.d.ts +0 -4
  95. package/common/lib/services/dom.service.d.ts +0 -6
  96. package/common/lib/services/hotkey.service.d.ts +0 -31
  97. package/common/lib/types/animation.d.ts +0 -1
  98. package/common/lib/types/base/button.type.d.ts +0 -8
  99. package/common/lib/types/base/color.type.d.ts +0 -7
  100. package/common/lib/types/base/component.types.d.ts +0 -8
  101. package/common/lib/types/base/events.types.d.ts +0 -21
  102. package/common/lib/types/base/index.d.ts +0 -7
  103. package/common/lib/types/base/interactive.type.d.ts +0 -13
  104. package/common/lib/types/base/look.type.d.ts +0 -7
  105. package/common/lib/types/base/value.type.d.ts +0 -9
  106. package/common/lib/types/direction.d.ts +0 -4
  107. package/common/lib/types/orientation.d.ts +0 -4
  108. package/common/lib/types/placement.d.ts +0 -30
  109. package/common/lib/types/range.d.ts +0 -4
  110. package/common/lib/types/selection-mode.d.ts +0 -4
  111. package/dom/lib/dom-change.directive.d.ts +0 -13
  112. package/drag-drop/lib/drag-drop.module.d.ts +0 -9
  113. package/drag-drop/lib/drag-handle.directive.d.ts +0 -7
  114. package/drag-drop/lib/drag.directive.d.ts +0 -77
  115. package/drag-drop/lib/drop-zone.directive.d.ts +0 -20
  116. package/drawer/lib/drawer-container.directive.d.ts +0 -8
  117. package/drawer/lib/drawer-item.directive.d.ts +0 -27
  118. package/drawer/lib/drawer.module.d.ts +0 -8
  119. package/fesm2022/acorex-cdk-collapse.mjs +0 -171
  120. package/fesm2022/acorex-cdk-collapse.mjs.map +0 -1
  121. package/focus-trap/lib/focus-trap.directive.d.ts +0 -16
  122. package/list-navigation/lib/list-navigation-item.directive.d.ts +0 -13
  123. package/list-navigation/lib/list-navigation.directive.d.ts +0 -22
  124. package/list-navigation/lib/list-navigation.module.d.ts +0 -9
  125. package/outline/lib/outline-container.directive.d.ts +0 -28
  126. package/outline/lib/outline-item.directive.d.ts +0 -9
  127. package/outline/lib/outline.module.d.ts +0 -9
  128. package/overlay/lib/overlay.service.d.ts +0 -9
  129. package/overlay/lib/overlay.types.d.ts +0 -15
  130. package/pan-view/lib/pan-view.directive.d.ts +0 -48
  131. package/qrcode/qrcode.class.d.ts +0 -20
  132. package/resizable/lib/resize.directive.d.ts +0 -59
  133. package/selection/lib/selection-group.directive.d.ts +0 -18
  134. package/selection/lib/selection-item.directive.d.ts +0 -15
  135. package/selection/lib/selection.module.d.ts +0 -9
  136. package/sliding-item/lib/sliding-item.directive.d.ts +0 -15
  137. package/sliding-item/lib/sliding-item.module.d.ts +0 -8
  138. package/sticky/lib/sticky.directive.d.ts +0 -29
  139. package/virtual-scroll/lib/virtual-scroll.module.d.ts +0 -8
  140. package/virtual-scroll/lib/virtual-scrolling-contianer/virtual-scrolling-contianer.directive.d.ts +0 -26
  141. package/virtual-scroll/lib/virtual-scrolling-item/virtual-scrolling-item.directive.d.ts +0 -7
  142. package/wysiwyg/wysiwyg.class.d.ts +0 -25
  143. /package/{collapse → accordion}/README.md +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-cdk-input-mask.mjs","sources":["../tmp-esm2022/input-mask/lib/input-mask.directive.js","../tmp-esm2022/input-mask/acorex-cdk-input-mask.js"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { MaskInput } from 'maska';\nimport * as i0 from \"@angular/core\";\nexport class AXInputMaskDirective {\n constructor() {\n this.elm = inject(ElementRef);\n this.maskMode = input('hijri');\n this.onMaskChanged = output();\n this.#init = afterNextRender(() => {\n this.elm.nativeElement.classList.add('ax-editor-container', 'ax-solid');\n new MaskInput(this.elm.nativeElement, {\n mask: '1###-##-##',\n postProcess: (value) => {\n switch (this.maskMode()) {\n case 'hijri':\n return this.hijriMaskHandler(value);\n default:\n return value;\n }\n },\n onMaska: (details) => {\n this.onMaskChanged.emit(details);\n },\n });\n });\n }\n #init;\n hijriMaskHandler(value) {\n const [yearStr, monthStr, dayStr] = value.split('-');\n const year = +yearStr;\n const month = +monthStr;\n const day = +dayStr;\n //Month Logics\n if (!month || !year)\n return value;\n if (month > 12) {\n return `${yearStr}-12`;\n }\n if (month < 1) {\n return `${yearStr}-01`;\n }\n //Day Logics\n if (!day)\n return value;\n if (day < 1) {\n return `${yearStr}-${monthStr}-01`;\n }\n let maxDay = 30;\n if (month <= 6) {\n maxDay = 31;\n }\n else if (month === 12) {\n // Hijri leap year rule: (11 * year + 14) % 30 < 11\n const isKabise = (11 * year + 14) % 30 < 11;\n maxDay = isKabise ? 30 : 29;\n }\n if (day > maxDay) {\n return `${yearStr}-${monthStr}-${maxDay}`;\n }\n return value;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXInputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.3\", type: AXInputMaskDirective, isStandalone: true, selector: \"[axInputMask]\", inputs: { maskMode: { classPropertyName: \"maskMode\", publicName: \"maskMode\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMaskChanged: \"onMaskChanged\" }, exportAs: [\"axInputMask\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXInputMaskDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axInputMask]',\n exportAs: 'axInputMask',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jZGsvaW5wdXQtbWFzay9zcmMvbGliL2lucHV0LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQVlsQyxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBS1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFVLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLGtCQUFhLEdBQUcsTUFBTSxFQUFvQixDQUFDO1FBRTNDLFVBQUssR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBNkIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXpGLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFO2dCQUNwQyxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3JCLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7d0JBQ3hCLEtBQUssT0FBTzs0QkFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdEM7NEJBQ0UsT0FBTyxLQUFLLENBQUM7b0JBQ2pCLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25DLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQXdDSjtJQXpEQyxLQUFLLENBaUJGO0lBRUssZ0JBQWdCLENBQUMsS0FBSztRQUM1QixNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJELE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRXBCLGNBQWM7UUFDZCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxHQUFHLE9BQU8sS0FBSyxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxPQUFPLEtBQUssQ0FBQztRQUN6QixDQUFDO1FBRUQsWUFBWTtRQUNaLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFdkIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDWixPQUFPLEdBQUcsT0FBTyxJQUFJLFFBQVEsS0FBSyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2QsQ0FBQzthQUFNLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLG1EQUFtRDtZQUNuRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTyxHQUFHLE9BQU8sSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E3RFUsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hc2tJbnB1dCB9IGZyb20gJ21hc2thJztcblxuZXhwb3J0IHR5cGUgQVhJbnB1dE1hc2tFdmVudCA9IHtcbiAgbWFza2VkOiBzdHJpbmc7XG4gIHVubWFza2VkOiBzdHJpbmc7XG4gIGNvbXBsZXRlZDogYm9vbGVhbjtcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theElucHV0TWFza10nLFxuICBleHBvcnRBczogJ2F4SW5wdXRNYXNrJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhJbnB1dE1hc2tEaXJlY3RpdmUge1xuICBwcml2YXRlIGVsbSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgbWFza01vZGUgPSBpbnB1dDwnaGlqcmknPignaGlqcmknKTtcbiAgb25NYXNrQ2hhbmdlZCA9IG91dHB1dDxBWElucHV0TWFza0V2ZW50PigpO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAodGhpcy5lbG0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmFkZCgnYXgtZWRpdG9yLWNvbnRhaW5lcicsICdheC1zb2xpZCcpO1xuXG4gICAgbmV3IE1hc2tJbnB1dCh0aGlzLmVsbS5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBtYXNrOiAnMSMjIy0jIy0jIycsXG4gICAgICBwb3N0UHJvY2VzczogKHZhbHVlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tYXNrTW9kZSgpKSB7XG4gICAgICAgICAgY2FzZSAnaGlqcmknOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlqcmlNYXNrSGFuZGxlcih2YWx1ZSk7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uTWFza2E6IChkZXRhaWxzKSA9PiB7XG4gICAgICAgIHRoaXMub25NYXNrQ2hhbmdlZC5lbWl0KGRldGFpbHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBoaWpyaU1hc2tIYW5kbGVyKHZhbHVlKSB7XG4gICAgY29uc3QgW3llYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHJdID0gdmFsdWUuc3BsaXQoJy0nKTtcblxuICAgIGNvbnN0IHllYXIgPSAreWVhclN0cjtcbiAgICBjb25zdCBtb250aCA9ICttb250aFN0cjtcbiAgICBjb25zdCBkYXkgPSArZGF5U3RyO1xuXG4gICAgLy9Nb250aCBMb2dpY3NcbiAgICBpZiAoIW1vbnRoIHx8ICF5ZWFyKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKG1vbnRoID4gMTIpIHtcbiAgICAgIHJldHVybiBgJHt5ZWFyU3RyfS0xMmA7XG4gICAgfVxuICAgIGlmIChtb250aCA8IDEpIHtcbiAgICAgIHJldHVybiBgJHt5ZWFyU3RyfS0wMWA7XG4gICAgfVxuXG4gICAgLy9EYXkgTG9naWNzXG4gICAgaWYgKCFkYXkpIHJldHVybiB2YWx1ZTtcblxuICAgIGlmIChkYXkgPCAxKSB7XG4gICAgICByZXR1cm4gYCR7eWVhclN0cn0tJHttb250aFN0cn0tMDFgO1xuICAgIH1cblxuICAgIGxldCBtYXhEYXkgPSAzMDtcbiAgICBpZiAobW9udGggPD0gNikge1xuICAgICAgbWF4RGF5ID0gMzE7XG4gICAgfSBlbHNlIGlmIChtb250aCA9PT0gMTIpIHtcbiAgICAgIC8vIEhpanJpIGxlYXAgeWVhciBydWxlOiAoMTEgKiB5ZWFyICsgMTQpICUgMzAgPCAxMVxuICAgICAgY29uc3QgaXNLYWJpc2UgPSAoMTEgKiB5ZWFyICsgMTQpICUgMzAgPCAxMTtcbiAgICAgIG1heERheSA9IGlzS2FiaXNlID8gMzAgOiAyOTtcbiAgICB9XG5cbiAgICBpZiAoZGF5ID4gbWF4RGF5KSB7XG4gICAgICByZXR1cm4gYCR7eWVhclN0cn0tJHttb250aFN0cn0tJHttYXhEYXl9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1pbnB1dC1tYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2lucHV0LW1hc2svc3JjL2Fjb3JleC1jZGstaW5wdXQtbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@ class AXListNavigationItemDirective {
17
17
  });
18
18
  }
19
19
  #init;
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: AXListNavigationItemDirective, isStandalone: true, selector: "[axListNavigationItem]", exportAs: ["axListNavigationItem"], ngImport: i0 }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.3", type: AXListNavigationItemDirective, isStandalone: true, selector: "[axListNavigationItem]", exportAs: ["axListNavigationItem"], ngImport: i0 }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationItemDirective, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationItemDirective, decorators: [{
24
24
  type: Directive,
25
25
  args: [{
26
26
  selector: '[axListNavigationItem]',
@@ -142,10 +142,10 @@ class AXListNavigationDirective {
142
142
  activeByKeyboardHandler() {
143
143
  this.onPressEnterOrSpace.emit({ active: this.activeIndex() });
144
144
  }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
146
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.11", type: AXListNavigationDirective, isStandalone: true, selector: "[axListNavigation]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNavigationChanged: "onNavigationChanged", onPressEnterOrSpace: "onPressEnterOrSpace" }, queries: [{ propertyName: "childElem", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], exportAs: ["axListNavigation"], ngImport: i0 }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.0.3", type: AXListNavigationDirective, isStandalone: true, selector: "[axListNavigation]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNavigationChanged: "onNavigationChanged", onPressEnterOrSpace: "onPressEnterOrSpace" }, queries: [{ propertyName: "childElem", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], exportAs: ["axListNavigation"], ngImport: i0 }); }
147
147
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationDirective, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationDirective, decorators: [{
149
149
  type: Directive,
150
150
  args: [{
151
151
  selector: '[axListNavigation]',
@@ -156,11 +156,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
156
156
  const COMPONENT = [AXListNavigationDirective, AXListNavigationItemDirective];
157
157
  const MODULES = [CommonModule];
158
158
  class AXListNavigationModule {
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
160
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationModule, imports: [CommonModule, AXListNavigationDirective, AXListNavigationItemDirective], exports: [AXListNavigationDirective, AXListNavigationItemDirective] }); }
161
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationModule, imports: [MODULES] }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
160
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationModule, imports: [CommonModule, AXListNavigationDirective, AXListNavigationItemDirective], exports: [AXListNavigationDirective, AXListNavigationItemDirective] }); }
161
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationModule, imports: [MODULES] }); }
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXListNavigationModule, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXListNavigationModule, decorators: [{
164
164
  type: NgModule,
165
165
  args: [{
166
166
  imports: [...MODULES, ...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-list-navigation.mjs","sources":["../../../../packages/cdk/list-navigation/src/lib/list-navigation-item.directive.ts","../../../../packages/cdk/list-navigation/src/lib/list-navigation.directive.ts","../../../../packages/cdk/list-navigation/src/lib/list-navigation.module.ts","../../../../packages/cdk/list-navigation/src/acorex-cdk-list-navigation.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\n\n@Directive({\n selector: '[axListNavigationItem]',\n exportAs: 'axListNavigationItem',\n})\nexport class AXListNavigationItemDirective {\n itemElem = inject(ElementRef);\n isActive = signal(false);\n navigationItemKey = Math.random();\n navigationParentItemKey = signal(null);\n index = signal(0);\n\n private parent = inject(AXListNavigationItemDirective, { optional: true, skipSelf: true });\n\n #init = afterNextRender(() => {\n if (!this.parent?.navigationItemKey) return;\n this.navigationParentItemKey.set(this.parent.navigationItemKey);\n });\n}\n","import {\n afterNextRender,\n contentChildren,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { AXListNavigationItemDirective } from './list-navigation-item.directive';\n\n@Directive({\n selector: '[axListNavigation]',\n exportAs: 'axListNavigation',\n})\nexport class AXListNavigationDirective {\n private parentElem = inject(ElementRef);\n private childElem = contentChildren(AXListNavigationItemDirective, { descendants: true });\n private activeIndex = signal(null);\n private holdShift = signal(false);\n onNavigationChanged = output<{ sender: AXListNavigationDirective }>();\n onPressEnterOrSpace = output<{ active: number }>();\n orientation = input<'horizontal' | 'vertical'>('vertical');\n\n #init = afterNextRender(() => {\n (this.parentElem.nativeElement as HTMLElement).onkeydown = (e: KeyboardEvent) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n e.preventDefault();\n this.activeByKeyboardHandler();\n }\n\n if (e.code === 'ShiftLeft' || e.code === 'ShiftRight') {\n this.holdShift.set(true);\n }\n\n if (this.orientation() === 'vertical') {\n switch (e.code) {\n case 'ArrowDown':\n this.navigationHandler('ArrowDown');\n break;\n case 'ArrowUp':\n this.navigationHandler('ArrowUp');\n break;\n case 'ArrowLeft':\n this.parentNavigationHandler('ArrowLeft');\n break;\n case 'Tab':\n if (this.holdShift()) {\n this.navigationHandler('ArrowUp');\n } else {\n this.navigationHandler('ArrowDown');\n }\n }\n } else if (this.orientation() === 'horizontal') {\n switch (e.code) {\n case 'ArrowRight':\n this.navigationHandler('ArrowDown');\n break;\n case 'ArrowLeft':\n this.navigationHandler('ArrowUp');\n break;\n case 'ArrowUp':\n this.parentNavigationHandler('ArrowLeft');\n break;\n case 'Tab':\n if (this.holdShift()) {\n this.navigationHandler('ArrowUp');\n } else {\n this.navigationHandler('ArrowDown');\n }\n }\n }\n };\n\n (this.parentElem.nativeElement as HTMLElement).onkeyup = (e: KeyboardEvent) => {\n if (e.code === 'ShiftLeft' || e.code === 'ShiftRight') {\n this.holdShift.set(false);\n }\n };\n\n (this.parentElem.nativeElement as HTMLElement).tabIndex = -1;\n this.childElem().forEach((item, index) => {\n (item.itemElem.nativeElement as HTMLElement).tabIndex = 0;\n item.index.set(index);\n });\n });\n\n private navigationHandler(e: string) {\n this.onNavigationChanged.emit({ sender: this });\n\n if (this.activeIndex() === null) {\n this.activeIndex.set(0);\n return;\n }\n\n if (e === 'ArrowUp' && this.activeIndex() > 0) {\n this.activeIndex.update((prev) => prev - 1);\n } else if (e === 'ArrowDown' && this.activeIndex() < this.childElem().length - 1) {\n this.activeIndex.update((prev) => prev + 1);\n }\n }\n\n private parentNavigationHandler(e: string) {\n if (e === 'ArrowLeft') {\n const selectedItemParentKey = this.childElem()[this.activeIndex()].navigationParentItemKey();\n if (!selectedItemParentKey) return;\n const parentElem = this.childElem().find((item) => item.navigationItemKey === selectedItemParentKey);\n (parentElem.itemElem.nativeElement as HTMLAreaElement).focus();\n this.childElem().forEach((item) => item.isActive.set(false));\n parentElem.isActive.set(true);\n this.activeIndex.set(parentElem.index());\n }\n }\n\n #effect = effect(() => {\n if (this.childElem().length === 0 || this.activeIndex() === null) return;\n (this.childElem()[this.activeIndex()].itemElem.nativeElement as HTMLElement).focus();\n this.childElem().forEach((item) => item.isActive.set(false));\n this.childElem()[this.activeIndex()].isActive.set(true);\n });\n\n navigateTo(e: AXListNavigationItemDirective) {\n (e.itemElem.nativeElement as HTMLElement).focus();\n this.childElem().forEach((item) => item.isActive.set(false));\n e.isActive.set(true);\n this.activeIndex.set(e.index());\n }\n\n private activeByKeyboardHandler() {\n this.onPressEnterOrSpace.emit({ active: this.activeIndex() });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXListNavigationItemDirective } from './list-navigation-item.directive';\nimport { AXListNavigationDirective } from './list-navigation.directive';\n\nconst COMPONENT = [AXListNavigationDirective, AXListNavigationItemDirective];\n\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXListNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-list-navigation.mjs","sources":["../tmp-esm2022/list-navigation/lib/list-navigation-item.directive.js","../tmp-esm2022/list-navigation/lib/list-navigation.directive.js","../tmp-esm2022/list-navigation/lib/list-navigation.module.js","../tmp-esm2022/list-navigation/acorex-cdk-list-navigation.js"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXListNavigationItemDirective {\n constructor() {\n this.itemElem = inject(ElementRef);\n this.isActive = signal(false);\n this.navigationItemKey = Math.random();\n this.navigationParentItemKey = signal(null);\n this.index = signal(0);\n this.parent = inject(AXListNavigationItemDirective, { optional: true, skipSelf: true });\n this.#init = afterNextRender(() => {\n if (!this.parent?.navigationItemKey)\n return;\n this.navigationParentItemKey.set(this.parent.navigationItemKey);\n });\n }\n #init;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXListNavigationItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.3\", type: AXListNavigationItemDirective, isStandalone: true, selector: \"[axListNavigationItem]\", exportAs: [\"axListNavigationItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL2xpc3QtbmF2aWdhdGlvbi9zcmMvbGliL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkYsTUFBTSxPQUFPLDZCQUE2QjtJQUoxQztRQUtFLGFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixzQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLFVBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFVixXQUFNLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRixVQUFLLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQUUsT0FBTztZQUM1QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztLQUNKO0lBSkMsS0FBSyxDQUdGOzhHQVpRLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theExpc3ROYXZpZ2F0aW9uSXRlbV0nLFxuICBleHBvcnRBczogJ2F4TGlzdE5hdmlnYXRpb25JdGVtJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUge1xuICBpdGVtRWxlbSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgaXNBY3RpdmUgPSBzaWduYWwoZmFsc2UpO1xuICBuYXZpZ2F0aW9uSXRlbUtleSA9IE1hdGgucmFuZG9tKCk7XG4gIG5hdmlnYXRpb25QYXJlbnRJdGVtS2V5ID0gc2lnbmFsKG51bGwpO1xuICBpbmRleCA9IHNpZ25hbCgwKTtcblxuICBwcml2YXRlIHBhcmVudCA9IGluamVjdChBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSwgeyBvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWUgfSk7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIGlmICghdGhpcy5wYXJlbnQ/Lm5hdmlnYXRpb25JdGVtS2V5KSByZXR1cm47XG4gICAgdGhpcy5uYXZpZ2F0aW9uUGFyZW50SXRlbUtleS5zZXQodGhpcy5wYXJlbnQubmF2aWdhdGlvbkl0ZW1LZXkpO1xuICB9KTtcbn1cbiJdfQ==","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.parentElem = inject(ElementRef);\n this.childElem = contentChildren(AXListNavigationItemDirective, { descendants: true });\n this.activeIndex = signal(null);\n this.holdShift = signal(false);\n this.onNavigationChanged = output();\n this.onPressEnterOrSpace = output();\n this.orientation = input('vertical');\n this.#init = afterNextRender(() => {\n this.parentElem.nativeElement.onkeydown = (e) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n e.preventDefault();\n this.activeByKeyboardHandler();\n }\n if (e.code === 'ShiftLeft' || e.code === 'ShiftRight') {\n this.holdShift.set(true);\n }\n if (this.orientation() === 'vertical') {\n switch (e.code) {\n case 'ArrowDown':\n this.navigationHandler('ArrowDown');\n break;\n case 'ArrowUp':\n this.navigationHandler('ArrowUp');\n break;\n case 'ArrowLeft':\n this.parentNavigationHandler('ArrowLeft');\n break;\n case 'Tab':\n if (this.holdShift()) {\n this.navigationHandler('ArrowUp');\n }\n else {\n this.navigationHandler('ArrowDown');\n }\n }\n }\n else if (this.orientation() === 'horizontal') {\n switch (e.code) {\n case 'ArrowRight':\n this.navigationHandler('ArrowDown');\n break;\n case 'ArrowLeft':\n this.navigationHandler('ArrowUp');\n break;\n case 'ArrowUp':\n this.parentNavigationHandler('ArrowLeft');\n break;\n case 'Tab':\n if (this.holdShift()) {\n this.navigationHandler('ArrowUp');\n }\n else {\n this.navigationHandler('ArrowDown');\n }\n }\n }\n };\n this.parentElem.nativeElement.onkeyup = (e) => {\n if (e.code === 'ShiftLeft' || e.code === 'ShiftRight') {\n this.holdShift.set(false);\n }\n };\n this.parentElem.nativeElement.tabIndex = -1;\n this.childElem().forEach((item, index) => {\n item.itemElem.nativeElement.tabIndex = 0;\n item.index.set(index);\n });\n });\n this.#effect = effect(() => {\n if (this.childElem().length === 0 || this.activeIndex() === null)\n return;\n this.childElem()[this.activeIndex()].itemElem.nativeElement.focus();\n this.childElem().forEach((item) => item.isActive.set(false));\n this.childElem()[this.activeIndex()].isActive.set(true);\n });\n }\n #init;\n navigationHandler(e) {\n this.onNavigationChanged.emit({ sender: this });\n if (this.activeIndex() === null) {\n this.activeIndex.set(0);\n return;\n }\n if (e === 'ArrowUp' && this.activeIndex() > 0) {\n this.activeIndex.update((prev) => prev - 1);\n }\n else if (e === 'ArrowDown' && this.activeIndex() < this.childElem().length - 1) {\n this.activeIndex.update((prev) => prev + 1);\n }\n }\n parentNavigationHandler(e) {\n if (e === 'ArrowLeft') {\n const selectedItemParentKey = this.childElem()[this.activeIndex()].navigationParentItemKey();\n if (!selectedItemParentKey)\n return;\n const parentElem = this.childElem().find((item) => item.navigationItemKey === selectedItemParentKey);\n parentElem.itemElem.nativeElement.focus();\n this.childElem().forEach((item) => item.isActive.set(false));\n parentElem.isActive.set(true);\n this.activeIndex.set(parentElem.index());\n }\n }\n #effect;\n navigateTo(e) {\n e.itemElem.nativeElement.focus();\n this.childElem().forEach((item) => item.isActive.set(false));\n e.isActive.set(true);\n this.activeIndex.set(e.index());\n }\n activeByKeyboardHandler() {\n this.onPressEnterOrSpace.emit({ active: this.activeIndex() });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXListNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.3\", type: AXListNavigationDirective, isStandalone: true, selector: \"[axListNavigation]\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNavigationChanged: \"onNavigationChanged\", onPressEnterOrSpace: \"onPressEnterOrSpace\" }, queries: [{ propertyName: \"childElem\", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], exportAs: [\"axListNavigation\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Nkay9saXN0LW5hdmlnYXRpb24vc3JjL2xpYi9saXN0LW5hdmlnYXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFNakYsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUtVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLGVBQWUsQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLGdCQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLGNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsd0JBQW1CLEdBQUcsTUFBTSxFQUF5QyxDQUFDO1FBQ3RFLHdCQUFtQixHQUFHLE1BQU0sRUFBc0IsQ0FBQztRQUNuRCxnQkFBVyxHQUFHLEtBQUssQ0FBNEIsVUFBVSxDQUFDLENBQUM7UUFFM0QsVUFBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUE2QixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQWdCLEVBQUUsRUFBRTtnQkFDOUUsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUM3QyxDQUFDLENBQUMsY0FBYyxFQUFFLENB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QUMsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OEdBbkhVLHlCQUF5QjtrR0FBekIseUJBQXlCLG1XQUVBLDZCQUE2Qjs7MkZBRnRELHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgY29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theExpc3ROYXZpZ2F0aW9uXScsXG4gIGV4cG9ydEFzOiAnYXhMaXN0TmF2aWdhdGlvbicsXG59KVxuZXhwb3J0IGNsYXNzIEFYTGlzdE5hdmlnYXRpb25EaXJlY3RpdmUge1xuICBwcml2YXRlIHBhcmVudEVsZW0gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgY2hpbGRFbGVtID0gY29udGVudENoaWxkcmVuKEFYTGlzdE5hdmlnYXRpb25JdGVtRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuICBwcml2YXRlIGFjdGl2ZUluZGV4ID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIGhvbGRTaGlmdCA9IHNpZ25hbChmYWxzZSk7XG4gIG9uTmF2aWdhdGlvbkNoYW5nZWQgPSBvdXRwdXQ8eyBzZW5kZXI6IEFYTGlzdE5hdmlnYXRpb25EaXJlY3RpdmUgfT4oKTtcbiAgb25QcmVzc0VudGVyT3JTcGFjZSA9IG91dHB1dDx7IGFjdGl2ZTogbnVtYmVyIH0+KCk7XG4gIG9yaWVudGF0aW9uID0gaW5wdXQ8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ3ZlcnRpY2FsJyk7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICh0aGlzLnBhcmVudEVsZW0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkub25rZXlkb3duID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChlLmNvZGUgPT09ICdFbnRlcicgfHwgZS5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVCeUtleWJvYXJkSGFuZGxlcigpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZS5jb2RlID09PSAnU2hpZnRMZWZ0JyB8fCBlLmNvZGUgPT09ICdTaGlmdFJpZ2h0Jykge1xuICAgICAgICB0aGlzLmhvbGRTaGlmdC5zZXQodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uKCkgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgc3dpdGNoIChlLmNvZGUpIHtcbiAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSGFuZGxlcignQXJyb3dEb3duJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkhhbmRsZXIoJ0Fycm93VXAnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgICB0aGlzLnBhcmVudE5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd0xlZnQnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgICBpZiAodGhpcy5ob2xkU2hpZnQoKSkge1xuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd1VwJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd0Rvd24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLm9yaWVudGF0aW9uKCkgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICBzd2l0Y2ggKGUuY29kZSkge1xuICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSGFuZGxlcignQXJyb3dEb3duJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSGFuZGxlcignQXJyb3dVcCcpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgICB0aGlzLnBhcmVudE5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd0xlZnQnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgICBpZiAodGhpcy5ob2xkU2hpZnQoKSkge1xuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd1VwJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25IYW5kbGVyKCdBcnJvd0Rvd24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICAodGhpcy5wYXJlbnRFbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9ua2V5dXAgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUuY29kZSA9PT0gJ1NoaWZ0TGVmdCcgfHwgZS5jb2RlID09PSAnU2hpZnRSaWdodCcpIHtcbiAgICAgICAgdGhpcy5ob2xkU2hpZnQuc2V0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgKHRoaXMucGFyZW50RWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS50YWJJbmRleCA9IC0xO1xuICAgIHRoaXMuY2hpbGRFbGVtKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIChpdGVtLml0ZW1FbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnRhYkluZGV4ID0gMDtcbiAgICAgIGl0ZW0uaW5kZXguc2V0KGluZGV4KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uSGFuZGxlcihlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uTmF2aWdhdGlvbkNoYW5nZWQuZW1pdCh7IHNlbmRlcjogdGhpcyB9KTtcblxuICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4KCkgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXguc2V0KDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlID09PSAnQXJyb3dVcCcgJiYgdGhpcy5hY3RpdmVJbmRleCgpID4gMCkge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleC51cGRhdGUoKHByZXYpID0+IHByZXYgLSAxKTtcbiAgICB9IGVsc2UgaWYgKGUgPT09ICdBcnJvd0Rvd24nICYmIHRoaXMuYWN0aXZlSW5kZXgoKSA8IHRoaXMuY2hpbGRFbGVtKCkubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleC51cGRhdGUoKHByZXYpID0+IHByZXYgKyAxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcmVudE5hdmlnYXRpb25IYW5kbGVyKGU6IHN0cmluZykge1xuICAgIGlmIChlID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtUGFyZW50S2V5ID0gdGhpcy5jaGlsZEVsZW0oKVt0aGlzLmFjdGl2ZUluZGV4KCldLm5hdmlnYXRpb25QYXJlbnRJdGVtS2V5KCk7XG4gICAgICBpZiAoIXNlbGVjdGVkSXRlbVBhcmVudEtleSkgcmV0dXJuO1xuICAgICAgY29uc3QgcGFyZW50RWxlbSA9IHRoaXMuY2hpbGRFbGVtKCkuZmluZCgoaXRlbSkgPT4gaXRlbS5uYXZpZ2F0aW9uSXRlbUtleSA9PT0gc2VsZWN0ZWRJdGVtUGFyZW50S2V5KTtcbiAgICAgIChwYXJlbnRFbGVtLml0ZW1FbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEFyZWFFbGVtZW50KS5mb2N1cygpO1xuICAgICAgdGhpcy5jaGlsZEVsZW0oKS5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmlzQWN0aXZlLnNldChmYWxzZSkpO1xuICAgICAgcGFyZW50RWxlbS5pc0FjdGl2ZS5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4LnNldChwYXJlbnRFbGVtLmluZGV4KCkpO1xuICAgIH1cbiAgfVxuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLmNoaWxkRWxlbSgpLmxlbmd0aCA9PT0gMCB8fCB0aGlzLmFjdGl2ZUluZGV4KCkgPT09IG51bGwpIHJldHVybjtcbiAgICAodGhpcy5jaGlsZEVsZW0oKVt0aGlzLmFjdGl2ZUluZGV4KCldLml0ZW1FbGVtLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgdGhpcy5jaGlsZEVsZW0oKS5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmlzQWN0aXZlLnNldChmYWxzZSkpO1xuICAgIHRoaXMuY2hpbGRFbGVtKClbdGhpcy5hY3RpdmVJbmRleCgpXS5pc0FjdGl2ZS5zZXQodHJ1ZSk7XG4gIH0pO1xuXG4gIG5hdmlnYXRlVG8oZTogQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUpIHtcbiAgICAoZS5pdGVtRWxlbS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIHRoaXMuY2hpbGRFbGVtKCkuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5pc0FjdGl2ZS5zZXQoZmFsc2UpKTtcbiAgICBlLmlzQWN0aXZlLnNldCh0cnVlKTtcbiAgICB0aGlzLmFjdGl2ZUluZGV4LnNldChlLmluZGV4KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVCeUtleWJvYXJkSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uUHJlc3NFbnRlck9yU3BhY2UuZW1pdCh7IGFjdGl2ZTogdGhpcy5hY3RpdmVJbmRleCgpIH0pO1xuICB9XG59XG4iXX0=","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.0.3\", ngImport: i0, type: AXListNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.3\", ngImport: i0, type: AXListNavigationModule, imports: [CommonModule, AXListNavigationDirective, AXListNavigationItemDirective], exports: [AXListNavigationDirective, AXListNavigationItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXListNavigationModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.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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"}
@@ -1,19 +1,22 @@
1
+ import { AXClipBoardService } from '@acorex/cdk/clipboard';
1
2
  import { AXUnsubscriber } from '@acorex/core/utils';
3
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
2
4
  import * as i0 from '@angular/core';
3
- import { inject, NgZone, ElementRef, input, signal, computed, afterNextRender, Directive, NgModule } from '@angular/core';
4
- import { Router, NavigationEnd } from '@angular/router';
5
- import { BehaviorSubject, fromEvent, map } from 'rxjs';
6
- import { CommonModule } from '@angular/common';
5
+ import { inject, NgZone, PLATFORM_ID, ElementRef, input, signal, computed, afterNextRender, Directive, NgModule } from '@angular/core';
6
+ import { Subject, BehaviorSubject, fromEvent, map, debounceTime } from 'rxjs';
7
7
 
8
8
  class AXOutlineContainerDirective {
9
9
  constructor() {
10
- this.router = inject(Router);
11
10
  this.zone = inject(NgZone);
11
+ this.platformId = inject(PLATFORM_ID);
12
12
  this.el = inject((ElementRef));
13
13
  this.unsubscriber = inject(AXUnsubscriber);
14
+ this.clipboardService = inject(AXClipBoardService);
14
15
  this.target = input();
15
16
  this.smoothScroll = input(true);
17
+ this.showHashItem = input(false);
16
18
  this.activationOffset = input(16);
19
+ this.copyUrlOnClick = input(false);
17
20
  this.activateLastAtBottom = input(true);
18
21
  this.scrollableElementId = input(null);
19
22
  this.scrollTop = signal(0);
@@ -21,28 +24,48 @@ class AXOutlineContainerDirective {
21
24
  this.scrollableElement = computed(() => this.scrollableElementId()
22
25
  ? document.getElementById(this.scrollableElementId())
23
26
  : this.el.nativeElement);
27
+ this.mutationSubject = new Subject();
28
+ this.MUTATION_DEBOUNCE_TIME = 150;
24
29
  this.outlineItems$ = new BehaviorSubject([]);
25
30
  this.#anr = afterNextRender(() => {
26
- if (this.smoothScroll) {
31
+ if (this.smoothScroll()) {
32
+ this.scrollableElement().style.overflow = 'auto';
27
33
  this.scrollableElement().style.scrollBehavior = 'smooth';
28
34
  }
29
- this.setOutlineItems();
30
- this.router.events.pipe(this.unsubscriber.takeUntilDestroy).subscribe((e) => {
31
- if (e instanceof NavigationEnd) {
32
- this.setOutlineItems();
33
- }
34
- });
35
- this.zone.runOutsideAngular(() => {
36
- fromEvent(this.scrollableElement(), 'scroll')
37
- .pipe(this.unsubscriber.takeUntilDestroy, map(() => this.scrollableElement().scrollTop))
38
- .subscribe((scrollTop) => {
39
- this.scrollTop.set(scrollTop);
40
- this.scrollChanged(scrollTop);
35
+ if (isPlatformBrowser(this.platformId)) {
36
+ this.zone.runOutsideAngular(() => {
37
+ const scrollable = this.scrollableElement().tagName === 'HTML' ? window : this.scrollableElement();
38
+ fromEvent(scrollable, 'scroll')
39
+ .pipe(this.unsubscriber.takeUntilDestroy, map(() => this.scrollableElement().scrollTop))
40
+ .subscribe((scrollTop) => {
41
+ this.scrollTop.set(scrollTop);
42
+ this.scrollChanged(scrollTop);
43
+ });
44
+ this.mutationObserver = new MutationObserver((mutationsList) => {
45
+ const relevantMutation = mutationsList.some((mutation) => mutation.type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0));
46
+ if (relevantMutation) {
47
+ this.mutationSubject.next();
48
+ }
49
+ });
50
+ this.mutationObserver.observe(this.el.nativeElement, {
51
+ childList: true,
52
+ subtree: true,
53
+ });
54
+ });
55
+ this.mutationSubject
56
+ .pipe(debounceTime(this.MUTATION_DEBOUNCE_TIME), this.unsubscriber.takeUntilDestroy)
57
+ .subscribe(() => {
58
+ this.refreshOutlineItems();
41
59
  });
42
- });
60
+ }
43
61
  });
44
62
  }
45
63
  #anr;
64
+ ngOnDestroy() {
65
+ if (this.mutationObserver) {
66
+ this.mutationObserver.disconnect();
67
+ }
68
+ }
46
69
  scrollChanged(scrollTop) {
47
70
  this.outlineItems.update((prevItems) => {
48
71
  if (prevItems.length === 0)
@@ -71,7 +94,10 @@ class AXOutlineContainerDirective {
71
94
  this.outlineItems$.next(this.outlineItems());
72
95
  }
73
96
  setOutlineItems() {
74
- setTimeout(() => {
97
+ if (this.mutationObserver) {
98
+ this.mutationObserver.disconnect();
99
+ }
100
+ requestAnimationFrame(() => {
75
101
  const targets = this.target() ? [...this.el.nativeElement.querySelectorAll(this.target())] : [];
76
102
  targets.push(...this.el.nativeElement.querySelectorAll('[data-ax-outline-item="true"]'));
77
103
  const uniqueTargets = new Set(targets);
@@ -80,34 +106,83 @@ class AXOutlineContainerDirective {
80
106
  return el.dataset['axOutlineItem'] !== 'false';
81
107
  })
82
108
  .map((el) => {
83
- const existingId = el.id;
84
- let newId;
85
- if (!existingId) {
86
- const textContent = el.textContent.trim();
87
- if (textContent) {
88
- newId = `${textContent.replace(/\s+/g, '-')}`;
109
+ // Ensure el is explicitly HTMLElement
110
+ let fragment = el.id;
111
+ if (!fragment) {
112
+ const textContentForId = el.textContent?.trim() ?? ''; // Read text BEFORE adding/modifying for hash
113
+ if (textContentForId) {
114
+ fragment = `${textContentForId.toLowerCase().replace(/\s+/g, '-')}`;
115
+ let counter = 1;
116
+ const originalFragment = fragment;
117
+ while (document.getElementById(fragment)) {
118
+ fragment = `${originalFragment}-${counter}`;
119
+ counter++;
120
+ }
89
121
  }
90
122
  else {
91
- newId = `${Math.random().toString(36).slice(2, 7)}`;
123
+ // Use a more specific prefix for generated IDs to avoid potential collisions
124
+ fragment = `ax-outline-${Math.random().toString(36).slice(2, 7)}`;
125
+ }
126
+ el.id = fragment; // Set the ID on the element
127
+ }
128
+ el.style.scrollMargin = `${this.activationOffset()}px`;
129
+ const existingLink = el.querySelector('a.ax-outline-hash-link');
130
+ if (existingLink) {
131
+ existingLink.remove();
132
+ }
133
+ if (this.showHashItem()) {
134
+ const anchor = document.createElement('a');
135
+ anchor.textContent = '#';
136
+ anchor.href = `${window.location.pathname}${window.location.search}#${fragment}`;
137
+ anchor.classList.add('ax-outline-hash-link');
138
+ // Styling for the hash link
139
+ anchor.style.paddingInlineStart = '0.5rem'; // Adjust as needed
140
+ anchor.style.opacity = '0';
141
+ anchor.style.transition = 'opacity 0.2s ease-in-out';
142
+ anchor.style.cursor = 'pointer';
143
+ anchor.setAttribute('aria-hidden', 'true');
144
+ anchor.setAttribute('fragment', fragment);
145
+ const enterListener = () => (anchor.style.opacity = '1');
146
+ const leaveListener = () => (anchor.style.opacity = '0');
147
+ el.addEventListener('mouseenter', enterListener);
148
+ el.addEventListener('mouseleave', leaveListener);
149
+ el.appendChild(anchor);
150
+ if (this.copyUrlOnClick()) {
151
+ anchor.addEventListener('click', async () => {
152
+ try {
153
+ await this.clipboardService.copy(anchor.href);
154
+ }
155
+ catch (err) {
156
+ console.error('Failed to copy outline URL:', err);
157
+ }
158
+ });
92
159
  }
93
- el.id = newId;
94
160
  }
95
- return { el, active: false, scrollY: el.offsetTop };
161
+ return { el, active: false, scrollY: el.offsetTop, hasAnchor: this.showHashItem() };
96
162
  })
97
163
  .sort((a, b) => a.scrollY - b.scrollY);
98
164
  this.outlineItems.set(outlineItems);
99
165
  this.scrollChanged(this.scrollTop());
166
+ if (this.mutationObserver) {
167
+ this.mutationObserver.observe(this.el.nativeElement, {
168
+ childList: true,
169
+ subtree: true,
170
+ });
171
+ }
100
172
  });
101
173
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.11", 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 }, activationOffset: { classPropertyName: "activationOffset", publicName: "activationOffset", 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], exportAs: ["axOutlineContainer"], ngImport: i0 }); }
174
+ refreshOutlineItems() {
175
+ this.setOutlineItems();
176
+ }
177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
178
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.3", 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 }); }
104
179
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineContainerDirective, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineContainerDirective, decorators: [{
106
181
  type: Directive,
107
182
  args: [{
108
183
  selector: '[axOutlineContainer]',
109
184
  exportAs: 'axOutlineContainer',
110
- providers: [AXUnsubscriber],
185
+ providers: [AXUnsubscriber, AXClipBoardService],
111
186
  }]
112
187
  }] });
113
188
 
@@ -132,10 +207,10 @@ class AXOutlineItemDirective {
132
207
  });
133
208
  }
134
209
  #anr;
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
136
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.11", 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 }); }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
211
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.3", 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 }); }
137
212
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineItemDirective, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineItemDirective, decorators: [{
139
214
  type: Directive,
140
215
  args: [{
141
216
  selector: '[axOutlineItem]',
@@ -146,11 +221,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
146
221
  const COMPONENT = [AXOutlineContainerDirective, AXOutlineItemDirective];
147
222
  const MODULES = [CommonModule];
148
223
  class AXOutlineModule {
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
150
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineModule, imports: [CommonModule, AXOutlineContainerDirective, AXOutlineItemDirective], exports: [AXOutlineContainerDirective, AXOutlineItemDirective] }); }
151
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineModule, imports: [MODULES] }); }
224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
225
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineModule, imports: [CommonModule, AXOutlineContainerDirective, AXOutlineItemDirective], exports: [AXOutlineContainerDirective, AXOutlineItemDirective] }); }
226
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineModule, imports: [MODULES] }); }
152
227
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOutlineModule, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOutlineModule, decorators: [{
154
229
  type: NgModule,
155
230
  args: [{
156
231
  imports: [...MODULES, ...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-outline.mjs","sources":["../../../../packages/cdk/outline/src/lib/outline-container.directive.ts","../../../../packages/cdk/outline/src/lib/outline-item.directive.ts","../../../../packages/cdk/outline/src/lib/outline.module.ts","../../../../packages/cdk/outline/src/acorex-cdk-outline.ts"],"sourcesContent":["import { AXUnsubscriber } from '@acorex/core/utils';\nimport { afterNextRender, computed, Directive, ElementRef, inject, input, NgZone, signal } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject, fromEvent, map } from 'rxjs';\n\nexport type outlineItemType = { el: HTMLElement; active: boolean; scrollY: number };\n\n@Directive({\n selector: '[axOutlineContainer]',\n exportAs: 'axOutlineContainer',\n providers: [AXUnsubscriber],\n})\nexport class AXOutlineContainerDirective {\n router = inject(Router);\n private zone = inject(NgZone);\n private el = inject(ElementRef<HTMLElement>);\n private unsubscriber = inject(AXUnsubscriber);\n\n target = input<string>();\n smoothScroll = input(true);\n activationOffset = input(16);\n activateLastAtBottom = input(true);\n scrollableElementId = input<string | null>(null);\n\n private scrollTop = signal(0);\n private outlineItems = signal<outlineItemType[]>([]);\n\n private scrollableElement = computed(() =>\n this.scrollableElementId()\n ? document.getElementById(this.scrollableElementId())\n : (this.el.nativeElement as HTMLElement),\n );\n\n outlineItems$ = new BehaviorSubject<outlineItemType[]>([]);\n\n #anr = afterNextRender(() => {\n if (this.smoothScroll) {\n this.scrollableElement().style.scrollBehavior = 'smooth';\n }\n this.setOutlineItems();\n this.router.events.pipe(this.unsubscriber.takeUntilDestroy).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.setOutlineItems();\n }\n });\n this.zone.runOutsideAngular(() => {\n fromEvent(this.scrollableElement(), 'scroll')\n .pipe(\n this.unsubscriber.takeUntilDestroy,\n map(() => this.scrollableElement().scrollTop),\n )\n .subscribe((scrollTop) => {\n this.scrollTop.set(scrollTop);\n this.scrollChanged(scrollTop);\n });\n });\n });\n\n private scrollChanged(scrollTop: number) {\n this.outlineItems.update((prevItems) => {\n if (prevItems.length === 0) return prevItems;\n\n const scrollHeight = this.scrollableElement().scrollHeight;\n const clientHeight = this.scrollableElement().clientHeight;\n const isAtBottom = scrollTop + clientHeight >= scrollHeight - 1;\n\n if (isAtBottom && this.activateLastAtBottom()) {\n return prevItems.map((item, index) => ({\n ...item,\n active: index === prevItems.length - 1,\n }));\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\n private setOutlineItems() {\n setTimeout(() => {\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 const existingId = el.id;\n let newId;\n if (!existingId) {\n const textContent = el.textContent.trim();\n if (textContent) {\n newId = `${textContent.replace(/\\s+/g, '-')}`;\n } else {\n newId = `${Math.random().toString(36).slice(2, 7)}`;\n }\n el.id = newId;\n }\n return { el, active: false, scrollY: el.offsetTop };\n })\n .sort((a, b) => a.scrollY - b.scrollY);\n this.outlineItems.set(outlineItems);\n this.scrollChanged(this.scrollTop());\n });\n }\n}\n","import { afterNextRender, Directive, ElementRef, inject, input } from '@angular/core';\n\n@Directive({\n selector: '[axOutlineItem]',\n exportAs: 'axOutlineItem',\n})\nexport class AXOutlineItemDirective {\n private el = inject(ElementRef);\n\n id = input<string>();\n disabled = input(false);\n\n #anr = afterNextRender(() => {\n (this.el.nativeElement as HTMLElement).dataset['axOutlineItem'] = this.disabled() ? 'false' : 'true';\n\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 } else {\n newId = `${Math.random().toString(36).slice(2, 7)}`;\n }\n this.el.nativeElement.id = newId;\n }\n });\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXOutlineContainerDirective } from './outline-container.directive';\nimport { AXOutlineItemDirective } from './outline-item.directive';\n\nconst COMPONENT = [AXOutlineContainerDirective, AXOutlineItemDirective];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXOutlineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"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();\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 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.3\", ngImport: i0, type: AXOutlineContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.3\", 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.3\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2RrL291dGxpbmUvc3JjL2xpYi9vdXRsaW5lLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQyxDQUFDLGtDQUFrQzs7QUFTakgsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQU1VLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFDckMsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFdEQsV0FBTSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVC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WSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUVyQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFO29CQUNuRCxTQUFTLEVBQUUsSUFBSTtvQkFDZixPQUFPLEVBQUUsSUFBSTtpQkFDZCxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQXhNVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix1bENBRjNCLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDOzsyRkFFcEMsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsaXBCb2FyZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBtYXAsIFN1YmplY3QgfSBmcm9tICdyeGpzJzsgLy8gSW1wb3J0IFN1YmplY3QgYW5kIGRlYm91bmNlVGltZVxuXG5leHBvcnQgdHlwZSBvdXRsaW5lSXRlbVR5cGUgPSB7IGVsOiBIVE1MRWxlbWVudDsgYWN0aXZlOiBib29sZWFuOyBzY3JvbGxZOiBudW1iZXI7IGhhc0FuY2hvcjogYm9vbGVhbiB9O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhPdXRsaW5lQ29udGFpbmVyXScsXG4gIGV4cG9ydEFzOiAnYXhPdXRsaW5lQ29udGFpbmVyJyxcbiAgcHJvdmlkZXJzOiBbQVhVbnN1YnNjcmliZXIsIEFYQ2xpcEJvYXJkU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYT3V0bGluZUNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIGNsaXBib2FyZFNlcnZpY2UgPSBpbmplY3QoQVhDbGlwQm9hcmRTZXJ2aWNlKTtcblxuICB0YXJnZXQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHNtb290aFNjcm9sbCA9IGlucHV0KHRydWUpO1xuICBzaG93SGFzaEl0ZW0gPSBpbnB1dChmYWxzZSk7XG4gIGFjdGl2YXRpb25PZmZzZXQgPSBpbnB1dCgxNik7XG4gIGNvcHlVcmxPbkNsaWNrID0gaW5wdXQoZmFsc2UpO1xuICBhY3RpdmF0ZUxhc3RBdEJvdHRvbSA9IGlucHV0KHRydWUpO1xuICBzY3JvbGxhYmxlRWxlbWVudElkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSBzY3JvbGxUb3AgPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgb3V0bGluZUl0ZW1zID0gc2lnbmFsPG91dGxpbmVJdGVtVHlwZVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBzY3JvbGxhYmxlRWxlbWVudCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zY3JvbGxhYmxlRWxlbWVudElkKClcbiAgICAgID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zY3JvbGxhYmxlRWxlbWVudElkKCkpXG4gICAgICA6ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLFxuICApO1xuXG4gIHByaXZhdGUgbXV0YXRpb25TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBNVVRBVElPTl9ERUJPVU5DRV9USU1FID0gMTUwO1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCB1bmRlZmluZWQ7XG4gIG91dGxpbmVJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG91dGxpbmVJdGVtVHlwZVtdPihbXSk7XG5cbiAgI2FuciA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgaWYgKHRoaXMuc21vb3RoU2Nyb2xsKCkpIHtcbiAgICAgIHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5zdHlsZS5vdmVyZmxvdyA9ICdhdXRvJztcbiAgICAgIHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5zdHlsZS5zY3JvbGxCZWhhdmlvciA9ICdzbW9vdGgnO1xuICAgIH1cblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBjb25zdCBzY3JvbGxhYmxlID0gdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLnRhZ05hbWUgPT09ICdIVE1MJyA/IHdpbmRvdyA6IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKTtcbiAgICAgICAgZnJvbUV2ZW50KHNjcm9sbGFibGUsICdzY3JvbGwnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLnNjcm9sbGFibGVFbGVtZW50KCkuc2Nyb2xsVG9wKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoc2Nyb2xsVG9wKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvcC5zZXQoc2Nyb2xsVG9wKTtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsQ2hhbmdlZChzY3JvbGxUb3ApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsZXZhbnRNdXRhdGlvbiA9IG11dGF0aW9uc0xpc3Quc29tZShcbiAgICAgICAgICAgIChtdXRhdGlvbikgPT5cbiAgICAgICAgICAgICAgbXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcgJiYgKG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoID4gMCB8fCBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAocmVsZXZhbnRNdXRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tdXRhdGlvblN1YmplY3QubmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubXV0YXRpb25TdWJqZWN0XG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLk1VVEFUSU9OX0RFQk9VTkNFX1RJTUUpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hPdXRsaW5lSXRlbXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsQ2hhbmdlZChzY3JvbGxUb3A6IG51bWJlcikge1xuICAgIHRoaXMub3V0bGluZUl0ZW1zLnVwZGF0ZSgocHJldkl0ZW1zKSA9PiB7XG4gICAgICBpZiAocHJldkl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHByZXZJdGVtcztcblxuICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5zY3JvbGxhYmxlRWxlbWVudCgpLnNjcm9sbEhlaWdodDtcbiAgICAgIGNvbnN0IGNsaWVudEhlaWdodCA9IHRoaXMuc2Nyb2xsYWJsZUVsZW1lbnQoKS5jbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDE7XG5cbiAgICAgIGlmIChpc0F0Qm90dG9tICYmIHRoaXMuYWN0aXZhdGVMYXN0QXRCb3R0b20oKSkge1xuICAgICAgICByZXR1cm4gcHJldkl0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+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();\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.3\", ngImport: i0, type: AXOutlineItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.3\", 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.3\", 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.3\", ngImport: i0, type: AXOutlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.3\", ngImport: i0, type: AXOutlineModule, imports: [CommonModule, AXOutlineContainerDirective, AXOutlineItemDirective], exports: [AXOutlineContainerDirective, AXOutlineItemDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXOutlineModule, imports: [MODULES] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", 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: "19.2.11", ngImport: i0, type: AXOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOverlayService, providedIn: 'root' }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXOverlayService, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: AXOverlayService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root',