design-angular-kit 1.2.1 → 1.2.2

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 (546) hide show
  1. package/README.md +461 -0
  2. package/esm2022/design-angular-kit.mjs +5 -0
  3. package/esm2022/lib/abstracts/abstract-form.component.mjs +186 -0
  4. package/esm2022/lib/abstracts/abstract.component.mjs +46 -0
  5. package/esm2022/lib/components/core/accordion/accordion.component.mjs +39 -0
  6. package/esm2022/lib/components/core/alert/alert.component.mjs +71 -0
  7. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +43 -0
  8. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +40 -0
  9. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +78 -0
  10. package/esm2022/lib/components/core/avatar/avatar.module.mjs +33 -0
  11. package/esm2022/lib/components/core/badge/badge.directive.mjs +39 -0
  12. package/esm2022/lib/components/core/button/button.directive.mjs +80 -0
  13. package/esm2022/lib/components/core/callout/callout.component.mjs +64 -0
  14. package/esm2022/lib/components/core/card/card.component.mjs +59 -0
  15. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +84 -0
  16. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
  17. package/esm2022/lib/components/core/carousel/carousel.module.mjs +18 -0
  18. package/esm2022/lib/components/core/chip/chip.component.mjs +136 -0
  19. package/esm2022/lib/components/core/collapse/collapse.component.mjs +116 -0
  20. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +27 -0
  21. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  22. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +55 -0
  23. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +19 -0
  24. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +147 -0
  25. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +70 -0
  26. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
  27. package/esm2022/lib/components/core/forward/forward.directive.mjs +57 -0
  28. package/esm2022/lib/components/core/link/link.component.mjs +42 -0
  29. package/esm2022/lib/components/core/list/list/list.component.mjs +22 -0
  30. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +56 -0
  31. package/esm2022/lib/components/core/list/list.module.mjs +18 -0
  32. package/esm2022/lib/components/core/modal/modal.component.mjs +194 -0
  33. package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
  34. package/esm2022/lib/components/core/pagination/pagination.component.mjs +130 -0
  35. package/esm2022/lib/components/core/popover/popover.directive.mjs +176 -0
  36. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
  37. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +25 -0
  38. package/esm2022/lib/components/core/spinner/spinner.component.mjs +30 -0
  39. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +116 -0
  40. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +22 -0
  41. package/esm2022/lib/components/core/steppers/steppers.module.mjs +18 -0
  42. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +97 -0
  43. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +39 -0
  44. package/esm2022/lib/components/core/tab/tab.module.mjs +18 -0
  45. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +134 -0
  46. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +123 -0
  47. package/esm2022/lib/components/core/table/table.component.mjs +45 -0
  48. package/esm2022/lib/components/core/table/table.module.mjs +19 -0
  49. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +90 -0
  50. package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
  51. package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
  52. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
  53. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +112 -0
  54. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +48 -0
  55. package/esm2022/lib/components/form/form.module.mjs +63 -0
  56. package/esm2022/lib/components/form/input/input.component.mjs +190 -0
  57. package/esm2022/lib/components/form/password-input/password-input.component.mjs +149 -0
  58. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +60 -0
  59. package/esm2022/lib/components/form/range/range.component.mjs +64 -0
  60. package/esm2022/lib/components/form/rating/rating.component.mjs +50 -0
  61. package/esm2022/lib/components/form/select/select.component.mjs +70 -0
  62. package/esm2022/lib/components/form/textarea/textarea.component.mjs +55 -0
  63. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +191 -0
  64. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +2 -0
  65. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +70 -0
  66. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +72 -0
  67. package/esm2022/lib/components/form/transfer/transfer.component.mjs +149 -0
  68. package/esm2022/lib/components/form/transfer/transfer.model.mjs +6 -0
  69. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +142 -0
  70. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +107 -0
  71. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +67 -0
  72. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +68 -0
  73. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +51 -0
  74. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +21 -0
  75. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
  76. package/esm2022/lib/components/navigation/header/header.component.mjs +103 -0
  77. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +27 -0
  78. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +49 -0
  79. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +11 -0
  80. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +18 -0
  81. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +98 -0
  82. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +44 -0
  83. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +116 -0
  84. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +2 -0
  85. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +68 -0
  86. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +23 -0
  87. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +50 -0
  88. package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +27 -0
  89. package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +26 -0
  90. package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +18 -0
  91. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +74 -0
  92. package/esm2022/lib/components/utils/icon/icon.component.mjs +63 -0
  93. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +50 -0
  94. package/esm2022/lib/design-angular-kit.module.mjs +233 -0
  95. package/esm2022/lib/enums/colors.enums.mjs +12 -0
  96. package/esm2022/lib/enums/sizes.enum.mjs +9 -0
  97. package/esm2022/lib/interfaces/core.mjs +16 -0
  98. package/esm2022/lib/interfaces/design-angular-kit-config.mjs +7 -0
  99. package/esm2022/lib/interfaces/form.mjs +2 -0
  100. package/esm2022/lib/interfaces/icon.mjs +168 -0
  101. package/esm2022/lib/interfaces/sortable-table.mjs +6 -0
  102. package/esm2022/lib/interfaces/utils.mjs +2 -0
  103. package/esm2022/lib/pipes/date-ago.pipe.mjs +56 -0
  104. package/esm2022/lib/pipes/duration.pipe.mjs +115 -0
  105. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +48 -0
  106. package/esm2022/lib/provide-design-angular-kit.mjs +64 -0
  107. package/esm2022/lib/services/notification/notification.service.mjs +120 -0
  108. package/esm2022/lib/utils/coercion.mjs +18 -0
  109. package/esm2022/lib/utils/date-utils.mjs +162 -0
  110. package/esm2022/lib/utils/file-utils.mjs +73 -0
  111. package/esm2022/lib/utils/regex.mjs +35 -0
  112. package/esm2022/lib/validators/it-validators.mjs +156 -0
  113. package/esm2022/public_api.mjs +110 -0
  114. package/fesm2022/design-angular-kit.mjs +6731 -0
  115. package/fesm2022/design-angular-kit.mjs.map +1 -0
  116. package/index.d.ts +5 -0
  117. package/lib/abstracts/abstract-form.component.d.ts +87 -0
  118. package/lib/abstracts/abstract.component.d.ts +30 -0
  119. package/lib/components/core/accordion/accordion.component.d.ts +18 -0
  120. package/lib/components/core/alert/alert.component.d.ts +44 -0
  121. package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +29 -0
  122. package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +15 -0
  123. package/lib/components/core/avatar/avatar.directive.d.ts +33 -0
  124. package/lib/components/core/avatar/avatar.module.d.ts +9 -0
  125. package/lib/components/core/badge/badge.directive.d.ts +23 -0
  126. package/lib/components/core/button/button.directive.d.ts +48 -0
  127. package/lib/components/core/callout/callout.component.d.ts +50 -0
  128. package/lib/components/core/card/card.component.d.ts +69 -0
  129. package/lib/components/core/carousel/carousel/carousel.component.d.ts +65 -0
  130. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +15 -0
  131. package/lib/components/core/carousel/carousel.module.d.ts +8 -0
  132. package/lib/components/core/chip/chip.component.d.ts +76 -0
  133. package/lib/components/core/collapse/collapse.component.d.ts +67 -0
  134. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
  135. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
  136. package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
  137. package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
  138. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +94 -0
  139. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +46 -0
  140. package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
  141. package/lib/components/core/forward/forward.directive.d.ts +14 -0
  142. package/lib/components/core/link/link.component.d.ts +35 -0
  143. package/lib/components/core/list/list/list.component.d.ts +24 -0
  144. package/lib/components/core/list/list-item/list-item.component.d.ts +41 -0
  145. package/lib/components/core/list/list.module.d.ts +8 -0
  146. package/lib/components/core/modal/modal.component.d.ts +135 -0
  147. package/lib/components/core/notifications/notifications.component.d.ts +45 -0
  148. package/lib/components/core/pagination/pagination.component.d.ts +92 -0
  149. package/lib/components/core/popover/popover.directive.d.ts +99 -0
  150. package/lib/components/core/progress-bar/progress-bar.component.d.ts +31 -0
  151. package/lib/components/core/progress-button/progress-button.component.d.ts +21 -0
  152. package/lib/components/core/spinner/spinner.component.d.ts +24 -0
  153. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +130 -0
  154. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +24 -0
  155. package/lib/components/core/steppers/steppers.module.d.ts +8 -0
  156. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +60 -0
  157. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +38 -0
  158. package/lib/components/core/tab/tab.module.d.ts +8 -0
  159. package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +72 -0
  160. package/lib/components/core/table/sort/sort.directive.d.ts +53 -0
  161. package/lib/components/core/table/table.component.d.ts +60 -0
  162. package/lib/components/core/table/table.module.d.ts +9 -0
  163. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +79 -0
  164. package/lib/components/core/timeline/timeline.component.d.ts +21 -0
  165. package/lib/components/core/timeline/timeline.module.d.ts +8 -0
  166. package/lib/components/core/tooltip/tooltip.directive.d.ts +82 -0
  167. package/lib/components/form/autocomplete/autocomplete.component.d.ts +59 -0
  168. package/lib/components/form/checkbox/checkbox.component.d.ts +41 -0
  169. package/lib/components/form/form.module.d.ts +18 -0
  170. package/lib/components/form/input/input.component.d.ts +95 -0
  171. package/lib/components/form/password-input/password-input.component.d.ts +80 -0
  172. package/lib/components/form/radio-button/radio-button.component.d.ts +38 -0
  173. package/lib/components/form/range/range.component.d.ts +42 -0
  174. package/lib/components/form/rating/rating.component.d.ts +24 -0
  175. package/lib/components/form/select/select.component.d.ts +36 -0
  176. package/lib/components/form/textarea/textarea.component.d.ts +34 -0
  177. package/lib/components/form/transfer/store/transfer.reducers.d.ts +103 -0
  178. package/lib/components/form/transfer/store/transfer.state.d.ts +18 -0
  179. package/lib/components/form/transfer/store/transfer.store.d.ts +23 -0
  180. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +48 -0
  181. package/lib/components/form/transfer/transfer.component.d.ts +75 -0
  182. package/{src/lib/components/form/transfer/transfer.model.ts → lib/components/form/transfer/transfer.model.d.ts} +2 -9
  183. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +60 -0
  184. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +62 -0
  185. package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
  186. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +50 -0
  187. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +28 -0
  188. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +23 -0
  189. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  190. package/lib/components/navigation/header/header.component.d.ts +38 -0
  191. package/lib/components/navigation/megamenu/megamenu.component.d.ts +22 -0
  192. package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +19 -0
  193. package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +5 -0
  194. package/lib/components/navigation/navbar/navbar.module.d.ts +8 -0
  195. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +16 -0
  196. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +7 -0
  197. package/lib/components/navigation/navscroll/navscroll.component.d.ts +47 -0
  198. package/{src/lib/components/navigation/navscroll/navscroll.model.ts → lib/components/navigation/navscroll/navscroll.model.d.ts} +5 -7
  199. package/lib/components/navigation/navscroll/navscroll.store.d.ts +16 -0
  200. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +6 -0
  201. package/lib/components/navigation/sidebar/sidebar.component.d.ts +26 -0
  202. package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +17 -0
  203. package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +24 -0
  204. package/lib/components/navigation/skiplink/skiplink.module.d.ts +8 -0
  205. package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
  206. package/lib/components/utils/icon/icon.component.d.ts +53 -0
  207. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +27 -0
  208. package/lib/design-angular-kit.module.d.ts +53 -0
  209. package/lib/enums/colors.enums.d.ts +10 -0
  210. package/lib/enums/sizes.enum.d.ts +7 -0
  211. package/{src/lib/interfaces/core.ts → lib/interfaces/core.d.ts} +53 -95
  212. package/lib/interfaces/design-angular-kit-config.d.ts +30 -0
  213. package/lib/interfaces/form.d.ts +67 -0
  214. package/lib/interfaces/icon.d.ts +4 -0
  215. package/lib/interfaces/sortable-table.d.ts +33 -0
  216. package/lib/interfaces/utils.d.ts +10 -0
  217. package/lib/pipes/date-ago.pipe.d.ts +17 -0
  218. package/lib/pipes/duration.pipe.d.ts +35 -0
  219. package/lib/pipes/mark-matching-text.pipe.d.ts +18 -0
  220. package/lib/provide-design-angular-kit.d.ts +7 -0
  221. package/lib/services/notification/notification.service.d.ts +63 -0
  222. package/{src/lib/utils/coercion.ts → lib/utils/coercion.d.ts} +1 -7
  223. package/lib/utils/date-utils.d.ts +79 -0
  224. package/lib/utils/file-utils.d.ts +32 -0
  225. package/lib/utils/regex.d.ts +34 -0
  226. package/lib/validators/it-validators.d.ts +69 -0
  227. package/package.json +14 -9
  228. package/{src/public_api.ts → public_api.d.ts} +0 -43
  229. package/schematics/ng-add/index.d.ts +3 -0
  230. package/schematics/ng-add/index.js +29 -0
  231. package/schematics/ng-add/index.js.map +1 -0
  232. package/schematics/ng-add/index.spec.d.ts +1 -0
  233. package/schematics/ng-add/index.spec.js +43 -0
  234. package/schematics/ng-add/index.spec.js.map +1 -0
  235. package/schematics/ng-add/rules/setup-project/add-animations.d.ts +2 -0
  236. package/schematics/ng-add/rules/setup-project/add-animations.js +11 -0
  237. package/schematics/ng-add/rules/setup-project/add-animations.js.map +1 -0
  238. package/schematics/ng-add/rules/setup-project/add-assets.d.ts +3 -0
  239. package/schematics/ng-add/rules/setup-project/add-assets.js +50 -0
  240. package/schematics/ng-add/rules/setup-project/add-assets.js.map +1 -0
  241. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +3 -0
  242. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +43 -0
  243. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +1 -0
  244. package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +2 -0
  245. package/schematics/ng-add/rules/setup-project/add-http-client.js +11 -0
  246. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +1 -0
  247. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +11 -0
  248. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +112 -0
  249. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +1 -0
  250. package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +3 -0
  251. package/schematics/ng-add/rules/setup-project/add-localisation.js +50 -0
  252. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +1 -0
  253. package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +2 -0
  254. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +13 -0
  255. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +1 -0
  256. package/schematics/ng-add/rules/setup-project/exceptions.d.ts +7 -0
  257. package/schematics/ng-add/rules/setup-project/exceptions.js +17 -0
  258. package/schematics/ng-add/rules/setup-project/exceptions.js.map +1 -0
  259. package/schematics/ng-add/rules/setup-project/index.js +23 -0
  260. package/schematics/ng-add/rules/setup-project/index.js.map +1 -0
  261. package/schematics/ng-add/{schema.ts → schema.d.ts} +1 -1
  262. package/schematics/ng-add/schema.js +3 -0
  263. package/schematics/ng-add/schema.js.map +1 -0
  264. package/schematics/ng-add/setup-project.d.ts +3 -0
  265. package/schematics/ng-add/setup-project.js +37 -0
  266. package/schematics/ng-add/setup-project.js.map +1 -0
  267. package/schematics/ng-add/setup-project.spec.d.ts +1 -0
  268. package/schematics/ng-add/setup-project.spec.js +139 -0
  269. package/schematics/ng-add/setup-project.spec.js.map +1 -0
  270. package/schematics/ng-add/utils.d.ts +14 -0
  271. package/schematics/ng-add/utils.js +49 -0
  272. package/schematics/ng-add/utils.js.map +1 -0
  273. package/schematics/ng-add/versions-helper.d.ts +3 -0
  274. package/schematics/ng-add/versions-helper.js +40 -0
  275. package/schematics/ng-add/versions-helper.js.map +1 -0
  276. package/.eslintrc.json +0 -31
  277. package/karma.conf.js +0 -38
  278. package/ng-package.json +0 -9
  279. package/ng-package.prod.json +0 -8
  280. package/schematics/ng-add/index.spec.ts +0 -45
  281. package/schematics/ng-add/index.ts +0 -36
  282. package/schematics/ng-add/rules/setup-project/add-animations.ts +0 -7
  283. package/schematics/ng-add/rules/setup-project/add-assets.ts +0 -45
  284. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.ts +0 -40
  285. package/schematics/ng-add/rules/setup-project/add-http-client.ts +0 -7
  286. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.ts +0 -120
  287. package/schematics/ng-add/rules/setup-project/add-localisation.ts +0 -45
  288. package/schematics/ng-add/rules/setup-project/angular-json-helper.ts +0 -11
  289. package/schematics/ng-add/rules/setup-project/exceptions.ts +0 -13
  290. package/schematics/ng-add/setup-project.spec.ts +0 -166
  291. package/schematics/ng-add/setup-project.ts +0 -31
  292. package/schematics/ng-add/utils.ts +0 -71
  293. package/schematics/ng-add/versions-helper.ts +0 -41
  294. package/src/lib/abstracts/abstract-form.component.ts +0 -200
  295. package/src/lib/abstracts/abstract.component.ts +0 -63
  296. package/src/lib/components/core/accordion/accordion.component.html +0 -27
  297. package/src/lib/components/core/accordion/accordion.component.spec.ts +0 -21
  298. package/src/lib/components/core/accordion/accordion.component.ts +0 -40
  299. package/src/lib/components/core/alert/alert.component.html +0 -19
  300. package/src/lib/components/core/alert/alert.component.scss +0 -3
  301. package/src/lib/components/core/alert/alert.component.spec.ts +0 -62
  302. package/src/lib/components/core/alert/alert.component.ts +0 -75
  303. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.html +0 -23
  304. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.scss +0 -17
  305. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.spec.ts +0 -21
  306. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.ts +0 -50
  307. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.html +0 -7
  308. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.spec.ts +0 -38
  309. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.ts +0 -25
  310. package/src/lib/components/core/avatar/avatar.directive.ts +0 -73
  311. package/src/lib/components/core/avatar/avatar.module.ts +0 -18
  312. package/src/lib/components/core/badge/badge.directive.spec.ts +0 -59
  313. package/src/lib/components/core/badge/badge.directive.ts +0 -39
  314. package/src/lib/components/core/button/button.directive.spec.ts +0 -96
  315. package/src/lib/components/core/button/button.directive.ts +0 -89
  316. package/src/lib/components/core/callout/callout.component.html +0 -25
  317. package/src/lib/components/core/callout/callout.component.spec.ts +0 -138
  318. package/src/lib/components/core/callout/callout.component.ts +0 -92
  319. package/src/lib/components/core/card/card.component.html +0 -35
  320. package/src/lib/components/core/card/card.component.scss +0 -30
  321. package/src/lib/components/core/card/card.component.spec.ts +0 -21
  322. package/src/lib/components/core/card/card.component.ts +0 -78
  323. package/src/lib/components/core/carousel/carousel/carousel.component.html +0 -29
  324. package/src/lib/components/core/carousel/carousel/carousel.component.scss +0 -1
  325. package/src/lib/components/core/carousel/carousel/carousel.component.spec.ts +0 -21
  326. package/src/lib/components/core/carousel/carousel/carousel.component.ts +0 -119
  327. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.html +0 -3
  328. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.spec.ts +0 -22
  329. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.ts +0 -20
  330. package/src/lib/components/core/carousel/carousel.module.ts +0 -11
  331. package/src/lib/components/core/chip/chip.component.html +0 -26
  332. package/src/lib/components/core/chip/chip.component.spec.ts +0 -87
  333. package/src/lib/components/core/chip/chip.component.ts +0 -154
  334. package/src/lib/components/core/collapse/collapse.component.html +0 -3
  335. package/src/lib/components/core/collapse/collapse.component.spec.ts +0 -21
  336. package/src/lib/components/core/collapse/collapse.component.ts +0 -124
  337. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.html +0 -3
  338. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.spec.ts +0 -35
  339. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.ts +0 -23
  340. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.html +0 -3
  341. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.spec.ts +0 -22
  342. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.ts +0 -10
  343. package/src/lib/components/core/dimmer/dimmer.component.html +0 -7
  344. package/src/lib/components/core/dimmer/dimmer.component.spec.ts +0 -49
  345. package/src/lib/components/core/dimmer/dimmer.component.ts +0 -50
  346. package/src/lib/components/core/dimmer/dimmer.module.ts +0 -12
  347. package/src/lib/components/core/dropdown/dropdown/dropdown.component.html +0 -45
  348. package/src/lib/components/core/dropdown/dropdown/dropdown.component.scss +0 -3
  349. package/src/lib/components/core/dropdown/dropdown/dropdown.component.spec.ts +0 -21
  350. package/src/lib/components/core/dropdown/dropdown/dropdown.component.ts +0 -186
  351. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.html +0 -18
  352. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.scss +0 -4
  353. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.spec.ts +0 -21
  354. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.ts +0 -82
  355. package/src/lib/components/core/dropdown/dropdown.module.ts +0 -11
  356. package/src/lib/components/core/forward/forward.directive.spec.ts +0 -60
  357. package/src/lib/components/core/forward/forward.directive.ts +0 -43
  358. package/src/lib/components/core/link/link.component.html +0 -13
  359. package/src/lib/components/core/link/link.component.spec.ts +0 -21
  360. package/src/lib/components/core/link/link.component.ts +0 -54
  361. package/src/lib/components/core/list/list/list.component.html +0 -13
  362. package/src/lib/components/core/list/list/list.component.spec.ts +0 -21
  363. package/src/lib/components/core/list/list/list.component.ts +0 -30
  364. package/src/lib/components/core/list/list-item/list-item.component.html +0 -42
  365. package/src/lib/components/core/list/list-item/list-item.component.scss +0 -16
  366. package/src/lib/components/core/list/list-item/list-item.component.spec.ts +0 -21
  367. package/src/lib/components/core/list/list-item/list-item.component.ts +0 -75
  368. package/src/lib/components/core/list/list.module.ts +0 -11
  369. package/src/lib/components/core/modal/modal.component.html +0 -36
  370. package/src/lib/components/core/modal/modal.component.scss +0 -3
  371. package/src/lib/components/core/modal/modal.component.spec.ts +0 -21
  372. package/src/lib/components/core/modal/modal.component.ts +0 -218
  373. package/src/lib/components/core/notifications/notifications.component.html +0 -25
  374. package/src/lib/components/core/notifications/notifications.component.scss +0 -3
  375. package/src/lib/components/core/notifications/notifications.component.spec.ts +0 -21
  376. package/src/lib/components/core/notifications/notifications.component.ts +0 -123
  377. package/src/lib/components/core/pagination/pagination.component.html +0 -107
  378. package/src/lib/components/core/pagination/pagination.component.spec.ts +0 -21
  379. package/src/lib/components/core/pagination/pagination.component.ts +0 -157
  380. package/src/lib/components/core/popover/popover.directive.spec.ts +0 -21
  381. package/src/lib/components/core/popover/popover.directive.ts +0 -171
  382. package/src/lib/components/core/progress-bar/progress-bar.component.html +0 -20
  383. package/src/lib/components/core/progress-bar/progress-bar.component.spec.ts +0 -21
  384. package/src/lib/components/core/progress-bar/progress-bar.component.ts +0 -46
  385. package/src/lib/components/core/progress-button/progress-button.component.html +0 -5
  386. package/src/lib/components/core/progress-button/progress-button.component.spec.ts +0 -21
  387. package/src/lib/components/core/progress-button/progress-button.component.ts +0 -39
  388. package/src/lib/components/core/spinner/spinner.component.html +0 -7
  389. package/src/lib/components/core/spinner/spinner.component.spec.ts +0 -80
  390. package/src/lib/components/core/spinner/spinner.component.ts +0 -31
  391. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.html +0 -126
  392. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.spec.ts +0 -21
  393. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.ts +0 -185
  394. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.html +0 -3
  395. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.spec.ts +0 -22
  396. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.ts +0 -33
  397. package/src/lib/components/core/steppers/steppers.module.ts +0 -11
  398. package/src/lib/components/core/tab/tab-container/tab-container.component.html +0 -78
  399. package/src/lib/components/core/tab/tab-container/tab-container.component.spec.ts +0 -21
  400. package/src/lib/components/core/tab/tab-container/tab-container.component.ts +0 -137
  401. package/src/lib/components/core/tab/tab-item/tab-item.component.html +0 -3
  402. package/src/lib/components/core/tab/tab-item/tab-item.component.spec.ts +0 -22
  403. package/src/lib/components/core/tab/tab-item/tab-item.component.ts +0 -50
  404. package/src/lib/components/core/tab/tab.module.ts +0 -11
  405. package/src/lib/components/core/table/sort/sort-header/sort-header.component.html +0 -27
  406. package/src/lib/components/core/table/sort/sort-header/sort-header.component.scss +0 -65
  407. package/src/lib/components/core/table/sort/sort-header/sort-header.component.spec.ts +0 -25
  408. package/src/lib/components/core/table/sort/sort-header/sort-header.component.ts +0 -164
  409. package/src/lib/components/core/table/sort/sort.directive.spec.ts +0 -73
  410. package/src/lib/components/core/table/sort/sort.directive.ts +0 -142
  411. package/src/lib/components/core/table/table.component.html +0 -23
  412. package/src/lib/components/core/table/table.component.scss +0 -7
  413. package/src/lib/components/core/table/table.component.spec.ts +0 -21
  414. package/src/lib/components/core/table/table.component.ts +0 -70
  415. package/src/lib/components/core/table/table.module.ts +0 -12
  416. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.html +0 -47
  417. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.spec.ts +0 -24
  418. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.ts +0 -102
  419. package/src/lib/components/core/timeline/timeline.component.html +0 -21
  420. package/src/lib/components/core/timeline/timeline.component.spec.ts +0 -21
  421. package/src/lib/components/core/timeline/timeline.component.ts +0 -31
  422. package/src/lib/components/core/timeline/timeline.module.ts +0 -11
  423. package/src/lib/components/core/tooltip/tooltip.directive.spec.ts +0 -20
  424. package/src/lib/components/core/tooltip/tooltip.directive.ts +0 -141
  425. package/src/lib/components/form/autocomplete/autocomplete.component.html +0 -58
  426. package/src/lib/components/form/autocomplete/autocomplete.component.spec.ts +0 -21
  427. package/src/lib/components/form/autocomplete/autocomplete.component.ts +0 -130
  428. package/src/lib/components/form/checkbox/checkbox.component.html +0 -67
  429. package/src/lib/components/form/checkbox/checkbox.component.spec.ts +0 -21
  430. package/src/lib/components/form/checkbox/checkbox.component.ts +0 -65
  431. package/src/lib/components/form/form.module.ts +0 -34
  432. package/src/lib/components/form/input/input.component.html +0 -92
  433. package/src/lib/components/form/input/input.component.scss +0 -29
  434. package/src/lib/components/form/input/input.component.spec.ts +0 -21
  435. package/src/lib/components/form/input/input.component.ts +0 -234
  436. package/src/lib/components/form/password-input/password-input.component.html +0 -65
  437. package/src/lib/components/form/password-input/password-input.component.scss +0 -9
  438. package/src/lib/components/form/password-input/password-input.component.spec.ts +0 -21
  439. package/src/lib/components/form/password-input/password-input.component.ts +0 -171
  440. package/src/lib/components/form/radio-button/radio-button.component.html +0 -50
  441. package/src/lib/components/form/radio-button/radio-button.component.scss +0 -14
  442. package/src/lib/components/form/radio-button/radio-button.component.spec.ts +0 -21
  443. package/src/lib/components/form/radio-button/radio-button.component.ts +0 -82
  444. package/src/lib/components/form/range/range.component.html +0 -17
  445. package/src/lib/components/form/range/range.component.scss +0 -17
  446. package/src/lib/components/form/range/range.component.spec.ts +0 -21
  447. package/src/lib/components/form/range/range.component.ts +0 -100
  448. package/src/lib/components/form/rating/rating.component.html +0 -24
  449. package/src/lib/components/form/rating/rating.component.spec.ts +0 -21
  450. package/src/lib/components/form/rating/rating.component.ts +0 -52
  451. package/src/lib/components/form/select/select.component.html +0 -54
  452. package/src/lib/components/form/select/select.component.scss +0 -3
  453. package/src/lib/components/form/select/select.component.spec.ts +0 -22
  454. package/src/lib/components/form/select/select.component.ts +0 -91
  455. package/src/lib/components/form/textarea/textarea.component.html +0 -28
  456. package/src/lib/components/form/textarea/textarea.component.scss +0 -12
  457. package/src/lib/components/form/textarea/textarea.component.spec.ts +0 -21
  458. package/src/lib/components/form/textarea/textarea.component.ts +0 -61
  459. package/src/lib/components/form/transfer/store/transfer.reducers.ts +0 -242
  460. package/src/lib/components/form/transfer/store/transfer.state.ts +0 -20
  461. package/src/lib/components/form/transfer/store/transfer.store.ts +0 -88
  462. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.html +0 -42
  463. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.spec.ts +0 -33
  464. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.ts +0 -93
  465. package/src/lib/components/form/transfer/transfer.component.html +0 -52
  466. package/src/lib/components/form/transfer/transfer.component.spec.ts +0 -27
  467. package/src/lib/components/form/transfer/transfer.component.ts +0 -159
  468. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.html +0 -36
  469. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.spec.ts +0 -21
  470. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.ts +0 -170
  471. package/src/lib/components/form/upload-file-list/upload-file-list.component.html +0 -46
  472. package/src/lib/components/form/upload-file-list/upload-file-list.component.spec.ts +0 -22
  473. package/src/lib/components/form/upload-file-list/upload-file-list.component.ts +0 -120
  474. package/src/lib/components/navigation/back-button/back-button.component.html +0 -25
  475. package/src/lib/components/navigation/back-button/back-button.component.spec.ts +0 -91
  476. package/src/lib/components/navigation/back-button/back-button.component.ts +0 -67
  477. package/src/lib/components/navigation/back-to-top/back-to-top.component.html +0 -11
  478. package/src/lib/components/navigation/back-to-top/back-to-top.component.spec.ts +0 -21
  479. package/src/lib/components/navigation/back-to-top/back-to-top.component.ts +0 -80
  480. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.html +0 -23
  481. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.spec.ts +0 -21
  482. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.ts +0 -68
  483. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.html +0 -3
  484. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.spec.ts +0 -22
  485. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.ts +0 -29
  486. package/src/lib/components/navigation/breadcrumbs/breadcrumbs.module.ts +0 -11
  487. package/src/lib/components/navigation/header/header.component.html +0 -102
  488. package/src/lib/components/navigation/header/header.component.scss +0 -3
  489. package/src/lib/components/navigation/header/header.component.spec.ts +0 -21
  490. package/src/lib/components/navigation/header/header.component.ts +0 -107
  491. package/src/lib/components/navigation/megamenu/megamenu.component.html +0 -34
  492. package/src/lib/components/navigation/megamenu/megamenu.component.scss +0 -5
  493. package/src/lib/components/navigation/megamenu/megamenu.component.ts +0 -30
  494. package/src/lib/components/navigation/navbar/navbar/navbar.component.html +0 -28
  495. package/src/lib/components/navigation/navbar/navbar/navbar.component.ts +0 -45
  496. package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.html +0 -3
  497. package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.ts +0 -10
  498. package/src/lib/components/navigation/navbar/navbar.module.ts +0 -11
  499. package/src/lib/components/navigation/navscroll/navscroll-list-item.component.ts +0 -95
  500. package/src/lib/components/navigation/navscroll/navscroll-list-items.component.ts +0 -27
  501. package/src/lib/components/navigation/navscroll/navscroll.component.html +0 -101
  502. package/src/lib/components/navigation/navscroll/navscroll.component.scss +0 -9
  503. package/src/lib/components/navigation/navscroll/navscroll.component.ts +0 -143
  504. package/src/lib/components/navigation/navscroll/navscroll.store.ts +0 -96
  505. package/src/lib/components/navigation/navscroll/navscroll.utils.ts +0 -28
  506. package/src/lib/components/navigation/sidebar/sidebar.component.html +0 -11
  507. package/src/lib/components/navigation/sidebar/sidebar.component.spec.ts +0 -21
  508. package/src/lib/components/navigation/sidebar/sidebar.component.ts +0 -39
  509. package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.html +0 -15
  510. package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.ts +0 -27
  511. package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.html +0 -15
  512. package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.ts +0 -38
  513. package/src/lib/components/navigation/skiplink/skiplink.module.ts +0 -11
  514. package/src/lib/components/utils/error-page/error-page.component.html +0 -33
  515. package/src/lib/components/utils/error-page/error-page.component.spec.ts +0 -21
  516. package/src/lib/components/utils/error-page/error-page.component.ts +0 -79
  517. package/src/lib/components/utils/icon/icon.component.html +0 -6
  518. package/src/lib/components/utils/icon/icon.component.spec.ts +0 -21
  519. package/src/lib/components/utils/icon/icon.component.ts +0 -95
  520. package/src/lib/components/utils/language-switcher/language-switcher.component.html +0 -21
  521. package/src/lib/components/utils/language-switcher/language-switcher.component.spec.ts +0 -21
  522. package/src/lib/components/utils/language-switcher/language-switcher.component.ts +0 -56
  523. package/src/lib/design-angular-kit.module.ts +0 -131
  524. package/src/lib/enums/colors.enums.ts +0 -10
  525. package/src/lib/enums/sizes.enum.ts +0 -7
  526. package/src/lib/interfaces/design-angular-kit-config.ts +0 -34
  527. package/src/lib/interfaces/form.ts +0 -78
  528. package/src/lib/interfaces/icon.ts +0 -176
  529. package/src/lib/interfaces/sortable-table.ts +0 -42
  530. package/src/lib/interfaces/utils.ts +0 -11
  531. package/src/lib/pipes/date-ago.pipe.ts +0 -57
  532. package/src/lib/pipes/duration.pipe.ts +0 -112
  533. package/src/lib/pipes/mark-matching-text.pipe.ts +0 -43
  534. package/src/lib/provide-design-angular-kit.ts +0 -73
  535. package/src/lib/services/notification/notification.service.spec.ts +0 -16
  536. package/src/lib/services/notification/notification.service.ts +0 -119
  537. package/src/lib/utils/date-utils.ts +0 -184
  538. package/src/lib/utils/file-utils.ts +0 -80
  539. package/src/lib/utils/regex.ts +0 -44
  540. package/src/lib/validators/it-validators.ts +0 -193
  541. package/src/test.ts +0 -26
  542. package/tsconfig.lib.json +0 -24
  543. package/tsconfig.lib.prod.json +0 -9
  544. package/tsconfig.schematics.json +0 -25
  545. package/tsconfig.spec.json +0 -9
  546. /package/schematics/ng-add/rules/setup-project/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,98 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, DestroyRef, EventEmitter, inject, Input, Output, ViewChild } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { NavigationEnd, Router, RouterLink, RouterLinkActive, RouterLinkWithHref, Scroll, } from '@angular/router';
