@odx/angular 12.26.1 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1526) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/animations/README.md +2 -0
  3. package/animations/index.d.ts +261 -5
  4. package/breakpoints/index.d.ts +216 -7
  5. package/cdk/a11y/index.d.ts +116 -2
  6. package/cdk/active-indicator/index.d.ts +104 -2
  7. package/cdk/autocomplete-control/index.d.ts +189 -3
  8. package/cdk/checkbox-control/index.d.ts +40 -1
  9. package/cdk/connected-overlay/index.d.ts +165 -3
  10. package/cdk/custom-form-control/index.d.ts +243 -3
  11. package/cdk/date-input/index.d.ts +86 -5
  12. package/cdk/dynamic-view/index.d.ts +335 -7
  13. package/cdk/event-plugins/index.d.ts +187 -3
  14. package/cdk/expandable/index.d.ts +169 -4
  15. package/cdk/option-control/index.d.ts +70 -1
  16. package/cdk/radio-group-control/index.d.ts +74 -3
  17. package/cdk/scrollable/index.d.ts +57 -1
  18. package/components/accordion/index.d.ts +91 -4
  19. package/components/action-group/index.d.ts +20 -1
  20. package/components/anchor-navigation/index.d.ts +104 -4
  21. package/components/area-header/index.d.ts +54 -4
  22. package/components/autocomplete/index.d.ts +109 -6
  23. package/components/avatar/index.d.ts +36 -2
  24. package/components/badge/index.d.ts +95 -3
  25. package/components/bar/index.d.ts +56 -5
  26. package/components/breadcrumbs/index.d.ts +12 -1
  27. package/components/button/index.d.ts +55 -3
  28. package/components/button-group/index.d.ts +44 -1
  29. package/components/calendar/index.d.ts +746 -9
  30. package/components/card/index.d.ts +118 -5
  31. package/components/checkbox/index.d.ts +93 -3
  32. package/components/chip/index.d.ts +78 -2
  33. package/components/circular-progress/index.d.ts +71 -2
  34. package/components/content-box/index.d.ts +33 -3
  35. package/components/data-table/index.d.ts +84 -4
  36. package/components/datepicker/index.d.ts +216 -6
  37. package/components/daterangepicker/index.d.ts +257 -6
  38. package/components/dropdown/index.d.ts +202 -5
  39. package/components/error-page/index.d.ts +56 -2
  40. package/components/footer/index.d.ts +80 -3
  41. package/components/form-field/index.d.ts +398 -7
  42. package/components/header/index.d.ts +44 -3
  43. package/components/header-navigation/index.d.ts +41 -3
  44. package/components/icon/index.d.ts +154 -4
  45. package/components/inline-message/index.d.ts +36 -2
  46. package/components/link/index.d.ts +13 -1
  47. package/components/list/index.d.ts +86 -4
  48. package/components/loading-spinner/index.d.ts +89 -3
  49. package/components/logo/index.d.ts +39 -2
  50. package/components/main-menu/index.d.ts +217 -4
  51. package/components/mainfilter-group/index.d.ts +13 -1
  52. package/components/menu/index.d.ts +94 -4
  53. package/components/modal/index.d.ts +549 -9
  54. package/components/navigation-back/index.d.ts +12 -1
  55. package/components/notification/index.d.ts +630 -7
  56. package/components/notification/testing/index.d.ts +9 -1
  57. package/components/paginator/index.d.ts +264 -5
  58. package/components/progress/index.d.ts +36 -1
  59. package/components/radio-group/index.d.ts +70 -3
  60. package/components/rail-navigation/index.d.ts +97 -4
  61. package/components/rich-list/index.d.ts +92 -3
  62. package/components/search-bar/index.d.ts +26 -3
  63. package/components/select/index.d.ts +263 -6
  64. package/components/slider/index.d.ts +37 -1
  65. package/components/spinbox/index.d.ts +54 -1
  66. package/components/switch/index.d.ts +44 -3
  67. package/components/tab-bar/index.d.ts +141 -4
  68. package/components/table/index.d.ts +239 -5
  69. package/components/timepicker/index.d.ts +324 -7
  70. package/components/toast/index.d.ts +267 -5
  71. package/components/toggle-button-group/index.d.ts +61 -3
  72. package/components/tooltip/index.d.ts +204 -7
  73. package/components/wizard/index.d.ts +159 -3
  74. package/fesm2022/odx-angular-animations.mjs +51 -0
  75. package/fesm2022/odx-angular-animations.mjs.map +1 -1
  76. package/fesm2022/odx-angular-breakpoints.mjs +10 -10
  77. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  78. package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
  79. package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
  80. package/fesm2022/odx-angular-cdk-active-indicator.mjs +6 -8
  81. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  82. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +12 -15
  83. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  84. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -3
  85. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  86. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
  87. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  88. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +12 -14
  89. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  90. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +10 -11
  91. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  92. package/fesm2022/odx-angular-cdk-event-plugins.mjs +6 -6
  93. package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
  94. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  95. package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
  96. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  97. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +10 -10
  98. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  99. package/fesm2022/odx-angular-cdk-scrollable.mjs +6 -6
  100. package/fesm2022/odx-angular-cdk-scrollable.mjs.map +1 -1
  101. package/fesm2022/odx-angular-components-accordion.mjs +17 -17
  102. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  103. package/fesm2022/odx-angular-components-action-group.mjs +5 -6
  104. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  105. package/fesm2022/odx-angular-components-anchor-navigation.mjs +33 -34
  106. package/fesm2022/odx-angular-components-anchor-navigation.mjs.map +1 -1
  107. package/fesm2022/odx-angular-components-area-header.mjs +16 -19
  108. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  109. package/fesm2022/odx-angular-components-autocomplete.mjs +19 -22
  110. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  111. package/fesm2022/odx-angular-components-avatar.mjs +6 -8
  112. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  113. package/fesm2022/odx-angular-components-badge.mjs +9 -11
  114. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  115. package/fesm2022/odx-angular-components-bar.mjs +15 -16
  116. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  117. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
  118. package/fesm2022/odx-angular-components-button-group.mjs +8 -12
  119. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  120. package/fesm2022/odx-angular-components-button.mjs +9 -11
  121. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  122. package/fesm2022/odx-angular-components-calendar.mjs +53 -63
  123. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  124. package/fesm2022/odx-angular-components-card.mjs +33 -36
  125. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  126. package/fesm2022/odx-angular-components-checkbox.mjs +14 -16
  127. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  128. package/fesm2022/odx-angular-components-chip.mjs +13 -15
  129. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  130. package/fesm2022/odx-angular-components-circular-progress.mjs +6 -8
  131. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  132. package/fesm2022/odx-angular-components-content-box.mjs +13 -13
  133. package/fesm2022/odx-angular-components-data-table.mjs +33 -47
  134. package/fesm2022/odx-angular-components-data-table.mjs.map +1 -1
  135. package/fesm2022/odx-angular-components-datepicker.mjs +26 -28
  136. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  137. package/fesm2022/odx-angular-components-daterangepicker.mjs +22 -24
  138. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  139. package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
  140. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  141. package/fesm2022/odx-angular-components-error-page.mjs +3 -3
  142. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  143. package/fesm2022/odx-angular-components-footer.mjs +5 -6
  144. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  145. package/fesm2022/odx-angular-components-form-field.mjs +44 -44
  146. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  147. package/fesm2022/odx-angular-components-header-navigation.mjs +15 -16
  148. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  149. package/fesm2022/odx-angular-components-header.mjs +13 -13
  150. package/fesm2022/odx-angular-components-icon.mjs +98 -86
  151. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  152. package/fesm2022/odx-angular-components-inline-message.mjs +10 -11
  153. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  154. package/fesm2022/odx-angular-components-link.mjs +3 -3
  155. package/fesm2022/odx-angular-components-list.mjs +19 -35
  156. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  157. package/fesm2022/odx-angular-components-loading-spinner.mjs +12 -17
  158. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  159. package/fesm2022/odx-angular-components-logo.mjs +6 -8
  160. package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
  161. package/fesm2022/odx-angular-components-main-menu.mjs +20 -20
  162. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  163. package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
  164. package/fesm2022/odx-angular-components-menu.mjs +16 -18
  165. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  166. package/fesm2022/odx-angular-components-modal.mjs +70 -80
  167. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  168. package/fesm2022/odx-angular-components-navigation-back.mjs +4 -4
  169. package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
  170. package/fesm2022/odx-angular-components-notification-testing.mjs +3 -2
  171. package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
  172. package/fesm2022/odx-angular-components-notification.mjs +24 -24
  173. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  174. package/fesm2022/odx-angular-components-paginator.mjs +8 -8
  175. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  176. package/fesm2022/odx-angular-components-progress.mjs +5 -6
  177. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  178. package/fesm2022/odx-angular-components-radio-group.mjs +13 -15
  179. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  180. package/fesm2022/odx-angular-components-rail-navigation.mjs +16 -26
  181. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  182. package/fesm2022/odx-angular-components-rich-list.mjs +20 -21
  183. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  184. package/fesm2022/odx-angular-components-search-bar.mjs +11 -11
  185. package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
  186. package/fesm2022/odx-angular-components-select.mjs +32 -34
  187. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  188. package/fesm2022/odx-angular-components-slider.mjs +3 -3
  189. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  190. package/fesm2022/odx-angular-components-spinbox.mjs +6 -7
  191. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  192. package/fesm2022/odx-angular-components-switch.mjs +11 -11
  193. package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
  194. package/fesm2022/odx-angular-components-tab-bar.mjs +24 -26
  195. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  196. package/fesm2022/odx-angular-components-table.mjs +31 -48
  197. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  198. package/fesm2022/odx-angular-components-timepicker.mjs +24 -33
  199. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  200. package/fesm2022/odx-angular-components-toast.mjs +21 -52
  201. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  202. package/fesm2022/odx-angular-components-toggle-button-group.mjs +11 -11
  203. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  204. package/fesm2022/odx-angular-components-tooltip.mjs +13 -16
  205. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  206. package/fesm2022/odx-angular-components-wizard.mjs +20 -27
  207. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  208. package/fesm2022/odx-angular-internal-translate.mjs +3 -3
  209. package/fesm2022/odx-angular-localization.mjs +3 -3
  210. package/fesm2022/odx-angular-theming.mjs +4 -5
  211. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  212. package/fesm2022/odx-angular-utils.mjs +4 -26
  213. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  214. package/fesm2022/odx-angular.mjs +36 -35
  215. package/fesm2022/odx-angular.mjs.map +1 -1
  216. package/index.d.ts +546 -6
  217. package/internal/index.d.ts +79 -3
  218. package/internal/translate/index.d.ts +88 -4
  219. package/localization/index.d.ts +343 -5
  220. package/package.json +40 -198
  221. package/rxjs/index.d.ts +125 -5
  222. package/sdk/index.d.ts +74 -1
  223. package/theming/index.d.ts +213 -4
  224. package/utils/index.d.ts +1020 -3
  225. package/animations/lib/config.d.ts +0 -7
  226. package/animations/lib/expand.d.ts +0 -46
  227. package/animations/lib/fade.d.ts +0 -76
  228. package/animations/lib/slide.d.ts +0 -34
  229. package/animations/lib/wait-for-child-animations.d.ts +0 -39
  230. package/breakpoints/lib/breakpoints.config.d.ts +0 -59
  231. package/breakpoints/lib/breakpoints.module.d.ts +0 -7
  232. package/breakpoints/lib/breakpoints.service.d.ts +0 -56
  233. package/breakpoints/lib/breakpoints.typings.d.ts +0 -8
  234. package/breakpoints/lib/directives/index.d.ts +0 -1
  235. package/breakpoints/lib/directives/match-breakpoints.directive.d.ts +0 -52
  236. package/breakpoints/lib/helpers/configure-breakpoint.d.ts +0 -23
  237. package/breakpoints/lib/helpers/index.d.ts +0 -1
  238. package/breakpoints/lib/models/breakpoint.d.ts +0 -5
  239. package/breakpoints/lib/models/index.d.ts +0 -1
  240. package/cdk/a11y/lib/a11y.module.d.ts +0 -11
  241. package/cdk/a11y/lib/directives/index.d.ts +0 -3
  242. package/cdk/a11y/lib/directives/interactive.directive.d.ts +0 -43
  243. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +0 -34
  244. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +0 -31
  245. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +0 -90
  246. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +0 -5
  247. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +0 -6
  248. package/cdk/active-indicator/lib/models/index.d.ts +0 -2
  249. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +0 -144
  250. package/cdk/autocomplete-control/lib/directives/highlight-search-result.directive.d.ts +0 -19
  251. package/cdk/autocomplete-control/lib/directives/index.d.ts +0 -1
  252. package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +0 -24
  253. package/cdk/autocomplete-control/lib/pipes/index.d.ts +0 -1
  254. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +0 -37
  255. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +0 -26
  256. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +0 -54
  257. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +0 -13
  258. package/cdk/connected-overlay/lib/helpers/index.d.ts +0 -1
  259. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +0 -27
  260. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +0 -62
  261. package/cdk/connected-overlay/lib/models/index.d.ts +0 -2
  262. package/cdk/custom-form-control/lib/control.directive.d.ts +0 -6
  263. package/cdk/custom-form-control/lib/custom-form-control.d.ts +0 -146
  264. package/cdk/custom-form-control/lib/input-control.directive.d.ts +0 -88
  265. package/cdk/date-input/lib/date.config.d.ts +0 -48
  266. package/cdk/date-input/lib/models/input-date-order.d.ts +0 -17
  267. package/cdk/date-input/lib/utils/get-date-input-pattern.d.ts +0 -5
  268. package/cdk/date-input/lib/utils/get-input-value-as-date.d.ts +0 -3
  269. package/cdk/date-input/lib/utils/ngx-mask-init.d.ts +0 -3
  270. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +0 -12
  271. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +0 -55
  272. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +0 -40
  273. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +0 -8
  274. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +0 -10
  275. package/cdk/dynamic-view/lib/facade/index.d.ts +0 -2
  276. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +0 -24
  277. package/cdk/dynamic-view/lib/helpers/index.d.ts +0 -3
  278. package/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.d.ts +0 -24
  279. package/cdk/dynamic-view/lib/helpers/is-dynamic-view.d.ts +0 -24
  280. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +0 -59
  281. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +0 -55
  282. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +0 -11
  283. package/cdk/dynamic-view/lib/models/index.d.ts +0 -3
  284. package/cdk/dynamic-view/lib/tokens/dynamic-view-context.d.ts +0 -9
  285. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +0 -13
  286. package/cdk/dynamic-view/lib/tokens/index.d.ts +0 -2
  287. package/cdk/event-plugins/lib/event-plugins.config.d.ts +0 -38
  288. package/cdk/event-plugins/lib/models/event-plugin.d.ts +0 -73
  289. package/cdk/event-plugins/lib/models/index.d.ts +0 -1
  290. package/cdk/event-plugins/lib/plugins/debounce-event-plugin.d.ts +0 -42
  291. package/cdk/event-plugins/lib/plugins/defer-event-plugin.d.ts +0 -33
  292. package/cdk/event-plugins/lib/plugins/index.d.ts +0 -2
  293. package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +0 -65
  294. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +0 -73
  295. package/cdk/expandable/lib/directives/index.d.ts +0 -2
  296. package/cdk/expandable/lib/expandable.module.d.ts +0 -8
  297. package/cdk/expandable/lib/expandable.tokens.d.ts +0 -4
  298. package/cdk/expandable/lib/facade/expandable-container.d.ts +0 -10
  299. package/cdk/expandable/lib/facade/expandable-item.d.ts +0 -10
  300. package/cdk/expandable/lib/facade/index.d.ts +0 -2
  301. package/cdk/option-control/lib/option-control.d.ts +0 -66
  302. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +0 -39
  303. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +0 -24
  304. package/cdk/radio-group-control/lib/radio-group-control.module.d.ts +0 -9
  305. package/cdk/scrollable/lib/scrollable.service.d.ts +0 -53
  306. package/components/accordion/lib/accordion.component.d.ts +0 -15
  307. package/components/accordion/lib/accordion.module.d.ts +0 -10
  308. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +0 -59
  309. package/components/accordion/lib/components/index.d.ts +0 -1
  310. package/components/accordion/lib/directives/accordion-item-title.d.ts +0 -8
  311. package/components/accordion/lib/directives/index.d.ts +0 -1
  312. package/components/action-group/action-group.component.d.ts +0 -17
  313. package/components/anchor-navigation/anchor-navigation.component.d.ts +0 -37
  314. package/components/anchor-navigation/anchor-navigation.module.d.ts +0 -8
  315. package/components/anchor-navigation/anchor-navigation.service.d.ts +0 -50
  316. package/components/anchor-navigation/components/anchor-navigation-item.component.d.ts +0 -10
  317. package/components/anchor-navigation/components/index.d.ts +0 -1
  318. package/components/area-header/area-header.component.d.ts +0 -17
  319. package/components/area-header/area-header.module.d.ts +0 -14
  320. package/components/area-header/directives/area-header-content.directive.d.ts +0 -8
  321. package/components/area-header/directives/area-header-subtitle.directive.d.ts +0 -8
  322. package/components/area-header/directives/index.d.ts +0 -2
  323. package/components/area-header/models/area-header-size.d.ts +0 -7
  324. package/components/area-header/models/index.d.ts +0 -1
  325. package/components/autocomplete/lib/autocomplete.component.d.ts +0 -66
  326. package/components/autocomplete/lib/autocomplete.module.d.ts +0 -11
  327. package/components/autocomplete/lib/autocomplete.tokens.d.ts +0 -3
  328. package/components/autocomplete/lib/components/index.d.ts +0 -1
  329. package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +0 -17
  330. package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +0 -13
  331. package/components/autocomplete/lib/directives/index.d.ts +0 -1
  332. package/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.d.ts +0 -7
  333. package/components/autocomplete/lib/pipes/index.d.ts +0 -1
  334. package/components/avatar/lib/avatar.component.d.ts +0 -21
  335. package/components/avatar/lib/models/avatar-size.d.ts +0 -6
  336. package/components/avatar/lib/models/avatar-variant.d.ts +0 -5
  337. package/components/avatar/lib/models/index.d.ts +0 -2
  338. package/components/badge/lib/badge.component.d.ts +0 -33
  339. package/components/badge/lib/badge.directive.d.ts +0 -56
  340. package/components/badge/lib/models/badge-variant.d.ts +0 -6
  341. package/components/badge/lib/models/index.d.ts +0 -1
  342. package/components/bar/lib/bar.component.d.ts +0 -13
  343. package/components/bar/lib/bar.module.d.ts +0 -10
  344. package/components/bar/lib/directives/bar-button.directive.d.ts +0 -20
  345. package/components/bar/lib/directives/bar-label.directive.d.ts +0 -9
  346. package/components/bar/lib/models/bar-button-variant.d.ts +0 -5
  347. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +0 -9
  348. package/components/button/lib/button.component.d.ts +0 -29
  349. package/components/button/lib/directives/index.d.ts +0 -1
  350. package/components/button/lib/directives/responsive-button.directive.d.ts +0 -6
  351. package/components/button/lib/models/button-size.d.ts +0 -6
  352. package/components/button/lib/models/button-variant.d.ts +0 -10
  353. package/components/button/lib/models/index.d.ts +0 -2
  354. package/components/button-group/lib/button-group.component.d.ts +0 -41
  355. package/components/calendar/lib/calendar.component.d.ts +0 -90
  356. package/components/calendar/lib/calendar.config.d.ts +0 -117
  357. package/components/calendar/lib/calendar.service.d.ts +0 -81
  358. package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +0 -61
  359. package/components/calendar/lib/components/calendar-header/index.d.ts +0 -1
  360. package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +0 -24
  361. package/components/calendar/lib/components/calendar-month/index.d.ts +0 -1
  362. package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +0 -24
  363. package/components/calendar/lib/components/calendar-year/index.d.ts +0 -1
  364. package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +0 -26
  365. package/components/calendar/lib/components/calendar-years/index.d.ts +0 -1
  366. package/components/calendar/lib/components/index.d.ts +0 -4
  367. package/components/calendar/lib/daterange.service.d.ts +0 -33
  368. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +0 -90
  369. package/components/calendar/lib/directives/calendar-view.directive.d.ts +0 -92
  370. package/components/calendar/lib/directives/index.d.ts +0 -2
  371. package/components/calendar/lib/models/calendar-view.d.ts +0 -5
  372. package/components/calendar/lib/models/date-filter.d.ts +0 -1
  373. package/components/calendar/lib/models/date-range.d.ts +0 -18
  374. package/components/calendar/lib/models/date-type.d.ts +0 -1
  375. package/components/calendar/lib/models/date-validator.d.ts +0 -1
  376. package/components/calendar/lib/models/index.d.ts +0 -7
  377. package/components/calendar/lib/models/selected-date.d.ts +0 -9
  378. package/components/calendar/lib/models/selection-mode.d.ts +0 -4
  379. package/components/calendar/lib/pipes/date-label.pipe.d.ts +0 -22
  380. package/components/calendar/lib/pipes/index.d.ts +0 -1
  381. package/components/calendar/lib/services/calendar-month.service.d.ts +0 -13
  382. package/components/calendar/lib/services/calendar-year.service.d.ts +0 -10
  383. package/components/calendar/lib/services/calendar-years.service.d.ts +0 -9
  384. package/components/calendar/lib/services/index.d.ts +0 -3
  385. package/components/calendar/lib/utils/check-cell-in-range.d.ts +0 -8
  386. package/components/calendar/lib/utils/check-identical-date.d.ts +0 -3
  387. package/components/calendar/lib/utils/get-A11y-label.d.ts +0 -3
  388. package/components/calendar/lib/utils/index.d.ts +0 -9
  389. package/components/calendar/lib/utils/is-date-disabled.d.ts +0 -3
  390. package/components/calendar/lib/utils/parse-date.d.ts +0 -3
  391. package/components/calendar/lib/utils/validate-daterange.d.ts +0 -2
  392. package/components/calendar/lib/utils/validate-max-date.d.ts +0 -3
  393. package/components/calendar/lib/utils/validate-min-date.d.ts +0 -3
  394. package/components/calendar/lib/utils/validate-next-date-set.d.ts +0 -3
  395. package/components/calendar/lib/utils/validate-previous-date-set.d.ts +0 -3
  396. package/components/card/lib/card.component.d.ts +0 -54
  397. package/components/card/lib/card.config.d.ts +0 -49
  398. package/components/card/lib/card.module.d.ts +0 -12
  399. package/components/card/lib/components/card-footer/card-footer.component.d.ts +0 -8
  400. package/components/card/lib/components/card-image/card-image.component.d.ts +0 -25
  401. package/components/card/lib/components/index.d.ts +0 -3
  402. package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +0 -8
  403. package/components/card/lib/directives/card-content.directive.d.ts +0 -8
  404. package/components/card/lib/directives/index.d.ts +0 -1
  405. package/components/card/lib/models/card-variant.d.ts +0 -7
  406. package/components/card/lib/models/index.d.ts +0 -1
  407. package/components/checkbox/lib/checkbox.component.d.ts +0 -55
  408. package/components/checkbox/lib/checkbox.module.d.ts +0 -9
  409. package/components/checkbox/lib/checkbox.validator.d.ts +0 -29
  410. package/components/chip/lib/components/chip/chip.component.d.ts +0 -42
  411. package/components/chip/lib/components/chip-list/chip-list.component.d.ts +0 -9
  412. package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +0 -9
  413. package/components/chip/lib/components/index.d.ts +0 -3
  414. package/components/chip/lib/models/chip-size.d.ts +0 -5
  415. package/components/chip/lib/models/chip-variant.d.ts +0 -9
  416. package/components/chip/lib/models/index.d.ts +0 -2
  417. package/components/circular-progress/lib/circular-progress.component.d.ts +0 -61
  418. package/components/circular-progress/lib/models/circular-progress-size.d.ts +0 -7
  419. package/components/circular-progress/lib/models/index.d.ts +0 -1
  420. package/components/content-box/lib/content-box.component.d.ts +0 -8
  421. package/components/content-box/lib/content-box.module.d.ts +0 -9
  422. package/components/content-box/lib/directives/content-box-footer.directive.d.ts +0 -8
  423. package/components/content-box/lib/directives/content-box-header.directive.d.ts +0 -8
  424. package/components/content-box/lib/directives/index.d.ts +0 -2
  425. package/components/data-table/lib/data-table.component.d.ts +0 -32
  426. package/components/data-table/lib/data-table.module.d.ts +0 -14
  427. package/components/data-table/lib/directives/cell-def.directive.d.ts +0 -7
  428. package/components/data-table/lib/directives/cell.directive.d.ts +0 -5
  429. package/components/data-table/lib/directives/column-def.directive.d.ts +0 -11
  430. package/components/data-table/lib/directives/header-cell-def.directive.d.ts +0 -7
  431. package/components/data-table/lib/directives/header-cell.directive.d.ts +0 -5
  432. package/components/data-table/lib/directives/index.d.ts +0 -6
  433. package/components/data-table/lib/directives/table-empty.directive.d.ts +0 -5
  434. package/components/data-table/lib/models/index.d.ts +0 -15
  435. package/components/data-table/lib/models/table-variant.d.ts +0 -5
  436. package/components/datepicker/lib/datepicker.component.d.ts +0 -132
  437. package/components/datepicker/lib/datepicker.config.d.ts +0 -1
  438. package/components/datepicker/lib/datepicker.module.d.ts +0 -11
  439. package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +0 -49
  440. package/components/datepicker/lib/directives/index.d.ts +0 -1
  441. package/components/datepicker/lib/validators/filter.validator.d.ts +0 -15
  442. package/components/datepicker/lib/validators/minmax.validator.d.ts +0 -15
  443. package/components/daterangepicker/lib/daterangepicker.component.d.ts +0 -159
  444. package/components/daterangepicker/lib/daterangepicker.config.d.ts +0 -1
  445. package/components/daterangepicker/lib/daterangepicker.module.d.ts +0 -11
  446. package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +0 -45
  447. package/components/daterangepicker/lib/directives/index.d.ts +0 -1
  448. package/components/daterangepicker/lib/range.validator.d.ts +0 -25
  449. package/components/daterangepicker/lib/required.validator.d.ts +0 -24
  450. package/components/dropdown/lib/dropdown.component.d.ts +0 -33
  451. package/components/dropdown/lib/dropdown.directive.d.ts +0 -145
  452. package/components/dropdown/lib/dropdown.module.d.ts +0 -8
  453. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +0 -7
  454. package/components/dropdown/lib/helpers/index.d.ts +0 -1
  455. package/components/dropdown/lib/models/close-dropdown-event.d.ts +0 -4
  456. package/components/dropdown/lib/models/dropdown-options.d.ts +0 -3
  457. package/components/dropdown/lib/models/index.d.ts +0 -2
  458. package/components/error-page/lib/error-page.component.d.ts +0 -16
  459. package/components/error-page/lib/error-page.config.d.ts +0 -34
  460. package/components/footer/lib/footer.component.d.ts +0 -28
  461. package/components/footer/lib/footer.config.d.ts +0 -32
  462. package/components/footer/lib/footer.i18n.d.ts +0 -3
  463. package/components/footer/lib/helpers/create-footer-links.d.ts +0 -11
  464. package/components/footer/lib/helpers/index.d.ts +0 -1
  465. package/components/footer/lib/models/footer-link.d.ts +0 -4
  466. package/components/footer/lib/models/footer-variant.d.ts +0 -5
  467. package/components/footer/lib/models/index.d.ts +0 -2
  468. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +0 -23
  469. package/components/form-field/lib/components/form-group/form-group.component.d.ts +0 -34
  470. package/components/form-field/lib/components/index.d.ts +0 -2
  471. package/components/form-field/lib/directives/form-field-control.directive.d.ts +0 -25
  472. package/components/form-field/lib/directives/form-field-error.directive.d.ts +0 -18
  473. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +0 -11
  474. package/components/form-field/lib/directives/form-field-label.directive.d.ts +0 -9
  475. package/components/form-field/lib/directives/form.directive.d.ts +0 -25
  476. package/components/form-field/lib/directives/index.d.ts +0 -5
  477. package/components/form-field/lib/form-field.component.d.ts +0 -61
  478. package/components/form-field/lib/form-field.config.d.ts +0 -16
  479. package/components/form-field/lib/form-field.module.d.ts +0 -14
  480. package/components/form-field/lib/form-field.service.d.ts +0 -92
  481. package/components/form-field/lib/models/form-field-error-resolver.d.ts +0 -27
  482. package/components/form-field/lib/models/form-field-error.d.ts +0 -8
  483. package/components/form-field/lib/models/form-field-variant.d.ts +0 -6
  484. package/components/form-field/lib/models/index.d.ts +0 -3
  485. package/components/form-field/lib/services/form-field-error.service.d.ts +0 -51
  486. package/components/form-field/lib/services/index.d.ts +0 -1
  487. package/components/header/lib/directives/header-avatar.directive.d.ts +0 -12
  488. package/components/header/lib/directives/header-title.directive.d.ts +0 -8
  489. package/components/header/lib/directives/index.d.ts +0 -2
  490. package/components/header/lib/header.component.d.ts +0 -9
  491. package/components/header/lib/header.module.d.ts +0 -15
  492. package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +0 -14
  493. package/components/header-navigation/lib/directives/index.d.ts +0 -1
  494. package/components/header-navigation/lib/header-navigation.component.d.ts +0 -17
  495. package/components/header-navigation/lib/header-navigation.module.d.ts +0 -9
  496. package/components/icon/lib/helpers/index.d.ts +0 -1
  497. package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +0 -29
  498. package/components/icon/lib/icon.component.d.ts +0 -50
  499. package/components/icon/lib/icon.config.d.ts +0 -31
  500. package/components/icon/lib/models/icon-set.d.ts +0 -7
  501. package/components/icon/lib/models/icon-size.d.ts +0 -8
  502. package/components/icon/lib/models/index.d.ts +0 -2
  503. package/components/inline-message/lib/inline-message.component.d.ts +0 -26
  504. package/components/inline-message/lib/models/index.d.ts +0 -1
  505. package/components/inline-message/lib/models/inline-message-variant.d.ts +0 -7
  506. package/components/link/link.directive.d.ts +0 -10
  507. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +0 -18
  508. package/components/list/lib/components/index.d.ts +0 -2
  509. package/components/list/lib/components/list-item/list-item.component.d.ts +0 -47
  510. package/components/list/lib/list.component.d.ts +0 -13
  511. package/components/list/lib/list.module.d.ts +0 -10
  512. package/components/list/lib/models/index.d.ts +0 -1
  513. package/components/list/lib/models/list-item-variant.d.ts +0 -6
  514. package/components/loading-spinner/lib/loading-spinner.component.d.ts +0 -26
  515. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +0 -53
  516. package/components/loading-spinner/lib/loading-spinner.module.d.ts +0 -9
  517. package/components/logo/logo.directive.d.ts +0 -24
  518. package/components/logo/models/index.d.ts +0 -2
  519. package/components/logo/models/logo-size.d.ts +0 -6
  520. package/components/logo/models/logo-variant.d.ts +0 -5
  521. package/components/main-menu/lib/directives/index.d.ts +0 -3
  522. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +0 -12
  523. package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +0 -10
  524. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +0 -28
  525. package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +0 -4
  526. package/components/main-menu/lib/helpers/index.d.ts +0 -1
  527. package/components/main-menu/lib/main-menu.component.d.ts +0 -67
  528. package/components/main-menu/lib/main-menu.config.d.ts +0 -43
  529. package/components/main-menu/lib/main-menu.i18n.d.ts +0 -3
  530. package/components/main-menu/lib/main-menu.module.d.ts +0 -12
  531. package/components/main-menu/lib/main-menu.service.d.ts +0 -39
  532. package/components/main-menu/lib/models/index.d.ts +0 -1
  533. package/components/main-menu/lib/models/main-menu-link.d.ts +0 -4
  534. package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +0 -10
  535. package/components/menu/lib/directives/index.d.ts +0 -1
  536. package/components/menu/lib/directives/menu-item.directive.d.ts +0 -14
  537. package/components/menu/lib/menu.component.d.ts +0 -22
  538. package/components/menu/lib/menu.directive.d.ts +0 -48
  539. package/components/menu/lib/menu.module.d.ts +0 -11
  540. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +0 -24
  541. package/components/modal/lib/components/index.d.ts +0 -4
  542. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +0 -9
  543. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +0 -20
  544. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +0 -37
  545. package/components/modal/lib/directives/index.d.ts +0 -5
  546. package/components/modal/lib/directives/modal-close.directive.d.ts +0 -32
  547. package/components/modal/lib/directives/modal-content.directive.d.ts +0 -9
  548. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +0 -24
  549. package/components/modal/lib/directives/prevent-form-method-dialog.directive.d.ts +0 -9
  550. package/components/modal/lib/directives/prevent-method-dialog.directive.d.ts +0 -9
  551. package/components/modal/lib/helpers/index.d.ts +0 -2
  552. package/components/modal/lib/helpers/inject-modal-ref.d.ts +0 -23
  553. package/components/modal/lib/helpers/provide-modal-ref.d.ts +0 -12
  554. package/components/modal/lib/modal.component.d.ts +0 -48
  555. package/components/modal/lib/modal.config.d.ts +0 -36
  556. package/components/modal/lib/modal.directive.d.ts +0 -47
  557. package/components/modal/lib/modal.module.d.ts +0 -20
  558. package/components/modal/lib/modal.service.d.ts +0 -79
  559. package/components/modal/lib/models/basic-modal-options.d.ts +0 -17
  560. package/components/modal/lib/models/index.d.ts +0 -7
  561. package/components/modal/lib/models/modal-hero-variant.d.ts +0 -7
  562. package/components/modal/lib/models/modal-options.d.ts +0 -18
  563. package/components/modal/lib/models/modal-ref.d.ts +0 -68
  564. package/components/modal/lib/models/modal-size.d.ts +0 -7
  565. package/components/modal/lib/models/modal-type.d.ts +0 -8
  566. package/components/modal/lib/models/modal-variant.d.ts +0 -5
  567. package/components/navigation-back/lib/navigation-back.component.d.ts +0 -9
  568. package/components/notification/lib/components/index.d.ts +0 -2
  569. package/components/notification/lib/components/notification-center/notification-center.component.d.ts +0 -15
  570. package/components/notification/lib/components/notification-item/notification-item.component.d.ts +0 -37
  571. package/components/notification/lib/directives/index.d.ts +0 -1
  572. package/components/notification/lib/directives/notification-center.directive.d.ts +0 -86
  573. package/components/notification/lib/features/index.d.ts +0 -5
  574. package/components/notification/lib/features/with-browser-notifications.d.ts +0 -17
  575. package/components/notification/lib/features/with-load-notifications.d.ts +0 -19
  576. package/components/notification/lib/features/with-notification-transformer.d.ts +0 -26
  577. package/components/notification/lib/features/with-peristent-notifications.d.ts +0 -61
  578. package/components/notification/lib/features/with-save-notifications.d.ts +0 -11
  579. package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +0 -3
  580. package/components/notification/lib/helpers/index.d.ts +0 -3
  581. package/components/notification/lib/helpers/sort-notifications.d.ts +0 -4
  582. package/components/notification/lib/helpers/to-notification-collection.d.ts +0 -4
  583. package/components/notification/lib/models/index.d.ts +0 -8
  584. package/components/notification/lib/models/notification-action.d.ts +0 -2
  585. package/components/notification/lib/models/notification-collection.d.ts +0 -6
  586. package/components/notification/lib/models/notification-feature.d.ts +0 -20
  587. package/components/notification/lib/models/notification-options.d.ts +0 -7
  588. package/components/notification/lib/models/notification-query.d.ts +0 -2
  589. package/components/notification/lib/models/notification-sort-fn.d.ts +0 -2
  590. package/components/notification/lib/models/notification.d.ts +0 -6
  591. package/components/notification/lib/models/notification.ref.d.ts +0 -9
  592. package/components/notification/lib/notification.config.d.ts +0 -65
  593. package/components/notification/lib/notification.i18n.d.ts +0 -3
  594. package/components/notification/lib/notification.logger.d.ts +0 -4
  595. package/components/notification/lib/notification.service.d.ts +0 -165
  596. package/components/notification/lib/notification.tokens.d.ts +0 -7
  597. package/components/notification/lib/services/index.d.ts +0 -1
  598. package/components/notification/lib/services/notification-center.service.d.ts +0 -78
  599. package/components/notification/testing/lib/test-helpers.d.ts +0 -5
  600. package/components/paginator/lib/interfaces/index.d.ts +0 -1
  601. package/components/paginator/lib/interfaces/page-change.interface.d.ts +0 -5
  602. package/components/paginator/lib/models/get-range-content.model.d.ts +0 -2
  603. package/components/paginator/lib/models/get-summary-content.model.d.ts +0 -2
  604. package/components/paginator/lib/models/index.d.ts +0 -2
  605. package/components/paginator/lib/paginator.component.d.ts +0 -183
  606. package/components/paginator/lib/paginator.config.d.ts +0 -59
  607. package/components/paginator/lib/paginator.module.d.ts +0 -7
  608. package/components/progress/lib/progress.component.d.ts +0 -33
  609. package/components/radio-group/lib/components/index.d.ts +0 -1
  610. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +0 -36
  611. package/components/radio-group/lib/radio-group.component.d.ts +0 -25
  612. package/components/radio-group/lib/radio-group.module.d.ts +0 -9
  613. package/components/rail-navigation/lib/components/index.d.ts +0 -1
  614. package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +0 -41
  615. package/components/rail-navigation/lib/models/index.d.ts +0 -1
  616. package/components/rail-navigation/lib/models/rail-navigation-variant.d.ts +0 -5
  617. package/components/rail-navigation/lib/rail-navigation.component.d.ts +0 -49
  618. package/components/rail-navigation/lib/rail-navigation.module.d.ts +0 -9
  619. package/components/rich-list/lib/components/index.d.ts +0 -3
  620. package/components/rich-list/lib/components/rich-list-content/rich-list-content.component.d.ts +0 -10
  621. package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +0 -40
  622. package/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.d.ts +0 -10
  623. package/components/rich-list/lib/rich-list.component.d.ts +0 -23
  624. package/components/rich-list/lib/rich-list.module.d.ts +0 -11
  625. package/components/search-bar/lib/search-bar-control.directive.d.ts +0 -8
  626. package/components/search-bar/lib/search-bar.component.d.ts +0 -8
  627. package/components/search-bar/lib/search-bar.module.d.ts +0 -9
  628. package/components/select/lib/components/index.d.ts +0 -1
  629. package/components/select/lib/components/select-option/select-option.component.d.ts +0 -56
  630. package/components/select/lib/directives/index.d.ts +0 -2
  631. package/components/select/lib/directives/select-all.directive.d.ts +0 -13
  632. package/components/select/lib/directives/select-input-control.directive.d.ts +0 -31
  633. package/components/select/lib/pipes/index.d.ts +0 -1
  634. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +0 -17
  635. package/components/select/lib/select.component.d.ts +0 -140
  636. package/components/select/lib/select.module.d.ts +0 -11
  637. package/components/select/lib/select.tokens.d.ts +0 -3
  638. package/components/slider/lib/slider.directive.d.ts +0 -34
  639. package/components/spinbox/lib/spinbox.component.d.ts +0 -51
  640. package/components/switch/lib/switch.component.d.ts +0 -17
  641. package/components/switch/lib/switch.module.d.ts +0 -9
  642. package/components/switch/lib/switch.validator.d.ts +0 -18
  643. package/components/tab-bar/lib/components/index.d.ts +0 -1
  644. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +0 -52
  645. package/components/tab-bar/lib/models/index.d.ts +0 -1
  646. package/components/tab-bar/lib/models/tab-change-event.d.ts +0 -5
  647. package/components/tab-bar/lib/tab-bar.component.d.ts +0 -77
  648. package/components/tab-bar/lib/tab-bar.config.d.ts +0 -3
  649. package/components/tab-bar/lib/tab-bar.module.d.ts +0 -9
  650. package/components/table/lib/components/check-cell/check-cell.component.d.ts +0 -33
  651. package/components/table/lib/components/header-title/header-title.component.d.ts +0 -71
  652. package/components/table/lib/components/index.d.ts +0 -2
  653. package/components/table/lib/directives/index.d.ts +0 -2
  654. package/components/table/lib/directives/table-cell.directive.d.ts +0 -10
  655. package/components/table/lib/directives/table-row.directive.d.ts +0 -10
  656. package/components/table/lib/models/header-cell.d.ts +0 -8
  657. package/components/table/lib/models/index.d.ts +0 -5
  658. package/components/table/lib/models/sort-status.d.ts +0 -5
  659. package/components/table/lib/models/sort-variant.d.ts +0 -21
  660. package/components/table/lib/models/table-body-cell.d.ts +0 -3
  661. package/components/table/lib/models/table-variant.d.ts +0 -5
  662. package/components/table/lib/table.component.d.ts +0 -85
  663. package/components/table/lib/table.config.d.ts +0 -4
  664. package/components/table/lib/table.module.d.ts +0 -11
  665. package/components/timepicker/lib/components/timepicker-option.component.d.ts +0 -52
  666. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +0 -43
  667. package/components/timepicker/lib/timepicker.component.d.ts +0 -120
  668. package/components/timepicker/lib/timepicker.module.d.ts +0 -10
  669. package/components/timepicker/lib/timepicker.service.d.ts +0 -59
  670. package/components/timepicker/lib/timepicker.token.d.ts +0 -9
  671. package/components/timepicker/lib/utils/generate-time-stamps.d.ts +0 -19
  672. package/components/timepicker/lib/utils/index.d.ts +0 -2
  673. package/components/timepicker/lib/utils/ngx-mask-helper.d.ts +0 -22
  674. package/components/toast/lib/components/index.d.ts +0 -2
  675. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +0 -42
  676. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +0 -77
  677. package/components/toast/lib/models/index.d.ts +0 -5
  678. package/components/toast/lib/models/toast-action.d.ts +0 -7
  679. package/components/toast/lib/models/toast-ref.d.ts +0 -7
  680. package/components/toast/lib/models/toast-variant.d.ts +0 -9
  681. package/components/toast/lib/models/toast.d.ts +0 -12
  682. package/components/toast/lib/models/toast.options.d.ts +0 -4
  683. package/components/toast/lib/toast.config.d.ts +0 -29
  684. package/components/toast/lib/toast.module.d.ts +0 -9
  685. package/components/toast/lib/toast.service.d.ts +0 -91
  686. package/components/toggle-button-group/lib/components/index.d.ts +0 -1
  687. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +0 -24
  688. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +0 -30
  689. package/components/toggle-button-group/lib/toggle-button-group.module.d.ts +0 -9
  690. package/components/tooltip/lib/directives/index.d.ts +0 -2
  691. package/components/tooltip/lib/directives/tooltip-disabled-focusable.directive.d.ts +0 -20
  692. package/components/tooltip/lib/helpers/index.d.ts +0 -1
  693. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +0 -9
  694. package/components/tooltip/lib/models/index.d.ts +0 -3
  695. package/components/tooltip/lib/models/tooltip-options.d.ts +0 -10
  696. package/components/tooltip/lib/models/tooltip-size.d.ts +0 -7
  697. package/components/tooltip/lib/models/tooltip-trigger.d.ts +0 -1
  698. package/components/tooltip/lib/tooltip.component.d.ts +0 -40
  699. package/components/tooltip/lib/tooltip.config.d.ts +0 -29
  700. package/components/tooltip/lib/tooltip.directive.d.ts +0 -84
  701. package/components/wizard/lib/components/index.d.ts +0 -1
  702. package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +0 -68
  703. package/components/wizard/lib/wizard.component.d.ts +0 -83
  704. package/components/wizard/lib/wizard.module.d.ts +0 -9
  705. package/esm2022/animations/index.mjs +0 -6
  706. package/esm2022/animations/lib/config.mjs +0 -8
  707. package/esm2022/animations/lib/expand.mjs +0 -58
  708. package/esm2022/animations/lib/fade.mjs +0 -83
  709. package/esm2022/animations/lib/slide.mjs +0 -55
  710. package/esm2022/animations/lib/wait-for-child-animations.mjs +0 -41
  711. package/esm2022/animations/odx-angular-animations.mjs +0 -5
  712. package/esm2022/breakpoints/index.mjs +0 -8
  713. package/esm2022/breakpoints/lib/breakpoints.config.mjs +0 -51
  714. package/esm2022/breakpoints/lib/breakpoints.module.mjs +0 -17
  715. package/esm2022/breakpoints/lib/breakpoints.service.mjs +0 -77
  716. package/esm2022/breakpoints/lib/breakpoints.typings.mjs +0 -2
  717. package/esm2022/breakpoints/lib/directives/index.mjs +0 -2
  718. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +0 -84
  719. package/esm2022/breakpoints/lib/helpers/configure-breakpoint.mjs +0 -27
  720. package/esm2022/breakpoints/lib/helpers/index.mjs +0 -2
  721. package/esm2022/breakpoints/lib/models/breakpoint.mjs +0 -2
  722. package/esm2022/breakpoints/lib/models/index.mjs +0 -2
  723. package/esm2022/breakpoints/odx-angular-breakpoints.mjs +0 -5
  724. package/esm2022/cdk/a11y/index.mjs +0 -3
  725. package/esm2022/cdk/a11y/lib/a11y.module.mjs +0 -19
  726. package/esm2022/cdk/a11y/lib/directives/index.mjs +0 -4
  727. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +0 -81
  728. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +0 -50
  729. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +0 -59
  730. package/esm2022/cdk/a11y/odx-angular-cdk-a11y.mjs +0 -5
  731. package/esm2022/cdk/active-indicator/index.mjs +0 -3
  732. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +0 -193
  733. package/esm2022/cdk/active-indicator/lib/models/active-indicator-direction.mjs +0 -5
  734. package/esm2022/cdk/active-indicator/lib/models/active-indicator-position.mjs +0 -6
  735. package/esm2022/cdk/active-indicator/lib/models/index.mjs +0 -3
  736. package/esm2022/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +0 -5
  737. package/esm2022/cdk/autocomplete-control/index.mjs +0 -4
  738. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +0 -198
  739. package/esm2022/cdk/autocomplete-control/lib/directives/highlight-search-result.directive.mjs +0 -43
  740. package/esm2022/cdk/autocomplete-control/lib/directives/index.mjs +0 -2
  741. package/esm2022/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +0 -47
  742. package/esm2022/cdk/autocomplete-control/lib/pipes/index.mjs +0 -2
  743. package/esm2022/cdk/autocomplete-control/odx-angular-cdk-autocomplete-control.mjs +0 -5
  744. package/esm2022/cdk/checkbox-control/index.mjs +0 -2
  745. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +0 -67
  746. package/esm2022/cdk/checkbox-control/odx-angular-cdk-checkbox-control.mjs +0 -5
  747. package/esm2022/cdk/connected-overlay/index.mjs +0 -4
  748. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +0 -83
  749. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +0 -69
  750. package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +0 -59
  751. package/esm2022/cdk/connected-overlay/lib/helpers/index.mjs +0 -2
  752. package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +0 -12
  753. package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +0 -69
  754. package/esm2022/cdk/connected-overlay/lib/models/index.mjs +0 -3
  755. package/esm2022/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +0 -5
  756. package/esm2022/cdk/custom-form-control/index.mjs +0 -4
  757. package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +0 -19
  758. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +0 -224
  759. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +0 -110
  760. package/esm2022/cdk/custom-form-control/odx-angular-cdk-custom-form-control.mjs +0 -5
  761. package/esm2022/cdk/date-input/index.mjs +0 -6
  762. package/esm2022/cdk/date-input/lib/date.config.mjs +0 -26
  763. package/esm2022/cdk/date-input/lib/models/input-date-order.mjs +0 -16
  764. package/esm2022/cdk/date-input/lib/utils/get-date-input-pattern.mjs +0 -18
  765. package/esm2022/cdk/date-input/lib/utils/get-input-value-as-date.mjs +0 -38
  766. package/esm2022/cdk/date-input/lib/utils/ngx-mask-init.mjs +0 -22
  767. package/esm2022/cdk/date-input/odx-angular-cdk-date-input.mjs +0 -5
  768. package/esm2022/cdk/dynamic-view/index.mjs +0 -8
  769. package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +0 -43
  770. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +0 -113
  771. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +0 -75
  772. package/esm2022/cdk/dynamic-view/lib/facade/dynamic-content.mjs +0 -2
  773. package/esm2022/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +0 -2
  774. package/esm2022/cdk/dynamic-view/lib/facade/index.mjs +0 -3
  775. package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +0 -31
  776. package/esm2022/cdk/dynamic-view/lib/helpers/index.mjs +0 -4
  777. package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +0 -28
  778. package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-view.mjs +0 -27
  779. package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +0 -108
  780. package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +0 -87
  781. package/esm2022/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +0 -2
  782. package/esm2022/cdk/dynamic-view/lib/models/index.mjs +0 -4
  783. package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-context.mjs +0 -7
  784. package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +0 -20
  785. package/esm2022/cdk/dynamic-view/lib/tokens/index.mjs +0 -3
  786. package/esm2022/cdk/dynamic-view/odx-angular-cdk-dynamic-view.mjs +0 -5
  787. package/esm2022/cdk/event-plugins/index.mjs +0 -4
  788. package/esm2022/cdk/event-plugins/lib/event-plugins.config.mjs +0 -48
  789. package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +0 -60
  790. package/esm2022/cdk/event-plugins/lib/models/index.mjs +0 -2
  791. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +0 -67
  792. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +0 -51
  793. package/esm2022/cdk/event-plugins/lib/plugins/index.mjs +0 -3
  794. package/esm2022/cdk/event-plugins/odx-angular-cdk-event-plugins.mjs +0 -5
  795. package/esm2022/cdk/expandable/index.mjs +0 -5
  796. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +0 -104
  797. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +0 -119
  798. package/esm2022/cdk/expandable/lib/directives/index.mjs +0 -3
  799. package/esm2022/cdk/expandable/lib/expandable.module.mjs +0 -17
  800. package/esm2022/cdk/expandable/lib/expandable.tokens.mjs +0 -4
  801. package/esm2022/cdk/expandable/lib/facade/expandable-container.mjs +0 -2
  802. package/esm2022/cdk/expandable/lib/facade/expandable-item.mjs +0 -2
  803. package/esm2022/cdk/expandable/lib/facade/index.mjs +0 -3
  804. package/esm2022/cdk/expandable/odx-angular-cdk-expandable.mjs +0 -5
  805. package/esm2022/cdk/option-control/index.mjs +0 -2
  806. package/esm2022/cdk/option-control/lib/option-control.mjs +0 -91
  807. package/esm2022/cdk/option-control/odx-angular-cdk-option-control.mjs +0 -5
  808. package/esm2022/cdk/radio-group-control/index.mjs +0 -4
  809. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +0 -65
  810. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +0 -60
  811. package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +0 -19
  812. package/esm2022/cdk/radio-group-control/odx-angular-cdk-radio-group-control.mjs +0 -5
  813. package/esm2022/cdk/scrollable/index.mjs +0 -2
  814. package/esm2022/cdk/scrollable/lib/scrollable.service.mjs +0 -129
  815. package/esm2022/cdk/scrollable/odx-angular-cdk-scrollable.mjs +0 -5
  816. package/esm2022/components/accordion/index.mjs +0 -5
  817. package/esm2022/components/accordion/lib/accordion.component.mjs +0 -31
  818. package/esm2022/components/accordion/lib/accordion.module.mjs +0 -20
  819. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +0 -94
  820. package/esm2022/components/accordion/lib/components/index.mjs +0 -2
  821. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +0 -17
  822. package/esm2022/components/accordion/lib/directives/index.mjs +0 -2
  823. package/esm2022/components/accordion/odx-angular-components-accordion.mjs +0 -5
  824. package/esm2022/components/action-group/action-group.component.mjs +0 -38
  825. package/esm2022/components/action-group/index.mjs +0 -2
  826. package/esm2022/components/action-group/odx-angular-components-action-group.mjs +0 -5
  827. package/esm2022/components/anchor-navigation/anchor-navigation.component.mjs +0 -69
  828. package/esm2022/components/anchor-navigation/anchor-navigation.module.mjs +0 -18
  829. package/esm2022/components/anchor-navigation/anchor-navigation.service.mjs +0 -130
  830. package/esm2022/components/anchor-navigation/components/anchor-navigation-item.component.mjs +0 -32
  831. package/esm2022/components/anchor-navigation/components/index.mjs +0 -2
  832. package/esm2022/components/anchor-navigation/index.mjs +0 -5
  833. package/esm2022/components/anchor-navigation/odx-angular-components-anchor-navigation.mjs +0 -5
  834. package/esm2022/components/area-header/area-header.component.mjs +0 -39
  835. package/esm2022/components/area-header/area-header.module.mjs +0 -47
  836. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +0 -20
  837. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +0 -20
  838. package/esm2022/components/area-header/directives/index.mjs +0 -3
  839. package/esm2022/components/area-header/index.mjs +0 -5
  840. package/esm2022/components/area-header/models/area-header-size.mjs +0 -7
  841. package/esm2022/components/area-header/models/index.mjs +0 -2
  842. package/esm2022/components/area-header/odx-angular-components-area-header.mjs +0 -5
  843. package/esm2022/components/autocomplete/index.mjs +0 -7
  844. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +0 -212
  845. package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +0 -21
  846. package/esm2022/components/autocomplete/lib/autocomplete.tokens.mjs +0 -3
  847. package/esm2022/components/autocomplete/lib/components/index.mjs +0 -2
  848. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +0 -45
  849. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +0 -36
  850. package/esm2022/components/autocomplete/lib/directives/index.mjs +0 -2
  851. package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +0 -16
  852. package/esm2022/components/autocomplete/lib/pipes/index.mjs +0 -2
  853. package/esm2022/components/autocomplete/odx-angular-components-autocomplete.mjs +0 -5
  854. package/esm2022/components/avatar/index.mjs +0 -3
  855. package/esm2022/components/avatar/lib/avatar.component.mjs +0 -48
  856. package/esm2022/components/avatar/lib/models/avatar-size.mjs +0 -6
  857. package/esm2022/components/avatar/lib/models/avatar-variant.mjs +0 -5
  858. package/esm2022/components/avatar/lib/models/index.mjs +0 -3
  859. package/esm2022/components/avatar/odx-angular-components-avatar.mjs +0 -5
  860. package/esm2022/components/badge/index.mjs +0 -4
  861. package/esm2022/components/badge/lib/badge.component.mjs +0 -62
  862. package/esm2022/components/badge/lib/badge.directive.mjs +0 -116
  863. package/esm2022/components/badge/lib/models/badge-variant.mjs +0 -6
  864. package/esm2022/components/badge/lib/models/index.mjs +0 -2
  865. package/esm2022/components/badge/odx-angular-components-badge.mjs +0 -5
  866. package/esm2022/components/bar/index.mjs +0 -6
  867. package/esm2022/components/bar/lib/bar.component.mjs +0 -28
  868. package/esm2022/components/bar/lib/bar.module.mjs +0 -20
  869. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +0 -45
  870. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +0 -27
  871. package/esm2022/components/bar/lib/models/bar-button-variant.mjs +0 -5
  872. package/esm2022/components/bar/odx-angular-components-bar.mjs +0 -5
  873. package/esm2022/components/breadcrumbs/index.mjs +0 -2
  874. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +0 -24
  875. package/esm2022/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +0 -5
  876. package/esm2022/components/button/index.mjs +0 -4
  877. package/esm2022/components/button/lib/button.component.mjs +0 -59
  878. package/esm2022/components/button/lib/directives/index.mjs +0 -2
  879. package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +0 -24
  880. package/esm2022/components/button/lib/models/button-size.mjs +0 -6
  881. package/esm2022/components/button/lib/models/button-variant.mjs +0 -10
  882. package/esm2022/components/button/lib/models/index.mjs +0 -3
  883. package/esm2022/components/button/odx-angular-components-button.mjs +0 -5
  884. package/esm2022/components/button-group/index.mjs +0 -2
  885. package/esm2022/components/button-group/lib/button-group.component.mjs +0 -80
  886. package/esm2022/components/button-group/odx-angular-components-button-group.mjs +0 -5
  887. package/esm2022/components/calendar/index.mjs +0 -10
  888. package/esm2022/components/calendar/lib/calendar.component.mjs +0 -116
  889. package/esm2022/components/calendar/lib/calendar.config.mjs +0 -31
  890. package/esm2022/components/calendar/lib/calendar.service.mjs +0 -111
  891. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +0 -95
  892. package/esm2022/components/calendar/lib/components/calendar-header/index.mjs +0 -2
  893. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +0 -61
  894. package/esm2022/components/calendar/lib/components/calendar-month/index.mjs +0 -2
  895. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +0 -63
  896. package/esm2022/components/calendar/lib/components/calendar-year/index.mjs +0 -2
  897. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +0 -71
  898. package/esm2022/components/calendar/lib/components/calendar-years/index.mjs +0 -2
  899. package/esm2022/components/calendar/lib/components/index.mjs +0 -5
  900. package/esm2022/components/calendar/lib/daterange.service.mjs +0 -76
  901. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +0 -202
  902. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +0 -108
  903. package/esm2022/components/calendar/lib/directives/index.mjs +0 -3
  904. package/esm2022/components/calendar/lib/models/calendar-view.mjs +0 -7
  905. package/esm2022/components/calendar/lib/models/date-filter.mjs +0 -2
  906. package/esm2022/components/calendar/lib/models/date-range.mjs +0 -7
  907. package/esm2022/components/calendar/lib/models/date-type.mjs +0 -2
  908. package/esm2022/components/calendar/lib/models/date-validator.mjs +0 -2
  909. package/esm2022/components/calendar/lib/models/index.mjs +0 -8
  910. package/esm2022/components/calendar/lib/models/selected-date.mjs +0 -5
  911. package/esm2022/components/calendar/lib/models/selection-mode.mjs +0 -6
  912. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +0 -47
  913. package/esm2022/components/calendar/lib/pipes/index.mjs +0 -2
  914. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +0 -38
  915. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +0 -34
  916. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +0 -37
  917. package/esm2022/components/calendar/lib/services/index.mjs +0 -4
  918. package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +0 -29
  919. package/esm2022/components/calendar/lib/utils/check-identical-date.mjs +0 -12
  920. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +0 -13
  921. package/esm2022/components/calendar/lib/utils/index.mjs +0 -10
  922. package/esm2022/components/calendar/lib/utils/is-date-disabled.mjs +0 -11
  923. package/esm2022/components/calendar/lib/utils/parse-date.mjs +0 -16
  924. package/esm2022/components/calendar/lib/utils/validate-daterange.mjs +0 -6
  925. package/esm2022/components/calendar/lib/utils/validate-max-date.mjs +0 -12
  926. package/esm2022/components/calendar/lib/utils/validate-min-date.mjs +0 -12
  927. package/esm2022/components/calendar/lib/utils/validate-next-date-set.mjs +0 -12
  928. package/esm2022/components/calendar/lib/utils/validate-previous-date-set.mjs +0 -12
  929. package/esm2022/components/calendar/odx-angular-components-calendar.mjs +0 -5
  930. package/esm2022/components/card/index.mjs +0 -6
  931. package/esm2022/components/card/lib/card.component.mjs +0 -101
  932. package/esm2022/components/card/lib/card.config.mjs +0 -25
  933. package/esm2022/components/card/lib/card.module.mjs +0 -20
  934. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +0 -16
  935. package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +0 -83
  936. package/esm2022/components/card/lib/components/index.mjs +0 -4
  937. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +0 -16
  938. package/esm2022/components/card/lib/directives/card-content.directive.mjs +0 -20
  939. package/esm2022/components/card/lib/directives/index.mjs +0 -2
  940. package/esm2022/components/card/lib/models/card-variant.mjs +0 -7
  941. package/esm2022/components/card/lib/models/index.mjs +0 -2
  942. package/esm2022/components/card/odx-angular-components-card.mjs +0 -5
  943. package/esm2022/components/checkbox/index.mjs +0 -4
  944. package/esm2022/components/checkbox/lib/checkbox.component.mjs +0 -99
  945. package/esm2022/components/checkbox/lib/checkbox.module.mjs +0 -19
  946. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +0 -51
  947. package/esm2022/components/checkbox/odx-angular-components-checkbox.mjs +0 -5
  948. package/esm2022/components/chip/index.mjs +0 -3
  949. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +0 -78
  950. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +0 -24
  951. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +0 -24
  952. package/esm2022/components/chip/lib/components/index.mjs +0 -4
  953. package/esm2022/components/chip/lib/models/chip-size.mjs +0 -5
  954. package/esm2022/components/chip/lib/models/chip-variant.mjs +0 -9
  955. package/esm2022/components/chip/lib/models/index.mjs +0 -3
  956. package/esm2022/components/chip/odx-angular-components-chip.mjs +0 -5
  957. package/esm2022/components/circular-progress/index.mjs +0 -3
  958. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +0 -124
  959. package/esm2022/components/circular-progress/lib/models/circular-progress-size.mjs +0 -7
  960. package/esm2022/components/circular-progress/lib/models/index.mjs +0 -2
  961. package/esm2022/components/circular-progress/odx-angular-components-circular-progress.mjs +0 -5
  962. package/esm2022/components/content-box/index.mjs +0 -4
  963. package/esm2022/components/content-box/lib/content-box.component.mjs +0 -16
  964. package/esm2022/components/content-box/lib/content-box.module.mjs +0 -19
  965. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +0 -20
  966. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +0 -20
  967. package/esm2022/components/content-box/lib/directives/index.mjs +0 -3
  968. package/esm2022/components/content-box/odx-angular-components-content-box.mjs +0 -5
  969. package/esm2022/components/data-table/index.mjs +0 -5
  970. package/esm2022/components/data-table/lib/data-table.component.mjs +0 -51
  971. package/esm2022/components/data-table/lib/data-table.module.mjs +0 -19
  972. package/esm2022/components/data-table/lib/directives/cell-def.directive.mjs +0 -17
  973. package/esm2022/components/data-table/lib/directives/cell.directive.mjs +0 -18
  974. package/esm2022/components/data-table/lib/directives/column-def.directive.mjs +0 -27
  975. package/esm2022/components/data-table/lib/directives/header-cell-def.directive.mjs +0 -17
  976. package/esm2022/components/data-table/lib/directives/header-cell.directive.mjs +0 -18
  977. package/esm2022/components/data-table/lib/directives/index.mjs +0 -7
  978. package/esm2022/components/data-table/lib/directives/table-empty.directive.mjs +0 -11
  979. package/esm2022/components/data-table/lib/models/index.mjs +0 -15
  980. package/esm2022/components/data-table/lib/models/table-variant.mjs +0 -5
  981. package/esm2022/components/data-table/odx-angular-components-data-table.mjs +0 -5
  982. package/esm2022/components/datepicker/index.mjs +0 -7
  983. package/esm2022/components/datepicker/lib/datepicker.component.mjs +0 -208
  984. package/esm2022/components/datepicker/lib/datepicker.config.mjs +0 -52
  985. package/esm2022/components/datepicker/lib/datepicker.module.mjs +0 -21
  986. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +0 -86
  987. package/esm2022/components/datepicker/lib/directives/index.mjs +0 -2
  988. package/esm2022/components/datepicker/lib/validators/filter.validator.mjs +0 -49
  989. package/esm2022/components/datepicker/lib/validators/minmax.validator.mjs +0 -60
  990. package/esm2022/components/datepicker/odx-angular-components-datepicker.mjs +0 -5
  991. package/esm2022/components/daterangepicker/index.mjs +0 -7
  992. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +0 -277
  993. package/esm2022/components/daterangepicker/lib/daterangepicker.config.mjs +0 -52
  994. package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +0 -21
  995. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +0 -82
  996. package/esm2022/components/daterangepicker/lib/directives/index.mjs +0 -2
  997. package/esm2022/components/daterangepicker/lib/range.validator.mjs +0 -52
  998. package/esm2022/components/daterangepicker/lib/required.validator.mjs +0 -48
  999. package/esm2022/components/daterangepicker/odx-angular-components-daterangepicker.mjs +0 -5
  1000. package/esm2022/components/dropdown/index.mjs +0 -6
  1001. package/esm2022/components/dropdown/lib/dropdown.component.mjs +0 -47
  1002. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +0 -238
  1003. package/esm2022/components/dropdown/lib/dropdown.module.mjs +0 -18
  1004. package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +0 -11
  1005. package/esm2022/components/dropdown/lib/helpers/index.mjs +0 -2
  1006. package/esm2022/components/dropdown/lib/models/close-dropdown-event.mjs +0 -7
  1007. package/esm2022/components/dropdown/lib/models/dropdown-options.mjs +0 -9
  1008. package/esm2022/components/dropdown/lib/models/index.mjs +0 -3
  1009. package/esm2022/components/dropdown/odx-angular-components-dropdown.mjs +0 -5
  1010. package/esm2022/components/error-page/index.mjs +0 -3
  1011. package/esm2022/components/error-page/lib/error-page.component.mjs +0 -37
  1012. package/esm2022/components/error-page/lib/error-page.config.mjs +0 -18
  1013. package/esm2022/components/error-page/odx-angular-components-error-page.mjs +0 -5
  1014. package/esm2022/components/footer/index.mjs +0 -4
  1015. package/esm2022/components/footer/lib/footer.component.mjs +0 -58
  1016. package/esm2022/components/footer/lib/footer.config.mjs +0 -31
  1017. package/esm2022/components/footer/lib/footer.i18n.mjs +0 -19
  1018. package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +0 -24
  1019. package/esm2022/components/footer/lib/helpers/index.mjs +0 -2
  1020. package/esm2022/components/footer/lib/models/footer-link.mjs +0 -2
  1021. package/esm2022/components/footer/lib/models/footer-variant.mjs +0 -5
  1022. package/esm2022/components/footer/lib/models/index.mjs +0 -3
  1023. package/esm2022/components/footer/odx-angular-components-footer.mjs +0 -5
  1024. package/esm2022/components/form-field/index.mjs +0 -8
  1025. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +0 -37
  1026. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +0 -49
  1027. package/esm2022/components/form-field/lib/components/index.mjs +0 -3
  1028. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +0 -80
  1029. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +0 -28
  1030. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +0 -26
  1031. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +0 -27
  1032. package/esm2022/components/form-field/lib/directives/form.directive.mjs +0 -46
  1033. package/esm2022/components/form-field/lib/directives/index.mjs +0 -6
  1034. package/esm2022/components/form-field/lib/form-field.component.mjs +0 -93
  1035. package/esm2022/components/form-field/lib/form-field.config.mjs +0 -7
  1036. package/esm2022/components/form-field/lib/form-field.module.mjs +0 -41
  1037. package/esm2022/components/form-field/lib/form-field.service.mjs +0 -117
  1038. package/esm2022/components/form-field/lib/models/form-field-error-resolver.mjs +0 -2
  1039. package/esm2022/components/form-field/lib/models/form-field-error.mjs +0 -2
  1040. package/esm2022/components/form-field/lib/models/form-field-variant.mjs +0 -6
  1041. package/esm2022/components/form-field/lib/models/index.mjs +0 -4
  1042. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +0 -88
  1043. package/esm2022/components/form-field/lib/services/index.mjs +0 -2
  1044. package/esm2022/components/form-field/odx-angular-components-form-field.mjs +0 -5
  1045. package/esm2022/components/header/index.mjs +0 -4
  1046. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +0 -28
  1047. package/esm2022/components/header/lib/directives/header-title.directive.mjs +0 -20
  1048. package/esm2022/components/header/lib/directives/index.mjs +0 -3
  1049. package/esm2022/components/header/lib/header.component.mjs +0 -25
  1050. package/esm2022/components/header/lib/header.module.mjs +0 -51
  1051. package/esm2022/components/header/odx-angular-components-header.mjs +0 -5
  1052. package/esm2022/components/header-navigation/index.mjs +0 -4
  1053. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +0 -40
  1054. package/esm2022/components/header-navigation/lib/directives/index.mjs +0 -2
  1055. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +0 -32
  1056. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +0 -19
  1057. package/esm2022/components/header-navigation/odx-angular-components-header-navigation.mjs +0 -5
  1058. package/esm2022/components/icon/index.mjs +0 -5
  1059. package/esm2022/components/icon/lib/helpers/index.mjs +0 -2
  1060. package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +0 -38
  1061. package/esm2022/components/icon/lib/icon.component.mjs +0 -101
  1062. package/esm2022/components/icon/lib/icon.config.mjs +0 -25
  1063. package/esm2022/components/icon/lib/models/icon-set.mjs +0 -7
  1064. package/esm2022/components/icon/lib/models/icon-size.mjs +0 -8
  1065. package/esm2022/components/icon/lib/models/index.mjs +0 -3
  1066. package/esm2022/components/icon/odx-angular-components-icon.mjs +0 -5
  1067. package/esm2022/components/inline-message/index.mjs +0 -3
  1068. package/esm2022/components/inline-message/lib/inline-message.component.mjs +0 -59
  1069. package/esm2022/components/inline-message/lib/models/index.mjs +0 -2
  1070. package/esm2022/components/inline-message/lib/models/inline-message-variant.mjs +0 -7
  1071. package/esm2022/components/inline-message/odx-angular-components-inline-message.mjs +0 -5
  1072. package/esm2022/components/link/index.mjs +0 -2
  1073. package/esm2022/components/link/link.directive.mjs +0 -30
  1074. package/esm2022/components/link/odx-angular-components-link.mjs +0 -5
  1075. package/esm2022/components/list/index.mjs +0 -5
  1076. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +0 -47
  1077. package/esm2022/components/list/lib/components/index.mjs +0 -3
  1078. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +0 -88
  1079. package/esm2022/components/list/lib/list.component.mjs +0 -29
  1080. package/esm2022/components/list/lib/list.module.mjs +0 -19
  1081. package/esm2022/components/list/lib/models/index.mjs +0 -2
  1082. package/esm2022/components/list/lib/models/list-item-variant.mjs +0 -6
  1083. package/esm2022/components/list/odx-angular-components-list.mjs +0 -5
  1084. package/esm2022/components/loading-spinner/index.mjs +0 -4
  1085. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +0 -69
  1086. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +0 -116
  1087. package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +0 -19
  1088. package/esm2022/components/loading-spinner/odx-angular-components-loading-spinner.mjs +0 -5
  1089. package/esm2022/components/logo/index.mjs +0 -3
  1090. package/esm2022/components/logo/logo.directive.mjs +0 -61
  1091. package/esm2022/components/logo/models/index.mjs +0 -3
  1092. package/esm2022/components/logo/models/logo-size.mjs +0 -6
  1093. package/esm2022/components/logo/models/logo-variant.mjs +0 -5
  1094. package/esm2022/components/logo/odx-angular-components-logo.mjs +0 -5
  1095. package/esm2022/components/main-menu/index.mjs +0 -5
  1096. package/esm2022/components/main-menu/lib/directives/index.mjs +0 -4
  1097. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +0 -36
  1098. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +0 -27
  1099. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +0 -55
  1100. package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +0 -17
  1101. package/esm2022/components/main-menu/lib/helpers/index.mjs +0 -2
  1102. package/esm2022/components/main-menu/lib/main-menu.component.mjs +0 -125
  1103. package/esm2022/components/main-menu/lib/main-menu.config.mjs +0 -37
  1104. package/esm2022/components/main-menu/lib/main-menu.i18n.mjs +0 -19
  1105. package/esm2022/components/main-menu/lib/main-menu.module.mjs +0 -20
  1106. package/esm2022/components/main-menu/lib/main-menu.service.mjs +0 -56
  1107. package/esm2022/components/main-menu/lib/models/index.mjs +0 -2
  1108. package/esm2022/components/main-menu/lib/models/main-menu-link.mjs +0 -2
  1109. package/esm2022/components/main-menu/odx-angular-components-main-menu.mjs +0 -5
  1110. package/esm2022/components/mainfilter-group/index.mjs +0 -2
  1111. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +0 -25
  1112. package/esm2022/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +0 -5
  1113. package/esm2022/components/menu/index.mjs +0 -5
  1114. package/esm2022/components/menu/lib/directives/index.mjs +0 -2
  1115. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +0 -43
  1116. package/esm2022/components/menu/lib/menu.component.mjs +0 -56
  1117. package/esm2022/components/menu/lib/menu.directive.mjs +0 -76
  1118. package/esm2022/components/menu/lib/menu.module.mjs +0 -21
  1119. package/esm2022/components/menu/odx-angular-components-menu.mjs +0 -5
  1120. package/esm2022/components/modal/index.mjs +0 -10
  1121. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +0 -51
  1122. package/esm2022/components/modal/lib/components/index.mjs +0 -5
  1123. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +0 -24
  1124. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +0 -42
  1125. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +0 -55
  1126. package/esm2022/components/modal/lib/directives/index.mjs +0 -6
  1127. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +0 -58
  1128. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +0 -27
  1129. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +0 -41
  1130. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +0 -23
  1131. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +0 -23
  1132. package/esm2022/components/modal/lib/helpers/index.mjs +0 -3
  1133. package/esm2022/components/modal/lib/helpers/inject-modal-ref.mjs +0 -27
  1134. package/esm2022/components/modal/lib/helpers/provide-modal-ref.mjs +0 -14
  1135. package/esm2022/components/modal/lib/modal.component.mjs +0 -98
  1136. package/esm2022/components/modal/lib/modal.config.mjs +0 -44
  1137. package/esm2022/components/modal/lib/modal.directive.mjs +0 -75
  1138. package/esm2022/components/modal/lib/modal.module.mjs +0 -55
  1139. package/esm2022/components/modal/lib/modal.service.mjs +0 -123
  1140. package/esm2022/components/modal/lib/models/basic-modal-options.mjs +0 -2
  1141. package/esm2022/components/modal/lib/models/index.mjs +0 -8
  1142. package/esm2022/components/modal/lib/models/modal-hero-variant.mjs +0 -7
  1143. package/esm2022/components/modal/lib/models/modal-options.mjs +0 -2
  1144. package/esm2022/components/modal/lib/models/modal-ref.mjs +0 -99
  1145. package/esm2022/components/modal/lib/models/modal-size.mjs +0 -7
  1146. package/esm2022/components/modal/lib/models/modal-type.mjs +0 -2
  1147. package/esm2022/components/modal/lib/models/modal-variant.mjs +0 -5
  1148. package/esm2022/components/modal/odx-angular-components-modal.mjs +0 -5
  1149. package/esm2022/components/navigation-back/index.mjs +0 -2
  1150. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +0 -25
  1151. package/esm2022/components/navigation-back/odx-angular-components-navigation-back.mjs +0 -5
  1152. package/esm2022/components/notification/index.mjs +0 -8
  1153. package/esm2022/components/notification/lib/components/index.mjs +0 -3
  1154. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +0 -61
  1155. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +0 -66
  1156. package/esm2022/components/notification/lib/directives/index.mjs +0 -2
  1157. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +0 -159
  1158. package/esm2022/components/notification/lib/features/index.mjs +0 -6
  1159. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +0 -73
  1160. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +0 -45
  1161. package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +0 -34
  1162. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +0 -92
  1163. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +0 -44
  1164. package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +0 -8
  1165. package/esm2022/components/notification/lib/helpers/index.mjs +0 -4
  1166. package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +0 -11
  1167. package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +0 -10
  1168. package/esm2022/components/notification/lib/models/index.mjs +0 -9
  1169. package/esm2022/components/notification/lib/models/notification-action.mjs +0 -2
  1170. package/esm2022/components/notification/lib/models/notification-collection.mjs +0 -2
  1171. package/esm2022/components/notification/lib/models/notification-feature.mjs +0 -19
  1172. package/esm2022/components/notification/lib/models/notification-options.mjs +0 -2
  1173. package/esm2022/components/notification/lib/models/notification-query.mjs +0 -2
  1174. package/esm2022/components/notification/lib/models/notification-sort-fn.mjs +0 -2
  1175. package/esm2022/components/notification/lib/models/notification.mjs +0 -2
  1176. package/esm2022/components/notification/lib/models/notification.ref.mjs +0 -2
  1177. package/esm2022/components/notification/lib/notification.config.mjs +0 -55
  1178. package/esm2022/components/notification/lib/notification.i18n.mjs +0 -11
  1179. package/esm2022/components/notification/lib/notification.logger.mjs +0 -4
  1180. package/esm2022/components/notification/lib/notification.service.mjs +0 -223
  1181. package/esm2022/components/notification/lib/notification.tokens.mjs +0 -10
  1182. package/esm2022/components/notification/lib/services/index.mjs +0 -2
  1183. package/esm2022/components/notification/lib/services/notification-center.service.mjs +0 -105
  1184. package/esm2022/components/notification/odx-angular-components-notification.mjs +0 -5
  1185. package/esm2022/components/notification/testing/index.mjs +0 -2
  1186. package/esm2022/components/notification/testing/lib/test-helpers.mjs +0 -33
  1187. package/esm2022/components/notification/testing/odx-angular-components-notification-testing.mjs +0 -5
  1188. package/esm2022/components/paginator/index.mjs +0 -6
  1189. package/esm2022/components/paginator/lib/interfaces/index.mjs +0 -2
  1190. package/esm2022/components/paginator/lib/interfaces/page-change.interface.mjs +0 -2
  1191. package/esm2022/components/paginator/lib/models/get-range-content.model.mjs +0 -2
  1192. package/esm2022/components/paginator/lib/models/get-summary-content.model.mjs +0 -2
  1193. package/esm2022/components/paginator/lib/models/index.mjs +0 -3
  1194. package/esm2022/components/paginator/lib/paginator.component.mjs +0 -277
  1195. package/esm2022/components/paginator/lib/paginator.config.mjs +0 -48
  1196. package/esm2022/components/paginator/lib/paginator.module.mjs +0 -17
  1197. package/esm2022/components/paginator/odx-angular-components-paginator.mjs +0 -5
  1198. package/esm2022/components/progress/index.mjs +0 -2
  1199. package/esm2022/components/progress/lib/progress.component.mjs +0 -70
  1200. package/esm2022/components/progress/odx-angular-components-progress.mjs +0 -5
  1201. package/esm2022/components/radio-group/index.mjs +0 -4
  1202. package/esm2022/components/radio-group/lib/components/index.mjs +0 -2
  1203. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +0 -59
  1204. package/esm2022/components/radio-group/lib/radio-group.component.mjs +0 -64
  1205. package/esm2022/components/radio-group/lib/radio-group.module.mjs +0 -19
  1206. package/esm2022/components/radio-group/odx-angular-components-radio-group.mjs +0 -5
  1207. package/esm2022/components/rail-navigation/index.mjs +0 -5
  1208. package/esm2022/components/rail-navigation/lib/components/index.mjs +0 -2
  1209. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +0 -60
  1210. package/esm2022/components/rail-navigation/lib/models/index.mjs +0 -2
  1211. package/esm2022/components/rail-navigation/lib/models/rail-navigation-variant.mjs +0 -5
  1212. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +0 -85
  1213. package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +0 -19
  1214. package/esm2022/components/rail-navigation/odx-angular-components-rail-navigation.mjs +0 -5
  1215. package/esm2022/components/rich-list/index.mjs +0 -4
  1216. package/esm2022/components/rich-list/lib/components/index.mjs +0 -4
  1217. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +0 -31
  1218. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +0 -83
  1219. package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +0 -27
  1220. package/esm2022/components/rich-list/lib/rich-list.component.mjs +0 -45
  1221. package/esm2022/components/rich-list/lib/rich-list.module.mjs +0 -20
  1222. package/esm2022/components/rich-list/odx-angular-components-rich-list.mjs +0 -5
  1223. package/esm2022/components/search-bar/index.mjs +0 -4
  1224. package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +0 -21
  1225. package/esm2022/components/search-bar/lib/search-bar.component.mjs +0 -17
  1226. package/esm2022/components/search-bar/lib/search-bar.module.mjs +0 -19
  1227. package/esm2022/components/search-bar/odx-angular-components-search-bar.mjs +0 -5
  1228. package/esm2022/components/select/index.mjs +0 -7
  1229. package/esm2022/components/select/lib/components/index.mjs +0 -2
  1230. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +0 -114
  1231. package/esm2022/components/select/lib/directives/index.mjs +0 -3
  1232. package/esm2022/components/select/lib/directives/select-all.directive.mjs +0 -33
  1233. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +0 -61
  1234. package/esm2022/components/select/lib/pipes/index.mjs +0 -2
  1235. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +0 -26
  1236. package/esm2022/components/select/lib/select.component.mjs +0 -344
  1237. package/esm2022/components/select/lib/select.module.mjs +0 -21
  1238. package/esm2022/components/select/lib/select.tokens.mjs +0 -3
  1239. package/esm2022/components/select/odx-angular-components-select.mjs +0 -5
  1240. package/esm2022/components/slider/index.mjs +0 -2
  1241. package/esm2022/components/slider/lib/slider.directive.mjs +0 -64
  1242. package/esm2022/components/slider/odx-angular-components-slider.mjs +0 -5
  1243. package/esm2022/components/spinbox/index.mjs +0 -2
  1244. package/esm2022/components/spinbox/lib/spinbox.component.mjs +0 -143
  1245. package/esm2022/components/spinbox/odx-angular-components-spinbox.mjs +0 -5
  1246. package/esm2022/components/switch/index.mjs +0 -4
  1247. package/esm2022/components/switch/lib/switch.component.mjs +0 -34
  1248. package/esm2022/components/switch/lib/switch.module.mjs +0 -19
  1249. package/esm2022/components/switch/lib/switch.validator.mjs +0 -40
  1250. package/esm2022/components/switch/odx-angular-components-switch.mjs +0 -5
  1251. package/esm2022/components/tab-bar/index.mjs +0 -5
  1252. package/esm2022/components/tab-bar/lib/components/index.mjs +0 -2
  1253. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +0 -98
  1254. package/esm2022/components/tab-bar/lib/models/index.mjs +0 -2
  1255. package/esm2022/components/tab-bar/lib/models/tab-change-event.mjs +0 -2
  1256. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +0 -145
  1257. package/esm2022/components/tab-bar/lib/tab-bar.config.mjs +0 -3
  1258. package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +0 -19
  1259. package/esm2022/components/tab-bar/odx-angular-components-tab-bar.mjs +0 -5
  1260. package/esm2022/components/table/index.mjs +0 -6
  1261. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +0 -52
  1262. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +0 -127
  1263. package/esm2022/components/table/lib/components/index.mjs +0 -3
  1264. package/esm2022/components/table/lib/directives/index.mjs +0 -3
  1265. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +0 -31
  1266. package/esm2022/components/table/lib/directives/table-row.directive.mjs +0 -32
  1267. package/esm2022/components/table/lib/models/header-cell.mjs +0 -2
  1268. package/esm2022/components/table/lib/models/index.mjs +0 -6
  1269. package/esm2022/components/table/lib/models/sort-status.mjs +0 -2
  1270. package/esm2022/components/table/lib/models/sort-variant.mjs +0 -16
  1271. package/esm2022/components/table/lib/models/table-body-cell.mjs +0 -2
  1272. package/esm2022/components/table/lib/models/table-variant.mjs +0 -5
  1273. package/esm2022/components/table/lib/table.component.mjs +0 -119
  1274. package/esm2022/components/table/lib/table.config.mjs +0 -3
  1275. package/esm2022/components/table/lib/table.module.mjs +0 -21
  1276. package/esm2022/components/table/odx-angular-components-table.mjs +0 -5
  1277. package/esm2022/components/timepicker/index.mjs +0 -8
  1278. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +0 -86
  1279. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +0 -87
  1280. package/esm2022/components/timepicker/lib/timepicker.component.mjs +0 -270
  1281. package/esm2022/components/timepicker/lib/timepicker.module.mjs +0 -20
  1282. package/esm2022/components/timepicker/lib/timepicker.service.mjs +0 -134
  1283. package/esm2022/components/timepicker/lib/timepicker.token.mjs +0 -9
  1284. package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +0 -54
  1285. package/esm2022/components/timepicker/lib/utils/index.mjs +0 -3
  1286. package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +0 -34
  1287. package/esm2022/components/timepicker/odx-angular-components-timepicker.mjs +0 -5
  1288. package/esm2022/components/toast/index.mjs +0 -6
  1289. package/esm2022/components/toast/lib/components/index.mjs +0 -3
  1290. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +0 -111
  1291. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +0 -99
  1292. package/esm2022/components/toast/lib/models/index.mjs +0 -6
  1293. package/esm2022/components/toast/lib/models/toast-action.mjs +0 -2
  1294. package/esm2022/components/toast/lib/models/toast-ref.mjs +0 -2
  1295. package/esm2022/components/toast/lib/models/toast-variant.mjs +0 -9
  1296. package/esm2022/components/toast/lib/models/toast.mjs +0 -2
  1297. package/esm2022/components/toast/lib/models/toast.options.mjs +0 -2
  1298. package/esm2022/components/toast/lib/toast.config.mjs +0 -32
  1299. package/esm2022/components/toast/lib/toast.module.mjs +0 -18
  1300. package/esm2022/components/toast/lib/toast.service.mjs +0 -115
  1301. package/esm2022/components/toast/odx-angular-components-toast.mjs +0 -5
  1302. package/esm2022/components/toggle-button-group/index.mjs +0 -4
  1303. package/esm2022/components/toggle-button-group/lib/components/index.mjs +0 -2
  1304. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +0 -46
  1305. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +0 -74
  1306. package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +0 -19
  1307. package/esm2022/components/toggle-button-group/odx-angular-components-toggle-button-group.mjs +0 -5
  1308. package/esm2022/components/tooltip/index.mjs +0 -8
  1309. package/esm2022/components/tooltip/lib/directives/index.mjs +0 -3
  1310. package/esm2022/components/tooltip/lib/directives/tooltip-disabled-focusable.directive.mjs +0 -47
  1311. package/esm2022/components/tooltip/lib/helpers/index.mjs +0 -2
  1312. package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +0 -16
  1313. package/esm2022/components/tooltip/lib/models/index.mjs +0 -4
  1314. package/esm2022/components/tooltip/lib/models/tooltip-options.mjs +0 -10
  1315. package/esm2022/components/tooltip/lib/models/tooltip-size.mjs +0 -7
  1316. package/esm2022/components/tooltip/lib/models/tooltip-trigger.mjs +0 -2
  1317. package/esm2022/components/tooltip/lib/tooltip.component.mjs +0 -62
  1318. package/esm2022/components/tooltip/lib/tooltip.config.mjs +0 -32
  1319. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +0 -189
  1320. package/esm2022/components/tooltip/odx-angular-components-tooltip.mjs +0 -5
  1321. package/esm2022/components/wizard/index.mjs +0 -4
  1322. package/esm2022/components/wizard/lib/components/index.mjs +0 -2
  1323. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +0 -124
  1324. package/esm2022/components/wizard/lib/wizard.component.mjs +0 -224
  1325. package/esm2022/components/wizard/lib/wizard.module.mjs +0 -19
  1326. package/esm2022/components/wizard/odx-angular-components-wizard.mjs +0 -5
  1327. package/esm2022/index.mjs +0 -7
  1328. package/esm2022/internal/index.mjs +0 -4
  1329. package/esm2022/internal/lib/decorators/css-component.mjs +0 -19
  1330. package/esm2022/internal/lib/decorators/css-modifier.mjs +0 -49
  1331. package/esm2022/internal/lib/decorators/index.mjs +0 -3
  1332. package/esm2022/internal/lib/helpers/camel-to-kebab-case.mjs +0 -12
  1333. package/esm2022/internal/lib/helpers/decorator-property-name.mjs +0 -12
  1334. package/esm2022/internal/lib/helpers/deepmerge.mjs +0 -6
  1335. package/esm2022/internal/lib/helpers/fast-equals.mjs +0 -3
  1336. package/esm2022/internal/lib/helpers/get-css-variables.mjs +0 -22
  1337. package/esm2022/internal/lib/helpers/get-enum-values.mjs +0 -6
  1338. package/esm2022/internal/lib/helpers/index.mjs +0 -8
  1339. package/esm2022/internal/lib/helpers/toggle-form-disabled-state.mjs +0 -6
  1340. package/esm2022/internal/lib/logger.mjs +0 -42
  1341. package/esm2022/internal/odx-angular-internal.mjs +0 -5
  1342. package/esm2022/internal/translate/index.mjs +0 -5
  1343. package/esm2022/internal/translate/lib/models/index.mjs +0 -2
  1344. package/esm2022/internal/translate/lib/models/translation-object.mjs +0 -2
  1345. package/esm2022/internal/translate/lib/pipes/index.mjs +0 -2
  1346. package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +0 -22
  1347. package/esm2022/internal/translate/lib/translate.config.mjs +0 -39
  1348. package/esm2022/internal/translate/lib/translate.service.mjs +0 -56
  1349. package/esm2022/internal/translate/odx-angular-internal-translate.mjs +0 -5
  1350. package/esm2022/lib/controllers/controller.mjs +0 -64
  1351. package/esm2022/lib/controllers/disabled.controller.mjs +0 -134
  1352. package/esm2022/lib/controllers/index.mjs +0 -4
  1353. package/esm2022/lib/controllers/readonly.controller.mjs +0 -135
  1354. package/esm2022/lib/core.module.mjs +0 -19
  1355. package/esm2022/lib/directives/click-outside.directive.mjs +0 -102
  1356. package/esm2022/lib/directives/delegate-focus.directive.mjs +0 -54
  1357. package/esm2022/lib/directives/index.mjs +0 -5
  1358. package/esm2022/lib/directives/with-disabled-state.directive.mjs +0 -41
  1359. package/esm2022/lib/directives/with-tabindex.directive.mjs +0 -24
  1360. package/esm2022/lib/models/environment.mjs +0 -6
  1361. package/esm2022/lib/models/index.mjs +0 -2
  1362. package/esm2022/lib/services/index.mjs +0 -2
  1363. package/esm2022/lib/services/window-ref.mjs +0 -157
  1364. package/esm2022/lib/tokens/identity-matcher.mjs +0 -31
  1365. package/esm2022/lib/tokens/index.mjs +0 -4
  1366. package/esm2022/lib/tokens/string-search-handler.mjs +0 -33
  1367. package/esm2022/lib/tokens/stringify.mjs +0 -33
  1368. package/esm2022/localization/index.mjs +0 -6
  1369. package/esm2022/localization/lib/features/index.mjs +0 -3
  1370. package/esm2022/localization/lib/features/with-http-language-header.mjs +0 -76
  1371. package/esm2022/localization/lib/features/with-http-language-query-param.mjs +0 -74
  1372. package/esm2022/localization/lib/loaders/browser-language-loader.mjs +0 -38
  1373. package/esm2022/localization/lib/loaders/index.mjs +0 -2
  1374. package/esm2022/localization/lib/localization.config.mjs +0 -90
  1375. package/esm2022/localization/lib/localization.logger.mjs +0 -3
  1376. package/esm2022/localization/lib/localization.service.mjs +0 -101
  1377. package/esm2022/localization/lib/models/index.mjs +0 -3
  1378. package/esm2022/localization/lib/models/language-loader-fn.mjs +0 -2
  1379. package/esm2022/localization/lib/models/localization-feature.mjs +0 -11
  1380. package/esm2022/localization/odx-angular-localization.mjs +0 -5
  1381. package/esm2022/odx-angular.mjs +0 -5
  1382. package/esm2022/rxjs/index.mjs +0 -6
  1383. package/esm2022/rxjs/lib/delay-until.mjs +0 -27
  1384. package/esm2022/rxjs/lib/from-element-mutation.mjs +0 -31
  1385. package/esm2022/rxjs/lib/from-element-resize.mjs +0 -38
  1386. package/esm2022/rxjs/lib/from-events.mjs +0 -29
  1387. package/esm2022/rxjs/lib/from-query-list.mjs +0 -24
  1388. package/esm2022/rxjs/odx-angular-rxjs.mjs +0 -5
  1389. package/esm2022/sdk/index.mjs +0 -2
  1390. package/esm2022/sdk/lib/application-environment.mjs +0 -85
  1391. package/esm2022/sdk/odx-angular-sdk.mjs +0 -5
  1392. package/esm2022/theming/index.mjs +0 -5
  1393. package/esm2022/theming/lib/helpers/index.mjs +0 -4
  1394. package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +0 -22
  1395. package/esm2022/theming/lib/helpers/resolve-theme.mjs +0 -30
  1396. package/esm2022/theming/lib/helpers/theme-storage.mjs +0 -61
  1397. package/esm2022/theming/lib/models/index.mjs +0 -2
  1398. package/esm2022/theming/lib/models/theme.mjs +0 -6
  1399. package/esm2022/theming/lib/theming.config.mjs +0 -54
  1400. package/esm2022/theming/lib/theming.service.mjs +0 -90
  1401. package/esm2022/theming/odx-angular-theming.mjs +0 -5
  1402. package/esm2022/utils/index.mjs +0 -4
  1403. package/esm2022/utils/lib/decorators/index.mjs +0 -2
  1404. package/esm2022/utils/lib/decorators/pure.mjs +0 -88
  1405. package/esm2022/utils/lib/helpers/angular.mjs +0 -74
  1406. package/esm2022/utils/lib/helpers/animations-handler.mjs +0 -20
  1407. package/esm2022/utils/lib/helpers/array.mjs +0 -51
  1408. package/esm2022/utils/lib/helpers/build-url.mjs +0 -24
  1409. package/esm2022/utils/lib/helpers/build-website-url.mjs +0 -30
  1410. package/esm2022/utils/lib/helpers/cache-storage-client.mjs +0 -104
  1411. package/esm2022/utils/lib/helpers/coercion.mjs +0 -23
  1412. package/esm2022/utils/lib/helpers/debounce.mjs +0 -48
  1413. package/esm2022/utils/lib/helpers/defer-fn.mjs +0 -24
  1414. package/esm2022/utils/lib/helpers/dom.mjs +0 -135
  1415. package/esm2022/utils/lib/helpers/event-manager.mjs +0 -49
  1416. package/esm2022/utils/lib/helpers/get-axis.mjs +0 -34
  1417. package/esm2022/utils/lib/helpers/get-language-code.mjs +0 -22
  1418. package/esm2022/utils/lib/helpers/get-opposite-side.mjs +0 -36
  1419. package/esm2022/utils/lib/helpers/get-side.mjs +0 -21
  1420. package/esm2022/utils/lib/helpers/get-unique-id.mjs +0 -42
  1421. package/esm2022/utils/lib/helpers/index.mjs +0 -24
  1422. package/esm2022/utils/lib/helpers/match-url.mjs +0 -48
  1423. package/esm2022/utils/lib/helpers/ng-changes.mjs +0 -43
  1424. package/esm2022/utils/lib/helpers/provide-config.mjs +0 -93
  1425. package/esm2022/utils/lib/helpers/queue.mjs +0 -185
  1426. package/esm2022/utils/lib/helpers/sorter.mjs +0 -91
  1427. package/esm2022/utils/lib/helpers/type-guards.mjs +0 -86
  1428. package/esm2022/utils/lib/helpers/until-destroyed.mjs +0 -45
  1429. package/esm2022/utils/lib/types/axis.mjs +0 -5
  1430. package/esm2022/utils/lib/types/get-properties.mjs +0 -2
  1431. package/esm2022/utils/lib/types/index.mjs +0 -5
  1432. package/esm2022/utils/lib/types/position.mjs +0 -15
  1433. package/esm2022/utils/lib/types/side.mjs +0 -7
  1434. package/esm2022/utils/odx-angular-utils.mjs +0 -5
  1435. package/internal/lib/decorators/css-component.d.ts +0 -8
  1436. package/internal/lib/decorators/css-modifier.d.ts +0 -9
  1437. package/internal/lib/decorators/index.d.ts +0 -2
  1438. package/internal/lib/helpers/camel-to-kebab-case.d.ts +0 -2
  1439. package/internal/lib/helpers/decorator-property-name.d.ts +0 -9
  1440. package/internal/lib/helpers/deepmerge.d.ts +0 -11
  1441. package/internal/lib/helpers/fast-equals.d.ts +0 -1
  1442. package/internal/lib/helpers/get-css-variables.d.ts +0 -7
  1443. package/internal/lib/helpers/get-enum-values.d.ts +0 -4
  1444. package/internal/lib/helpers/index.d.ts +0 -7
  1445. package/internal/lib/helpers/toggle-form-disabled-state.d.ts +0 -3
  1446. package/internal/lib/logger.d.ts +0 -15
  1447. package/internal/translate/lib/models/index.d.ts +0 -1
  1448. package/internal/translate/lib/models/translation-object.d.ts +0 -1
  1449. package/internal/translate/lib/pipes/index.d.ts +0 -1
  1450. package/internal/translate/lib/pipes/translate.pipe.d.ts +0 -9
  1451. package/internal/translate/lib/translate.config.d.ts +0 -37
  1452. package/internal/translate/lib/translate.service.d.ts +0 -38
  1453. package/lib/controllers/controller.d.ts +0 -39
  1454. package/lib/controllers/disabled.controller.d.ts +0 -85
  1455. package/lib/controllers/index.d.ts +0 -3
  1456. package/lib/controllers/readonly.controller.d.ts +0 -78
  1457. package/lib/core.module.d.ts +0 -10
  1458. package/lib/directives/click-outside.directive.d.ts +0 -50
  1459. package/lib/directives/delegate-focus.directive.d.ts +0 -25
  1460. package/lib/directives/index.d.ts +0 -4
  1461. package/lib/directives/with-disabled-state.directive.d.ts +0 -13
  1462. package/lib/directives/with-tabindex.directive.d.ts +0 -10
  1463. package/lib/models/environment.d.ts +0 -6
  1464. package/lib/models/index.d.ts +0 -1
  1465. package/lib/services/index.d.ts +0 -1
  1466. package/lib/services/window-ref.d.ts +0 -105
  1467. package/lib/tokens/identity-matcher.d.ts +0 -44
  1468. package/lib/tokens/index.d.ts +0 -3
  1469. package/lib/tokens/string-search-handler.d.ts +0 -42
  1470. package/lib/tokens/stringify.d.ts +0 -45
  1471. package/localization/lib/features/index.d.ts +0 -2
  1472. package/localization/lib/features/with-http-language-header.d.ts +0 -72
  1473. package/localization/lib/features/with-http-language-query-param.d.ts +0 -70
  1474. package/localization/lib/loaders/browser-language-loader.d.ts +0 -34
  1475. package/localization/lib/loaders/index.d.ts +0 -1
  1476. package/localization/lib/localization.config.d.ts +0 -90
  1477. package/localization/lib/localization.logger.d.ts +0 -3
  1478. package/localization/lib/localization.service.d.ts +0 -56
  1479. package/localization/lib/models/index.d.ts +0 -2
  1480. package/localization/lib/models/language-loader-fn.d.ts +0 -2
  1481. package/localization/lib/models/localization-feature.d.ts +0 -12
  1482. package/rxjs/lib/delay-until.d.ts +0 -24
  1483. package/rxjs/lib/from-element-mutation.d.ts +0 -23
  1484. package/rxjs/lib/from-element-resize.d.ts +0 -26
  1485. package/rxjs/lib/from-events.d.ts +0 -27
  1486. package/rxjs/lib/from-query-list.d.ts +0 -22
  1487. package/sdk/lib/application-environment.d.ts +0 -68
  1488. package/theming/lib/helpers/index.d.ts +0 -3
  1489. package/theming/lib/helpers/prefers-dark-theme.d.ts +0 -19
  1490. package/theming/lib/helpers/resolve-theme.d.ts +0 -27
  1491. package/theming/lib/helpers/theme-storage.d.ts +0 -46
  1492. package/theming/lib/models/index.d.ts +0 -1
  1493. package/theming/lib/models/theme.d.ts +0 -6
  1494. package/theming/lib/theming.config.d.ts +0 -56
  1495. package/theming/lib/theming.service.d.ts +0 -52
  1496. package/utils/lib/decorators/index.d.ts +0 -1
  1497. package/utils/lib/decorators/pure.d.ts +0 -52
  1498. package/utils/lib/helpers/angular.d.ts +0 -47
  1499. package/utils/lib/helpers/animations-handler.d.ts +0 -14
  1500. package/utils/lib/helpers/array.d.ts +0 -30
  1501. package/utils/lib/helpers/build-url.d.ts +0 -21
  1502. package/utils/lib/helpers/build-website-url.d.ts +0 -26
  1503. package/utils/lib/helpers/cache-storage-client.d.ts +0 -65
  1504. package/utils/lib/helpers/coercion.d.ts +0 -19
  1505. package/utils/lib/helpers/debounce.d.ts +0 -28
  1506. package/utils/lib/helpers/defer-fn.d.ts +0 -21
  1507. package/utils/lib/helpers/dom.d.ts +0 -82
  1508. package/utils/lib/helpers/event-manager.d.ts +0 -14
  1509. package/utils/lib/helpers/get-axis.d.ts +0 -22
  1510. package/utils/lib/helpers/get-language-code.d.ts +0 -18
  1511. package/utils/lib/helpers/get-opposite-side.d.ts +0 -23
  1512. package/utils/lib/helpers/get-side.d.ts +0 -19
  1513. package/utils/lib/helpers/get-unique-id.d.ts +0 -35
  1514. package/utils/lib/helpers/index.d.ts +0 -23
  1515. package/utils/lib/helpers/match-url.d.ts +0 -42
  1516. package/utils/lib/helpers/ng-changes.d.ts +0 -62
  1517. package/utils/lib/helpers/provide-config.d.ts +0 -69
  1518. package/utils/lib/helpers/queue.d.ts +0 -123
  1519. package/utils/lib/helpers/sorter.d.ts +0 -51
  1520. package/utils/lib/helpers/type-guards.d.ts +0 -67
  1521. package/utils/lib/helpers/until-destroyed.d.ts +0 -40
  1522. package/utils/lib/types/axis.d.ts +0 -5
  1523. package/utils/lib/types/get-properties.d.ts +0 -5
  1524. package/utils/lib/types/index.d.ts +0 -4
  1525. package/utils/lib/types/position.d.ts +0 -15
  1526. package/utils/lib/types/side.d.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-notification.mjs","sources":["../../../../libs/angular/components/notification/src/lib/notification.i18n.ts","../../../../libs/angular/components/notification/src/lib/helpers/get-notifications-by-tag.ts","../../../../libs/angular/components/notification/src/lib/helpers/sort-notifications.ts","../../../../libs/angular/components/notification/src/lib/helpers/to-notification-collection.ts","../../../../libs/angular/components/notification/src/lib/notification.config.ts","../../../../libs/angular/components/notification/src/lib/notification.logger.ts","../../../../libs/angular/components/notification/src/lib/notification.tokens.ts","../../../../libs/angular/components/notification/src/lib/notification.service.ts","../../../../libs/angular/components/notification/src/lib/services/notification-center.service.ts","../../../../libs/angular/components/notification/src/lib/models/notification-feature.ts","../../../../libs/angular/components/notification/src/lib/features/with-load-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-save-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-peristent-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-browser-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-notification-transformer.ts","../../../../libs/angular/components/notification/src/lib/components/notification-item/notification-item.component.ts","../../../../libs/angular/components/notification/src/lib/components/notification-item/notification-item.component.html","../../../../libs/angular/components/notification/src/lib/components/notification-center/notification-center.component.ts","../../../../libs/angular/components/notification/src/lib/components/notification-center/notification-center.component.html","../../../../libs/angular/components/notification/src/lib/directives/notification-center.directive.ts","../../../../libs/angular/components/notification/src/odx-angular-components-notification.ts"],"sourcesContent":["import { TranslationObject } from '@odx/angular/internal/translate';\n\nexport default {\n en: {\n title: 'Notifications',\n dismissAll: 'Dismiss all',\n },\n de: {\n title: 'Benachrichtigungen',\n dismissAll: 'Alle entfernen',\n },\n} as TranslationObject;\n","import { NotificationQuery } from '../models';\n\n/** @internal */\nexport function getNotificationsByTags(...tags: Array<string | null | undefined>): NotificationQuery {\n const cachedTags = new Set(tags.filter(Boolean));\n\n return ({ options }) => {\n return cachedTags.size < 1 || options.tags.every((tag) => cachedTags.has(tag));\n };\n}\n","import { isFunction } from '@odx/angular/utils';\nimport { MonoTypeOperatorFunction, tap } from 'rxjs';\nimport { NotificationRef, NotificationSortFn } from '../models';\n\n/** @internal */\nexport function sortNotifications(sortFn?: NotificationSortFn): MonoTypeOperatorFunction<NotificationRef[]> {\n return (source$) =>\n source$.pipe(\n tap((values) => {\n if (!isFunction(sortFn)) return;\n values.sort(sortFn);\n }),\n );\n}\n","import { OperatorFunction, map } from 'rxjs';\nimport { NotificationCollection, NotificationRef } from '../models';\n\n/** @internal */\nexport function toNotificationCollection(): OperatorFunction<NotificationRef[], NotificationCollection> {\n return (source$) =>\n source$.pipe(\n map((notificationRefs) => ({\n values: notificationRefs,\n count: notificationRefs.length,\n isEmpty: notificationRefs.length === 0,\n })),\n );\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { createConfigTokens, orderBy } from '@odx/angular/utils';\nimport { NotificationAction, NotificationFeature, NotificationOptions, NotificationRef, NotificationSortFn } from './models';\n\n/**\n * Represents the configuration options for notifications within the application.\n * This interface allows customization of various aspects of notification behavior.\n *\n * @property {string} defaultIdPrefix - Prefix used for generating unique notification IDs.\n * @property {NotificationOptions} options - Default global options for all notifications.\n * @property {NotificationSortFn} sortFn - Function to sort notifications, aiding in prioritization or ordering.\n * @property {Record<string, string>} [tagToIconMap] - Maps notification tags to specific icons for visual differentiation.\n * @property {Record<string, NotificationAction>} [actionMap] - Maps action types to their respective handler functions, enabling custom actions.\n */\nexport interface NotificationConfig {\n defaultIdPrefix: string;\n options: NotificationOptions;\n sortFn: NotificationSortFn;\n tagToIconMap?: Record<string, string>;\n actionMap?: Record<string, NotificationAction>;\n}\n\n/**\n * Generates and exports configuration tokens for notifications, utilizing Angular's dependency injection.\n * This function provides a structured approach to configuring and providing notification settings across\n * an application.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * provideNotificationConfig({\n * defaultIdPrefix: 'your-prefix-notifications', // will be used as id prefix for notification items\n * options: NotificationOptions, // { icon: 'core::globe', tags: [], dismissable: true } by default\n * sortFn: (a: NotificationRef, b: NotificationRef) => b.createdAt.localeCompare(a.createdAt), // default sort function\n * tagToIconMap: { message: 'core::mail' }, // custom icon for message tag (default is core::globe)\n * actionMap: { view: (notification) => { console.log(notification); } } // custom action handler\n * })\n * ]\n *\n * // In component or service:\n * constructor(@Inject(NotificationConfig) private notificationConfig: NotificationConfig) {...}\n * ```\n */\nexport const { NotificationConfig, NotificationDefaultConfig, injectNotificationConfig, provideNotificationConfig } = createConfigTokens(\n 'Notification',\n '@odx/angular/components/notification',\n {\n options: { icon: 'core::globe', tags: [], dismissable: true },\n sortFn: orderBy<NotificationRef>('createdAt', 'DESC'),\n defaultIdPrefix: 'odx-notifications',\n } as NotificationConfig,\n);\n\n/**\n * Constructs and provides Angular environment providers for notifications based on provided configurations and features.\n * Ideal for setting up notifications at the application's top level, ensuring global availability and configurability.\n *\n * @param {Partial<NotificationConfig>} [config] - Optional configuration overrides.\n * @param {...NotificationFeature[]} features - Features to enhance the notification system.\n * @returns {EnvironmentProviders} Configured providers ready for integration into Angular's environment.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * provideNotifications({\n * config, // NotificationConfig\n * },\n * {\n * withBrowserNotifications({...}), // NotificationFeature\n * },\n * )\n * ]\n * ```\n */\nexport function provideNotifications(config?: Partial<NotificationConfig>, ...features: NotificationFeature[]): EnvironmentProviders {\n return makeEnvironmentProviders([provideNotificationConfig(config ?? {}), features]);\n}\n","import { Logger } from '@odx/angular/internal';\n\n/** @internal */\nexport default new Logger('@odx/angular/components/notification');\n","import { InjectionToken } from '@angular/core';\nimport { Queue } from '@odx/angular/utils';\nimport { NotificationRef } from './models';\n\n/**\n * Represents the injection token for the notification queue.\n */\nexport const ODX_NOTIFICATION_QUEUE = new InjectionToken<Queue<NotificationRef>>('@odx/angular/component/notifications::Queue', {\n providedIn: 'root',\n factory: () => new Queue(),\n});\n","import { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { deepmerge } from '@odx/angular/internal';\nimport { LocalizationService } from '@odx/angular/localization';\nimport { getUniqueId, isFunction } from '@odx/angular/utils';\nimport { Observable, filter, map, shareReplay } from 'rxjs';\nimport { sortNotifications, toNotificationCollection } from './helpers';\nimport { Notification, NotificationCollection, NotificationOptions, NotificationQuery, NotificationRef, NotificationSortFn } from './models';\nimport { injectNotificationConfig } from './notification.config';\nimport logger from './notification.logger';\nimport { ODX_NOTIFICATION_QUEUE } from './notification.tokens';\n\n/**\n * The `NotificationService` class provides methods for managing notifications.\n * It allows you to create, load, dismiss, mark as seen, and execute actions on notifications.\n * You can also fetch notifications based on specific queries and sort them using custom sort functions.\n */\n@Injectable({ providedIn: 'root' })\nexport class NotificationService {\n private readonly config = injectNotificationConfig();\n private readonly localizationService = inject(LocalizationService);\n private readonly queue = inject(ODX_NOTIFICATION_QUEUE);\n private readonly injector = inject(Injector);\n\n /**\n * An observable stream of all notifications in the queue, sorted by the configured sort function.\n *\n * @emits {NotificationCollection} A collection of notifications.\n */\n public readonly notifications$ = this.queue.value$.pipe(\n sortNotifications(this.config.sortFn),\n toNotificationCollection(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n /**\n * An observable stream of all unseen notifications in the queue.\n * Unseen notifications are those that have not been marked as seen.\n *\n * @emits {NotificationCollection} A collection of unseen notifications.\n */\n public readonly unseenNotifications$ = this.notifications$.pipe(\n map((collection) => collection.values.filter(({ hasBeenSeen }) => !hasBeenSeen)),\n toNotificationCollection(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n /**\n * An observable stream of all seen notifications in the queue.\n * Seen notifications are those that have been marked as seen.\n *\n * @emits {NotificationCollection} A collection of seen notifications.\n */\n public readonly onNotificationAdd$ = this.queue.onAdd$;\n\n /**\n * An observable stream of notifications that have been removed from the queue.\n *\n * @emits {NotificationCollection} A collection of removed notifications.\n */\n public readonly onNotificationRemove$ = this.queue.onRemove$;\n\n /**\n * An observable stream of notifications that have been updated in the queue.\n *\n * @emits {NotificationCollection} A collection of updated notifications.\n */\n public readonly onNotificationUpdate$ = this.queue.onUpdate$;\n\n /**\n * An observable stream of notifications that have been marked as seen.\n *\n * @emits {NotificationCollection} A collection of seen notifications.\n */\n public readonly onNotificationSeen$ = this.queue.onUpdate$.pipe(filter(({ hasBeenSeen }) => hasBeenSeen));\n\n /**\n * Fetches notifications filtered by a specified query and optionally sorted by a custom sort function.\n *\n * @param {NotificationQuery} query - A function or object to filter notifications.\n * @param {NotificationSortFn} [sortFn] - An optional sorting function to order the filtered notifications.\n * @returns {Observable<NotificationCollection>} An observable stream of the filtered (and optionally sorted) notification collection.\n * @example\n * ```ts\n * // Fetch notifications with a specific tag, sorted by creation date\n * const sortedNotifications$ = notificationService.getNotificationsBy$(\n * notification => notification.tags.includes('important'),\n * (a, b) => b.createdAt - a.createdAt\n * );\n * ```\n */\n public getNotificationsBy$(query: NotificationQuery, sortFn?: NotificationSortFn): Observable<NotificationCollection> {\n return this.queue.value$.pipe(\n map((notifications) => notifications.filter(query)),\n sortNotifications(sortFn),\n toNotificationCollection(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n /**\n * Loads a list of notifications into the service.\n *\n * @param {NotificationRef[]} refs - An array of notification references to be loaded.\n * @example\n * ```ts\n * // Load multiple notifications at once\n * notificationService.load([\n * { id: '1', item: { title: 'Notification 1' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() },\n * { id: '2', item: { title: 'Notification 2' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() }\n * ]);\n * ```\n */\n public load(refs: NotificationRef[]): void {\n this.queue.addMany(refs);\n }\n\n /**\n * Creates a new notification and adds it to the notification queue.\n *\n * @param {Notification} item - The notification to create.\n * @param {Partial<NotificationOptions>} [options] - Optional settings for the notification.\n * @example\n * ```ts\n * // Create a new notification with custom options\n * notificationService.create(\n * { title: 'New Notification' },\n * { dismissable: true, icon: 'plus', tags: ['important'] }\n * );\n * ```\n */\n public create(item: Notification, options?: Partial<NotificationOptions>): void {\n this.queue.add({\n id: item.id ?? getUniqueId(this.config.defaultIdPrefix),\n createdAt: Date.now(),\n item,\n options: this.resolveOptions(options),\n hasBeenSeen: false,\n });\n }\n\n /**\n * Marks a specific notification as seen.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to mark as seen.\n * @example\n * ```ts\n * // Mark a notification as seen by its reference\n * notificationService.markAsSeen(notificationRef);\n * ```\n */\n public markAsSeen(notificationRef: NotificationRef): void {\n if (notificationRef.hasBeenSeen) return;\n this.queue.add({ ...notificationRef, hasBeenSeen: true });\n }\n\n /**\n * Marks all notifications that match a specific query as seen.\n *\n * @param {NotificationQuery} query - The query to match notifications to mark as seen.\n * @example\n * ```ts\n * // Mark all notifications with a specific tag as seen\n * notificationService.markAsSeenBy(notification => notification.tags.includes('important'));\n * ```\n */\n public markAsSeenBy(query: NotificationQuery): void {\n for (const notificationRef of this.queue.toArray().filter(query)) {\n this.markAsSeen(notificationRef);\n }\n }\n\n /**\n * Dismisses a specific notification.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to dismiss.\n * @example\n * ```ts\n * // Dismiss a notification by its reference\n * notificationService.dismiss(notificationRef);\n * ```\n */\n public dismiss(notificationRef: NotificationRef): void {\n if (!notificationRef.options.dismissable) return;\n this.queue.remove(notificationRef);\n }\n\n /**\n * Dismisses all notifications that match a specific query.\n *\n * @param {NotificationQuery} query - The query to match notifications to dismiss.\n * @example\n * ```ts\n * // Dismiss all notifications with a specific tag\n * notificationService.dismissBy(notification => notification.tags.includes('expired'));\n * ```\n */\n public dismissBy(query: NotificationQuery): void {\n for (const item of this.queue.toArray().filter(query)) {\n this.dismiss(item);\n }\n }\n\n /**\n * Dismisses all notifications.\n *\n * @example\n * ```ts\n * // Dismiss all notifications\n * notificationService.dismissAll();\n * ```\n */\n public dismissAll(): void {\n this.queue.clear();\n }\n\n /**\n * Executes the action associated with a specific notification.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.\n * @example\n * ```ts\n * // Execute action for a notification\n * notificationService.executeAction(notificationRef);\n * ```\n */\n public executeAction(notificationRef: NotificationRef): void {\n if (!notificationRef.options.action) return;\n const actionFn = this.config.actionMap?.[notificationRef.options.action];\n if (!isFunction(actionFn)) {\n logger.warn(`Cannot find action ${notificationRef.options.action} for notification reference: ${notificationRef}`);\n return;\n }\n runInInjectionContext(this.injector, () => actionFn(notificationRef));\n }\n\n private resolveOptions(options?: Partial<NotificationOptions>): NotificationOptions {\n return deepmerge(this.config.options, options ?? {}, {\n icon: options?.icon ?? this.config.tagToIconMap?.[options?.tags?.[0] ?? ''] ?? this.config.options.icon,\n language: options?.language ?? this.localizationService.getActiveLanguage(),\n }) as NotificationOptions;\n }\n}\n","import { Injectable, computed, inject, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { Observable, combineLatest, filter, isObservable, map, of, shareReplay, switchMap } from 'rxjs';\nimport { getNotificationsByTags, toNotificationCollection } from '../helpers';\nimport { NotificationRef, NotificationSortFn } from '../models';\nimport { NotificationService } from '../notification.service';\n\n/**\n * A service for managing the notification center. This service provides functionalities\n * to filter, sort, and manage actions on notifications.\n *\n * @internal\n */\n@Injectable()\nexport class NotificationCenterService {\n private readonly currentTag = signal<string | null>(null);\n private readonly currentSortFn = signal<NotificationSortFn>(undefined);\n private readonly notificationService = inject(NotificationService);\n private readonly notificationQuery = computed(() => getNotificationsByTags(this.currentTag()));\n private readonly title = signal<DynamicTextContent | null>(null);\n\n /** @internal */\n public readonly title$ = toObservable(this.title).pipe(\n switchMap((title) => (isObservable(title) ? title : of(title))),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n /** @internal */\n public readonly notifications$ = combineLatest([toObservable(this.notificationQuery), toObservable(this.currentSortFn)]).pipe(\n switchMap(([query, sortFn]) => this.notificationService.getNotificationsBy$(query, sortFn)),\n );\n\n /** @internal */\n public readonly unseenNotifications$ = this.notifications$.pipe(\n map((collection) => collection.values.filter(({ hasBeenSeen }) => !hasBeenSeen)),\n toNotificationCollection(),\n );\n\n /** @internal */\n public onNotificationAdd$ = this.queryEvent(this.notificationService.onNotificationAdd$);\n\n /** @internal */\n public onNotificationUpdate$ = this.queryEvent(this.notificationService.onNotificationUpdate$);\n\n /** @internal */\n public onNotificationRemove$ = this.queryEvent(this.notificationService.onNotificationRemove$);\n\n /** @internal */\n public onNotificationSeen$ = this.queryEvent(this.notificationService.onNotificationSeen$);\n\n /**\n * Sets the title for the notification center. The title can be static text or an observable for dynamic content.\n *\n * @param {DynamicTextContent | null} [value] - The title content for the notification center.\n */\n public setTitle(value?: DynamicTextContent | null): void {\n this.title.set(value ?? null);\n }\n\n /**\n * Sets the current tag to filter notifications. Only notifications with this tag will be included.\n *\n * @param {string | null} [value] - The tag to filter notifications by.\n */\n public setTag(value?: string | null): void {\n this.currentTag.set(value ?? null);\n }\n\n /**\n * Sets the sort function used to order the notifications.\n *\n * @param {NotificationSortFn} [value] - The sort function to apply to the notifications.\n */\n public setSortFn(value?: NotificationSortFn): void {\n this.currentSortFn.set(value);\n }\n\n /**\n * Marks a given notification as seen. This does not remove the notification but updates its seen status.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to be marked as seen.\n */\n public markAsSeen(notificationRef: NotificationRef): void {\n this.notificationService.markAsSeen(notificationRef);\n }\n\n /**\n * Marks all current filtered notifications as seen.\n */\n public markAllAsSeen(): void {\n this.notificationService.markAsSeenBy(this.notificationQuery());\n }\n\n /**\n * Dismisses a specific notification.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to dismiss.\n */\n public dismiss(notificationRef: NotificationRef): void {\n this.notificationService.dismiss(notificationRef);\n }\n\n /**\n * Dismisses all notifications that match the current filter criteria.\n */\n public dismissAll(): void {\n this.notificationService.dismissBy(this.notificationQuery());\n }\n\n /**\n * Executes the action associated with a specific notification and marks it as seen.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.\n */\n public executeAction(notificationRef: NotificationRef): void {\n this.markAsSeen(notificationRef);\n this.notificationService.executeAction(notificationRef);\n }\n\n private queryEvent(source$: Observable<NotificationRef>): Observable<NotificationRef> {\n return combineLatest([source$, toObservable(this.notificationQuery)]).pipe(\n filter(([notificationRef, query]) => query(notificationRef)),\n map(([notificationRef]) => notificationRef),\n );\n }\n}\n","import { EnvironmentProviders, Provider } from '@angular/core';\n\nexport type NotificationFeature = EnvironmentProviders & { ɵodxBrand: '@odx/angular/components/notification::NotificationFeature' };\n\n/**\n * Creates a `NotificationFeature` instance from a given provider or a set of environment providers.\n * This function is a utility to encapsulate providers into a feature for the notification system, enhancing its configurability.\n *\n * @param {(Provider | NotificationFeature)[] | EnvironmentProviders} provider - A single provider, an array of providers, or an environment providers object.\n * @returns {NotificationFeature} A new `NotificationFeature` encapsulating the provided values.\n *\n * @example\n * ```ts\n * // Creating a notification feature:\n * const feature = makeNotificationFeature([\n * { provide: SomeService, useClass: SomeServiceImpl }\n * ]);\n * ```\n */\nexport function makeNotificationFeature(provider: (Provider | NotificationFeature)[] | EnvironmentProviders): NotificationFeature {\n return provider as never as NotificationFeature;\n}\n","import { ENVIRONMENT_INITIALIZER, inject } from '@angular/core';\nimport { Observable, from, isObservable, of } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { NotificationService } from '../notification.service';\n\n/**\n * Type definition for a function that loads notifications.\n * Can return notifications directly as an array, as a Promise, or as an Observable.\n *\n * @typedef {Function} LoadNotificationsFn\n * @returns {Observable<NotificationRef[]> | Promise<NotificationRef[]> | NotificationRef[]} The loaded notifications.\n */\nexport type LoadNotificationsFn = () => Observable<NotificationRef[]> | Promise<NotificationRef[]> | NotificationRef[];\n\n/**\n * Loads notifications using the provided `loadFn`. This function abstracts over the differences\n * between synchronous notifications, promises, and observables, providing a uniform Observable output.\n *\n * @param {LoadNotificationsFn} [loadFn] - An optional function to load notifications.\n * @returns {Observable<NotificationRef[]>} An Observable stream of notification references.\n */\nfunction loadNotifications(loadFn?: LoadNotificationsFn): Observable<NotificationRef[]> {\n const notifications = loadFn?.();\n if (isObservable(notifications)) {\n return notifications;\n }\n if (notifications instanceof Promise) {\n return from(notifications);\n }\n return of(notifications ?? []);\n}\n\n/**\n * Integrates notification loading into the application environment. This function uses the Angular\n * `ENVIRONMENT_INITIALIZER` to ensure that notifications are loaded as part of the application's\n * initialization process.\n *\n * @param {LoadNotificationsFn} loadFn - The function to load notifications.\n * @returns {NotificationFeature} A notification feature configured to load notifications at startup.\n */\nexport function withLoadNotifications(loadFn: LoadNotificationsFn): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n const notificationService = inject(NotificationService);\n const notifications$ = loadNotifications(loadFn);\n\n return () => {\n notifications$.subscribe((notificationRefs) => notificationService.load(notificationRefs));\n };\n },\n multi: true,\n },\n ]);\n}\n","import { ENVIRONMENT_INITIALIZER, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { Observable, firstValueFrom, isObservable } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { NotificationService } from '../notification.service';\n\nexport type SaveNotificationsFn = (notificationRefs: NotificationRef[]) => Observable<void> | Promise<void> | void;\n\n/**\n * Asynchronously saves notifications using the provided save function. It handles Observable and Promise results seamlessly.\n *\n * @param {NotificationRef[]} notifications - The notifications to be saved.\n * @param {SaveNotificationsFn} [saveFn] - Optional custom save function.\n * @returns {Promise<void>} A promise that resolves when the save operation is complete.\n */\nasync function saveNotifications(notifications: NotificationRef[], saveFn?: SaveNotificationsFn): Promise<void> {\n const save = saveFn?.(notifications);\n if (isObservable(save)) {\n await firstValueFrom(save);\n } else if (save instanceof Promise) {\n await save;\n }\n}\n\n/**\n * Configures the application to automatically save notifications using a specified save function.\n * This setup integrates with Angular's environment initialization process to ensure notifications are saved as needed.\n *\n * @param {SaveNotificationsFn} saveFn - The function to save notifications.\n * @returns {NotificationFeature} A notification feature configured to automatically save notifications.\n */\nexport function withSaveNotifications(saveFn: SaveNotificationsFn): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n const injector = Injector.create({ parent: inject(Injector), providers: [] });\n const notificationService = inject(NotificationService);\n const saveFnWithContext: SaveNotificationsFn = (notifications) => runInInjectionContext(injector, () => saveFn(notifications));\n\n return () => {\n notificationService.notifications$.subscribe(({ values }) => saveNotifications(values, saveFnWithContext));\n };\n },\n multi: true,\n },\n ]);\n}\n","import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { deepmerge } from '@odx/angular/internal';\nimport { isFunction, isString } from '@odx/angular/utils';\nimport { firstValueFrom } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { LoadNotificationsFn, withLoadNotifications } from './with-load-notifications';\nimport { SaveNotificationsFn, withSaveNotifications } from './with-save-notifications';\n\nexport interface NotificationSerializer {\n serialize(value: NotificationRef[]): Promise<string>;\n deserialize(value: string): Promise<NotificationRef[]>;\n}\n\n/**\n * Implementation of NotificationSerializer for persistent storage.\n *\n * @implements {NotificationSerializer}\n */\nexport class PersistentNotificationSerializer implements NotificationSerializer {\n /**\n * Serializes an array of NotificationRef objects into a string.\n *\n * @param {NotificationRef[]} value - The notification references to serialize.\n * @returns {Promise<string>} A promise that resolves to the serialized string representation of notification references.\n */\n public async serialize(value: NotificationRef[]): Promise<string> {\n const serializedNotifications = await Promise.all(\n value.map(async (ref) =>\n deepmerge(ref, {\n item: {\n title: await this.serializeDynamicTextContent(ref.item.title),\n description: await this.serializeDynamicTextContent(ref.item.description),\n },\n }),\n ),\n );\n\n return JSON.stringify(serializedNotifications);\n }\n\n /**\n * Deserializes a string into an array of NotificationRef objects.\n *\n * @param {string} value - The string representation of notification references to deserialize.\n * @returns {Promise<NotificationRef[]>} A promise that resolves to the deserialized notification references.\n */\n public async deserialize(value: string): Promise<NotificationRef[]> {\n return JSON.parse(value);\n }\n\n private async serializeDynamicTextContent(content?: DynamicTextContent): Promise<string> {\n if (!content) return '';\n if (isString(content)) return content;\n\n return firstValueFrom(content).catch(() => '');\n }\n}\n\nexport interface WithPersistentNotificationsStorageOptions {\n storageKey: string;\n storage: Storage;\n serializer: NotificationSerializer;\n idTransformer?: (notificationRef: NotificationRef) => string;\n}\n\nexport interface WithPersistentNotificationsOptions {\n initFn: LoadNotificationsFn;\n saveFn: SaveNotificationsFn;\n storageOptions: WithPersistentNotificationsStorageOptions;\n}\n\n/**\n * Initializes and returns a function for loading persistent notifications.\n *\n * @param {WithPersistentNotificationsStorageOptions} options - The storage options including serializer and storage key.\n * @returns {LoadNotificationsFn} A function to load notifications from storage.\n */\nexport function initPersistentNotifications({\n storage,\n storageKey,\n serializer,\n idTransformer,\n}: WithPersistentNotificationsStorageOptions): LoadNotificationsFn {\n return async () => {\n const storedValue = storage.getItem(storageKey);\n if (!storedValue) return [];\n const notificationRefs = await serializer.deserialize(storedValue);\n\n if (isFunction(idTransformer)) {\n for (const notificationRef of notificationRefs) {\n notificationRef.item.id = notificationRef.id = idTransformer(notificationRef);\n }\n }\n\n return notificationRefs;\n };\n}\n\n/**\n * Returns a function for persisting notifications.\n *\n * @param {WithPersistentNotificationsStorageOptions} options - The storage options including serializer and storage key.\n * @returns {SaveNotificationsFn} A function to save notifications to storage.\n */\nexport function persistNotifications({ storage, storageKey, serializer }: WithPersistentNotificationsStorageOptions): SaveNotificationsFn {\n return async (notificationRefs: NotificationRef[]) => {\n storage.setItem(storageKey, await serializer.serialize(notificationRefs));\n };\n}\n\n/**\n * Configures the application to use persistent notifications, automatically loading from and saving to the configured storage.\n *\n * @param {Partial<WithPersistentNotificationsOptions>} [options] - Optional configuration for persistent notifications.\n * @returns {NotificationFeature} A notification feature configured for persistence.\n */\nexport function withPersistentNotifications(options?: Partial<WithPersistentNotificationsOptions>): NotificationFeature {\n const storageOptions: WithPersistentNotificationsStorageOptions = {\n storageKey: options?.storageOptions?.storageKey ?? '@odx/angular/components/notification::Storage',\n storage: options?.storageOptions?.storage ?? localStorage,\n serializer: options?.storageOptions?.serializer ?? new PersistentNotificationSerializer(),\n };\n const initFn = options?.initFn ?? initPersistentNotifications(storageOptions);\n const saveFn = options?.saveFn ?? persistNotifications(storageOptions);\n\n return makeNotificationFeature([withLoadNotifications(initFn), withSaveNotifications(saveFn)]);\n}\n","import { ENVIRONMENT_INITIALIZER, inject } from '@angular/core';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { NotificationService } from '../notification.service';\nimport { NotificationSerializer, PersistentNotificationSerializer } from './with-peristent-notifications';\n\nexport type BrowserNotificationExtras = Omit<NotificationOptions, 'body' | 'timestamp'>;\nexport type BrowserNotification = Notification;\nexport type BrowserNotificationFactory = (notificationRef: NotificationRef) => BrowserNotification;\nexport type SendBrowserNotificationFn = (notificationRef: NotificationRef) => unknown;\n\nexport interface WithBrowserNotificationsOptions {\n sendFn?: SendBrowserNotificationFn;\n extras?: BrowserNotificationExtras;\n isEnabled?: boolean;\n}\n\n/**\n * Requests permission to display browser notifications and returns a boolean indicating whether permission was granted.\n *\n * @returns {Promise<boolean>} A promise that resolves to `true` if permission is granted, otherwise `false`.\n */\nasync function requestBrowserNotificationPermissions(): Promise<boolean> {\n if (!('Notification' in window)) return false;\n if (Notification.permission === 'granted') return true;\n if (Notification.permission === 'denied') return false;\n const permission = await Notification.requestPermission();\n\n return permission === 'granted';\n}\n\n/**\n * Creates a function responsible for sending out browser notifications with the given options.\n *\n * @param {NotificationSerializer} serializer - The serializer to use for notification data.\n * @param {BrowserNotificationExtras} [options] - Additional options for the browser notification.\n * @returns {SendBrowserNotificationFn} A function to send browser notifications.\n */\nfunction sendBrowserNotification(serializer: NotificationSerializer, options?: BrowserNotificationExtras): SendBrowserNotificationFn {\n return async (notificationRef) => {\n if (!('Notification' in window)) return;\n const [notificationObj] = await serializer.deserialize(await serializer.serialize([notificationRef]));\n if (!notificationObj || notificationObj.hasBeenSeen) return;\n const { item } = notificationObj;\n new Notification(item.title as string, {\n tag: notificationRef.options.tags?.[0],\n lang: notificationRef.options.language,\n ...options,\n body: item.description as string,\n });\n };\n}\n\n/**\n * Configures the application to send browser notifications, using Angular's `ENVIRONMENT_INITIALIZER` for setup.\n *\n * @param {WithBrowserNotificationsOptions} [options] - Optional configuration for browser notifications.\n * @returns {NotificationFeature} A notification feature for integration into the application environment.\n */\nexport function withBrowserNotifications(options?: WithBrowserNotificationsOptions): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n const isEnabled = options?.isEnabled ?? true;\n if (!isEnabled) return () => void 0;\n const notificationService = inject(NotificationService);\n const serializer = new PersistentNotificationSerializer();\n const sendBrowserNotificationFn = options?.sendFn ?? sendBrowserNotification(serializer, options?.extras);\n\n return async () => {\n if (!isEnabled) return;\n const permissionsGranted = await requestBrowserNotificationPermissions();\n if (!permissionsGranted) return;\n notificationService.onNotificationAdd$.subscribe(sendBrowserNotificationFn);\n };\n },\n multi: true,\n },\n ]);\n}\n","import { InjectionToken, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\n\nexport type NotificationTransformFn = (ref: NotificationRef) => Observable<NotificationRef>;\n\n/**\n * An InjectionToken for the NotificationTransformFn. This token can be used to inject\n * a custom notification transformation function into the Angular DI system.\n * @type {InjectionToken<NotificationTransformFn>}\n */\nexport const ODX_NOTIFICATION_TRANSFORMER = new InjectionToken<NotificationTransformFn>('@odx/angular/components/notification::NotificationTransformer');\n\n/**\n * Attempts to inject a NotificationTransformFn from the Angular DI system.\n * If no provider is found, it returns null.\n *\n * @returns {NotificationTransformFn | null} The injected NotificationTransformFn, or null if not provided.\n */\nexport function injectNotificationTransform(): NotificationTransformFn | null {\n return inject(ODX_NOTIFICATION_TRANSFORMER, { optional: true });\n}\n\n/**\n * Configures a notification transformation function to be used within the application.\n * This function provides a mechanism to globally apply transformations to notifications\n * before they are processed or displayed.\n *\n * @param {NotificationTransformFn} transformFn - The function to transform notifications.\n * @returns {NotificationFeature} A NotificationFeature configured with the provided transformation function.\n */\nexport function withNotificationTransform(transformFn: NotificationTransformFn): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ODX_NOTIFICATION_TRANSFORMER,\n useValue: transformFn,\n },\n ]);\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { Observable, of } from 'rxjs';\nimport { injectNotificationTransform } from '../../features';\nimport { NotificationRef } from '../../models';\n\n/**\n * A component for displaying notifications.\n * Supports customization through dynamic transformation of notification data.\n * Utilizes the OnPush change detection strategy for better performance in large applications.\n */\n@CSSComponent('notification-item')\n@Component({\n selector: 'odx-notification-item',\n standalone: true,\n imports: [AvatarComponent, ActionGroupComponent, ButtonComponent, CommonModule, DynamicViewDirective, IconComponent],\n templateUrl: './notification-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NotificationItemComponent {\n private readonly transformNotification = injectNotificationTransform();\n private _notificationRef!: NotificationRef;\n\n protected transformedNotification!: Observable<NotificationRef>;\n\n public readonly element = injectElement();\n\n /**\n * Input property to set the notification. On setting, it transforms the notification for display.\n * This transformation can be a custom logic provided through dependency injection.\n *\n * @param {NotificationRef} value - The notification object to be displayed.\n */\n @Input({ required: true })\n public set notification(value: NotificationRef) {\n this._notificationRef = value;\n this.transformedNotification = this.transformNotification?.(value) ?? of(value);\n }\n\n /**\n * Getter for the notification property.\n *\n * @returns {NotificationRef} - The current notification reference stored in the component.\n */\n public get notification() {\n return this._notificationRef;\n }\n\n /**\n * An event emitter for dismissing the notification.\n * It emits the notification reference that was dismissed.\n *\n * @emits {NotificationRef} - The notification reference that was dismissed.\n */\n @Output()\n public dismiss = new EventEmitter<NotificationRef>();\n}\n","@if (transformedNotification | async; as ref) {\n <odx-avatar class=\"odx-notification-item__avatar odx-no-margin\">\n <odx-icon [identifier]=\"ref.options.icon\" />\n </odx-avatar>\n <div class=\"odx-notification-item__title\">\n <ng-template [odxDynamicView]=\"ref.item.title\" />\n </div>\n @if (ref.item.description; as description) {\n <div class=\"odx-notification-item__description\">\n <ng-template [odxDynamicView]=\"ref.item.description\" />\n </div>\n }\n}\n<odx-action-group class=\"odx-notification-item__actions odx-no-margin\">\n @if (notification.options.dismissable) {\n <button odxButton class=\"odx-no-margin\" (click)=\"dismiss.next(notification)\">\n <odx-icon name=\"close\" iconSet=\"core\" />\n </button>\n }\n</odx-action-group>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnDestroy, ViewEncapsulation, inject } from '@angular/core';\nimport { collapse } from '@odx/angular/animations';\nimport { InteractiveDirective } from '@odx/angular/cdk/a11y';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { BadgeDirective } from '@odx/angular/components/badge';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { DropdownModule } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { ListModule } from '@odx/angular/components/list';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';\nimport { injectElement } from '@odx/angular/utils';\nimport { NotificationRef } from '../../models';\nimport notificationI18n from '../../notification.i18n';\nimport { NotificationCenterService } from '../../services';\nimport { NotificationItemComponent } from '../notification-item/notification-item.component';\n\n/**\n * A component for displaying and managing a list of notifications. It integrates various sub-components and directives to provide a rich user interface for notification interaction. Supports animations for notification transitions and leverages Angular's change detection strategies for performance.\n */\n@CSSComponent('notification-center')\n@Component({\n selector: 'odx-notification-center',\n standalone: true,\n imports: [\n CommonModule,\n ActionGroupComponent,\n BadgeDirective,\n ButtonComponent,\n DynamicViewDirective,\n IconComponent,\n DropdownModule,\n TranslatePipe,\n NotificationItemComponent,\n InteractiveDirective,\n ListModule,\n ],\n templateUrl: './notification-center.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [provideTranslations(notificationI18n)],\n animations: [trigger('notificationAnimation', [transition(':leave', useAnimation(collapse, { delay: 150 }))])],\n})\nexport class NotificationCenterComponent implements OnDestroy {\n protected readonly notificationCenterService = inject(NotificationCenterService);\n\n public readonly element = injectElement();\n\n public ngOnDestroy(): void {\n this.notificationCenterService.markAllAsSeen();\n }\n\n protected isMuted({ options, hasBeenSeen }: NotificationRef): boolean {\n return hasBeenSeen && !options.action;\n }\n}\n","@if (notificationCenterService.notifications$ | async; as notifications) {\n <h3 class=\"odx-notification-center__header\">\n <ng-template [odxDynamicView]=\"(notificationCenterService.title$ | async) ?? ('title' | odxTranslate | async)\" />\n </h3>\n <odx-list class=\"odx-notification-center__content\">\n @for (notification of notifications.values; track notification.id) {\n <odx-list-item\n @notificationAnimation\n [muted]=\"isMuted(notification)\"\n [selected]=\"!notification.hasBeenSeen\"\n (click)=\"notificationCenterService.executeAction(notification)\"\n >\n <odx-notification-item [notification]=\"notification\" (dismiss)=\"notificationCenterService.dismiss(notification)\" />\n </odx-list-item>\n }\n </odx-list>\n <div class=\"odx-notification-center__footer\">\n <button odxButton [disabled]=\"false\" (click)=\"notificationCenterService.dismissAll()\">\n {{ 'dismissAll' | odxTranslate | async }}\n </button>\n </div>\n}\n","import { AfterViewInit, DestroyRef, Directive, Input, OnInit, Output, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DisabledController } from '@odx/angular';\nimport { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { BadgeDirective } from '@odx/angular/components/badge';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { Position } from '@odx/angular/utils';\nimport { Observable, map, merge, startWith, switchMap, tap } from 'rxjs';\nimport { NotificationCenterComponent } from '../components';\nimport { NotificationSortFn } from '../models';\nimport { NotificationCenterService } from '../services';\n\n/**\n * A directive that provides an interface for managing notifications.\n * It allows configuring a notification center with dynamic content, sorting, and badge display functionalities.\n * The directive has hosted directives `BadgeDirective` and `DropdownDirective` for badge and dropdown functionality.\n *\n * @see {BadgeDirective}\n * @see {DropdownDirective}\n */\n@Directive({\n standalone: true,\n selector: '[odxNotificationCenter]',\n hostDirectives: [{ directive: BadgeDirective, inputs: ['odxBadgeVariant:odxNotificationCenterBadgeVariant'] }, DropdownDirective],\n providers: [NotificationCenterService],\n})\nexport class NotificationCenterDirective implements OnInit, AfterViewInit {\n private readonly badgeDirective = inject(BadgeDirective, { self: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly disabledController = DisabledController.inject();\n private readonly dropdownDirective = inject(DropdownDirective, { self: true });\n private readonly notificationCenterService = inject(NotificationCenterService, { self: true });\n private readonly dropdownStateChange$ = merge(this.dropdownDirective.beforeOpen, this.dropdownDirective.beforeClose).pipe(startWith(void 0));\n private readonly badgeValue$ = this.notificationCenterService.unseenNotifications$.pipe(\n switchMap(({ count }) => this.dropdownStateChange$.pipe(map(() => this.formatBadgeValue(count)))),\n );\n\n /**\n * Sets the tag for filtering notifications. Only notifications with this tag will be shown in the notification center.\n *\n * @param {string | null} value - The tag value to filter notifications. If null, all notifications are shown.\n */\n @Input('odxNotificationCenter')\n public set tag(value: string | null) {\n this.notificationCenterService.setTag(value);\n }\n\n /**\n * Sets the title of the notification center. The title can be dynamic and change based on the application state.\n *\n * @param {DynamicTextContent | null} value - The title content, which can be a string or an Observable returning a string. Allows for dynamic titles.\n */\n @Input('odxNotificationCenterTitle')\n public set title(value: DynamicTextContent | null) {\n this.notificationCenterService.setTitle(value);\n }\n\n /**\n * Sets the sorting function used to order notifications within the notification center.\n *\n * @param {NotificationSortFn} value - A function that compares two notifications and returns the sort order.\n *\n * @example\n * ```ts\n * sortFfn = (a: NotificationRef, b: NotificationRef) => {\n * if (a.createdAt < b.createdAt) return -1;\n * if (a.createdAt > b.createdAt) return 1;\n * return 0;\n * };\n * ```\n */\n @Input('odxNotificationCenterSortFn')\n public set sortFn(value: NotificationSortFn) {\n this.notificationCenterService.setSortFn(value);\n }\n\n /**\n * An event that is emitted when a new notification is added.\n * Listeners can use this event to react to new notifications being added to the notification center.\n *\n * @emits {NotificationRef} notificationAdd - The notification that was added to the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterAdd')\n public notificationAdd = this.notificationCenterService.onNotificationAdd$;\n\n /**\n * An event that is emitted when a notification is updated.\n * This can be used to react to changes in notifications, such as their read status or content updates.\n *\n * @emits {NotificationRef} notificationUpdate - The notification that was updated in the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterUpdate')\n public notificationUpdate = this.notificationCenterService.onNotificationUpdate$;\n\n /**\n * An event that is emitted when a notification is removed from the notification center.\n * Use this event to handle the removal of notifications, such as cleaning up resources or updating UI elements.\n *\n * @emits {NotificationRef} notificationRemove - The notification that was removed from the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterRemove')\n public notificationRemove = this.notificationCenterService.onNotificationRemove$;\n\n /**\n * An event that is emitted when a notification is marked as seen.\n * This event can be used to perform actions when the user acknowledges a notification.\n *\n * @emits {NotificationRef} notificationSeen - The notification that was marked as seen in the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterSeen')\n public notificationSeen = this.notificationCenterService.onNotificationSeen$;\n\n public ngOnInit() {\n this.badgeDirective.position = Position.BOTTOM;\n this.badgeDirective.offset = 6;\n\n this.dropdownDirective.content = NotificationCenterComponent;\n this.dropdownDirective.options = {\n containerClass: 'odx-notification-center-overlay',\n position: Position.BOTTOM_END,\n enableFallback: false,\n };\n }\n\n public ngAfterViewInit() {\n merge(this.handleBadgeUpdates(), this.handleDropdownUpdates()).pipe(takeUntilDestroyed(this.destroyRef)).subscribe();\n }\n\n private formatBadgeValue(value: number): string | null {\n return this.dropdownDirective.isOpen || value === 0 ? null : value.toFixed(0);\n }\n\n private handleBadgeUpdates(): Observable<unknown> {\n return this.badgeValue$.pipe(\n tap((value: DynamicTextContent | null) => {\n this.badgeDirective.value = value as DynamicTextContent;\n this.badgeDirective.ngOnChanges();\n }),\n );\n }\n\n private handleDropdownUpdates(): Observable<unknown> {\n return this.notificationCenterService.notifications$.pipe(\n tap(({ isEmpty }) => {\n this.disabledController?.setDisabledState(isEmpty);\n if (!isEmpty) return;\n this.dropdownDirective.close();\n }),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-notification.mjs","sources":["../../../../libs/angular/components/notification/src/lib/notification.i18n.ts","../../../../libs/angular/components/notification/src/lib/helpers/get-notifications-by-tag.ts","../../../../libs/angular/components/notification/src/lib/helpers/sort-notifications.ts","../../../../libs/angular/components/notification/src/lib/helpers/to-notification-collection.ts","../../../../libs/angular/components/notification/src/lib/notification.config.ts","../../../../libs/angular/components/notification/src/lib/notification.logger.ts","../../../../libs/angular/components/notification/src/lib/notification.tokens.ts","../../../../libs/angular/components/notification/src/lib/notification.service.ts","../../../../libs/angular/components/notification/src/lib/services/notification-center.service.ts","../../../../libs/angular/components/notification/src/lib/models/notification-feature.ts","../../../../libs/angular/components/notification/src/lib/features/with-load-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-save-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-peristent-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-browser-notifications.ts","../../../../libs/angular/components/notification/src/lib/features/with-notification-transformer.ts","../../../../libs/angular/components/notification/src/lib/components/notification-item/notification-item.component.ts","../../../../libs/angular/components/notification/src/lib/components/notification-item/notification-item.component.html","../../../../libs/angular/components/notification/src/lib/components/notification-center/notification-center.component.ts","../../../../libs/angular/components/notification/src/lib/components/notification-center/notification-center.component.html","../../../../libs/angular/components/notification/src/lib/directives/notification-center.directive.ts","../../../../libs/angular/components/notification/src/odx-angular-components-notification.ts"],"sourcesContent":["import { TranslationObject } from '@odx/angular/internal/translate';\n\nexport default {\n en: {\n title: 'Notifications',\n dismissAll: 'Dismiss all',\n },\n de: {\n title: 'Benachrichtigungen',\n dismissAll: 'Alle entfernen',\n },\n} as TranslationObject;\n","import { NotificationQuery } from '../models';\n\n/** @internal */\nexport function getNotificationsByTags(...tags: Array<string | null | undefined>): NotificationQuery {\n const cachedTags = new Set(tags.filter(Boolean));\n\n return ({ options }) => {\n return cachedTags.size < 1 || options.tags.every((tag) => cachedTags.has(tag));\n };\n}\n","import { isFunction } from '@odx/angular/utils';\nimport { MonoTypeOperatorFunction, tap } from 'rxjs';\nimport { NotificationRef, NotificationSortFn } from '../models';\n\n/** @internal */\nexport function sortNotifications(sortFn?: NotificationSortFn): MonoTypeOperatorFunction<NotificationRef[]> {\n return (source$) =>\n source$.pipe(\n tap((values) => {\n if (!isFunction(sortFn)) return;\n values.sort(sortFn);\n }),\n );\n}\n","import { OperatorFunction, map } from 'rxjs';\nimport { NotificationCollection, NotificationRef } from '../models';\n\n/** @internal */\nexport function toNotificationCollection(): OperatorFunction<NotificationRef[], NotificationCollection> {\n return (source$) =>\n source$.pipe(\n map((notificationRefs) => ({\n values: notificationRefs,\n count: notificationRefs.length,\n isEmpty: notificationRefs.length === 0,\n })),\n );\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { createConfigTokens, orderBy } from '@odx/angular/utils';\nimport { NotificationAction, NotificationFeature, NotificationOptions, NotificationRef, NotificationSortFn } from './models';\n\n/**\n * Represents the configuration options for notifications within the application.\n * This interface allows customization of various aspects of notification behavior.\n *\n * @property {string} defaultIdPrefix - Prefix used for generating unique notification IDs.\n * @property {NotificationOptions} options - Default global options for all notifications.\n * @property {NotificationSortFn} sortFn - Function to sort notifications, aiding in prioritization or ordering.\n * @property {Record<string, string>} [tagToIconMap] - Maps notification tags to specific icons for visual differentiation.\n * @property {Record<string, NotificationAction>} [actionMap] - Maps action types to their respective handler functions, enabling custom actions.\n */\nexport interface NotificationConfig {\n defaultIdPrefix: string;\n options: NotificationOptions;\n sortFn: NotificationSortFn;\n tagToIconMap?: Record<string, string>;\n actionMap?: Record<string, NotificationAction>;\n}\n\n/**\n * Generates and exports configuration tokens for notifications, utilizing Angular's dependency injection.\n * This function provides a structured approach to configuring and providing notification settings across\n * an application.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * provideNotificationConfig({\n * defaultIdPrefix: 'your-prefix-notifications', // will be used as id prefix for notification items\n * options: NotificationOptions, // { icon: 'core::globe', tags: [], dismissable: true } by default\n * sortFn: (a: NotificationRef, b: NotificationRef) => b.createdAt.localeCompare(a.createdAt), // default sort function\n * tagToIconMap: { message: 'core::mail' }, // custom icon for message tag (default is core::globe)\n * actionMap: { view: (notification) => { console.log(notification); } } // custom action handler\n * })\n * ]\n *\n * // In component or service:\n * constructor(@Inject(NotificationConfig) private notificationConfig: NotificationConfig) {...}\n * ```\n */\nexport const { NotificationConfig, NotificationDefaultConfig, injectNotificationConfig, provideNotificationConfig } = createConfigTokens(\n 'Notification',\n '@odx/angular/components/notification',\n {\n options: { icon: 'core::globe', tags: [], dismissable: true },\n sortFn: orderBy<NotificationRef>('createdAt', 'DESC'),\n defaultIdPrefix: 'odx-notifications',\n } as NotificationConfig,\n);\n\n/**\n * Constructs and provides Angular environment providers for notifications based on provided configurations and features.\n * Ideal for setting up notifications at the application's top level, ensuring global availability and configurability.\n *\n * @param {Partial<NotificationConfig>} [config] - Optional configuration overrides.\n * @param {...NotificationFeature[]} features - Features to enhance the notification system.\n * @returns {EnvironmentProviders} Configured providers ready for integration into Angular's environment.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * provideNotifications({\n * config, // NotificationConfig\n * },\n * {\n * withBrowserNotifications({...}), // NotificationFeature\n * },\n * )\n * ]\n * ```\n */\nexport function provideNotifications(config?: Partial<NotificationConfig>, ...features: NotificationFeature[]): EnvironmentProviders {\n return makeEnvironmentProviders([provideNotificationConfig(config ?? {}), features]);\n}\n","import { Logger } from '@odx/angular/internal';\n\n/** @internal */\nexport default new Logger('@odx/angular/components/notification');\n","import { InjectionToken } from '@angular/core';\nimport { Queue } from '@odx/angular/utils';\nimport { NotificationRef } from './models';\n\n/**\n * Represents the injection token for the notification queue.\n */\nexport const ODX_NOTIFICATION_QUEUE = new InjectionToken<Queue<NotificationRef>>('@odx/angular/component/notifications::Queue', {\n providedIn: 'root',\n factory: () => new Queue(),\n});\n","import { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { deepmerge } from '@odx/angular/internal';\nimport { LocalizationService } from '@odx/angular/localization';\nimport { getUniqueId, isFunction } from '@odx/angular/utils';\nimport { Observable, filter, map, shareReplay } from 'rxjs';\nimport { sortNotifications, toNotificationCollection } from './helpers';\nimport { Notification, NotificationCollection, NotificationOptions, NotificationQuery, NotificationRef, NotificationSortFn } from './models';\nimport { injectNotificationConfig } from './notification.config';\nimport logger from './notification.logger';\nimport { ODX_NOTIFICATION_QUEUE } from './notification.tokens';\n\n/**\n * The `NotificationService` class provides methods for managing notifications.\n * It allows you to create, load, dismiss, mark as seen, and execute actions on notifications.\n * You can also fetch notifications based on specific queries and sort them using custom sort functions.\n */\n@Injectable({ providedIn: 'root' })\nexport class NotificationService {\n private readonly config = injectNotificationConfig();\n private readonly localizationService = inject(LocalizationService);\n private readonly queue = inject(ODX_NOTIFICATION_QUEUE);\n private readonly injector = inject(Injector);\n\n /**\n * An observable stream of all notifications in the queue, sorted by the configured sort function.\n *\n * @emits {NotificationCollection} A collection of notifications.\n */\n public readonly notifications$ = this.queue.value$.pipe(\n sortNotifications(this.config.sortFn),\n toNotificationCollection(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n /**\n * An observable stream of all unseen notifications in the queue.\n * Unseen notifications are those that have not been marked as seen.\n *\n * @emits {NotificationCollection} A collection of unseen notifications.\n */\n public readonly unseenNotifications$ = this.notifications$.pipe(\n map((collection) => collection.values.filter(({ hasBeenSeen }) => !hasBeenSeen)),\n toNotificationCollection(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n /**\n * An observable stream of all seen notifications in the queue.\n * Seen notifications are those that have been marked as seen.\n *\n * @emits {NotificationCollection} A collection of seen notifications.\n */\n public readonly onNotificationAdd$ = this.queue.onAdd$;\n\n /**\n * An observable stream of notifications that have been removed from the queue.\n *\n * @emits {NotificationCollection} A collection of removed notifications.\n */\n public readonly onNotificationRemove$ = this.queue.onRemove$;\n\n /**\n * An observable stream of notifications that have been updated in the queue.\n *\n * @emits {NotificationCollection} A collection of updated notifications.\n */\n public readonly onNotificationUpdate$ = this.queue.onUpdate$;\n\n /**\n * An observable stream of notifications that have been marked as seen.\n *\n * @emits {NotificationCollection} A collection of seen notifications.\n */\n public readonly onNotificationSeen$ = this.queue.onUpdate$.pipe(filter(({ hasBeenSeen }) => hasBeenSeen));\n\n /**\n * Fetches notifications filtered by a specified query and optionally sorted by a custom sort function.\n *\n * @param {NotificationQuery} query - A function or object to filter notifications.\n * @param {NotificationSortFn} [sortFn] - An optional sorting function to order the filtered notifications.\n * @returns {Observable<NotificationCollection>} An observable stream of the filtered (and optionally sorted) notification collection.\n * @example\n * ```ts\n * // Fetch notifications with a specific tag, sorted by creation date\n * const sortedNotifications$ = notificationService.getNotificationsBy$(\n * notification => notification.tags.includes('important'),\n * (a, b) => b.createdAt - a.createdAt\n * );\n * ```\n */\n public getNotificationsBy$(query: NotificationQuery, sortFn?: NotificationSortFn): Observable<NotificationCollection> {\n return this.queue.value$.pipe(\n map((notifications) => notifications.filter(query)),\n sortNotifications(sortFn),\n toNotificationCollection(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n /**\n * Loads a list of notifications into the service.\n *\n * @param {NotificationRef[]} refs - An array of notification references to be loaded.\n * @example\n * ```ts\n * // Load multiple notifications at once\n * notificationService.load([\n * { id: '1', item: { title: 'Notification 1' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() },\n * { id: '2', item: { title: 'Notification 2' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() }\n * ]);\n * ```\n */\n public load(refs: NotificationRef[]): void {\n this.queue.addMany(refs);\n }\n\n /**\n * Creates a new notification and adds it to the notification queue.\n *\n * @param {Notification} item - The notification to create.\n * @param {Partial<NotificationOptions>} [options] - Optional settings for the notification.\n * @example\n * ```ts\n * // Create a new notification with custom options\n * notificationService.create(\n * { title: 'New Notification' },\n * { dismissable: true, icon: 'plus', tags: ['important'] }\n * );\n * ```\n */\n public create(item: Notification, options?: Partial<NotificationOptions>): void {\n this.queue.add({\n id: item.id ?? getUniqueId(this.config.defaultIdPrefix),\n createdAt: Date.now(),\n item,\n options: this.resolveOptions(options),\n hasBeenSeen: false,\n });\n }\n\n /**\n * Marks a specific notification as seen.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to mark as seen.\n * @example\n * ```ts\n * // Mark a notification as seen by its reference\n * notificationService.markAsSeen(notificationRef);\n * ```\n */\n public markAsSeen(notificationRef: NotificationRef): void {\n if (notificationRef.hasBeenSeen) return;\n this.queue.add({ ...notificationRef, hasBeenSeen: true });\n }\n\n /**\n * Marks all notifications that match a specific query as seen.\n *\n * @param {NotificationQuery} query - The query to match notifications to mark as seen.\n * @example\n * ```ts\n * // Mark all notifications with a specific tag as seen\n * notificationService.markAsSeenBy(notification => notification.tags.includes('important'));\n * ```\n */\n public markAsSeenBy(query: NotificationQuery): void {\n for (const notificationRef of this.queue.toArray().filter(query)) {\n this.markAsSeen(notificationRef);\n }\n }\n\n /**\n * Dismisses a specific notification.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to dismiss.\n * @example\n * ```ts\n * // Dismiss a notification by its reference\n * notificationService.dismiss(notificationRef);\n * ```\n */\n public dismiss(notificationRef: NotificationRef): void {\n if (!notificationRef.options.dismissable) return;\n this.queue.remove(notificationRef);\n }\n\n /**\n * Dismisses all notifications that match a specific query.\n *\n * @param {NotificationQuery} query - The query to match notifications to dismiss.\n * @example\n * ```ts\n * // Dismiss all notifications with a specific tag\n * notificationService.dismissBy(notification => notification.tags.includes('expired'));\n * ```\n */\n public dismissBy(query: NotificationQuery): void {\n for (const item of this.queue.toArray().filter(query)) {\n this.dismiss(item);\n }\n }\n\n /**\n * Dismisses all notifications.\n *\n * @example\n * ```ts\n * // Dismiss all notifications\n * notificationService.dismissAll();\n * ```\n */\n public dismissAll(): void {\n this.queue.clear();\n }\n\n /**\n * Executes the action associated with a specific notification.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.\n * @example\n * ```ts\n * // Execute action for a notification\n * notificationService.executeAction(notificationRef);\n * ```\n */\n public executeAction(notificationRef: NotificationRef): void {\n if (!notificationRef.options.action) return;\n const actionFn = this.config.actionMap?.[notificationRef.options.action];\n if (!isFunction(actionFn)) {\n logger.warn(`Cannot find action ${notificationRef.options.action} for notification reference: ${notificationRef}`);\n return;\n }\n runInInjectionContext(this.injector, () => actionFn(notificationRef));\n }\n\n private resolveOptions(options?: Partial<NotificationOptions>): NotificationOptions {\n return deepmerge(this.config.options, options ?? {}, {\n icon: options?.icon ?? this.config.tagToIconMap?.[options?.tags?.[0] ?? ''] ?? this.config.options.icon,\n language: options?.language ?? this.localizationService.getActiveLanguage(),\n }) as NotificationOptions;\n }\n}\n","import { Injectable, computed, inject, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { Observable, combineLatest, filter, isObservable, map, of, shareReplay, switchMap } from 'rxjs';\nimport { getNotificationsByTags, toNotificationCollection } from '../helpers';\nimport { NotificationRef, NotificationSortFn } from '../models';\nimport { NotificationService } from '../notification.service';\n\n/**\n * A service for managing the notification center. This service provides functionalities\n * to filter, sort, and manage actions on notifications.\n *\n * @internal\n */\n@Injectable()\nexport class NotificationCenterService {\n private readonly currentTag = signal<string | null>(null);\n private readonly currentSortFn = signal<NotificationSortFn>(undefined);\n private readonly notificationService = inject(NotificationService);\n private readonly notificationQuery = computed(() => getNotificationsByTags(this.currentTag()));\n private readonly title = signal<DynamicTextContent | null>(null);\n\n /** @internal */\n public readonly title$ = toObservable(this.title).pipe(\n switchMap((title) => (isObservable(title) ? title : of(title))),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n /** @internal */\n public readonly notifications$ = combineLatest([toObservable(this.notificationQuery), toObservable(this.currentSortFn)]).pipe(\n switchMap(([query, sortFn]) => this.notificationService.getNotificationsBy$(query, sortFn)),\n );\n\n /** @internal */\n public readonly unseenNotifications$ = this.notifications$.pipe(\n map((collection) => collection.values.filter(({ hasBeenSeen }) => !hasBeenSeen)),\n toNotificationCollection(),\n );\n\n /** @internal */\n public onNotificationAdd$ = this.queryEvent(this.notificationService.onNotificationAdd$);\n\n /** @internal */\n public onNotificationUpdate$ = this.queryEvent(this.notificationService.onNotificationUpdate$);\n\n /** @internal */\n public onNotificationRemove$ = this.queryEvent(this.notificationService.onNotificationRemove$);\n\n /** @internal */\n public onNotificationSeen$ = this.queryEvent(this.notificationService.onNotificationSeen$);\n\n /**\n * Sets the title for the notification center. The title can be static text or an observable for dynamic content.\n *\n * @param {DynamicTextContent | null} [value] - The title content for the notification center.\n */\n public setTitle(value?: DynamicTextContent | null): void {\n this.title.set(value ?? null);\n }\n\n /**\n * Sets the current tag to filter notifications. Only notifications with this tag will be included.\n *\n * @param {string | null} [value] - The tag to filter notifications by.\n */\n public setTag(value?: string | null): void {\n this.currentTag.set(value ?? null);\n }\n\n /**\n * Sets the sort function used to order the notifications.\n *\n * @param {NotificationSortFn} [value] - The sort function to apply to the notifications.\n */\n public setSortFn(value?: NotificationSortFn): void {\n this.currentSortFn.set(value);\n }\n\n /**\n * Marks a given notification as seen. This does not remove the notification but updates its seen status.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to be marked as seen.\n */\n public markAsSeen(notificationRef: NotificationRef): void {\n this.notificationService.markAsSeen(notificationRef);\n }\n\n /**\n * Marks all current filtered notifications as seen.\n */\n public markAllAsSeen(): void {\n this.notificationService.markAsSeenBy(this.notificationQuery());\n }\n\n /**\n * Dismisses a specific notification.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification to dismiss.\n */\n public dismiss(notificationRef: NotificationRef): void {\n this.notificationService.dismiss(notificationRef);\n }\n\n /**\n * Dismisses all notifications that match the current filter criteria.\n */\n public dismissAll(): void {\n this.notificationService.dismissBy(this.notificationQuery());\n }\n\n /**\n * Executes the action associated with a specific notification and marks it as seen.\n *\n * @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.\n */\n public executeAction(notificationRef: NotificationRef): void {\n this.markAsSeen(notificationRef);\n this.notificationService.executeAction(notificationRef);\n }\n\n private queryEvent(source$: Observable<NotificationRef>): Observable<NotificationRef> {\n return combineLatest([source$, toObservable(this.notificationQuery)]).pipe(\n filter(([notificationRef, query]) => query(notificationRef)),\n map(([notificationRef]) => notificationRef),\n );\n }\n}\n","import { EnvironmentProviders, Provider } from '@angular/core';\n\nexport type NotificationFeature = EnvironmentProviders & { ɵodxBrand: '@odx/angular/components/notification::NotificationFeature' };\n\n/**\n * Creates a `NotificationFeature` instance from a given provider or a set of environment providers.\n * This function is a utility to encapsulate providers into a feature for the notification system, enhancing its configurability.\n *\n * @param {(Provider | NotificationFeature)[] | EnvironmentProviders} provider - A single provider, an array of providers, or an environment providers object.\n * @returns {NotificationFeature} A new `NotificationFeature` encapsulating the provided values.\n *\n * @example\n * ```ts\n * // Creating a notification feature:\n * const feature = makeNotificationFeature([\n * { provide: SomeService, useClass: SomeServiceImpl }\n * ]);\n * ```\n */\nexport function makeNotificationFeature(provider: (Provider | NotificationFeature)[] | EnvironmentProviders): NotificationFeature {\n return provider as never as NotificationFeature;\n}\n","import { ENVIRONMENT_INITIALIZER, inject } from '@angular/core';\nimport { Observable, from, isObservable, of } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { NotificationService } from '../notification.service';\n\n/**\n * Type definition for a function that loads notifications.\n * Can return notifications directly as an array, as a Promise, or as an Observable.\n *\n * @typedef {Function} LoadNotificationsFn\n * @returns {Observable<NotificationRef[]> | Promise<NotificationRef[]> | NotificationRef[]} The loaded notifications.\n */\nexport type LoadNotificationsFn = () => Observable<NotificationRef[]> | Promise<NotificationRef[]> | NotificationRef[];\n\n/**\n * Loads notifications using the provided `loadFn`. This function abstracts over the differences\n * between synchronous notifications, promises, and observables, providing a uniform Observable output.\n *\n * @param {LoadNotificationsFn} [loadFn] - An optional function to load notifications.\n * @returns {Observable<NotificationRef[]>} An Observable stream of notification references.\n */\nfunction loadNotifications(loadFn?: LoadNotificationsFn): Observable<NotificationRef[]> {\n const notifications = loadFn?.();\n if (isObservable(notifications)) {\n return notifications;\n }\n if (notifications instanceof Promise) {\n return from(notifications);\n }\n return of(notifications ?? []);\n}\n\n/**\n * Integrates notification loading into the application environment. This function uses the Angular\n * `ENVIRONMENT_INITIALIZER` to ensure that notifications are loaded as part of the application's\n * initialization process.\n *\n * @param {LoadNotificationsFn} loadFn - The function to load notifications.\n * @returns {NotificationFeature} A notification feature configured to load notifications at startup.\n */\nexport function withLoadNotifications(loadFn: LoadNotificationsFn): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n const notificationService = inject(NotificationService);\n const notifications$ = loadNotifications(loadFn);\n\n return () => {\n notifications$.subscribe((notificationRefs) => notificationService.load(notificationRefs));\n };\n },\n multi: true,\n },\n ]);\n}\n","import { ENVIRONMENT_INITIALIZER, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { Observable, firstValueFrom, isObservable } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { NotificationService } from '../notification.service';\n\nexport type SaveNotificationsFn = (notificationRefs: NotificationRef[]) => Observable<void> | Promise<void> | void;\n\n/**\n * Asynchronously saves notifications using the provided save function. It handles Observable and Promise results seamlessly.\n *\n * @param {NotificationRef[]} notifications - The notifications to be saved.\n * @param {SaveNotificationsFn} [saveFn] - Optional custom save function.\n * @returns {Promise<void>} A promise that resolves when the save operation is complete.\n */\nasync function saveNotifications(notifications: NotificationRef[], saveFn?: SaveNotificationsFn): Promise<void> {\n const save = saveFn?.(notifications);\n if (isObservable(save)) {\n await firstValueFrom(save);\n } else if (save instanceof Promise) {\n await save;\n }\n}\n\n/**\n * Configures the application to automatically save notifications using a specified save function.\n * This setup integrates with Angular's environment initialization process to ensure notifications are saved as needed.\n *\n * @param {SaveNotificationsFn} saveFn - The function to save notifications.\n * @returns {NotificationFeature} A notification feature configured to automatically save notifications.\n */\nexport function withSaveNotifications(saveFn: SaveNotificationsFn): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n const injector = Injector.create({ parent: inject(Injector), providers: [] });\n const notificationService = inject(NotificationService);\n const saveFnWithContext: SaveNotificationsFn = (notifications) => runInInjectionContext(injector, () => saveFn(notifications));\n\n return () => {\n notificationService.notifications$.subscribe(({ values }) => saveNotifications(values, saveFnWithContext));\n };\n },\n multi: true,\n },\n ]);\n}\n","import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { deepmerge } from '@odx/angular/internal';\nimport { isFunction, isString } from '@odx/angular/utils';\nimport { firstValueFrom } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { LoadNotificationsFn, withLoadNotifications } from './with-load-notifications';\nimport { SaveNotificationsFn, withSaveNotifications } from './with-save-notifications';\n\nexport interface NotificationSerializer {\n serialize(value: NotificationRef[]): Promise<string>;\n deserialize(value: string): Promise<NotificationRef[]>;\n}\n\n/**\n * Implementation of NotificationSerializer for persistent storage.\n *\n * @implements {NotificationSerializer}\n */\nexport class PersistentNotificationSerializer implements NotificationSerializer {\n /**\n * Serializes an array of NotificationRef objects into a string.\n *\n * @param {NotificationRef[]} value - The notification references to serialize.\n * @returns {Promise<string>} A promise that resolves to the serialized string representation of notification references.\n */\n public async serialize(value: NotificationRef[]): Promise<string> {\n const serializedNotifications = await Promise.all(\n value.map(async (ref) =>\n deepmerge(ref, {\n item: {\n title: await this.serializeDynamicTextContent(ref.item.title),\n description: await this.serializeDynamicTextContent(ref.item.description),\n },\n }),\n ),\n );\n\n return JSON.stringify(serializedNotifications);\n }\n\n /**\n * Deserializes a string into an array of NotificationRef objects.\n *\n * @param {string} value - The string representation of notification references to deserialize.\n * @returns {Promise<NotificationRef[]>} A promise that resolves to the deserialized notification references.\n */\n public async deserialize(value: string): Promise<NotificationRef[]> {\n return JSON.parse(value);\n }\n\n private async serializeDynamicTextContent(content?: DynamicTextContent): Promise<string> {\n if (!content) return '';\n if (isString(content)) return content;\n\n return firstValueFrom(content).catch(() => '');\n }\n}\n\nexport interface WithPersistentNotificationsStorageOptions {\n storageKey: string;\n storage: Storage;\n serializer: NotificationSerializer;\n idTransformer?: (notificationRef: NotificationRef) => string;\n}\n\nexport interface WithPersistentNotificationsOptions {\n initFn: LoadNotificationsFn;\n saveFn: SaveNotificationsFn;\n storageOptions: WithPersistentNotificationsStorageOptions;\n}\n\n/**\n * Initializes and returns a function for loading persistent notifications.\n *\n * @param {WithPersistentNotificationsStorageOptions} options - The storage options including serializer and storage key.\n * @returns {LoadNotificationsFn} A function to load notifications from storage.\n */\nexport function initPersistentNotifications({\n storage,\n storageKey,\n serializer,\n idTransformer,\n}: WithPersistentNotificationsStorageOptions): LoadNotificationsFn {\n return async () => {\n const storedValue = storage.getItem(storageKey);\n if (!storedValue) return [];\n const notificationRefs = await serializer.deserialize(storedValue);\n\n if (isFunction(idTransformer)) {\n for (const notificationRef of notificationRefs) {\n notificationRef.item.id = notificationRef.id = idTransformer(notificationRef);\n }\n }\n\n return notificationRefs;\n };\n}\n\n/**\n * Returns a function for persisting notifications.\n *\n * @param {WithPersistentNotificationsStorageOptions} options - The storage options including serializer and storage key.\n * @returns {SaveNotificationsFn} A function to save notifications to storage.\n */\nexport function persistNotifications({ storage, storageKey, serializer }: WithPersistentNotificationsStorageOptions): SaveNotificationsFn {\n return async (notificationRefs: NotificationRef[]) => {\n storage.setItem(storageKey, await serializer.serialize(notificationRefs));\n };\n}\n\n/**\n * Configures the application to use persistent notifications, automatically loading from and saving to the configured storage.\n *\n * @param {Partial<WithPersistentNotificationsOptions>} [options] - Optional configuration for persistent notifications.\n * @returns {NotificationFeature} A notification feature configured for persistence.\n */\nexport function withPersistentNotifications(options?: Partial<WithPersistentNotificationsOptions>): NotificationFeature {\n const storageOptions: WithPersistentNotificationsStorageOptions = {\n storageKey: options?.storageOptions?.storageKey ?? '@odx/angular/components/notification::Storage',\n storage: options?.storageOptions?.storage ?? localStorage,\n serializer: options?.storageOptions?.serializer ?? new PersistentNotificationSerializer(),\n };\n const initFn = options?.initFn ?? initPersistentNotifications(storageOptions);\n const saveFn = options?.saveFn ?? persistNotifications(storageOptions);\n\n return makeNotificationFeature([withLoadNotifications(initFn), withSaveNotifications(saveFn)]);\n}\n","import { ENVIRONMENT_INITIALIZER, inject } from '@angular/core';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\nimport { NotificationService } from '../notification.service';\nimport { NotificationSerializer, PersistentNotificationSerializer } from './with-peristent-notifications';\n\nexport type BrowserNotificationExtras = Omit<NotificationOptions, 'body' | 'timestamp'>;\nexport type BrowserNotification = Notification;\nexport type BrowserNotificationFactory = (notificationRef: NotificationRef) => BrowserNotification;\nexport type SendBrowserNotificationFn = (notificationRef: NotificationRef) => unknown;\n\nexport interface WithBrowserNotificationsOptions {\n sendFn?: SendBrowserNotificationFn;\n extras?: BrowserNotificationExtras;\n isEnabled?: boolean;\n}\n\n/**\n * Requests permission to display browser notifications and returns a boolean indicating whether permission was granted.\n *\n * @returns {Promise<boolean>} A promise that resolves to `true` if permission is granted, otherwise `false`.\n */\nasync function requestBrowserNotificationPermissions(): Promise<boolean> {\n if (!('Notification' in window)) return false;\n if (Notification.permission === 'granted') return true;\n if (Notification.permission === 'denied') return false;\n const permission = await Notification.requestPermission();\n\n return permission === 'granted';\n}\n\n/**\n * Creates a function responsible for sending out browser notifications with the given options.\n *\n * @param {NotificationSerializer} serializer - The serializer to use for notification data.\n * @param {BrowserNotificationExtras} [options] - Additional options for the browser notification.\n * @returns {SendBrowserNotificationFn} A function to send browser notifications.\n */\nfunction sendBrowserNotification(serializer: NotificationSerializer, options?: BrowserNotificationExtras): SendBrowserNotificationFn {\n return async (notificationRef) => {\n if (!('Notification' in window)) return;\n const [notificationObj] = await serializer.deserialize(await serializer.serialize([notificationRef]));\n if (!notificationObj || notificationObj.hasBeenSeen) return;\n const { item } = notificationObj;\n new Notification(item.title as string, {\n tag: notificationRef.options.tags?.[0],\n lang: notificationRef.options.language,\n ...options,\n body: item.description as string,\n });\n };\n}\n\n/**\n * Configures the application to send browser notifications, using Angular's `ENVIRONMENT_INITIALIZER` for setup.\n *\n * @param {WithBrowserNotificationsOptions} [options] - Optional configuration for browser notifications.\n * @returns {NotificationFeature} A notification feature for integration into the application environment.\n */\nexport function withBrowserNotifications(options?: WithBrowserNotificationsOptions): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ENVIRONMENT_INITIALIZER,\n useFactory: () => {\n const isEnabled = options?.isEnabled ?? true;\n if (!isEnabled) return () => void 0;\n const notificationService = inject(NotificationService);\n const serializer = new PersistentNotificationSerializer();\n const sendBrowserNotificationFn = options?.sendFn ?? sendBrowserNotification(serializer, options?.extras);\n\n return async () => {\n if (!isEnabled) return;\n const permissionsGranted = await requestBrowserNotificationPermissions();\n if (!permissionsGranted) return;\n notificationService.onNotificationAdd$.subscribe(sendBrowserNotificationFn);\n };\n },\n multi: true,\n },\n ]);\n}\n","import { InjectionToken, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { NotificationFeature, NotificationRef, makeNotificationFeature } from '../models';\n\nexport type NotificationTransformFn = (ref: NotificationRef) => Observable<NotificationRef>;\n\n/**\n * An InjectionToken for the NotificationTransformFn. This token can be used to inject\n * a custom notification transformation function into the Angular DI system.\n * @type {InjectionToken<NotificationTransformFn>}\n */\nexport const ODX_NOTIFICATION_TRANSFORMER = new InjectionToken<NotificationTransformFn>('@odx/angular/components/notification::NotificationTransformer');\n\n/**\n * Attempts to inject a NotificationTransformFn from the Angular DI system.\n * If no provider is found, it returns null.\n *\n * @returns {NotificationTransformFn | null} The injected NotificationTransformFn, or null if not provided.\n */\nexport function injectNotificationTransform(): NotificationTransformFn | null {\n return inject(ODX_NOTIFICATION_TRANSFORMER, { optional: true });\n}\n\n/**\n * Configures a notification transformation function to be used within the application.\n * This function provides a mechanism to globally apply transformations to notifications\n * before they are processed or displayed.\n *\n * @param {NotificationTransformFn} transformFn - The function to transform notifications.\n * @returns {NotificationFeature} A NotificationFeature configured with the provided transformation function.\n */\nexport function withNotificationTransform(transformFn: NotificationTransformFn): NotificationFeature {\n return makeNotificationFeature([\n {\n provide: ODX_NOTIFICATION_TRANSFORMER,\n useValue: transformFn,\n },\n ]);\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { Observable, of } from 'rxjs';\nimport { injectNotificationTransform } from '../../features';\nimport { NotificationRef } from '../../models';\n\n/**\n * A component for displaying notifications.\n * Supports customization through dynamic transformation of notification data.\n * Utilizes the OnPush change detection strategy for better performance in large applications.\n */\n@CSSComponent('notification-item')\n@Component({\n selector: 'odx-notification-item',\n standalone: true,\n imports: [AvatarComponent, ActionGroupComponent, ButtonComponent, CommonModule, DynamicViewDirective, IconComponent],\n templateUrl: './notification-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NotificationItemComponent {\n private readonly transformNotification = injectNotificationTransform();\n private _notificationRef!: NotificationRef;\n\n protected transformedNotification!: Observable<NotificationRef>;\n\n public readonly element = injectElement();\n\n /**\n * Input property to set the notification. On setting, it transforms the notification for display.\n * This transformation can be a custom logic provided through dependency injection.\n *\n * @param {NotificationRef} value - The notification object to be displayed.\n */\n @Input({ required: true })\n public set notification(value: NotificationRef) {\n this._notificationRef = value;\n this.transformedNotification = this.transformNotification?.(value) ?? of(value);\n }\n\n /**\n * Getter for the notification property.\n *\n * @returns {NotificationRef} - The current notification reference stored in the component.\n */\n public get notification() {\n return this._notificationRef;\n }\n\n /**\n * An event emitter for dismissing the notification.\n * It emits the notification reference that was dismissed.\n *\n * @emits {NotificationRef} - The notification reference that was dismissed.\n */\n @Output()\n public dismiss = new EventEmitter<NotificationRef>();\n}\n","@if (transformedNotification | async; as ref) {\n <odx-avatar class=\"odx-notification-item__avatar odx-no-margin\">\n <odx-icon [name]=\"ref.options.icon\" />\n </odx-avatar>\n <div class=\"odx-notification-item__title\">\n <ng-template [odxDynamicView]=\"ref.item.title\" />\n </div>\n @if (ref.item.description; as description) {\n <div class=\"odx-notification-item__description\">\n <ng-template [odxDynamicView]=\"ref.item.description\" />\n </div>\n }\n}\n<odx-action-group class=\"odx-notification-item__actions odx-no-margin\">\n @if (notification.options.dismissable) {\n <button odxButton class=\"odx-no-margin\" (click)=\"dismiss.next(notification)\">\n <odx-icon name=\"core::close\" />\n </button>\n }\n</odx-action-group>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnDestroy, ViewEncapsulation, inject } from '@angular/core';\nimport { collapse } from '@odx/angular/animations';\nimport { InteractiveDirective } from '@odx/angular/cdk/a11y';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { BadgeDirective } from '@odx/angular/components/badge';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { DropdownModule } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { ListModule } from '@odx/angular/components/list';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';\nimport { injectElement } from '@odx/angular/utils';\nimport { NotificationRef } from '../../models';\nimport notificationI18n from '../../notification.i18n';\nimport { NotificationCenterService } from '../../services';\nimport { NotificationItemComponent } from '../notification-item/notification-item.component';\n\n/**\n * A component for displaying and managing a list of notifications. It integrates various sub-components and directives to provide a rich user interface for notification interaction. Supports animations for notification transitions and leverages Angular's change detection strategies for performance.\n */\n@CSSComponent('notification-center')\n@Component({\n selector: 'odx-notification-center',\n standalone: true,\n imports: [\n CommonModule,\n ActionGroupComponent,\n BadgeDirective,\n ButtonComponent,\n DynamicViewDirective,\n IconComponent,\n DropdownModule,\n TranslatePipe,\n NotificationItemComponent,\n InteractiveDirective,\n ListModule,\n ],\n templateUrl: './notification-center.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [provideTranslations(notificationI18n)],\n animations: [trigger('notificationAnimation', [transition(':leave', useAnimation(collapse, { delay: 150 }))])],\n})\nexport class NotificationCenterComponent implements OnDestroy {\n protected readonly notificationCenterService = inject(NotificationCenterService);\n\n public readonly element = injectElement();\n\n public ngOnDestroy(): void {\n this.notificationCenterService.markAllAsSeen();\n }\n\n protected isMuted({ options, hasBeenSeen }: NotificationRef): boolean {\n return hasBeenSeen && !options.action;\n }\n}\n","@if (notificationCenterService.notifications$ | async; as notifications) {\n <h3 class=\"odx-notification-center__header\">\n <ng-template [odxDynamicView]=\"(notificationCenterService.title$ | async) ?? ('title' | odxTranslate | async)\" />\n </h3>\n <odx-list class=\"odx-notification-center__content\">\n @for (notification of notifications.values; track notification.id) {\n <odx-list-item\n @notificationAnimation\n [muted]=\"isMuted(notification)\"\n [selected]=\"!notification.hasBeenSeen\"\n (click)=\"notificationCenterService.executeAction(notification)\"\n >\n <odx-notification-item [notification]=\"notification\" (dismiss)=\"notificationCenterService.dismiss(notification)\" />\n </odx-list-item>\n }\n </odx-list>\n <div class=\"odx-notification-center__footer\">\n <button odxButton [disabled]=\"false\" (click)=\"notificationCenterService.dismissAll()\">\n {{ 'dismissAll' | odxTranslate | async }}\n </button>\n </div>\n}\n","import { AfterViewInit, DestroyRef, Directive, Input, OnInit, Output, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DisabledController } from '@odx/angular';\nimport { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { BadgeDirective } from '@odx/angular/components/badge';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { Position } from '@odx/angular/utils';\nimport { Observable, map, merge, startWith, switchMap, tap } from 'rxjs';\nimport { NotificationCenterComponent } from '../components';\nimport { NotificationSortFn } from '../models';\nimport { NotificationCenterService } from '../services';\n\n/**\n * A directive that provides an interface for managing notifications.\n * It allows configuring a notification center with dynamic content, sorting, and badge display functionalities.\n * The directive has hosted directives `BadgeDirective` and `DropdownDirective` for badge and dropdown functionality.\n *\n * @see {BadgeDirective}\n * @see {DropdownDirective}\n */\n@Directive({\n standalone: true,\n selector: '[odxNotificationCenter]',\n hostDirectives: [{ directive: BadgeDirective, inputs: ['odxBadgeVariant:odxNotificationCenterBadgeVariant'] }, DropdownDirective],\n providers: [NotificationCenterService],\n})\nexport class NotificationCenterDirective implements OnInit, AfterViewInit {\n private readonly badgeDirective = inject(BadgeDirective, { self: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly disabledController = DisabledController.inject();\n private readonly dropdownDirective = inject(DropdownDirective, { self: true });\n private readonly notificationCenterService = inject(NotificationCenterService, { self: true });\n private readonly dropdownStateChange$ = merge(this.dropdownDirective.beforeOpen, this.dropdownDirective.beforeClose).pipe(startWith(void 0));\n private readonly badgeValue$ = this.notificationCenterService.unseenNotifications$.pipe(\n switchMap(({ count }) => this.dropdownStateChange$.pipe(map(() => this.formatBadgeValue(count)))),\n );\n\n /**\n * Sets the tag for filtering notifications. Only notifications with this tag will be shown in the notification center.\n *\n * @param {string | null} value - The tag value to filter notifications. If null, all notifications are shown.\n */\n @Input('odxNotificationCenter')\n public set tag(value: string | null) {\n this.notificationCenterService.setTag(value);\n }\n\n /**\n * Sets the title of the notification center. The title can be dynamic and change based on the application state.\n *\n * @param {DynamicTextContent | null} value - The title content, which can be a string or an Observable returning a string. Allows for dynamic titles.\n */\n @Input('odxNotificationCenterTitle')\n public set title(value: DynamicTextContent | null) {\n this.notificationCenterService.setTitle(value);\n }\n\n /**\n * Sets the sorting function used to order notifications within the notification center.\n *\n * @param {NotificationSortFn} value - A function that compares two notifications and returns the sort order.\n *\n * @example\n * ```ts\n * sortFfn = (a: NotificationRef, b: NotificationRef) => {\n * if (a.createdAt < b.createdAt) return -1;\n * if (a.createdAt > b.createdAt) return 1;\n * return 0;\n * };\n * ```\n */\n @Input('odxNotificationCenterSortFn')\n public set sortFn(value: NotificationSortFn) {\n this.notificationCenterService.setSortFn(value);\n }\n\n /**\n * An event that is emitted when a new notification is added.\n * Listeners can use this event to react to new notifications being added to the notification center.\n *\n * @emits {NotificationRef} notificationAdd - The notification that was added to the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterAdd')\n public notificationAdd = this.notificationCenterService.onNotificationAdd$;\n\n /**\n * An event that is emitted when a notification is updated.\n * This can be used to react to changes in notifications, such as their read status or content updates.\n *\n * @emits {NotificationRef} notificationUpdate - The notification that was updated in the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterUpdate')\n public notificationUpdate = this.notificationCenterService.onNotificationUpdate$;\n\n /**\n * An event that is emitted when a notification is removed from the notification center.\n * Use this event to handle the removal of notifications, such as cleaning up resources or updating UI elements.\n *\n * @emits {NotificationRef} notificationRemove - The notification that was removed from the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterRemove')\n public notificationRemove = this.notificationCenterService.onNotificationRemove$;\n\n /**\n * An event that is emitted when a notification is marked as seen.\n * This event can be used to perform actions when the user acknowledges a notification.\n *\n * @emits {NotificationRef} notificationSeen - The notification that was marked as seen in the notification center.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxNotificationCenterSeen')\n public notificationSeen = this.notificationCenterService.onNotificationSeen$;\n\n public ngOnInit() {\n this.badgeDirective.position = Position.BOTTOM;\n this.badgeDirective.offset = 6;\n\n this.dropdownDirective.content = NotificationCenterComponent;\n this.dropdownDirective.options = {\n containerClass: 'odx-notification-center-overlay',\n position: Position.BOTTOM_END,\n enableFallback: false,\n };\n }\n\n public ngAfterViewInit() {\n merge(this.handleBadgeUpdates(), this.handleDropdownUpdates()).pipe(takeUntilDestroyed(this.destroyRef)).subscribe();\n }\n\n private formatBadgeValue(value: number): string | null {\n return this.dropdownDirective.isOpen || value === 0 ? null : value.toFixed(0);\n }\n\n private handleBadgeUpdates(): Observable<unknown> {\n return this.badgeValue$.pipe(\n tap((value: DynamicTextContent | null) => {\n this.badgeDirective.value = value as DynamicTextContent;\n this.badgeDirective.ngOnChanges();\n }),\n );\n }\n\n private handleDropdownUpdates(): Observable<unknown> {\n return this.notificationCenterService.notifications$.pipe(\n tap(({ isEmpty }) => {\n this.disabledController?.setDisabledState(isEmpty);\n if (!isEmpty) return;\n this.dropdownDirective.close();\n }),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","i2"],"mappings":"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"}
@@ -292,17 +292,17 @@ let PaginatorComponent = class PaginatorComponent {
292
292
  pageSize: this._pageSize,
293
293
  });
294
294
  }
295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
296
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PaginatorComponent, isStandalone: true, selector: "odx-paginator", inputs: { getSummaryContentFn: "getSummaryContentFn", getRangeContentFn: "getRangeContentFn", showSummary: "showSummary", showFirstLastButtons: "showFirstLastButtons", pageIndex: "pageIndex", pageSize: "pageSize", length: "length" }, outputs: { pageChanged: "pageChanged" }, host: { properties: { "class.is-disabled": "isDisabled" } }, providers: [DisabledController.connect()], ngImport: i0, template: "@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\" />\n </button>\n }\n </odx-action-group>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
295
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
296
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: PaginatorComponent, isStandalone: true, selector: "odx-paginator", inputs: { getSummaryContentFn: "getSummaryContentFn", getRangeContentFn: "getRangeContentFn", showSummary: "showSummary", showFirstLastButtons: "showFirstLastButtons", pageIndex: "pageIndex", pageSize: "pageSize", length: "length" }, outputs: { pageChanged: "pageChanged" }, host: { properties: { "class.is-disabled": "isDisabled" } }, providers: [DisabledController.connect()], ngImport: i0, template: "@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"core::chevron-left-end\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"core::chevron-left\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"core::chevron-right\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"core::chevron-right-end\" />\n </button>\n }\n </odx-action-group>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["size", "name", "set", "identifier"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
297
297
  };
298
298
  PaginatorComponent = __decorate([
299
299
  CSSComponent('paginator')
300
300
  ], PaginatorComponent);
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorComponent, decorators: [{
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginatorComponent, decorators: [{
302
302
  type: Component,
303
303
  args: [{ standalone: true, selector: 'odx-paginator', imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, DynamicViewDirective], providers: [DisabledController.connect()], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
304
304
  '[class.is-disabled]': 'isDisabled',
305
- }, template: "@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\" />\n </button>\n }\n </odx-action-group>\n</div>\n" }]
305
+ }, template: "@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"core::chevron-left-end\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"core::chevron-left\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"core::chevron-right\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"core::chevron-right-end\" />\n </button>\n }\n </odx-action-group>\n</div>\n" }]
306
306
  }], propDecorators: { getSummaryContentFn: [{
307
307
  type: Input
308
308
  }], getRangeContentFn: [{
@@ -323,11 +323,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
323
323
 
324
324
  const modules = [PaginatorComponent];
325
325
  class PaginatorModule {
326
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
327
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PaginatorModule, imports: [PaginatorComponent], exports: [PaginatorComponent] }); }
328
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorModule, imports: [modules] }); }
326
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
327
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: PaginatorModule, imports: [PaginatorComponent], exports: [PaginatorComponent] }); }
328
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginatorModule, imports: [modules] }); }
329
329
  }
330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PaginatorModule, decorators: [{
330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginatorModule, decorators: [{
331
331
  type: NgModule,
332
332
  args: [{
333
333
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-paginator.mjs","sources":["../../../../libs/angular/components/paginator/src/lib/paginator.config.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.html","../../../../libs/angular/components/paginator/src/lib/paginator.module.ts","../../../../libs/angular/components/paginator/src/odx-angular-components-paginator.ts"],"sourcesContent":["import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { createConfigTokens } from '@odx/angular/utils';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\n\nexport interface PaginatorConfig {\n /**\n * Function to generate summary content for paginator, displaying indices and total length.\n * @param startItemIndex The starting index of the current page.\n * @param endItemIndex The ending index of the current page.\n * @param length Total number of items in the dataset.\n * @returns DynamicTextContent for summary display.\n */\n getSummaryContent: GetSummaryContentFn;\n\n /**\n * Function to generate range content for paginator, displaying the current page index and total pages.\n * @param pageIndex The index of the current page.\n * @param totalPages Total number of pages.\n * @returns DynamicTextContent for range display.\n */\n getRangeContent: GetRangeContentFn;\n\n /**\n * Default paginator page size\n * @default 10\n */\n pageSize: number;\n}\n\n/**\n * Generates summary content for display in the paginator.\n * @param startItemIndex Start index of the items on the current page.\n * @param endItemIndex End index of the items on the current page.\n * @param length Total number of items available.\n * @returns Formatted summary as dynamic HTML content.\n */\nconst getSummaryContent: GetSummaryContentFn = (startItemIndex: number, endItemIndex: number, length: number): DynamicTextContent => {\n return `\n <strong>${startItemIndex}</strong>\n to <strong>${endItemIndex}</strong>\n of <strong>${length}</strong>\n `;\n};\n\n/**\n * Generates range content for display in the paginator.\n * @param pageIndex Current page index.\n * @param totalPages Total number of pages available.\n * @returns Formatted range as dynamic HTML content.\n */\nconst getRangeContent: GetRangeContentFn = (pageIndex: number, totalPages: number): DynamicTextContent => {\n return `\n Page <strong>${pageIndex + 1}</strong>\n of <strong>${totalPages}</strong>\n `;\n};\n\n/**\n * Utility for creating and retrieving configuration tokens for the Paginator.\n * This facilitates dependency injection of configuration in Angular applications.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * providePaginatorConfig({\n * pageSize: 20,\n * getSummaryContent: (startItemIndex: number, endItemIndex: number, length: number) => `...`\n * }),\n * ]\n * ```\n */\nexport const { PaginatorConfig, PaginatorDefaultConfig, injectPaginatorConfig, providePaginatorConfig } = createConfigTokens(\n 'Paginator',\n '@odx/angular/components/paginator',\n {\n getSummaryContent,\n getRangeContent,\n pageSize: 10,\n },\n);\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent, ButtonSize } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { PageChangeEvent } from './interfaces';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\nimport { injectPaginatorConfig } from './paginator.config';\n\n/**\n * Paginator component for navigating between pages of content in a dataset.\n * It provides configurable options for page size, total content length, and navigational controls,\n * and emits an event when the page is changed.\n */\n@CSSComponent('paginator')\n@Component({\n standalone: true,\n selector: 'odx-paginator',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, DynamicViewDirective],\n providers: [DisabledController.connect()],\n templateUrl: './paginator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.is-disabled]': 'isDisabled',\n },\n})\nexport class PaginatorComponent {\n private readonly disabledController = DisabledController.inject();\n\n private readonly config = injectPaginatorConfig();\n\n private _pageIndex = 0;\n private _pageSize = this.config.pageSize;\n private _length = 0;\n\n protected buttonSize = ButtonSize.SMALL;\n\n public readonly element = injectElement();\n\n /**\n * Function to generate summary content for display, such as \"Items 1-10 of 100\".\n *\n * @type {GetSummaryContentFn | null}\n * @default null\n */\n @Input()\n public getSummaryContentFn?: GetSummaryContentFn | null = null;\n\n /**\n * Function to generate range content for display, such as \"Page 1 of 10\".\n *\n * @type {GetRangeContentFn | null}\n * @default null\n */\n @Input()\n public getRangeContentFn?: GetRangeContentFn | null = null;\n\n /**\n * Determines whether the summary content is displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showSummary = true;\n\n /**\n * Determines whether buttons for navigating to the first and last pages are displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showFirstLastButtons = true;\n\n /**\n * The current page index. Setter ensures the page index is non-negative.\n *\n * @param {number} value - The new page index.\n */\n @Input()\n public set pageIndex(value: number) {\n if (value >= 0) this._pageIndex = value;\n }\n\n /**\n * Gets the current page index, returns -1 if length is zero.\n *\n * @returns {number}\n */\n public get pageIndex(): number {\n return this._length ? this._pageIndex : -1;\n }\n\n /**\n * The number of items per page. Setter ensures the page size is positive.\n *\n * @param {number} value - The new page size.\n */\n @Input()\n public set pageSize(value: number) {\n if (value > 0) this._pageSize = value;\n }\n\n /**\n * Gets the number of items per page.\n *\n * @returns {number}\n */\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /**\n * The total number of items. Setter ensures the length is non-negative.\n *\n * @param {number} value - The new total number of items.\n */\n @Input()\n public set length(value: number) {\n if (value >= 0) this._length = value;\n }\n\n /**\n * Gets the total number of items.\n *\n * @returns {number}\n */\n public get length(): number {\n return this._length;\n }\n\n /**\n * Event emitted when the page index changes, providing details of the new page context.\n *\n * @emits {PageChangeEvent}\n */\n @Output()\n public pageChanged = new EventEmitter<PageChangeEvent>();\n\n /**\n * Determines whether pagination controls are disabled.\n *\n * @returns {boolean}\n */\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Default function to generate summary content if no function is provided.\n *\n * @returns {GetSummaryContentFn}\n */\n public get defaultGetSummaryContentFn(): GetSummaryContentFn {\n return this.config.getSummaryContent;\n }\n\n /**\n * Default function to generate range content if no function is provided.\n *\n * @returns {GetRangeContentFn}\n */\n public get defaultGetRangeContentFn(): GetRangeContentFn {\n return this.config.getRangeContent;\n }\n\n /**\n * Computes and returns the dynamic summary content.\n *\n * @returns {DynamicTextContent}\n */\n public get summaryContent(): DynamicTextContent {\n const fn = this.getSummaryContentFn ?? this.defaultGetSummaryContentFn;\n return fn(this.startItemIndex + 1, this.endItemIndex, this.length);\n }\n\n /**\n * Computes and returns the dynamic range content.\n *\n * @returns {DynamicTextContent}\n */\n public get rangeContent(): DynamicTextContent {\n const fn = this.getRangeContentFn ?? this.defaultGetRangeContentFn;\n return fn(this.pageIndex, this.totalPages);\n }\n\n /**\n * Navigates to the first page.\n */\n public firstPage(): void {\n this.pageChange(0);\n }\n\n /**\n * Navigates to the previous page.\n */\n public previousPage(): void {\n this.pageChange(this._pageIndex - 1);\n }\n\n /**\n * Navigates to the next page.\n */\n public nextPage(): void {\n this.pageChange(this._pageIndex + 1);\n }\n\n /**\n * Navigates to the last page.\n */\n public lastPage(): void {\n this.pageChange(this.totalPages - 1);\n }\n\n /**\n * Determines whether the current page is the first page.\n *\n * @returns {boolean}\n */\n public get isFirstPage(): boolean {\n return this._pageIndex === 0;\n }\n\n /**\n * Determines whether the current page is the last page.\n *\n * @returns {boolean}\n */\n public get isLastPage(): boolean {\n return this._pageIndex === this.totalPages - 1;\n }\n\n /**\n * Determines whether the previous button is disabled.\n *\n * @returns {boolean}\n */\n public get isPreviousDisabled(): boolean {\n return this.isFirstPage || !this._length;\n }\n\n /**\n * Determines whether the next button is disabled.\n *\n * @returns {boolean}\n */\n public get isNextDisabled(): boolean {\n return this.isLastPage || !this._length;\n }\n\n /**\n * Gets the total number of pages.\n *\n * @returns {number}\n */\n public get totalPages(): number {\n return Math.ceil(this._length / this._pageSize);\n }\n\n /**\n * Gets the index of the first item on the current page.\n *\n * @returns {number}\n */\n public get startItemIndex(): number {\n return this._length ? this._pageIndex * this._pageSize : -1;\n }\n\n /**\n * Gets the index of the last item on the current page.\n *\n * @returns {number}\n */\n public get endItemIndex(): number {\n return Math.min(this.startItemIndex + this._pageSize, this._length);\n }\n\n /**\n * Navigates to the specified page index.\n */\n public pageChange(pageIndex: number): void {\n if (pageIndex < 0) return;\n\n this._pageIndex = pageIndex;\n\n this.pageChanged.emit({\n pageIndex: this._pageIndex,\n length: this._length,\n pageSize: this._pageSize,\n });\n }\n}\n","@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\" />\n </button>\n }\n </odx-action-group>\n</div>\n","import { NgModule } from '@angular/core';\nimport { PaginatorComponent } from './paginator.component';\n\nconst modules = [PaginatorComponent];\n\n@NgModule({\n imports: modules,\n exports: [...modules],\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-paginator.mjs","sources":["../../../../libs/angular/components/paginator/src/lib/paginator.config.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.html","../../../../libs/angular/components/paginator/src/lib/paginator.module.ts","../../../../libs/angular/components/paginator/src/odx-angular-components-paginator.ts"],"sourcesContent":["import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { createConfigTokens } from '@odx/angular/utils';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\n\nexport interface PaginatorConfig {\n /**\n * Function to generate summary content for paginator, displaying indices and total length.\n * @param startItemIndex The starting index of the current page.\n * @param endItemIndex The ending index of the current page.\n * @param length Total number of items in the dataset.\n * @returns DynamicTextContent for summary display.\n */\n getSummaryContent: GetSummaryContentFn;\n\n /**\n * Function to generate range content for paginator, displaying the current page index and total pages.\n * @param pageIndex The index of the current page.\n * @param totalPages Total number of pages.\n * @returns DynamicTextContent for range display.\n */\n getRangeContent: GetRangeContentFn;\n\n /**\n * Default paginator page size\n * @default 10\n */\n pageSize: number;\n}\n\n/**\n * Generates summary content for display in the paginator.\n * @param startItemIndex Start index of the items on the current page.\n * @param endItemIndex End index of the items on the current page.\n * @param length Total number of items available.\n * @returns Formatted summary as dynamic HTML content.\n */\nconst getSummaryContent: GetSummaryContentFn = (startItemIndex: number, endItemIndex: number, length: number): DynamicTextContent => {\n return `\n <strong>${startItemIndex}</strong>\n to <strong>${endItemIndex}</strong>\n of <strong>${length}</strong>\n `;\n};\n\n/**\n * Generates range content for display in the paginator.\n * @param pageIndex Current page index.\n * @param totalPages Total number of pages available.\n * @returns Formatted range as dynamic HTML content.\n */\nconst getRangeContent: GetRangeContentFn = (pageIndex: number, totalPages: number): DynamicTextContent => {\n return `\n Page <strong>${pageIndex + 1}</strong>\n of <strong>${totalPages}</strong>\n `;\n};\n\n/**\n * Utility for creating and retrieving configuration tokens for the Paginator.\n * This facilitates dependency injection of configuration in Angular applications.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * providePaginatorConfig({\n * pageSize: 20,\n * getSummaryContent: (startItemIndex: number, endItemIndex: number, length: number) => `...`\n * }),\n * ]\n * ```\n */\nexport const { PaginatorConfig, PaginatorDefaultConfig, injectPaginatorConfig, providePaginatorConfig } = createConfigTokens(\n 'Paginator',\n '@odx/angular/components/paginator',\n {\n getSummaryContent,\n getRangeContent,\n pageSize: 10,\n },\n);\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent, ButtonSize } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { PageChangeEvent } from './interfaces';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\nimport { injectPaginatorConfig } from './paginator.config';\n\n/**\n * Paginator component for navigating between pages of content in a dataset.\n * It provides configurable options for page size, total content length, and navigational controls,\n * and emits an event when the page is changed.\n */\n@CSSComponent('paginator')\n@Component({\n standalone: true,\n selector: 'odx-paginator',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, DynamicViewDirective],\n providers: [DisabledController.connect()],\n templateUrl: './paginator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.is-disabled]': 'isDisabled',\n },\n})\nexport class PaginatorComponent {\n private readonly disabledController = DisabledController.inject();\n\n private readonly config = injectPaginatorConfig();\n\n private _pageIndex = 0;\n private _pageSize = this.config.pageSize;\n private _length = 0;\n\n protected buttonSize = ButtonSize.SMALL;\n\n public readonly element = injectElement();\n\n /**\n * Function to generate summary content for display, such as \"Items 1-10 of 100\".\n *\n * @type {GetSummaryContentFn | null}\n * @default null\n */\n @Input()\n public getSummaryContentFn?: GetSummaryContentFn | null = null;\n\n /**\n * Function to generate range content for display, such as \"Page 1 of 10\".\n *\n * @type {GetRangeContentFn | null}\n * @default null\n */\n @Input()\n public getRangeContentFn?: GetRangeContentFn | null = null;\n\n /**\n * Determines whether the summary content is displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showSummary = true;\n\n /**\n * Determines whether buttons for navigating to the first and last pages are displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showFirstLastButtons = true;\n\n /**\n * The current page index. Setter ensures the page index is non-negative.\n *\n * @param {number} value - The new page index.\n */\n @Input()\n public set pageIndex(value: number) {\n if (value >= 0) this._pageIndex = value;\n }\n\n /**\n * Gets the current page index, returns -1 if length is zero.\n *\n * @returns {number}\n */\n public get pageIndex(): number {\n return this._length ? this._pageIndex : -1;\n }\n\n /**\n * The number of items per page. Setter ensures the page size is positive.\n *\n * @param {number} value - The new page size.\n */\n @Input()\n public set pageSize(value: number) {\n if (value > 0) this._pageSize = value;\n }\n\n /**\n * Gets the number of items per page.\n *\n * @returns {number}\n */\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /**\n * The total number of items. Setter ensures the length is non-negative.\n *\n * @param {number} value - The new total number of items.\n */\n @Input()\n public set length(value: number) {\n if (value >= 0) this._length = value;\n }\n\n /**\n * Gets the total number of items.\n *\n * @returns {number}\n */\n public get length(): number {\n return this._length;\n }\n\n /**\n * Event emitted when the page index changes, providing details of the new page context.\n *\n * @emits {PageChangeEvent}\n */\n @Output()\n public pageChanged = new EventEmitter<PageChangeEvent>();\n\n /**\n * Determines whether pagination controls are disabled.\n *\n * @returns {boolean}\n */\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Default function to generate summary content if no function is provided.\n *\n * @returns {GetSummaryContentFn}\n */\n public get defaultGetSummaryContentFn(): GetSummaryContentFn {\n return this.config.getSummaryContent;\n }\n\n /**\n * Default function to generate range content if no function is provided.\n *\n * @returns {GetRangeContentFn}\n */\n public get defaultGetRangeContentFn(): GetRangeContentFn {\n return this.config.getRangeContent;\n }\n\n /**\n * Computes and returns the dynamic summary content.\n *\n * @returns {DynamicTextContent}\n */\n public get summaryContent(): DynamicTextContent {\n const fn = this.getSummaryContentFn ?? this.defaultGetSummaryContentFn;\n return fn(this.startItemIndex + 1, this.endItemIndex, this.length);\n }\n\n /**\n * Computes and returns the dynamic range content.\n *\n * @returns {DynamicTextContent}\n */\n public get rangeContent(): DynamicTextContent {\n const fn = this.getRangeContentFn ?? this.defaultGetRangeContentFn;\n return fn(this.pageIndex, this.totalPages);\n }\n\n /**\n * Navigates to the first page.\n */\n public firstPage(): void {\n this.pageChange(0);\n }\n\n /**\n * Navigates to the previous page.\n */\n public previousPage(): void {\n this.pageChange(this._pageIndex - 1);\n }\n\n /**\n * Navigates to the next page.\n */\n public nextPage(): void {\n this.pageChange(this._pageIndex + 1);\n }\n\n /**\n * Navigates to the last page.\n */\n public lastPage(): void {\n this.pageChange(this.totalPages - 1);\n }\n\n /**\n * Determines whether the current page is the first page.\n *\n * @returns {boolean}\n */\n public get isFirstPage(): boolean {\n return this._pageIndex === 0;\n }\n\n /**\n * Determines whether the current page is the last page.\n *\n * @returns {boolean}\n */\n public get isLastPage(): boolean {\n return this._pageIndex === this.totalPages - 1;\n }\n\n /**\n * Determines whether the previous button is disabled.\n *\n * @returns {boolean}\n */\n public get isPreviousDisabled(): boolean {\n return this.isFirstPage || !this._length;\n }\n\n /**\n * Determines whether the next button is disabled.\n *\n * @returns {boolean}\n */\n public get isNextDisabled(): boolean {\n return this.isLastPage || !this._length;\n }\n\n /**\n * Gets the total number of pages.\n *\n * @returns {number}\n */\n public get totalPages(): number {\n return Math.ceil(this._length / this._pageSize);\n }\n\n /**\n * Gets the index of the first item on the current page.\n *\n * @returns {number}\n */\n public get startItemIndex(): number {\n return this._length ? this._pageIndex * this._pageSize : -1;\n }\n\n /**\n * Gets the index of the last item on the current page.\n *\n * @returns {number}\n */\n public get endItemIndex(): number {\n return Math.min(this.startItemIndex + this._pageSize, this._length);\n }\n\n /**\n * Navigates to the specified page index.\n */\n public pageChange(pageIndex: number): void {\n if (pageIndex < 0) return;\n\n this._pageIndex = pageIndex;\n\n this.pageChanged.emit({\n pageIndex: this._pageIndex,\n length: this._length,\n pageSize: this._pageSize,\n });\n }\n}\n","@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"core::chevron-left-end\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"core::chevron-left\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"core::chevron-right\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"core::chevron-right-end\" />\n </button>\n }\n </odx-action-group>\n</div>\n","import { NgModule } from '@angular/core';\nimport { PaginatorComponent } from './paginator.component';\n\nconst modules = [PaginatorComponent];\n\n@NgModule({\n imports: modules,\n exports: [...modules],\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { __decorate, __metadata } from 'tslib';
1
+ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { numberAttribute, Input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
4
4
  import { CSSModifier, CSSComponent } from '@odx/angular/internal';
@@ -45,17 +45,16 @@ let ProgressComponent = class ProgressComponent {
45
45
  get value() {
46
46
  return this._value;
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: ProgressComponent, isStandalone: true, selector: "odx-progress", inputs: { value: ["value", "value", numberAttribute] }, host: { properties: { "attr.aria-valuenow": "ariaValueNow", "attr.aria-valuemax": "100", "attr.aria-valuemin": "0", "attr.role": "\"meter\"" } }, ngImport: i0, template: "<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.16", type: ProgressComponent, isStandalone: true, selector: "odx-progress", inputs: { value: ["value", "value", numberAttribute] }, host: { properties: { "attr.aria-valuenow": "ariaValueNow", "attr.aria-valuemax": "100", "attr.aria-valuemin": "0", "attr.role": "\"meter\"" } }, ngImport: i0, template: "<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
50
  };
51
51
  __decorate([
52
- CSSModifier(),
53
- __metadata("design:type", Object)
52
+ CSSModifier()
54
53
  ], ProgressComponent.prototype, "indeterminate", void 0);
55
54
  ProgressComponent = __decorate([
56
55
  CSSComponent('progress')
57
56
  ], ProgressComponent);
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProgressComponent, decorators: [{
59
58
  type: Component,
60
59
  args: [{ selector: 'odx-progress', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
61
60
  '[attr.aria-valuenow]': 'ariaValueNow',
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-progress.mjs","sources":["../../../../libs/angular/components/progress/src/lib/progress.component.ts","../../../../libs/angular/components/progress/src/lib/progress.component.html","../../../../libs/angular/components/progress/src/odx-angular-components-progress.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Progress component for visually indicating the completion level of a task or process.\n * The component can display definite progress or operate in an indeterminate mode to indicate ongoing activity.\n */\n@CSSComponent('progress')\n@Component({\n selector: 'odx-progress',\n templateUrl: './progress.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-valuenow]': 'ariaValueNow',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuemin]': '0',\n '[attr.role]': '\"meter\"',\n },\n})\nexport class ProgressComponent {\n private _value = 0;\n\n protected get ariaValueNow(): null | number {\n return this.indeterminate ? null : this.value;\n }\n\n protected get progressValue(): number {\n return this.indeterminate ? 1 : this.value / 100;\n }\n\n public readonly element = injectElement();\n\n /**\n * Indicates if the progress bar is in indeterminate state, which is typically used for loading processes\n * where the completion percentage is unknown.\n *\n * @type {boolean}\n */\n @CSSModifier()\n public indeterminate = false;\n\n /**\n * Sets the current value of the progress bar. Accepts a number between 0 and 100 or -1 for indeterminate.\n *\n * @param {number} value - The new value of the progress bar. -1 sets the bar to indeterminate.\n */\n @Input({ transform: numberAttribute })\n public set value(value: number) {\n if (value <= 100 && value >= -1) {\n this._value = value;\n this.indeterminate = value === -1;\n }\n }\n\n /**\n * Gets the current value of the progress bar.\n *\n * @returns {number}\n */\n public get value(): number {\n return this._value;\n }\n}\n","<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;;;AAGG;AAeI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;QACG,IAAA,CAAA,MAAM,GAAG,CAAC;QAUF,IAAA,CAAA,OAAO,GAAG,aAAa,EAAE;AAEzC;;;;;AAKG;QAEI,IAAA,CAAA,aAAa,GAAG,KAAK;AAuB7B,IAAA;AAxCC,IAAA,IAAc,YAAY,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK;IAC/C;AAEA,IAAA,IAAc,aAAa,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG;IAClD;AAaA;;;;AAIG;IACH,IACW,KAAK,CAAC,KAAa,EAAA;QAC5B,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,KAAK,CAAC,CAAC;QACnC;IACF;AAEA;;;;AAIG;AACH,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;+GA1CW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EA2BR,eAAe,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,oBAAA,EAAA,GAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjDrC,kGACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;ADyCS,UAAA,CAAA;AADN,IAAA,WAAW,EAAE;;AACe,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA;AApBlB,iBAAiB,GAAA,UAAA,CAAA;IAd7B,YAAY,CAAC,UAAU;AAcX,CAAA,EAAA,iBAAiB,CA2C7B;4FA3CY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;+BACE,cAAc,EAAA,UAAA,EAEZ,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,sBAAsB,EAAE,cAAc;AACtC,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,aAAa,EAAE,SAAS;AACzB,qBAAA,EAAA,QAAA,EAAA,kGAAA,EAAA;AAsBM,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,aAAa,MAQT,KAAK,EAAA,CAAA;sBADf,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;;;AEjDvC;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-progress.mjs","sources":["../../../../libs/angular/components/progress/src/lib/progress.component.ts","../../../../libs/angular/components/progress/src/lib/progress.component.html","../../../../libs/angular/components/progress/src/odx-angular-components-progress.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Progress component for visually indicating the completion level of a task or process.\n * The component can display definite progress or operate in an indeterminate mode to indicate ongoing activity.\n */\n@CSSComponent('progress')\n@Component({\n selector: 'odx-progress',\n templateUrl: './progress.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-valuenow]': 'ariaValueNow',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuemin]': '0',\n '[attr.role]': '\"meter\"',\n },\n})\nexport class ProgressComponent {\n private _value = 0;\n\n protected get ariaValueNow(): null | number {\n return this.indeterminate ? null : this.value;\n }\n\n protected get progressValue(): number {\n return this.indeterminate ? 1 : this.value / 100;\n }\n\n public readonly element = injectElement();\n\n /**\n * Indicates if the progress bar is in indeterminate state, which is typically used for loading processes\n * where the completion percentage is unknown.\n *\n * @type {boolean}\n */\n @CSSModifier()\n public indeterminate = false;\n\n /**\n * Sets the current value of the progress bar. Accepts a number between 0 and 100 or -1 for indeterminate.\n *\n * @param {number} value - The new value of the progress bar. -1 sets the bar to indeterminate.\n */\n @Input({ transform: numberAttribute })\n public set value(value: number) {\n if (value <= 100 && value >= -1) {\n this._value = value;\n this.indeterminate = value === -1;\n }\n }\n\n /**\n * Gets the current value of the progress bar.\n *\n * @returns {number}\n */\n public get value(): number {\n return this._value;\n }\n}\n","<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;;;AAGG;AAeI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;QACG,IAAA,CAAA,MAAM,GAAG,CAAC;QAUF,IAAA,CAAA,OAAO,GAAG,aAAa,EAAE;AAEzC;;;;;AAKG;QAEI,IAAA,CAAA,aAAa,GAAG,KAAK;AAuB7B,IAAA;AAxCC,IAAA,IAAc,YAAY,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK;IAC/C;AAEA,IAAA,IAAc,aAAa,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG;IAClD;AAaA;;;;AAIG;IACH,IACW,KAAK,CAAC,KAAa,EAAA;QAC5B,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,KAAK,CAAC,CAAC;QACnC;IACF;AAEA;;;;AAIG;AACH,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;+GA1CW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EA2BR,eAAe,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,oBAAA,EAAA,GAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjDrC,kGACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;ADyCS,UAAA,CAAA;AADN,IAAA,WAAW;AACiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA;AApBlB,iBAAiB,GAAA,UAAA,CAAA;IAd7B,YAAY,CAAC,UAAU;AAcX,CAAA,EAAA,iBAAiB,CA2C7B;4FA3CY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;+BACE,cAAc,EAAA,UAAA,EAEZ,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,sBAAsB,EAAE,cAAc;AACtC,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,aAAa,EAAE,SAAS;AACzB,qBAAA,EAAA,QAAA,EAAA,kGAAA,EAAA;;sBA6BA,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;;;AEjDvC;;AAEG;;;;"}