5
+ import { AsyncSubject, filter, switchMap, tap } from 'rxjs';
6
+ import { ItNavscrollListItemsComponent } from './navscroll-list-items.component';
7
+ import { NavscrollStore } from './navscroll.store';
8
+ import * as i0 from "@angular/core";
9
+ const ROUTER_LINK_ACTIVE_OPTIONS = {
10
+ fragment: 'exact',
11
+ paths: 'exact',
12
+ queryParams: 'exact',
13
+ matrixParams: 'exact',
14
+ };
15
+ export class ItNavscrollListItemComponent {
16
+ constructor() {
17
+ this.checkActive = new EventEmitter();
18
+ this.routerLinkActiveOptions = ROUTER_LINK_ACTIVE_OPTIONS;
19
+ this.#initIsActive = new AsyncSubject();
20
+ this.active = this.#initIsActive.asObservable().pipe(switchMap(item => this.#store.isActive$(item)));
21
+ this.#router = inject(Router);
22
+ this.#store = inject(NavscrollStore);
23
+ this.#destroyRef = inject(DestroyRef);
24
+ }
25
+ #initIsActive;
26
+ #router;
27
+ #store;
28
+ #destroyRef;
29
+ ngOnInit() {
30
+ this.#initIsActiveSub();
31
+ this.#router.events
32
+ .pipe(takeUntilDestroyed(this.#destroyRef), filter((event) => {
33
+ const isNavigationEndEvent = event instanceof NavigationEnd;
34
+ const isScrollEvent = event instanceof Scroll && event.routerEvent instanceof NavigationEnd;
35
+ return isNavigationEndEvent || isScrollEvent;
36
+ }), tap(() => {
37
+ if (this.rtl?.isActive) {
38
+ this.#store.setActive(this.item);
39
+ }
40
+ }))
41
+ .subscribe();
42
+ }
43
+ clickHandler(event) {
44
+ event.preventDefault();
45
+ this.#store.selectMenuItem();
46
+ this.#router.navigate([], { fragment: this.item.href });
47
+ }
48
+ #initIsActiveSub() {
49
+ this.#initIsActive.next(this.item);
50
+ this.#initIsActive.complete();
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: ItNavscrollListItemComponent, isStandalone: true, selector: "it-navscroll-list-item", inputs: { item: "item" }, outputs: { checkActive: "checkActive" }, viewQueries: [{ propertyName: "rtl", first: true, predicate: ["rtl"], descendants: true }], ngImport: i0, template: `
54
+ <a
55
+ class="nav-link"
56
+ [class.active]="active | async"
57
+ [routerLink]="[]"
58
+ routerLinkActive
59
+ [fragment]="item?.href"
60
+ [routerLinkActiveOptions]="routerLinkActiveOptions"
61
+ ariaCurrentWhenActive="page"
62
+ #rtl="routerLinkActive"
63
+ (click)="clickHandler($event)"
64
+ ><span>{{ item?.title }}</span></a
65
+ >
66
+ `, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollListItemComponent, decorators: [{
69
+ type: Component,
70
+ args: [{
71
+ selector: 'it-navscroll-list-item',
72
+ standalone: true,
73
+ imports: [RouterLink, RouterLinkActive, RouterLinkWithHref, ItNavscrollListItemsComponent, AsyncPipe],
74
+ changeDetection: ChangeDetectionStrategy.OnPush,
75
+ template: `
76
+ <a
77
+ class="nav-link"
78
+ [class.active]="active | async"
79
+ [routerLink]="[]"
80
+ routerLinkActive
81
+ [fragment]="item?.href"
82
+ [routerLinkActiveOptions]="routerLinkActiveOptions"
83
+ ariaCurrentWhenActive="page"
84
+ #rtl="routerLinkActive"
85
+ (click)="clickHandler($event)"
86
+ ><span>{{ item?.title }}</span></a
87
+ >
88
+ `,
89
+ }]
90
+ }], propDecorators: { item: [{
91
+ type: Input
92
+ }], checkActive: [{
93
+ type: Output
94
+ }], rtl: [{
95
+ type: ViewChild,
96
+ args: ['rtl']
97
+ }] } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2c2Nyb2xsL25hdnNjcm9sbC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxhQUFhLEVBQ2IsTUFBTSxFQUVOLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLE1BQU0sR0FDUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVuRCxNQUFNLDBCQUEwQixHQUF5QjtJQUN2RCxRQUFRLEVBQUUsT0FBTztJQUNqQixLQUFLLEVBQUUsT0FBTztJQUNkLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLFlBQVksRUFBRSxPQUFPO0NBQ3RCLENBQUM7QUFzQkYsTUFBTSxPQUFPLDRCQUE0QjtJQXBCekM7UUF1QnFCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFLMUQsNEJBQXVCLEdBQUcsMEJBQTBCLENBQUM7UUFFckQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUVsRCxXQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhHLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVoQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQStCM0M7SUF2Q1UsYUFBYSxDQUFxQztJQUlsRCxPQUFPLENBQWtCO0lBRXpCLE1BQU0sQ0FBMEI7SUFFaEMsV0FBVyxDQUFzQjtJQUUxQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2FBQ2hCLElBQUksQ0FDSCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQ3BDLE1BQU0sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUM1QixNQUFNLG9CQUFvQixHQUFHLEtBQUssWUFBWSxhQUFhLENBQUM7WUFDNUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxZQUFZLE1BQU0sSUFBSyxLQUFnQixDQUFDLFdBQVcsWUFBWSxhQUFhLENBQUM7WUFDeEcsT0FBTyxvQkFBb0IsSUFBSSxhQUFhLENBQUM7UUFDL0MsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzhHQWhEVSw0QkFBNEI7a0dBQTVCLDRCQUE0QixpUEFmN0I7Ozs7Ozs7Ozs7Ozs7R0FhVCw0REFmUyxVQUFVLG9PQUFFLGdCQUFnQix5TUFBcUQsU0FBUzs7MkZBaUJ6Riw0QkFBNEI7a0JBcEJ4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxDQUFDO29CQUNyRyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7aUJBQ0Y7OEJBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUVhLFdBQVc7c0JBQTdCLE1BQU07Z0JBR0UsR0FBRztzQkFEWCxTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBJc0FjdGl2ZU1hdGNoT3B0aW9ucyxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgUm91dGVyLFxuICBFdmVudCBhcyBSb3V0ZXJFdmVudCxcbiAgUm91dGVyTGluayxcbiAgUm91dGVyTGlua0FjdGl2ZSxcbiAgUm91dGVyTGlua1dpdGhIcmVmLFxuICBTY3JvbGwsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBc3luY1N1YmplY3QsIGZpbHRlciwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEl0TmF2c2Nyb2xsTGlzdEl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZzY3JvbGwtbGlzdC1pdGVtcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2c2Nyb2xsSXRlbSB9IGZyb20gJy4vbmF2c2Nyb2xsLm1vZGVsJztcbmltcG9ydCB7IE5hdnNjcm9sbFN0b3JlIH0gZnJvbSAnLi9uYXZzY3JvbGwuc3RvcmUnO1xuXG5jb25zdCBST1VURVJfTElOS19BQ1RJVkVfT1BUSU9OUzogSXNBY3RpdmVNYXRjaE9wdGlvbnMgPSB7XG4gIGZyYWdtZW50OiAnZXhhY3QnLFxuICBwYXRoczogJ2V4YWN0JyxcbiAgcXVlcnlQYXJhbXM6ICdleGFjdCcsXG4gIG1hdHJpeFBhcmFtczogJ2V4YWN0Jyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LW5hdnNjcm9sbC1saXN0LWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyTGlua1dpdGhIcmVmLCBJdE5hdnNjcm9sbExpc3RJdGVtc0NvbXBvbmVudCwgQXN5bmNQaXBlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFcbiAgICAgIGNsYXNzPVwibmF2LWxpbmtcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmUgfCBhc3luY1wiXG4gICAgICBbcm91dGVyTGlua109XCJbXVwiXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICBbZnJhZ21lbnRdPVwiaXRlbT8uaHJlZlwiXG4gICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwicm91dGVyTGlua0FjdGl2ZU9wdGlvbnNcIlxuICAgICAgYXJpYUN1cnJlbnRXaGVuQWN0aXZlPVwicGFnZVwiXG4gICAgICAjcnRsPVwicm91dGVyTGlua0FjdGl2ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICAgICAgPjxzcGFuPnt7IGl0ZW0/LnRpdGxlIH19PC9zcGFuPjwvYVxuICAgID5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgSXROYXZzY3JvbGxMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGl0ZW0hOiBOYXZzY3JvbGxJdGVtO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGVja0FjdGl2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TmF2c2Nyb2xsSXRlbT4oKTtcblxuICBAVmlld0NoaWxkKCdydGwnKVxuICByZWFkb25seSBydGw6IGFueTtcblxuICByZWFkb25seSByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyA9IFJPVVRFUl9MSU5LX0FDVElWRV9PUFRJT05TO1xuXG4gIHJlYWRvbmx5ICNpbml0SXNBY3RpdmUgPSBuZXcgQXN5bmNTdWJqZWN0PE5hdnNjcm9sbEl0ZW0+KCk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlID0gdGhpcy4jaW5pdElzQWN0aXZlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc3dpdGNoTWFwKGl0ZW0gPT4gdGhpcy4jc3RvcmUuaXNBY3RpdmUkKGl0ZW0pKSk7XG5cbiAgcmVhZG9ubHkgI3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOYXZzY3JvbGxTdG9yZSk7XG5cbiAgcmVhZG9ubHkgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy4jaW5pdElzQWN0aXZlU3ViKCk7XG4gICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSxcbiAgICAgICAgZmlsdGVyKChldmVudDogUm91dGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBpc05hdmlnYXRpb25FbmRFdmVudCA9IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZDtcbiAgICAgICAgICBjb25zdCBpc1Njcm9sbEV2ZW50ID0gZXZlbnQgaW5zdGFuY2VvZiBTY3JvbGwgJiYgKGV2ZW50IGFzIFNjcm9sbCkucm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kO1xuICAgICAgICAgIHJldHVybiBpc05hdmlnYXRpb25FbmRFdmVudCB8fCBpc1Njcm9sbEV2ZW50O1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5ydGw/LmlzQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLiNzdG9yZS5zZXRBY3RpdmUodGhpcy5pdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjbGlja0hhbmRsZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLiNzdG9yZS5zZWxlY3RNZW51SXRlbSgpO1xuICAgIHRoaXMuI3JvdXRlci5uYXZpZ2F0ZShbXSwgeyBmcmFnbWVudDogdGhpcy5pdGVtLmhyZWYgfSk7XG4gIH1cblxuICAjaW5pdElzQWN0aXZlU3ViKCkge1xuICAgIHRoaXMuI2luaXRJc0FjdGl2ZS5uZXh0KHRoaXMuaXRlbSk7XG4gICAgdGhpcy4jaW5pdElzQWN0aXZlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { JsonPipe, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
+ import { RouterLink, RouterLinkActive, RouterLinkWithHref } from '@angular/router';
4
+ import { ItNavscrollListItemComponent } from './navscroll-list-item.component';
5
+ import * as i0 from "@angular/core";
6
+ export class ItNavscrollListItemsComponent {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollListItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItNavscrollListItemsComponent, isStandalone: true, selector: "it-navscroll-list-items", inputs: { items: "items" }, ngImport: i0, template: `
9
+ <ul class="link-list">
10
+ @for (item of items; track item.href) {
11
+ <li class="nav-item">
12
+ <it-navscroll-list-item [item]="item"></it-navscroll-list-item>
13
+ @if (item.childs?.length) {
14
+ <it-navscroll-list-items [items]="item.childs"></it-navscroll-list-items>
15
+ }
16
+ </li>
17
+ }
18
+ </ul>
19
+ `, isInline: true, dependencies: [{ kind: "component", type: ItNavscrollListItemsComponent, selector: "it-navscroll-list-items", inputs: ["items"] }, { kind: "component", type: ItNavscrollListItemComponent, selector: "it-navscroll-list-item", inputs: ["item"], outputs: ["checkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollListItemsComponent, decorators: [{
22
+ type: Component,
23
+ args: [{
24
+ selector: 'it-navscroll-list-items',
25
+ standalone: true,
26
+ imports: [NgTemplateOutlet, RouterLink, RouterLinkActive, RouterLinkWithHref, JsonPipe, ItNavscrollListItemComponent],
27
+ changeDetection: ChangeDetectionStrategy.OnPush,
28
+ template: `
29
+ <ul class="link-list">
30
+ @for (item of items; track item.href) {
31
+ <li class="nav-item">
32
+ <it-navscroll-list-item [item]="item"></it-navscroll-list-item>
33
+ @if (item.childs?.length) {
34
+ <it-navscroll-list-items [items]="item.childs"></it-navscroll-list-items>
35
+ }
36
+ </li>
37
+ }
38
+ </ul>
39
+ `,
40
+ }]
41
+ }], propDecorators: { items: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLWxpc3QtaXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwtbGlzdC1pdGVtcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFxQi9FLE1BQU0sT0FBTyw2QkFBNkI7OEdBQTdCLDZCQUE2QjtrR0FBN0IsNkJBQTZCLCtHQWI5Qjs7Ozs7Ozs7Ozs7R0FXVCw0REFFVSw2QkFBNkIsdUZBZmdELDRCQUE0Qjs7MkZBZXpHLDZCQUE2QjtrQkFsQnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLENBQUM7b0JBQ3JILGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7aUJBQ0Y7OEJBRVUsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvblBpcGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUsIFJvdXRlckxpbmtXaXRoSHJlZiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJdE5hdnNjcm9sbExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZzY3JvbGwtbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZzY3JvbGxJdGVtcyB9IGZyb20gJy4vbmF2c2Nyb2xsLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbmF2c2Nyb2xsLWxpc3QtaXRlbXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyTGlua1dpdGhIcmVmLCBKc29uUGlwZSwgSXROYXZzY3JvbGxMaXN0SXRlbUNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx1bCBjbGFzcz1cImxpbmstbGlzdFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5ocmVmKSB7XG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgPGl0LW5hdnNjcm9sbC1saXN0LWl0ZW0gW2l0ZW1dPVwiaXRlbVwiPjwvaXQtbmF2c2Nyb2xsLWxpc3QtaXRlbT5cbiAgICAgICAgICBAaWYgKGl0ZW0uY2hpbGRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxpdC1uYXZzY3JvbGwtbGlzdC1pdGVtcyBbaXRlbXNdPVwiaXRlbS5jaGlsZHNcIj48L2l0LW5hdnNjcm9sbC1saXN0LWl0ZW1zPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBJdE5hdnNjcm9sbExpc3RJdGVtc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zITogTmF2c2Nyb2xsSXRlbXM7XG59XG4iXX0=
@@ -0,0 +1,116 @@
1
+ import { AsyncPipe, NgClass, NgTemplateOutlet, ViewportScroller } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, HostListener, inject, Input, ViewChild, } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { RouterLink, RouterLinkActive, RouterLinkWithHref } from '@angular/router';
5
+ import { delay, filter, map, tap, withLatestFrom } from 'rxjs';
6
+ import { ItNavscrollListItemsComponent } from './navscroll-list-items.component';
7
+ import { NavscrollStore } from './navscroll.store';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Navscroll
11
+ * @description Show a list of links to anchor of the document.
12
+ */
13
+ export class ItNavscrollComponent {
14
+ onScroll() {
15
+ const sectionContainer = this.#elementRef.nativeElement.querySelector('.it-page-sections-container');
16
+ this.#store.updateProgressBar(sectionContainer);
17
+ }
18
+ onResize() {
19
+ this.#setMobile();
20
+ }
21
+ #store;
22
+ #scroller;
23
+ #destroyRef;
24
+ #elementRef;
25
+ constructor() {
26
+ /**
27
+ * Header of the Navscroll
28
+ */
29
+ this.header = '';
30
+ /**
31
+ * Border position
32
+ * @default left
33
+ */
34
+ this.borderPosition = 'left';
35
+ /**
36
+ * Alignment
37
+ * @default top
38
+ */
39
+ this.alignment = 'top';
40
+ /**
41
+ * Theme
42
+ * @default light
43
+ */
44
+ this.theme = 'light';
45
+ this.#store = inject(NavscrollStore);
46
+ this.#scroller = inject(ViewportScroller);
47
+ this.#destroyRef = inject(DestroyRef);
48
+ this.#elementRef = inject(ElementRef);
49
+ this.selectedTitle = this.#store.selected.pipe(map(selected => selected?.title ?? ''));
50
+ this.progressBarValue = this.#store.progressBar;
51
+ this.isMobile = this.#store.isMobile;
52
+ this.#store.menuItemSelected
53
+ .pipe(takeUntilDestroyed(), withLatestFrom(this.isMobile), tap(v => {
54
+ const isMobile = v[1];
55
+ if (isMobile) {
56
+ this.toggleButtonRef.nativeElement.click();
57
+ }
58
+ }))
59
+ .subscribe();
60
+ }
61
+ ngOnInit() {
62
+ this.#initViewScrollerSubscription();
63
+ this.#store.init(this.items);
64
+ this.#setMobile();
65
+ }
66
+ #initViewScrollerSubscription() {
67
+ this.#store.selected
68
+ .pipe(takeUntilDestroyed(this.#destroyRef), filter(selected => Boolean(selected)), map(v => v), delay(0), //WA
69
+ tap({
70
+ next: ({ href }) => {
71
+ this.#scroller.scrollToAnchor(href);
72
+ },
73
+ }))
74
+ .subscribe();
75
+ }
76
+ #setMobile() {
77
+ this.#store.setMobile(window);
78
+ }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItNavscrollComponent, isStandalone: true, selector: "it-navscroll", inputs: { header: "header", items: "items", borderPosition: "borderPosition", alignment: "alignment", theme: "theme", pageSectionsTemplate: "pageSectionsTemplate" }, host: { listeners: { "window:scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, providers: [NavscrollStore], viewQueries: [{ propertyName: "toggleButtonRef", first: true, predicate: ["toggleButtonRef"], descendants: true }], ngImport: i0, template: "<div class=\"container py-lg-5\">\n <div class=\"row\">\n <div class=\"col-12 col-lg-4\">\n <div class=\"it-navscroll-sticky\" [ngClass]=\"{ 'it-navscroll-sticky-mobile': isMobile | async }\" data-bs-stackable=\"true\">\n <nav\n class=\"navbar it-navscroll-wrapper navbar-expand-lg\"\n [class.it-top-navscroll]=\"alignment === 'top'\"\n [class.it-bottom-navscroll]=\"alignment === 'bottom'\"\n [class.it-left-side]=\"borderPosition === 'left'\"\n [class.it-right-side]=\"borderPosition === 'right'\"\n [class.theme-dark-mobile]=\"theme === 'dark'\"\n [class.theme-dark-desktop]=\"theme === 'dark'\">\n <button\n class=\"custom-navbar-toggler\"\n type=\"button\"\n aria-controls=\"navbarNav\"\n aria-expanded=\"false\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"navbarcollapsible\"\n data-bs-target=\"#navbarNav\"\n #toggleButtonRef>\n <span class=\"it-list\"></span>{{ selectedTitle | async }}\n </button>\n <div class=\"progress custom-navbar-progressbar\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <div class=\"navbar-collapsable\" id=\"navbarNav\">\n <div class=\"overlay\"></div>\n <div class=\"close-div visually-hidden\">\n <button class=\"btn close-menu\" type=\"button\"><span class=\"it-close\"></span>Chiudi</button>\n </div>\n <button type=\"button\" class=\"it-back-button btn w-100 text-start\">\n <svg class=\"icon icon-sm icon-primary align-top\">\n <use\n href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"\n xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"></use>\n </svg>\n <span>Indietro</span>\n </button>\n <div class=\"menu-wrapper\">\n <div class=\"link-list-wrapper\">\n <h3>{{ header }}</h3>\n <div class=\"progress\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <it-navscroll-list-items [items]=\"items\"></it-navscroll-list-items>\n </div>\n </div>\n </div>\n </nav>\n </div>\n </div>\n <div class=\"col-12 col-lg-8 it-page-sections-container\">\n <ng-container\n *ngTemplateOutlet=\"pageSectionsTemplate ? pageSectionsTemplate : defaultPageSectionsTemplate; context: { items: items }\">\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #defaultPageSectionsTemplate let-items=\"items\">\n @for (item of items; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: 1 }\"></ng-container>\n }\n</ng-template>\n\n<ng-template #paragraphTemplate let-item=\"item\" let-level=\"level\" let-nextLevel=\"level+1\">\n @switch (level) {\n @case (1) {\n <h2 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h2>\n }\n @case (2) {\n <h3 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h3>\n }\n @case (3) {\n <h4 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h4>\n }\n @case (4) {\n <h5 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h5>\n }\n @default {\n <h6 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h6>\n }\n }\n <p>{{ item.text }}</p>\n @for (item of item.childs; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: nextLevel }\"></ng-container>\n }\n</ng-template>\n", styles: [".it-navscroll-sticky{position:sticky;top:0}.it-navscroll-sticky-mobile{z-index:1020}\n"], dependencies: [{ kind: "component", type: ItNavscrollListItemsComponent, selector: "it-navscroll-list-items", inputs: ["items"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollComponent, decorators: [{
83
+ type: Component,
84
+ args: [{ selector: 'it-navscroll', standalone: true, imports: [
85
+ ItNavscrollListItemsComponent,
86
+ AsyncPipe,
87
+ NgTemplateOutlet,
88
+ RouterLink,
89
+ RouterLinkActive,
90
+ RouterLinkWithHref,
91
+ AsyncPipe,
92
+ NgClass,
93
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NavscrollStore], template: "<div class=\"container py-lg-5\">\n <div class=\"row\">\n <div class=\"col-12 col-lg-4\">\n <div class=\"it-navscroll-sticky\" [ngClass]=\"{ 'it-navscroll-sticky-mobile': isMobile | async }\" data-bs-stackable=\"true\">\n <nav\n class=\"navbar it-navscroll-wrapper navbar-expand-lg\"\n [class.it-top-navscroll]=\"alignment === 'top'\"\n [class.it-bottom-navscroll]=\"alignment === 'bottom'\"\n [class.it-left-side]=\"borderPosition === 'left'\"\n [class.it-right-side]=\"borderPosition === 'right'\"\n [class.theme-dark-mobile]=\"theme === 'dark'\"\n [class.theme-dark-desktop]=\"theme === 'dark'\">\n <button\n class=\"custom-navbar-toggler\"\n type=\"button\"\n aria-controls=\"navbarNav\"\n aria-expanded=\"false\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"navbarcollapsible\"\n data-bs-target=\"#navbarNav\"\n #toggleButtonRef>\n <span class=\"it-list\"></span>{{ selectedTitle | async }}\n </button>\n <div class=\"progress custom-navbar-progressbar\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <div class=\"navbar-collapsable\" id=\"navbarNav\">\n <div class=\"overlay\"></div>\n <div class=\"close-div visually-hidden\">\n <button class=\"btn close-menu\" type=\"button\"><span class=\"it-close\"></span>Chiudi</button>\n </div>\n <button type=\"button\" class=\"it-back-button btn w-100 text-start\">\n <svg class=\"icon icon-sm icon-primary align-top\">\n <use\n href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"\n xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"></use>\n </svg>\n <span>Indietro</span>\n </button>\n <div class=\"menu-wrapper\">\n <div class=\"link-list-wrapper\">\n <h3>{{ header }}</h3>\n <div class=\"progress\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <it-navscroll-list-items [items]=\"items\"></it-navscroll-list-items>\n </div>\n </div>\n </div>\n </nav>\n </div>\n </div>\n <div class=\"col-12 col-lg-8 it-page-sections-container\">\n <ng-container\n *ngTemplateOutlet=\"pageSectionsTemplate ? pageSectionsTemplate : defaultPageSectionsTemplate; context: { items: items }\">\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #defaultPageSectionsTemplate let-items=\"items\">\n @for (item of items; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: 1 }\"></ng-container>\n }\n</ng-template>\n\n<ng-template #paragraphTemplate let-item=\"item\" let-level=\"level\" let-nextLevel=\"level+1\">\n @switch (level) {\n @case (1) {\n <h2 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h2>\n }\n @case (2) {\n <h3 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h3>\n }\n @case (3) {\n <h4 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h4>\n }\n @case (4) {\n <h5 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h5>\n }\n @default {\n <h6 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h6>\n }\n }\n <p>{{ item.text }}</p>\n @for (item of item.childs; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: nextLevel }\"></ng-container>\n }\n</ng-template>\n", styles: [".it-navscroll-sticky{position:sticky;top:0}.it-navscroll-sticky-mobile{z-index:1020}\n"] }]
94
+ }], ctorParameters: () => [], propDecorators: { header: [{
95
+ type: Input
96
+ }], items: [{
97
+ type: Input
98
+ }], borderPosition: [{
99
+ type: Input
100
+ }], alignment: [{
101
+ type: Input
102
+ }], theme: [{
103
+ type: Input
104
+ }], pageSectionsTemplate: [{
105
+ type: Input
106
+ }], onScroll: [{
107
+ type: HostListener,
108
+ args: ['window:scroll', ['$event']]
109
+ }], onResize: [{
110
+ type: HostListener,
111
+ args: ['window:resize', ['$event']]
112
+ }], toggleButtonRef: [{
113
+ type: ViewChild,
114
+ args: ['toggleButtonRef']
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQ7OztHQUdHO0FBbUJILE1BQU0sT0FBTyxvQkFBb0I7SUFpQy9CLFFBQVE7UUFDTixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBS1EsTUFBTSxDQUEwQjtJQUVoQyxTQUFTLENBQTRCO0lBRXJDLFdBQVcsQ0FBc0I7SUFFakMsV0FBVyxDQUFzQjtJQVExQztRQTNEQTs7V0FFRztRQUNNLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFLckI7OztXQUdHO1FBQ00sbUJBQWMsR0FBcUIsTUFBTSxDQUFDO1FBQ25EOzs7V0FHRztRQUNNLGNBQVMsR0FBcUIsS0FBSyxDQUFDO1FBRTdDOzs7V0FHRztRQUNNLFVBQUssR0FBcUIsT0FBTyxDQUFDO1FBc0JsQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhDLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVyQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEYscUJBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFFM0MsYUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO2FBQ3pCLElBQUksQ0FDSCxrQkFBa0IsRUFBRSxFQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDTixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELDZCQUE2QjtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7YUFDakIsSUFBSSxDQUNILGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQWtCLENBQUMsRUFDNUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUk7UUFDZCxHQUFHLENBQUM7WUFDRixJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRixDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBbkdVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9VQUZwQixDQUFDLGNBQWMsQ0FBQyw4SUN4QzdCLG94SUFxR0EsZ0pEekVJLDZCQUE2QixrRkFDN0IsU0FBUyw4Q0FDVCxnQkFBZ0Isb0pBS2hCLE9BQU87OzJGQU9FLG9CQUFvQjtrQkFsQmhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUDt3QkFDUCw2QkFBNkI7d0JBQzdCLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixTQUFTO3dCQUNULE9BQU87cUJBQ1IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLENBQUM7d0RBTWxCLE1BQU07c0JBQWQsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPekMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNaEMsZUFBZTtzQkFEdkIsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIFZpZXdwb3J0U2Nyb2xsZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgdGFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXROYXZzY3JvbGxMaXN0SXRlbXNDb21wb25lbnQgfSBmcm9tICcuL25hdnNjcm9sbC1saXN0LWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZzY3JvbGxJdGVtIH0gZnJvbSAnLi9uYXZzY3JvbGwubW9kZWwnO1xuaW1wb3J0IHsgTmF2c2Nyb2xsU3RvcmUgfSBmcm9tICcuL25hdnNjcm9sbC5zdG9yZSc7XG5cbi8qKlxuICogTmF2c2Nyb2xsXG4gKiBAZGVzY3JpcHRpb24gU2hvdyBhIGxpc3Qgb2YgbGlua3MgdG8gYW5jaG9yIG9mIHRoZSBkb2N1bWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbmF2c2Nyb2xsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEl0TmF2c2Nyb2xsTGlzdEl0ZW1zQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFJvdXRlckxpbmssXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBSb3V0ZXJMaW5rV2l0aEhyZWYsXG4gICAgQXN5bmNQaXBlLFxuICAgIE5nQ2xhc3MsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZzY3JvbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbmF2c2Nyb2xsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05hdnNjcm9sbFN0b3JlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXROYXZzY3JvbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSGVhZGVyIG9mIHRoZSBOYXZzY3JvbGxcbiAgICovXG4gIEBJbnB1dCgpIGhlYWRlciA9ICcnO1xuICAvKipcbiAgICogQSBsaXN0IG9mIGxpbmtzXG4gICAqL1xuICBASW5wdXQoKSBpdGVtcyE6IEFycmF5PE5hdnNjcm9sbEl0ZW0+O1xuICAvKipcbiAgICogQm9yZGVyIHBvc2l0aW9uXG4gICAqIEBkZWZhdWx0IGxlZnRcbiAgICovXG4gIEBJbnB1dCgpIGJvcmRlclBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuICAvKipcbiAgICogQWxpZ25tZW50XG4gICAqIEBkZWZhdWx0IHRvcFxuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50OiAndG9wJyB8ICdib3R0b20nID0gJ3RvcCc7XG5cbiAgLyoqXG4gICAqIFRoZW1lXG4gICAqIEBkZWZhdWx0IGxpZ2h0XG4gICAqL1xuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQgc2VjdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcGFnZVNlY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKSAvLyBmb3Igd2luZG93IHNjcm9sbCBldmVudHNcbiAgb25TY3JvbGwoKSB7XG4gICAgY29uc3Qgc2VjdGlvbkNvbnRhaW5lciA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuaXQtcGFnZS1zZWN0aW9ucy1jb250YWluZXInKTtcbiAgICB0aGlzLiNzdG9yZS51cGRhdGVQcm9ncmVzc0JhcihzZWN0aW9uQ29udGFpbmVyKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLiNzZXRNb2JpbGUoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RvZ2dsZUJ1dHRvblJlZicpXG4gIHJlYWRvbmx5IHRvZ2dsZUJ1dHRvblJlZiE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOYXZzY3JvbGxTdG9yZSk7XG5cbiAgcmVhZG9ubHkgI3Njcm9sbGVyID0gaW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpO1xuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkVGl0bGUgPSB0aGlzLiNzdG9yZS5zZWxlY3RlZC5waXBlKG1hcChzZWxlY3RlZCA9PiBzZWxlY3RlZD8udGl0bGUgPz8gJycpKTtcblxuICByZWFkb25seSBwcm9ncmVzc0JhclZhbHVlID0gdGhpcy4jc3RvcmUucHJvZ3Jlc3NCYXI7XG5cbiAgcmVhZG9ubHkgaXNNb2JpbGUgPSB0aGlzLiNzdG9yZS5pc01vYmlsZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNzdG9yZS5tZW51SXRlbVNlbGVjdGVkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNNb2JpbGUpLFxuICAgICAgICB0YXAodiA9PiB7XG4gICAgICAgICAgY29uc3QgaXNNb2JpbGUgPSB2WzFdO1xuICAgICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVCdXR0b25SZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2luaXRWaWV3U2Nyb2xsZXJTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLiNzdG9yZS5pbml0KHRoaXMuaXRlbXMpO1xuICAgIHRoaXMuI3NldE1vYmlsZSgpO1xuICB9XG5cbiAgI2luaXRWaWV3U2Nyb2xsZXJTdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy4jc3RvcmUuc2VsZWN0ZWRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG4gICAgICAgIGZpbHRlcihzZWxlY3RlZCA9PiBCb29sZWFuKHNlbGVjdGVkKSksXG4gICAgICAgIG1hcCh2ID0+IHYgYXMgTmF2c2Nyb2xsSXRlbSksXG4gICAgICAgIGRlbGF5KDApLCAvL1dBXG4gICAgICAgIHRhcCh7XG4gICAgICAgICAgbmV4dDogKHsgaHJlZiB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLiNzY3JvbGxlci5zY3JvbGxUb0FuY2hvcihocmVmKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgI3NldE1vYmlsZSgpIHtcbiAgICB0aGlzLiNzdG9yZS5zZXRNb2JpbGUod2luZG93KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lciBweS1sZy01XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy00XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXQtbmF2c2Nyb2xsLXN0aWNreVwiIFtuZ0NsYXNzXT1cInsgJ2l0LW5hdnNjcm9sbC1zdGlja3ktbW9iaWxlJzogaXNNb2JpbGUgfCBhc3luYyB9XCIgZGF0YS1icy1zdGFja2FibGU9XCJ0cnVlXCI+XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBjbGFzcz1cIm5hdmJhciBpdC1uYXZzY3JvbGwtd3JhcHBlciBuYXZiYXItZXhwYW5kLWxnXCJcbiAgICAgICAgICBbY2xhc3MuaXQtdG9wLW5hdnNjcm9sbF09XCJhbGlnbm1lbnQgPT09ICd0b3AnXCJcbiAgICAgICAgICBbY2xhc3MuaXQtYm90dG9tLW5hdnNjcm9sbF09XCJhbGlnbm1lbnQgPT09ICdib3R0b20nXCJcbiAgICAgICAgICBbY2xhc3MuaXQtbGVmdC1zaWRlXT1cImJvcmRlclBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgIFtjbGFzcy5pdC1yaWdodC1zaWRlXT1cImJvcmRlclBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICAgICAgICBbY2xhc3MudGhlbWUtZGFyay1tb2JpbGVdPVwidGhlbWUgPT09ICdkYXJrJ1wiXG4gICAgICAgICAgW2NsYXNzLnRoZW1lLWRhcmstZGVza3RvcF09XCJ0aGVtZSA9PT0gJ2RhcmsnXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tbmF2YmFyLXRvZ2dsZXJcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwibmF2YmFyTmF2XCJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIG5hdmlnYXRpb25cIlxuICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJuYXZiYXJjb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICBkYXRhLWJzLXRhcmdldD1cIiNuYXZiYXJOYXZcIlxuICAgICAgICAgICAgI3RvZ2dsZUJ1dHRvblJlZj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXQtbGlzdFwiPjwvc3Bhbj57eyBzZWxlY3RlZFRpdGxlIHwgYXN5bmMgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MgY3VzdG9tLW5hdmJhci1wcm9ncmVzc2JhclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInByb2dyZXNzLWJhciBpdC1uYXZzY3JvbGwtcHJvZ3Jlc3NiYXJcIlxuICAgICAgICAgICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc0JhclZhbHVlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzQmFyVmFsdWUgfCBhc3luY1wiXG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItY29sbGFwc2FibGVcIiBpZD1cIm5hdmJhck5hdlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1kaXYgdmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gY2xvc2UtbWVudVwiIHR5cGU9XCJidXR0b25cIj48c3BhbiBjbGFzcz1cIml0LWNsb3NlXCI+PC9zcGFuPkNoaXVkaTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIml0LWJhY2stYnV0dG9uIGJ0biB3LTEwMCB0ZXh0LXN0YXJ0XCI+XG4gICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uIGljb24tc20gaWNvbi1wcmltYXJ5IGFsaWduLXRvcFwiPlxuICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYm9vdHN0cmFwLWl0YWxpYS9kaXN0L3N2Zy9zcHJpdGVzLnN2ZyNpdC1jaGV2cm9uLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgeGxpbms6aHJlZj1cIi9ib290c3RyYXAtaXRhbGlhL2Rpc3Qvc3ZnL3Nwcml0ZXMuc3ZnI2l0LWNoZXZyb24tbGVmdFwiPjwvdXNlPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPHNwYW4+SW5kaWV0cm88L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstbGlzdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGgzPnt7IGhlYWRlciB9fTwvaDM+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtYmFyIGl0LW5hdnNjcm9sbC1wcm9ncmVzc2JhclwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzQmFyVmFsdWUgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwicHJvZ3Jlc3NCYXJWYWx1ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGl0LW5hdnNjcm9sbC1saXN0LWl0ZW1zIFtpdGVtc109XCJpdGVtc1wiPjwvaXQtbmF2c2Nyb2xsLWxpc3QtaXRlbXM+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmF2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbGctOCBpdC1wYWdlLXNlY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInBhZ2VTZWN0aW9uc1RlbXBsYXRlID8gcGFnZVNlY3Rpb25zVGVtcGxhdGUgOiBkZWZhdWx0UGFnZVNlY3Rpb25zVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbXM6IGl0ZW1zIH1cIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRQYWdlU2VjdGlvbnNUZW1wbGF0ZSBsZXQtaXRlbXM9XCJpdGVtc1wiPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLmhyZWYpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFyYWdyYXBoVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgbGV2ZWw6IDEgfVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BhcmFncmFwaFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiIGxldC1sZXZlbD1cImxldmVsXCIgbGV0LW5leHRMZXZlbD1cImxldmVsKzFcIj5cbiAgQHN3aXRjaCAobGV2ZWwpIHtcbiAgICBAY2FzZSAoMSkge1xuICAgICAgPGgyIGNsYXNzPVwiaXQtcGFnZS1zZWN0aW9uXCIgaWQ9XCJ7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICB9XG4gICAgQGNhc2UgKDIpIHtcbiAgICAgIDxoMyBjbGFzcz1cIml0LXBhZ2Utc2VjdGlvblwiIGlkPVwie3sgaXRlbS5ocmVmIH19XCI+e3sgaXRlbS50aXRsZSB9fTwvaDM+XG4gICAgfVxuICAgIEBjYXNlICgzKSB7XG4gICAgICA8aDQgY2xhc3M9XCJpdC1wYWdlLXNlY3Rpb25cIiBpZD1cInt7IGl0ZW0uaHJlZiB9fVwiPnt7IGl0ZW0udGl0bGUgfX08L2g0PlxuICAgIH1cbiAgICBAY2FzZSAoNCkge1xuICAgICAgPGg1IGNsYXNzPVwiaXQtcGFnZS1zZWN0aW9uXCIgaWQ9XCJ7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9oNT5cbiAgICB9XG4gICAgQGRlZmF1bHQge1xuICAgICAgPGg2IGNsYXNzPVwiaXQtcGFnZS1zZWN0aW9uXCIgaWQ9XCJ7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9oNj5cbiAgICB9XG4gIH1cbiAgPHA+e3sgaXRlbS50ZXh0IH19PC9wPlxuICBAZm9yIChpdGVtIG9mIGl0ZW0uY2hpbGRzOyB0cmFjayBpdGVtLmhyZWYpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFyYWdyYXBoVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgbGV2ZWw6IG5leHRMZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTmF2c2Nyb2xsSXRlbSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgaHJlZjogc3RyaW5nO1xuICBjaGlsZHM6IE5hdnNjcm9sbEl0ZW1zO1xufVxuXG5leHBvcnQgdHlwZSBOYXZzY3JvbGxJdGVtcyA9IEFycmF5PE5hdnNjcm9sbEl0ZW0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdnNjcm9sbEl0ZW1BY3RpdmUge1xuICBhY3RpdmU6IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { BehaviorSubject, distinctUntilChanged, map, Subject } from 'rxjs';
2
+ import { flattenNavscrollItems, search } from './navscroll.utils';
3
+ export class NavscrollStore {
4
+ constructor() {
5
+ this.#state = new BehaviorSubject({
6
+ items: new Set(),
7
+ active: [],
8
+ selected: undefined,
9
+ progressBar: 0,
10
+ isMobile: false,
11
+ });
12
+ this.#state$ = this.#state.asObservable();
13
+ this.selected = this.#state$.pipe(map(({ selected }) => selected), distinctUntilChanged());
14
+ this.progressBar = this.#state$.pipe(map(({ progressBar }) => progressBar), distinctUntilChanged());
15
+ this.isMobile = this.#state$.pipe(map(({ isMobile }) => isMobile), distinctUntilChanged());
16
+ this.#menuItemSelected = new Subject();
17
+ this.menuItemSelected = this.#menuItemSelected.asObservable();
18
+ }
19
+ #state;
20
+ #state$;
21
+ #menuItemSelected;
22
+ init(navscrollItems) {
23
+ const flattenItems = flattenNavscrollItems(navscrollItems);
24
+ //the first item is selected by default
25
+ const selected = (flattenItems && flattenItems.length && flattenItems[0]) ?? undefined;
26
+ const state = {
27
+ items: new Set(flattenItems),
28
+ active: selected ? [selected] : [],
29
+ selected: selected,
30
+ progressBar: 0,
31
+ isMobile: false,
32
+ };
33
+ this.#state.next(state);
34
+ }
35
+ setActive(item) {
36
+ const { items } = this.#state.value;
37
+ const active = search(items, item);
38
+ const state = this.#state.value;
39
+ this.#state.next({ ...state, items, selected: item, active });
40
+ }
41
+ isActive$(item) {
42
+ return this.#state.asObservable().pipe(map(state => state.active.includes(item)));
43
+ }
44
+ updateProgressBar(container) {
45
+ if (!container) {
46
+ return;
47
+ }
48
+ const offset = Math.abs(container.getBoundingClientRect().top);
49
+ const height = container.getBoundingClientRect().height;
50
+ const scrollAmount = (offset / height) * 100;
51
+ const scrollValue = Math.min(100, Math.max(0, scrollAmount));
52
+ const state = this.#state.value;
53
+ this.#state.next({
54
+ ...state,
55
+ progressBar: container.getBoundingClientRect().y > 0 ? 0 : scrollValue,
56
+ });
57
+ }
58
+ selectMenuItem() {
59
+ this.#menuItemSelected.next(undefined);
60
+ }
61
+ setMobile({ innerWidth }) {
62
+ const isLessThan992px = innerWidth < 992;
63
+ const isMobile = isLessThan992px;
64
+ const state = this.#state.value;
65
+ this.#state.next({ ...state, isMobile });
66
+ }
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVVsRSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNXLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBaUI7WUFDcEQsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFpQjtZQUMvQixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO1FBRU0sWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckMsYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDL0Isb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVPLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBRU8sYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDL0Isb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVPLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFbEMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBdURwRSxDQUFDO0lBbEZVLE1BQU0sQ0FNWjtJQUVNLE9BQU8sQ0FBOEI7SUFpQnJDLGlCQUFpQixDQUFpQjtJQUkzQyxJQUFJLENBQUMsY0FBb0M7UUFDdkMsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFJLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFtQixJQUFJLFNBQVMsQ0FBQztRQUUxRyxNQUFNLEtBQUssR0FBRztZQUNaLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDNUIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsQ0FBQztZQUNkLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQW1CO1FBQzNCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUVwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQW1CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFzQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVztTQUN2RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLFVBQVUsRUFBMEI7UUFDOUMsTUFBTSxlQUFlLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmF2c2Nyb2xsSXRlbSB9IGZyb20gJy4vbmF2c2Nyb2xsLm1vZGVsJztcbmltcG9ydCB7IGZsYXR0ZW5OYXZzY3JvbGxJdGVtcywgc2VhcmNoIH0gZnJvbSAnLi9uYXZzY3JvbGwudXRpbHMnO1xuXG5pbnRlcmZhY2UgTmF2c2Nyb2xsU3RhdGUge1xuICBpdGVtczogU2V0PE5hdnNjcm9sbEl0ZW0+O1xuICBhY3RpdmU6IEFycmF5PE5hdnNjcm9sbEl0ZW0+O1xuICBzZWxlY3RlZD86IE5hdnNjcm9sbEl0ZW07XG4gIHByb2dyZXNzQmFyOiBudW1iZXI7XG4gIGlzTW9iaWxlOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTmF2c2Nyb2xsU3RvcmUge1xuICByZWFkb25seSAjc3RhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5hdnNjcm9sbFN0YXRlPih7XG4gICAgaXRlbXM6IG5ldyBTZXQ8TmF2c2Nyb2xsSXRlbT4oKSxcbiAgICBhY3RpdmU6IFtdLFxuICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgcHJvZ3Jlc3NCYXI6IDAsXG4gICAgaXNNb2JpbGU6IGZhbHNlLFxuICB9KTtcblxuICByZWFkb25seSAjc3RhdGUkID0gdGhpcy4jc3RhdGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSB0aGlzLiNzdGF0ZSQucGlwZShcbiAgICBtYXAoKHsgc2VsZWN0ZWQgfSkgPT4gc2VsZWN0ZWQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBwcm9ncmVzc0JhciA9IHRoaXMuI3N0YXRlJC5waXBlKFxuICAgIG1hcCgoeyBwcm9ncmVzc0JhciB9KSA9PiBwcm9ncmVzc0JhciksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIHJlYWRvbmx5IGlzTW9iaWxlID0gdGhpcy4jc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh7IGlzTW9iaWxlIH0pID0+IGlzTW9iaWxlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgI21lbnVJdGVtU2VsZWN0ZWQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHJlYWRvbmx5IG1lbnVJdGVtU2VsZWN0ZWQgPSB0aGlzLiNtZW51SXRlbVNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGluaXQobmF2c2Nyb2xsSXRlbXM6IEFycmF5PE5hdnNjcm9sbEl0ZW0+KSB7XG4gICAgY29uc3QgZmxhdHRlbkl0ZW1zID0gZmxhdHRlbk5hdnNjcm9sbEl0ZW1zKG5hdnNjcm9sbEl0ZW1zKTtcbiAgICAvL3RoZSBmaXJzdCBpdGVtIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHRcbiAgICBjb25zdCBzZWxlY3RlZCA9ICgoZmxhdHRlbkl0ZW1zICYmIGZsYXR0ZW5JdGVtcy5sZW5ndGggJiYgZmxhdHRlbkl0ZW1zWzBdKSBhcyBOYXZzY3JvbGxJdGVtKSA/PyB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdGF0ZSA9IHtcbiAgICAgIGl0ZW1zOiBuZXcgU2V0KGZsYXR0ZW5JdGVtcyksXG4gICAgICBhY3RpdmU6IHNlbGVjdGVkID8gW3NlbGVjdGVkXSA6IFtdLFxuICAgICAgc2VsZWN0ZWQ6IHNlbGVjdGVkLFxuICAgICAgcHJvZ3Jlc3NCYXI6IDAsXG4gICAgICBpc01vYmlsZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMuI3N0YXRlLm5leHQoc3RhdGUpO1xuICB9XG5cbiAgc2V0QWN0aXZlKGl0ZW06IE5hdnNjcm9sbEl0ZW0pIHtcbiAgICBjb25zdCB7IGl0ZW1zIH0gPSB0aGlzLiNzdGF0ZS52YWx1ZTtcblxuICAgIGNvbnN0IGFjdGl2ZSA9IHNlYXJjaChpdGVtcywgaXRlbSk7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLiNzdGF0ZS52YWx1ZTtcbiAgICB0aGlzLiNzdGF0ZS5uZXh0KHsgLi4uc3RhdGUsIGl0ZW1zLCBzZWxlY3RlZDogaXRlbSwgYWN0aXZlIH0pO1xuICB9XG5cbiAgaXNBY3RpdmUkKGl0ZW06IE5hdnNjcm9sbEl0ZW0pIHtcbiAgICByZXR1cm4gdGhpcy4jc3RhdGUuYXNPYnNlcnZhYmxlKCkucGlwZShtYXAoc3RhdGUgPT4gc3RhdGUuYWN0aXZlLmluY2x1ZGVzKGl0ZW0pKSk7XG4gIH1cblxuICB1cGRhdGVQcm9ncmVzc0Jhcihjb250YWluZXI6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID0gTWF0aC5hYnMoY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICBjb25zdCBzY3JvbGxBbW91bnQgPSAob2Zmc2V0IC8gaGVpZ2h0KSAqIDEwMDtcbiAgICBjb25zdCBzY3JvbGxWYWx1ZSA9IE1hdGgubWluKDEwMCwgTWF0aC5tYXgoMCwgc2Nyb2xsQW1vdW50KSk7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLiNzdGF0ZS52YWx1ZTtcbiAgICB0aGlzLiNzdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgcHJvZ3Jlc3NCYXI6IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS55ID4gMCA/IDAgOiBzY3JvbGxWYWx1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdE1lbnVJdGVtKCkge1xuICAgIHRoaXMuI21lbnVJdGVtU2VsZWN0ZWQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgc2V0TW9iaWxlKHsgaW5uZXJXaWR0aCB9OiB7IGlubmVyV2lkdGg6IG51bWJlciB9KSB7XG4gICAgY29uc3QgaXNMZXNzVGhhbjk5MnB4ID0gaW5uZXJXaWR0aCA8IDk5MjtcbiAgICBjb25zdCBpc01vYmlsZSA9IGlzTGVzc1RoYW45OTJweDtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuI3N0YXRlLnZhbHVlO1xuICAgIHRoaXMuI3N0YXRlLm5leHQoeyAuLi5zdGF0ZSwgaXNNb2JpbGUgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ function searchFn(items, item) {
2
+ //ricerca
3
+ const nodes = Array.from(items);
4
+ const parent = nodes.find(i => i.childs.includes(item));
5
+ const ancestors = parent?.childs?.length ? searchFn(items, parent) : [];
6
+ return [item, ...ancestors];
7
+ }
8
+ function flattenNavscrollItemsFn(items) {
9
+ const result = [];
10
+ function flatten(items) {
11
+ for (const item of items) {
12
+ result.push(item);
13
+ if (item.childs && item.childs.length > 0) {
14
+ flatten(item.childs);
15
+ }
16
+ }
17
+ }
18
+ flatten(items);
19
+ return result;
20
+ }
21
+ export const search = searchFn;
22
+ export const flattenNavscrollItems = flattenNavscrollItemsFn;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsU0FBUyxRQUFRLENBQUMsS0FBeUIsRUFBRSxJQUFtQjtJQUM5RCxTQUFTO0lBQ1QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFxQjtJQUNwRCxNQUFNLE1BQU0sR0FBbUIsRUFBRSxDQUFDO0lBRWxDLFNBQVMsT0FBTyxDQUFDLEtBQXFCO1FBQ3BDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZzY3JvbGxJdGVtLCBOYXZzY3JvbGxJdGVtcyB9IGZyb20gJy4vbmF2c2Nyb2xsLm1vZGVsJztcblxuZnVuY3Rpb24gc2VhcmNoRm4oaXRlbXM6IFNldDxOYXZzY3JvbGxJdGVtPiwgaXRlbTogTmF2c2Nyb2xsSXRlbSk6IEFycmF5PE5hdnNjcm9sbEl0ZW0+IHtcbiAgLy9yaWNlcmNhXG4gIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShpdGVtcyk7XG4gIGNvbnN0IHBhcmVudCA9IG5vZGVzLmZpbmQoaSA9PiBpLmNoaWxkcy5pbmNsdWRlcyhpdGVtKSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IHBhcmVudD8uY2hpbGRzPy5sZW5ndGggPyBzZWFyY2hGbihpdGVtcywgcGFyZW50KSA6IFtdO1xuICByZXR1cm4gW2l0ZW0sIC4uLmFuY2VzdG9yc107XG59XG5cbmZ1bmN0aW9uIGZsYXR0ZW5OYXZzY3JvbGxJdGVtc0ZuKGl0ZW1zOiBOYXZzY3JvbGxJdGVtcyk6IE5hdnNjcm9sbEl0ZW1zIHtcbiAgY29uc3QgcmVzdWx0OiBOYXZzY3JvbGxJdGVtcyA9IFtdO1xuXG4gIGZ1bmN0aW9uIGZsYXR0ZW4oaXRlbXM6IE5hdnNjcm9sbEl0ZW1zKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgIGlmIChpdGVtLmNoaWxkcyAmJiBpdGVtLmNoaWxkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZsYXR0ZW4oaXRlbS5jaGlsZHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZsYXR0ZW4oaXRlbXMpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY29uc3Qgc2VhcmNoID0gc2VhcmNoRm47XG5leHBvcnQgY29uc3QgZmxhdHRlbk5hdnNjcm9sbEl0ZW1zID0gZmxhdHRlbk5hdnNjcm9sbEl0ZW1zRm47XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import { inputToBoolean } from '../../../utils/coercion';
3
+ import * as i0 from "@angular/core";
4
+ export class ItSidebarComponent {
5
+ constructor() {
6
+ /**
7
+ * Per creare una sidebar con linea separatrice a destra è sufficiente aggiungere la classe
8
+ */
9
+ this.withRightLine = false;
10
+ /**
11
+ * Per creare una sidebar con linea separatrice a sinistra è sufficiente aggiungere la classe
12
+ */
13
+ this.withLeftLine = false;
14
+ /**
15
+ * Per cambiare il tema della sidebar e renderla scura
16
+ */
17
+ this.dark = false;
18
+ this.componentClass = 'd-block sidebar-wrapper';
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSidebarComponent, isStandalone: true, selector: "it-sidebar", inputs: { withRightLine: ["withRightLine", "withRightLine", inputToBoolean], withLeftLine: ["withLeftLine", "withLeftLine", inputToBoolean], dark: ["dark", "dark", inputToBoolean], header: "header" }, host: { properties: { "class.it-line-right-side": "this.withRightLine", "class.it-line-left-side": "this.withLeftLine", "class.theme-dark": "this.dark", "class": "this.componentClass" } }, ngImport: i0, template: "@if (header) {\n <h3>{{ header }}</h3>\n}\n<div class=\"sidebar-linklist-wrapper\">\n <!--TODO: wrap ng-content with it-list -> inside content use a list of it-list-item directives-->\n <ng-content></ng-content>\n</div>\n<div class=\"sidebar-linklist-wrapper linklist-secondary\">\n <!--TODO: wrap ng-content with it-list -> inside content use a list of it-list-item directives-->\n <ng-content select=\"[secondary]\"></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSidebarComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'it-sidebar', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (header) {\n <h3>{{ header }}</h3>\n}\n<div class=\"sidebar-linklist-wrapper\">\n <!--TODO: wrap ng-content with it-list -> inside content use a list of it-list-item directives-->\n <ng-content></ng-content>\n</div>\n<div class=\"sidebar-linklist-wrapper linklist-secondary\">\n <!--TODO: wrap ng-content with it-list -> inside content use a list of it-list-item directives-->\n <ng-content select=\"[secondary]\"></ng-content>\n</div>\n" }]
26
+ }], propDecorators: { withRightLine: [{
27
+ type: Input,
28
+ args: [{ transform: inputToBoolean }]
29
+ }, {
30
+ type: HostBinding,
31
+ args: ['class.it-line-right-side']
32
+ }], withLeftLine: [{
33
+ type: Input,
34
+ args: [{ transform: inputToBoolean }]
35
+ }, {
36
+ type: HostBinding,
37
+ args: ['class.it-line-left-side']
38
+ }], dark: [{
39
+ type: Input,
40
+ args: [{ transform: inputToBoolean }]
41
+ }, {
42
+ type: HostBinding,
43
+ args: ['class.theme-dark']
44
+ }], header: [{
45
+ type: Input
46
+ }], componentClass: [{
47
+ type: HostBinding,
48
+ args: ['class']
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFTekQsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVFFOztXQUVHO1FBR0ksa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFN0I7O1dBRUc7UUFHSSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU1Qjs7V0FFRztRQUdJLFNBQUksR0FBRyxLQUFLLENBQUM7UUFPRSxtQkFBYyxHQUFHLHlCQUF5QixDQUFDO0tBQ2xFOzhHQTVCWSxrQkFBa0I7a0dBQWxCLGtCQUFrQiwwR0FJVCxjQUFjLGtEQU9kLGNBQWMsMEJBT2QsY0FBYyw0T0M1QnBDLGdjQVdBOzsyRkREYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxFQUFFLG1CQUVNLHVCQUF1QixDQUFDLE1BQU07OEJBUXhDLGFBQWE7c0JBRm5CLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFOztzQkFDbkMsV0FBVzt1QkFBQywwQkFBMEI7Z0JBUWhDLFlBQVk7c0JBRmxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFOztzQkFDbkMsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBUS9CLElBQUk7c0JBRlYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7O3NCQUNuQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNZixNQUFNO3NCQUFyQixLQUFLO2dCQUVnQixjQUFjO3NCQUFuQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC1zaWRlYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEl0U2lkZWJhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBQZXIgY3JlYXJlIHVuYSBzaWRlYmFyIGNvbiBsaW5lYSBzZXBhcmF0cmljZSBhIGRlc3RyYSDDqCBzdWZmaWNpZW50ZSBhZ2dpdW5nZXJlIGxhIGNsYXNzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLml0LWxpbmUtcmlnaHQtc2lkZScpXG4gIHB1YmxpYyB3aXRoUmlnaHRMaW5lID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBlciBjcmVhcmUgdW5hIHNpZGViYXIgY29uIGxpbmVhIHNlcGFyYXRyaWNlIGEgc2luaXN0cmEgw6ggc3VmZmljaWVudGUgYWdnaXVuZ2VyZSBsYSBjbGFzc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSlcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pdC1saW5lLWxlZnQtc2lkZScpXG4gIHB1YmxpYyB3aXRoTGVmdExpbmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogUGVyIGNhbWJpYXJlIGlsIHRlbWEgZGVsbGEgc2lkZWJhciBlIHJlbmRlcmxhIHNjdXJhXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGhlbWUtZGFyaycpXG4gIHB1YmxpYyBkYXJrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEwnaW50ZXN0YXppb25lIGRlbGxhIHNpZGViYXJcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXI/OiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNvbXBvbmVudENsYXNzID0gJ2QtYmxvY2sgc2lkZWJhci13cmFwcGVyJztcbn1cbiIsIkBpZiAoaGVhZGVyKSB7XG4gIDxoMz57eyBoZWFkZXIgfX08L2gzPlxufVxuPGRpdiBjbGFzcz1cInNpZGViYXItbGlua2xpc3Qtd3JhcHBlclwiPlxuICA8IS0tVE9ETzogd3JhcCBuZy1jb250ZW50IHdpdGggaXQtbGlzdCAtPiBpbnNpZGUgY29udGVudCB1c2UgYSBsaXN0IG9mIGl0LWxpc3QtaXRlbSBkaXJlY3RpdmVzLS0+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInNpZGViYXItbGlua2xpc3Qtd3JhcHBlciBsaW5rbGlzdC1zZWNvbmRhcnlcIj5cbiAgPCEtLVRPRE86IHdyYXAgbmctY29udGVudCB3aXRoIGl0LWxpc3QgLT4gaW5zaWRlIGNvbnRlbnQgdXNlIGEgbGlzdCBvZiBpdC1saXN0LWl0ZW0gZGlyZWN0aXZlcy0tPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2Vjb25kYXJ5XVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { NgTemplateOutlet } from '@angular/common';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { inputToBoolean } from '../../../../utils/coercion';
5
+ import { ItLinkComponent } from '../../../core/link/link.component';
6
+ import * as i0 from "@angular/core";
7
+ export class ItSkiplinkComponent {
8
+ constructor() {
9
+ /**
10
+ * Aria label for `nav` mode
11
+ * @default 'Scorciatoie di navigazione'
12
+ */
13
+ this.ariaLabel = 'Scorciatoie di navigazione';
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSkiplinkComponent, isStandalone: true, selector: "it-skiplink", inputs: { ariaLabel: "ariaLabel", nav: ["nav", "nav", inputToBoolean] }, exportAs: ["itSkipLink"], ngImport: i0, template: "@if (nav) {\n <nav class=\"skiplinks\">\n <ul>\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </ul>\n </nav>\n} @else {\n <div class=\"skiplinks\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </div>\n}\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ standalone: true, selector: 'it-skiplink', exportAs: 'itSkipLink', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, TranslateModule, ItLinkComponent], template: "@if (nav) {\n <nav class=\"skiplinks\">\n <ul>\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </ul>\n </nav>\n} @else {\n <div class=\"skiplinks\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </div>\n}\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
21
+ }], propDecorators: { ariaLabel: [{
22
+ type: Input
23
+ }], nav: [{
24
+ type: Input,
25
+ args: [{ transform: inputToBoolean }]
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcGxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3NraXBsaW5rL3NraXBsaW5rL3NraXBsaW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9za2lwbGluay9za2lwbGluay9za2lwbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFVcEUsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVNFOzs7V0FHRztRQUNNLGNBQVMsR0FBVyw0QkFBNEIsQ0FBQztLQU8zRDs4R0FaWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixxR0FXVixjQUFjLHVEQ3pCcEMsdVZBZUEsNENESFksZ0JBQWdCLG1KQUFFLGVBQWU7OzJGQUVoQyxtQkFBbUI7a0JBUi9CLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGFBQWEsWUFFYixZQUFZLG1CQUNMLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDOzhCQU9wRCxTQUFTO3NCQUFqQixLQUFLO2dCQU1nQyxHQUFHO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2xpbmsvbGluay5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1za2lwbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9za2lwbGluay5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnaXRTa2lwTGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgVHJhbnNsYXRlTW9kdWxlLCBJdExpbmtDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFNraXBsaW5rQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEFyaWEgbGFiZWwgZm9yIGBuYXZgIG1vZGVcbiAgICogQGRlZmF1bHQgJ1Njb3JjaWF0b2llIGRpIG5hdmlnYXppb25lJ1xuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnU2NvcmNpYXRvaWUgZGkgbmF2aWdhemlvbmUnO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgbmF2IG1vZGUgaXMgZW5hYmxlZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBuYXY/OiBib29sZWFuO1xufVxuIiwiQGlmIChuYXYpIHtcbiAgPG5hdiBjbGFzcz1cInNraXBsaW5rc1wiPlxuICAgIDx1bD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvbmF2PlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJza2lwbGlua3NcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua0NvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG59XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { ChangeDetectionStrategy, Component, Host, Input } from '@angular/core';
2
+ import { NgTemplateOutlet } from '@angular/common';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { inputToBoolean } from '../../../../utils/coercion';
5
+ import { ItLinkComponent } from '../../../core/link/link.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../skiplink/skiplink.component";
8
+ export class ItSkiplinkItemComponent {
9
+ constructor(parent) {
10
+ this.inNav = parent.nav ? true : false;
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkItemComponent, deps: [{ token: i1.ItSkiplinkComponent, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSkiplinkItemComponent, isStandalone: true, selector: "it-skiplink-item", inputs: { href: "href", externalLink: ["externalLink", "externalLink", inputToBoolean] }, exportAs: ["itSkipLinkItem"], ngImport: i0, template: "@if (inNav) {\n <li class=\"visually-hidden-focusable\">\n <it-link [href]=\"href\" [externalLink]=\"externalLink\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </it-link>\n </li>\n} @else {\n <it-link class=\"visually-hidden-focusable\" [href]=\"href\" [externalLink]=\"externalLink\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </it-link>\n}\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkItemComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ standalone: true, selector: 'it-skiplink-item', exportAs: 'itSkipLinkItem', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, TranslateModule, ItLinkComponent], template: "@if (inNav) {\n <li class=\"visually-hidden-focusable\">\n <it-link [href]=\"href\" [externalLink]=\"externalLink\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </it-link>\n </li>\n} @else {\n <it-link class=\"visually-hidden-focusable\" [href]=\"href\" [externalLink]=\"externalLink\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </it-link>\n}\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
18
+ }], ctorParameters: () => [{ type: i1.ItSkiplinkComponent, decorators: [{
19
+ type: Host
20
+ }] }], propDecorators: { href: [{
21
+ type: Input
22
+ }], externalLink: [{
23
+ type: Input,
24
+ args: [{ transform: inputToBoolean }]
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcGxpbmstaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vc2tpcGxpbmsvc2tpcGxpbmstaXRlbS9za2lwbGluay1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9za2lwbGluay9za2lwbGluay1pdGVtL3NraXBsaW5rLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFXcEUsTUFBTSxPQUFPLHVCQUF1QjtJQW1CbEMsWUFBb0IsTUFBMkI7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6QyxDQUFDOzhHQXJCVSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwySEFnQmQsY0FBYywyREMvQnBDLHllQWVBLDRDREZZLGdCQUFnQixtSkFBRSxlQUFlLCtCQUFFLGVBQWU7OzJGQUVqRCx1QkFBdUI7a0JBUm5DLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGtCQUFrQixZQUVsQixnQkFBZ0IsbUJBQ1QsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7OzBCQXFCaEQsSUFBSTt5Q0FUUixJQUFJO3NCQUFaLEtBQUs7Z0JBTWdDLFlBQVk7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcbmltcG9ydCB7IEl0TGlua0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFNraXBsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vc2tpcGxpbmsvc2tpcGxpbmsuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtc2tpcGxpbmstaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9za2lwbGluay1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdpdFNraXBMaW5rSXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgVHJhbnNsYXRlTW9kdWxlLCBJdExpbmtDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFNraXBsaW5rSXRlbUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgcm91dGVyIGxpbmsgYWN0aW9uXG4gICAqXG4gICAqIENvbW1hbmRzIHRvIHBhc3MgdG8gUm91dGVyI2NyZWF0ZVVybFRyZWUuXG4gICAqIC0gYXJyYXk6IGNvbW1hbmRzIHRvIHBhc3MgdG8gUm91dGVyI2NyZWF0ZVVybFRyZWUuXG4gICAqIC0gc3RyaW5nOiBzaG9ydGhhbmQgZm9yIGFycmF5IG9mIGNvbW1hbmRzIHdpdGgganVzdCB0aGUgc3RyaW5nLCBpLmUuIFsnL3JvdXRlJ11cbiAgICogLSBudWxsfHVuZGVmaW5lZDogRGlzYWJsZXMgdGhlIGxpbmsgYnkgcmVtb3ZpbmcgdGhlIGhyZWZcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBJbnB1dCgpIGhyZWY6IGFueVtdIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSXMgYW4gZXh0ZXJuYWwgbGluayAoZmFsc2UgdG8gbm90IHVzZSBBbmd1bGFyIHJvdXRlciBsaW5rKVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBleHRlcm5hbExpbms/OiBib29sZWFuO1xuICBpbk5hdjogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHBhcmVudDogSXRTa2lwbGlua0NvbXBvbmVudCkge1xuICAgIHRoaXMuaW5OYXYgPSBwYXJlbnQubmF2ID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG59XG4iLCJAaWYgKGluTmF2KSB7XG4gIDxsaSBjbGFzcz1cInZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGVcIj5cbiAgICA8aXQtbGluayBbaHJlZl09XCJocmVmXCIgW2V4dGVybmFsTGlua109XCJleHRlcm5hbExpbmtcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaXQtbGluaz5cbiAgPC9saT5cbn0gQGVsc2Uge1xuICA8aXQtbGluayBjbGFzcz1cInZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGVcIiBbaHJlZl09XCJocmVmXCIgW2V4dGVybmFsTGlua109XCJleHRlcm5hbExpbmtcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua0NvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9pdC1saW5rPlxufVxuXG48bmctdGVtcGxhdGUgI2xpbmtDb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ItSkiplinkComponent } from './skiplink/skiplink.component';
3
+ import { ItSkiplinkItemComponent } from './skiplink-item/skiplink-item.component';
4
+ import * as i0 from "@angular/core";
5
+ const skiplinkComponents = [ItSkiplinkComponent, ItSkiplinkItemComponent];
6
+ export class ItSkiplinkModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkModule, imports: [ItSkiplinkComponent, ItSkiplinkItemComponent], exports: [ItSkiplinkComponent, ItSkiplinkItemComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkModule, imports: [skiplinkComponents] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSkiplinkModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: skiplinkComponents,
15
+ exports: skiplinkComponents,
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcGxpbmsubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3NraXBsaW5rL3NraXBsaW5rLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUVsRixNQUFNLGtCQUFrQixHQUFHLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQU0xRSxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU5ELG1CQUFtQixFQUFFLHVCQUF1QixhQUE1QyxtQkFBbUIsRUFBRSx1QkFBdUI7K0dBTTNELGdCQUFnQixZQUhsQixrQkFBa0I7OzJGQUdoQixnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRTa2lwbGlua0NvbXBvbmVudCB9IGZyb20gJy4vc2tpcGxpbmsvc2tpcGxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEl0U2tpcGxpbmtJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9za2lwbGluay1pdGVtL3NraXBsaW5rLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3Qgc2tpcGxpbmtDb21wb25lbnRzID0gW0l0U2tpcGxpbmtDb21wb25lbnQsIEl0U2tpcGxpbmtJdGVtQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogc2tpcGxpbmtDb21wb25lbnRzLFxuICBleHBvcnRzOiBza2lwbGlua0NvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIEl0U2tpcGxpbmtNb2R1bGUge31cbiJdfQ==