@odx/angular 11.6.0 → 12.0.1

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 (391) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/breakpoints/lib/breakpoints.config.d.ts +1 -1
  3. package/components/calendar/lib/calendar.config.d.ts +1 -1
  4. package/components/card/lib/card.config.d.ts +1 -1
  5. package/components/datepicker/lib/datepicker.config.d.ts +1 -1
  6. package/components/daterangepicker/lib/daterangepicker.config.d.ts +1 -1
  7. package/components/error-page/lib/error-page.config.d.ts +1 -1
  8. package/components/footer/lib/footer.config.d.ts +1 -1
  9. package/components/form-field/lib/form-field.config.d.ts +1 -1
  10. package/components/icon/lib/icon.config.d.ts +1 -1
  11. package/components/main-menu/lib/main-menu.config.d.ts +1 -1
  12. package/components/modal/lib/modal.config.d.ts +1 -1
  13. package/components/notification/lib/notification.config.d.ts +1 -1
  14. package/components/paginator/lib/paginator.config.d.ts +1 -1
  15. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +3 -3
  16. package/components/toast/lib/toast.config.d.ts +1 -1
  17. package/components/tooltip/lib/tooltip.config.d.ts +1 -1
  18. package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
  19. package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
  20. package/esm2022/breakpoints/lib/breakpoints.typings.mjs +1 -1
  21. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -3
  22. package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
  23. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  24. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  25. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  26. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  27. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +3 -3
  28. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
  29. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  30. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  31. package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  32. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  33. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
  34. package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  35. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  36. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  37. package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +1 -1
  38. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +5 -5
  39. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +5 -5
  40. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +3 -3
  41. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  42. package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
  43. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
  44. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  45. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  46. package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  47. package/esm2022/components/accordion/lib/accordion.component.mjs +3 -3
  48. package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
  49. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  50. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  51. package/esm2022/components/action-group/action-group.component.mjs +3 -3
  52. package/esm2022/components/area-header/area-header.component.mjs +3 -3
  53. package/esm2022/components/area-header/area-header.module.mjs +4 -4
  54. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
  55. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  56. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +3 -3
  57. package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  58. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +3 -3
  59. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +3 -3
  60. package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
  61. package/esm2022/components/avatar/lib/avatar.component.mjs +3 -3
  62. package/esm2022/components/badge/lib/badge.component.mjs +3 -3
  63. package/esm2022/components/badge/lib/badge.directive.mjs +3 -3
  64. package/esm2022/components/bar/lib/bar.component.mjs +3 -3
  65. package/esm2022/components/bar/lib/bar.module.mjs +4 -4
  66. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +3 -3
  67. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  68. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  69. package/esm2022/components/button/lib/button.component.mjs +3 -3
  70. package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
  71. package/esm2022/components/button-group/lib/button-group.component.mjs +3 -3
  72. package/esm2022/components/calendar/lib/calendar.component.mjs +3 -3
  73. package/esm2022/components/calendar/lib/calendar.service.mjs +3 -3
  74. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +3 -3
  75. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
  76. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
  77. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
  78. package/esm2022/components/calendar/lib/daterange.service.mjs +3 -3
  79. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +3 -3
  80. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
  81. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +3 -3
  82. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +3 -3
  83. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +3 -3
  84. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +3 -3
  85. package/esm2022/components/card/lib/card.component.mjs +3 -3
  86. package/esm2022/components/card/lib/card.module.mjs +4 -4
  87. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
  88. package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +3 -3
  89. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
  90. package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
  91. package/esm2022/components/checkbox/lib/checkbox.component.mjs +3 -3
  92. package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
  93. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
  94. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +3 -3
  95. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +3 -3
  96. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +3 -3
  97. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +3 -3
  98. package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
  99. package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
  100. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
  101. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
  102. package/esm2022/components/datepicker/lib/datepicker.component.mjs +3 -3
  103. package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
  104. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +4 -4
  105. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +3 -3
  106. package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
  107. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -4
  108. package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
  109. package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
  110. package/esm2022/components/dropdown/lib/dropdown.component.mjs +3 -3
  111. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +3 -3
  112. package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
  113. package/esm2022/components/error-page/lib/error-page.component.mjs +3 -3
  114. package/esm2022/components/footer/lib/footer.component.mjs +3 -3
  115. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  116. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  117. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  118. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  119. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  120. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  121. package/esm2022/components/form-field/lib/directives/form.directive.mjs +3 -3
  122. package/esm2022/components/form-field/lib/form-field.component.mjs +3 -3
  123. package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
  124. package/esm2022/components/form-field/lib/form-field.service.mjs +3 -3
  125. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  126. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  127. package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
  128. package/esm2022/components/header/lib/header.component.mjs +3 -3
  129. package/esm2022/components/header/lib/header.module.mjs +4 -4
  130. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +6 -6
  131. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +3 -3
  132. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
  133. package/esm2022/components/icon/lib/icon.component.mjs +3 -3
  134. package/esm2022/components/inline-message/lib/inline-message.component.mjs +3 -3
  135. package/esm2022/components/link/link.directive.mjs +3 -3
  136. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -3
  137. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  138. package/esm2022/components/list/lib/list.component.mjs +3 -3
  139. package/esm2022/components/list/lib/list.module.mjs +4 -4
  140. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  141. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
  142. package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  143. package/esm2022/components/logo/logo.directive.mjs +3 -3
  144. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  145. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
  146. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
  147. package/esm2022/components/main-menu/lib/main-menu.component.mjs +3 -3
  148. package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
  149. package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
  150. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +3 -3
  151. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  152. package/esm2022/components/menu/lib/menu.component.mjs +3 -3
  153. package/esm2022/components/menu/lib/menu.directive.mjs +3 -3
  154. package/esm2022/components/menu/lib/menu.module.mjs +4 -4
  155. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  156. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  157. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
  158. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
  159. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  160. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  161. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  162. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
  163. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
  164. package/esm2022/components/modal/lib/modal.component.mjs +3 -3
  165. package/esm2022/components/modal/lib/modal.directive.mjs +3 -3
  166. package/esm2022/components/modal/lib/modal.module.mjs +4 -4
  167. package/esm2022/components/modal/lib/modal.service.mjs +3 -3
  168. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +3 -3
  169. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +3 -3
  170. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +3 -3
  171. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
  172. package/esm2022/components/notification/lib/notification.service.mjs +3 -3
  173. package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
  174. package/esm2022/components/paginator/lib/paginator.component.mjs +3 -3
  175. package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
  176. package/esm2022/components/progress/lib/progress.component.mjs +3 -3
  177. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  178. package/esm2022/components/radio-group/lib/radio-group.component.mjs +3 -3
  179. package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
  180. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +3 -3
  181. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  182. package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  183. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +3 -3
  184. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +3 -3
  185. package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +3 -3
  186. package/esm2022/components/rich-list/lib/rich-list.component.mjs +3 -3
  187. package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
  188. package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
  189. package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
  190. package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
  191. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +3 -3
  192. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +3 -3
  193. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  194. package/esm2022/components/select/lib/select.component.mjs +3 -3
  195. package/esm2022/components/select/lib/select.module.mjs +4 -4
  196. package/esm2022/components/slider/lib/slider.directive.mjs +3 -3
  197. package/esm2022/components/spinbox/lib/spinbox.component.mjs +3 -3
  198. package/esm2022/components/switch/lib/switch.component.mjs +3 -3
  199. package/esm2022/components/switch/lib/switch.module.mjs +4 -4
  200. package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
  201. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
  202. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +3 -3
  203. package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  204. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
  205. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +3 -3
  206. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +3 -3
  207. package/esm2022/components/table/lib/directives/table-row.directive.mjs +3 -3
  208. package/esm2022/components/table/lib/table.component.mjs +3 -3
  209. package/esm2022/components/table/lib/table.module.mjs +4 -4
  210. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +3 -3
  211. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +5 -5
  212. package/esm2022/components/timepicker/lib/timepicker.component.mjs +3 -3
  213. package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
  214. package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
  215. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  216. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
  217. package/esm2022/components/toast/lib/toast.module.mjs +4 -4
  218. package/esm2022/components/toast/lib/toast.service.mjs +3 -3
  219. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  220. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  221. package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  222. package/esm2022/components/tooltip/lib/tooltip.component.mjs +3 -3
  223. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +3 -3
  224. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +3 -3
  225. package/esm2022/components/wizard/lib/wizard.component.mjs +3 -3
  226. package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
  227. package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
  228. package/esm2022/lib/controllers/controller.mjs +3 -3
  229. package/esm2022/lib/controllers/disabled.controller.mjs +3 -3
  230. package/esm2022/lib/controllers/readonly.controller.mjs +3 -3
  231. package/esm2022/lib/core.module.mjs +4 -4
  232. package/esm2022/lib/directives/click-outside.directive.mjs +3 -3
  233. package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
  234. package/esm2022/lib/directives/with-disabled-state.directive.mjs +3 -3
  235. package/esm2022/lib/directives/with-tabindex.directive.mjs +3 -3
  236. package/esm2022/lib/services/window-ref.mjs +3 -3
  237. package/esm2022/localization/lib/localization.service.mjs +3 -3
  238. package/esm2022/theming/lib/theming.service.mjs +3 -3
  239. package/esm2022/utils/lib/helpers/dom.mjs +3 -2
  240. package/esm2022/utils/lib/helpers/event-manager.mjs +3 -3
  241. package/fesm2022/odx-angular-animations.mjs.map +1 -1
  242. package/fesm2022/odx-angular-breakpoints.mjs +10 -10
  243. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  244. package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
  245. package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
  246. package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
  247. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  248. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +3 -3
  249. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  250. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -3
  251. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  252. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
  253. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  254. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +9 -9
  255. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  256. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
  257. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  258. package/fesm2022/odx-angular-cdk-event-plugins.mjs +8 -8
  259. package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
  260. package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
  261. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  262. package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
  263. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  264. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +10 -10
  265. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  266. package/fesm2022/odx-angular-components-accordion.mjs +13 -13
  267. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  268. package/fesm2022/odx-angular-components-action-group.mjs +3 -3
  269. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  270. package/fesm2022/odx-angular-components-area-header.mjs +13 -13
  271. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  272. package/fesm2022/odx-angular-components-autocomplete.mjs +16 -16
  273. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  274. package/fesm2022/odx-angular-components-avatar.mjs +3 -3
  275. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  276. package/fesm2022/odx-angular-components-badge.mjs +6 -6
  277. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  278. package/fesm2022/odx-angular-components-bar.mjs +13 -13
  279. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  280. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
  281. package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
  282. package/fesm2022/odx-angular-components-button-group.mjs +3 -3
  283. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  284. package/fesm2022/odx-angular-components-button.mjs +6 -6
  285. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  286. package/fesm2022/odx-angular-components-calendar.mjs +39 -39
  287. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  288. package/fesm2022/odx-angular-components-card.mjs +19 -19
  289. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  290. package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
  291. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  292. package/fesm2022/odx-angular-components-chip.mjs +9 -9
  293. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  294. package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
  295. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  296. package/fesm2022/odx-angular-components-content-box.mjs +13 -13
  297. package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
  298. package/fesm2022/odx-angular-components-datepicker.mjs +10 -10
  299. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  300. package/fesm2022/odx-angular-components-daterangepicker.mjs +16 -16
  301. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  302. package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
  303. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  304. package/fesm2022/odx-angular-components-error-page.mjs +3 -3
  305. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  306. package/fesm2022/odx-angular-components-footer.mjs +3 -3
  307. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  308. package/fesm2022/odx-angular-components-form-field.mjs +34 -34
  309. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  310. package/fesm2022/odx-angular-components-header-navigation.mjs +13 -13
  311. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  312. package/fesm2022/odx-angular-components-header.mjs +13 -13
  313. package/fesm2022/odx-angular-components-header.mjs.map +1 -1
  314. package/fesm2022/odx-angular-components-icon.mjs +3 -3
  315. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  316. package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
  317. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  318. package/fesm2022/odx-angular-components-link.mjs +3 -3
  319. package/fesm2022/odx-angular-components-link.mjs.map +1 -1
  320. package/fesm2022/odx-angular-components-list.mjs +13 -13
  321. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  322. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
  323. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  324. package/fesm2022/odx-angular-components-logo.mjs +3 -3
  325. package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
  326. package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
  327. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  328. package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
  329. package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
  330. package/fesm2022/odx-angular-components-menu.mjs +13 -13
  331. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  332. package/fesm2022/odx-angular-components-modal.mjs +40 -40
  333. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  334. package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
  335. package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
  336. package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
  337. package/fesm2022/odx-angular-components-notification.mjs +15 -15
  338. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  339. package/fesm2022/odx-angular-components-paginator.mjs +7 -7
  340. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  341. package/fesm2022/odx-angular-components-progress.mjs +3 -3
  342. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  343. package/fesm2022/odx-angular-components-radio-group.mjs +10 -10
  344. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  345. package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
  346. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  347. package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
  348. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  349. package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
  350. package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
  351. package/fesm2022/odx-angular-components-select.mjs +16 -16
  352. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  353. package/fesm2022/odx-angular-components-slider.mjs +3 -3
  354. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  355. package/fesm2022/odx-angular-components-spinbox.mjs +3 -3
  356. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  357. package/fesm2022/odx-angular-components-switch.mjs +10 -10
  358. package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
  359. package/fesm2022/odx-angular-components-tab-bar.mjs +10 -10
  360. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  361. package/fesm2022/odx-angular-components-table.mjs +19 -19
  362. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  363. package/fesm2022/odx-angular-components-timepicker.mjs +17 -17
  364. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  365. package/fesm2022/odx-angular-components-toast.mjs +13 -13
  366. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  367. package/fesm2022/odx-angular-components-toggle-button-group.mjs +10 -10
  368. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  369. package/fesm2022/odx-angular-components-tooltip.mjs +6 -6
  370. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  371. package/fesm2022/odx-angular-components-wizard.mjs +10 -10
  372. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  373. package/fesm2022/odx-angular-internal-translate.mjs +3 -3
  374. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  375. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  376. package/fesm2022/odx-angular-localization.mjs +3 -3
  377. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  378. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  379. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  380. package/fesm2022/odx-angular-theming.mjs +3 -3
  381. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  382. package/fesm2022/odx-angular-utils.mjs +5 -4
  383. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  384. package/fesm2022/odx-angular.mjs +28 -28
  385. package/fesm2022/odx-angular.mjs.map +1 -1
  386. package/internal/lib/helpers/deepmerge.d.ts +1 -1
  387. package/localization/lib/localization.config.d.ts +1 -1
  388. package/package.json +13 -13
  389. package/theming/lib/theming.config.d.ts +1 -1
  390. package/utils/lib/helpers/dom.d.ts +1 -1
  391. package/utils/lib/helpers/provide-config.d.ts +1 -1
@@ -107,15 +107,15 @@ export class DisabledController extends Controller {
107
107
  this.ngOnChanges();
108
108
  }
109
109
  }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
111
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, providers: [
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
111
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.12", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, providers: [
112
112
  {
113
113
  provide: DISABLED_INTERNAL_CONTROLLER,
114
114
  useExisting: forwardRef(() => DisabledController),
115
115
  },
116
116
  ], usesInheritance: true, ngImport: i0 }); }
117
117
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisabledController, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DisabledController, decorators: [{
119
119
  type: Directive,
120
120
  args: [{
121
121
  standalone: true,
@@ -105,15 +105,15 @@ export class ReadonlyController extends Controller {
105
105
  },
106
106
  ];
107
107
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: ["readonly", "readonly", booleanAttribute] }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.12", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: ["readonly", "readonly", booleanAttribute] }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
110
110
  {
111
111
  provide: READONLY_INTERNAL_CONTROLLER,
112
112
  useExisting: forwardRef(() => ReadonlyController),
113
113
  },
114
114
  ], usesInheritance: true, ngImport: i0 }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReadonlyController, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ReadonlyController, decorators: [{
117
117
  type: Directive,
118
118
  args: [{
119
119
  standalone: true,
@@ -5,11 +5,11 @@ import { ClickOutsideDirective } from './directives';
5
5
  import * as i0 from "@angular/core";
6
6
  const controllers = [DisabledController, ReadonlyController];
7
7
  export class CoreModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreModule, imports: [CommonModule] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CoreModule, imports: [CommonModule] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CoreModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [...controllers, ClickOutsideDirective],
@@ -84,10 +84,10 @@ export class ClickOutsideDirective {
84
84
  subscriber.add(listener);
85
85
  });
86
86
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
88
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: ["odxClickOutsideActive", "odxClickOutsideActive", booleanAttribute] }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 }); }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
88
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.12", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: ["odxClickOutsideActive", "odxClickOutsideActive", booleanAttribute] }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
91
91
  type: Directive,
92
92
  args: [{
93
93
  standalone: true,
@@ -28,10 +28,10 @@ export class DelegateFocusDirective {
28
28
  handleFocusOut() {
29
29
  this.tabindex = 0;
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DelegateFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DelegateFocusDirective, isStandalone: true, outputs: { focused: "focused" }, host: { listeners: { "focus": "handleFocus()", "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.tabindex": "tabindex" } }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DelegateFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: DelegateFocusDirective, isStandalone: true, outputs: { focused: "focused" }, host: { listeners: { "focus": "handleFocus()", "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.tabindex": "tabindex" } }, ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DelegateFocusDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DelegateFocusDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  standalone: true,
@@ -23,10 +23,10 @@ export class WithDisabledState {
23
23
  this.hasDisabledAttribute = !!ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];
24
24
  this.hasAriaRole = element.nativeElement.hasAttribute('role');
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WithDisabledState, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WithDisabledState, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  standalone: true,
@@ -14,10 +14,10 @@ export class WithTabIndex {
14
14
  setTabindex(value) {
15
15
  this.tabindex.set(value ?? 0);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: WithTabIndex, isStandalone: true, ngImport: i0 }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: WithTabIndex, isStandalone: true, ngImport: i0 }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WithTabIndex, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WithTabIndex, decorators: [{
21
21
  type: Directive,
22
22
  args: [{ standalone: true }]
23
23
  }], ctorParameters: () => [] });
@@ -145,10 +145,10 @@ export class WindowRef {
145
145
  }
146
146
  return styles;
147
147
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
149
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WindowRef, providedIn: 'root' }); }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
149
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WindowRef, providedIn: 'root' }); }
150
150
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WindowRef, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WindowRef, decorators: [{
152
152
  type: Injectable,
153
153
  args: [{
154
154
  providedIn: 'root',
@@ -88,10 +88,10 @@ export class LocalizationService {
88
88
  }
89
89
  return of(language);
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalizationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalizationService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizationService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalizationService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizationService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{ providedIn: 'root' }]
97
97
  }] });
@@ -80,10 +80,10 @@ export class ThemingService {
80
80
  }
81
81
  return selectedTheme ?? this.config.defaultTheme;
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
84
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemingService, providedIn: 'root' }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
84
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemingService, providedIn: 'root' }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemingService, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemingService, decorators: [{
87
87
  type: Injectable,
88
88
  args: [{ providedIn: 'root' }]
89
89
  }], ctorParameters: () => [] });
@@ -66,7 +66,7 @@ export function disableCSSTransitions(element, disabled) {
66
66
  * @param {HTMLElement} element - The element to force a reflow on.
67
67
  */
68
68
  export function forceLayoutReflow(element) {
69
- element.offsetHeight;
69
+ return element.offsetHeight;
70
70
  }
71
71
  /**
72
72
  * Sets an attribute on an HTML element, converting the value to a string if necessary.
@@ -111,6 +111,7 @@ export function createMutationObserver(observer, callback) {
111
111
  observer.next(mutations[0]);
112
112
  }
113
113
  });
114
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
114
115
  }
115
116
  catch (error) {
116
117
  return { disconnect: () => void 0, observe: () => void 0, takeRecords: () => [] };
@@ -131,4 +132,4 @@ export function containsElement(parent, other, inclusive = true) {
131
132
  return false;
132
133
  return parent.contains(other);
133
134
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3V0aWxzL3NyYy9saWIvaGVscGVycy9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9CLEVBQUUsTUFBdUY7SUFDdkksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELE9BQU8sZ0NBQWdDLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxLQUFjO0lBQzdELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsRUFBRSxDQUFDLEtBQWM7SUFDL0IsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFhLEVBQUUsQ0FBYTtJQUN2RCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFvQixFQUFFLFFBQWlCO0lBQzNFLElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztTQUFNLENBQUM7UUFDTixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQW9CO0lBQ3BELE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBb0IsRUFBRSxTQUFpQixFQUFFLEtBQWU7SUFDbkYsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFnQztJQUNuRSxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN0RixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUFvQyxFQUFFLFFBQWtEO0lBQzdILElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3hDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDcEYsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUF1QixFQUFFLEtBQXNCLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDL0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sS0FBSyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2V0IG9mIENTUyBzdHlsZXMgdG8gYW4gSFRNTCBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBhcHBseSBzdHlsZXMgdG8uXG4gKiBAcGFyYW0ge1BhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbiB8IFJlY29yZDxrZXlvZiBDU1NTdHlsZURlY2xhcmF0aW9uLCBzdHJpbmcgfCBudWxsPj59IHN0eWxlcyAtIEFuIG9iamVjdCBjb250YWluaW5nIENTUyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgdG8gYXBwbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVN0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24gfCBSZWNvcmQ8a2V5b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbiwgc3RyaW5nIHwgbnVsbD4+KTogdm9pZCB7XG4gIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGVzKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gYSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtib29sZWFufSBzdGF0ZSAtIFRoZSBib29sZWFuIHN0YXRlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgJ2ZhbHNlJy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub0F0dHJpYnV0ZVN0cmluZyhzdGF0ZTogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBib29sZWFuVG9PcHRpb25hbEF0dHJpYnV0ZVN0cmluZyhzdGF0ZSkgPz8gJ2ZhbHNlJztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gJ3RydWUnIG9yIG51bGwsIHVzZWZ1bCBmb3Igc2V0dGluZyBhdHRyaWJ1dGVzIGJhc2VkIG9uIGJvb2xlYW4gY29uZGl0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHN0YXRlIC0gVGhlIGJvb2xlYW4gc3RhdGUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub09wdGlvbmFsQXR0cmlidXRlU3RyaW5nKHN0YXRlOiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBzdGF0ZSA/ICd0cnVlJyA6IG51bGw7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBudW1lcmljIHZhbHVlIHRvIGEgcGl4ZWwgc3RyaW5nLCBhcHBlbmRpbmcgJ3B4JyB0byB0aGUgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBwaXhlbHMuXG4gKiBAcmV0dXJucyB7YCR7bnVtYmVyfXB4YH0gVGhlIHZhbHVlIGluIHBpeGVscywgb3IgJzBweCcgaWYgdGhlIGlucHV0IGlzIG5vdCBhIG51bWJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB4KHZhbHVlOiB1bmtub3duKTogYCR7bnVtYmVyfXB4YCB7XG4gIHJldHVybiBpc051bWJlcih2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiAnMHB4Jztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBDU1MgdHJhbnNsYXRlM2Qgc3RyaW5nIGZvciBnaXZlbiB4IGFuZCB5IHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZyB8IDB9IHggLSBUaGUgdHJhbnNsYXRpb24gdmFsdWUgYWxvbmcgdGhlIHgtYXhpcy5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgMH0geSAtIFRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBhbG9uZyB0aGUgeS1heGlzLlxuICogQHJldHVybnMge2B0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWB9IFRoZSBDU1MgdHJhbnNsYXRlM2QgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjc3NUcmFuc2xhdGUoeDogc3RyaW5nIHwgMCwgeTogc3RyaW5nIHwgMCk6IGB0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWAge1xuICByZXR1cm4gYHRyYW5zbGF0ZTNkKCR7eH0sICR7eX0sIDApYDtcbn1cblxuLyoqXG4gKiBEaXNhYmxlcyBvciByZS1lbmFibGVzIENTUyB0cmFuc2l0aW9ucyBvbiBhbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGRpc2FibGVkIC0gV2hldGhlciB0byBkaXNhYmxlIENTUyB0cmFuc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDU1NUcmFuc2l0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgaWYgKGRpc2FibGVkKSB7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiAnbm9uZScgfSk7XG4gIH0gZWxzZSB7XG4gICAgZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudCk7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiBudWxsIH0pO1xuICB9XG59XG5cbi8qKlxuICogRm9yY2VzIHRoZSBicm93c2VyIHRvIHJlZmxvdyB0aGUgbGF5b3V0LCB1c2VmdWwgZm9yIHRyaWdnZXJpbmcgQ1NTIHRyYW5zaXRpb25zIG9yIGFuaW1hdGlvbnMuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGZvcmNlIGEgcmVmbG93IG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG59XG5cbi8qKlxuICogU2V0cyBhbiBhdHRyaWJ1dGUgb24gYW4gSFRNTCBlbGVtZW50LCBjb252ZXJ0aW5nIHRoZSB2YWx1ZSB0byBhIHN0cmluZyBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHNldCB0aGUgYXR0cmlidXRlIG9uLlxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSAtIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gc2V0LlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlOyB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyBpZiBpdCdzIG5vdCBudWxsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEF0dHJpYnV0ZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogdW5rbm93bikge1xuICBpZiAoaXNTdHJpbmcodmFsdWUpIHx8IGlzTnVtYmVyKHZhbHVlKSkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCAhIXZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBSZXNpemVPYnNlcnZlciBpbnN0YW5jZSBzYWZlbHksIGZhbGxpbmcgYmFjayB0byBhIGR1bW15IGlmIHRoZSBBUEkgaXMgbm90IHN1cHBvcnRlZC5cbiAqXG4gKiBAcGFyYW0ge1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2t9IGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiBhbiBvYnNlcnZlZCBlbGVtZW50J3Mgc2l6ZSBjaGFuZ2VzLlxuICogQHJldHVybnMge1Jlc2l6ZU9ic2VydmVyfSBBIFJlc2l6ZU9ic2VydmVyIGluc3RhbmNlIG9yIGEgZHVtbXkgb2JqZWN0IHdpdGggbm8tb3AgbWV0aG9kcyBpZiB1bnN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKGNhbGxiYWNrOiBSZXNpemVPYnNlcnZlckNhbGxiYWNrKTogUmVzaXplT2JzZXJ2ZXIge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgUmVzaXplT2JzZXJ2ZXIoY2FsbGJhY2spO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4geyBvYnNlcnZlOiAoKSA9PiB2b2lkIDAsIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQgMCwgdW5vYnNlcnZlOiAoKSA9PiB2b2lkIDAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBNdXRhdGlvbk9ic2VydmVyIGluc3RhbmNlIHNhZmVseSwgZmFsbGluZyBiYWNrIHRvIGEgZHVtbXkgaWYgdGhlIEFQSSBpcyBub3Qgc3VwcG9ydGVkLlxuICpcbiAqIEBwYXJhbSB7U3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD59IG9ic2VydmVyIC0gVGhlIFJ4SlMgU3Vic2NyaWJlciB0byBlbWl0IG5leHQgdmFsdWVzIHRvLlxuICogQHBhcmFtIHsobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFufSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0aGF0IGRldGVybWluZXMgd2hldGhlciB0byBub3RpZnkgdGhlIG9ic2VydmVyIGJhc2VkIG9uIG11dGF0aW9ucy5cbiAqIEByZXR1cm5zIHtNdXRhdGlvbk9ic2VydmVyfSBBIE11dGF0aW9uT2JzZXJ2ZXIgaW5zdGFuY2Ugb3IgYSBkdW1teSBvYmplY3Qgd2l0aCBuby1vcCBtZXRob2RzIGlmIHVuc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXV0YXRpb25PYnNlcnZlcihvYnNlcnZlcjogU3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD4sIGNhbGxiYWNrOiAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFuKTogTXV0YXRpb25PYnNlcnZlciB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGlmIChjYWxsYmFjayhtdXRhdGlvbnMpKSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQobXV0YXRpb25zWzBdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4geyBkaXNjb25uZWN0OiAoKSA9PiB2b2lkIDAsIG9ic2VydmU6ICgpID0+IHZvaWQgMCwgdGFrZVJlY29yZHM6ICgpID0+IFtdIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZWxlbWVudCBjb250YWlucyBhbm90aGVyIGluIHRoZSBET00gdHJlZS5cbiAqXG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBudWxsfSBwYXJlbnQgLSBUaGUgcGFyZW50IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBudWxsfSBvdGhlciAtIFRoZSBlbGVtZW50IHRvIGNoZWNrIGZvciBjb250YWlubWVudC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luY2x1c2l2ZT10cnVlXSAtIFdoZXRoZXIgdG8gY29uc2lkZXIgYW4gZWxlbWVudCBhcyBjb250YWluaW5nIGl0c2VsZi5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBwYXJlbnQgY29udGFpbnMgdGhlIG90aGVyIGVsZW1lbnQ7IGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zRWxlbWVudChwYXJlbnQ/OiBFbGVtZW50IHwgbnVsbCwgb3RoZXI/OiBFbGVtZW50IHwgbnVsbCwgaW5jbHVzaXZlID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICBpZiAoIXBhcmVudCB8fCAhb3RoZXIpIHJldHVybiBmYWxzZTtcbiAgaWYgKCFpbmNsdXNpdmUgJiYgcGFyZW50ID09PSBvdGhlcikgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcGFyZW50LmNvbnRhaW5zKG90aGVyKTtcbn1cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3V0aWxzL3NyYy9saWIvaGVscGVycy9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9CLEVBQUUsTUFBdUY7SUFDdkksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELE9BQU8sZ0NBQWdDLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxLQUFjO0lBQzdELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsRUFBRSxDQUFDLEtBQWM7SUFDL0IsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFhLEVBQUUsQ0FBYTtJQUN2RCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFvQixFQUFFLFFBQWlCO0lBQzNFLElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztTQUFNLENBQUM7UUFDTixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQW9CO0lBQ3BELE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQztBQUM5QixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFvQixFQUFFLFNBQWlCLEVBQUUsS0FBZTtJQUNuRixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdDO0lBQ25FLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ3RGLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFFBQW9DLEVBQUUsUUFBa0Q7SUFDN0gsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCw2REFBNkQ7SUFDL0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDcEYsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUF1QixFQUFFLEtBQXNCLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDL0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sS0FBSyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2V0IG9mIENTUyBzdHlsZXMgdG8gYW4gSFRNTCBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBhcHBseSBzdHlsZXMgdG8uXG4gKiBAcGFyYW0ge1BhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbiB8IFJlY29yZDxrZXlvZiBDU1NTdHlsZURlY2xhcmF0aW9uLCBzdHJpbmcgfCBudWxsPj59IHN0eWxlcyAtIEFuIG9iamVjdCBjb250YWluaW5nIENTUyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgdG8gYXBwbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVN0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24gfCBSZWNvcmQ8a2V5b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbiwgc3RyaW5nIHwgbnVsbD4+KTogdm9pZCB7XG4gIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGVzKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gYSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtib29sZWFufSBzdGF0ZSAtIFRoZSBib29sZWFuIHN0YXRlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgJ2ZhbHNlJy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub0F0dHJpYnV0ZVN0cmluZyhzdGF0ZTogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBib29sZWFuVG9PcHRpb25hbEF0dHJpYnV0ZVN0cmluZyhzdGF0ZSkgPz8gJ2ZhbHNlJztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gJ3RydWUnIG9yIG51bGwsIHVzZWZ1bCBmb3Igc2V0dGluZyBhdHRyaWJ1dGVzIGJhc2VkIG9uIGJvb2xlYW4gY29uZGl0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHN0YXRlIC0gVGhlIGJvb2xlYW4gc3RhdGUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub09wdGlvbmFsQXR0cmlidXRlU3RyaW5nKHN0YXRlOiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBzdGF0ZSA/ICd0cnVlJyA6IG51bGw7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBudW1lcmljIHZhbHVlIHRvIGEgcGl4ZWwgc3RyaW5nLCBhcHBlbmRpbmcgJ3B4JyB0byB0aGUgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBwaXhlbHMuXG4gKiBAcmV0dXJucyB7YCR7bnVtYmVyfXB4YH0gVGhlIHZhbHVlIGluIHBpeGVscywgb3IgJzBweCcgaWYgdGhlIGlucHV0IGlzIG5vdCBhIG51bWJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB4KHZhbHVlOiB1bmtub3duKTogYCR7bnVtYmVyfXB4YCB7XG4gIHJldHVybiBpc051bWJlcih2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiAnMHB4Jztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBDU1MgdHJhbnNsYXRlM2Qgc3RyaW5nIGZvciBnaXZlbiB4IGFuZCB5IHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZyB8IDB9IHggLSBUaGUgdHJhbnNsYXRpb24gdmFsdWUgYWxvbmcgdGhlIHgtYXhpcy5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgMH0geSAtIFRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBhbG9uZyB0aGUgeS1heGlzLlxuICogQHJldHVybnMge2B0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWB9IFRoZSBDU1MgdHJhbnNsYXRlM2QgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjc3NUcmFuc2xhdGUoeDogc3RyaW5nIHwgMCwgeTogc3RyaW5nIHwgMCk6IGB0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWAge1xuICByZXR1cm4gYHRyYW5zbGF0ZTNkKCR7eH0sICR7eX0sIDApYDtcbn1cblxuLyoqXG4gKiBEaXNhYmxlcyBvciByZS1lbmFibGVzIENTUyB0cmFuc2l0aW9ucyBvbiBhbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGRpc2FibGVkIC0gV2hldGhlciB0byBkaXNhYmxlIENTUyB0cmFuc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDU1NUcmFuc2l0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgaWYgKGRpc2FibGVkKSB7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiAnbm9uZScgfSk7XG4gIH0gZWxzZSB7XG4gICAgZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudCk7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiBudWxsIH0pO1xuICB9XG59XG5cbi8qKlxuICogRm9yY2VzIHRoZSBicm93c2VyIHRvIHJlZmxvdyB0aGUgbGF5b3V0LCB1c2VmdWwgZm9yIHRyaWdnZXJpbmcgQ1NTIHRyYW5zaXRpb25zIG9yIGFuaW1hdGlvbnMuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGZvcmNlIGEgcmVmbG93IG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICByZXR1cm4gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG59XG5cbi8qKlxuICogU2V0cyBhbiBhdHRyaWJ1dGUgb24gYW4gSFRNTCBlbGVtZW50LCBjb252ZXJ0aW5nIHRoZSB2YWx1ZSB0byBhIHN0cmluZyBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHNldCB0aGUgYXR0cmlidXRlIG9uLlxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSAtIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gc2V0LlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlOyB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyBpZiBpdCdzIG5vdCBudWxsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEF0dHJpYnV0ZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogdW5rbm93bikge1xuICBpZiAoaXNTdHJpbmcodmFsdWUpIHx8IGlzTnVtYmVyKHZhbHVlKSkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCAhIXZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBSZXNpemVPYnNlcnZlciBpbnN0YW5jZSBzYWZlbHksIGZhbGxpbmcgYmFjayB0byBhIGR1bW15IGlmIHRoZSBBUEkgaXMgbm90IHN1cHBvcnRlZC5cbiAqXG4gKiBAcGFyYW0ge1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2t9IGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiBhbiBvYnNlcnZlZCBlbGVtZW50J3Mgc2l6ZSBjaGFuZ2VzLlxuICogQHJldHVybnMge1Jlc2l6ZU9ic2VydmVyfSBBIFJlc2l6ZU9ic2VydmVyIGluc3RhbmNlIG9yIGEgZHVtbXkgb2JqZWN0IHdpdGggbm8tb3AgbWV0aG9kcyBpZiB1bnN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKGNhbGxiYWNrOiBSZXNpemVPYnNlcnZlckNhbGxiYWNrKTogUmVzaXplT2JzZXJ2ZXIge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgUmVzaXplT2JzZXJ2ZXIoY2FsbGJhY2spO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4geyBvYnNlcnZlOiAoKSA9PiB2b2lkIDAsIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQgMCwgdW5vYnNlcnZlOiAoKSA9PiB2b2lkIDAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBNdXRhdGlvbk9ic2VydmVyIGluc3RhbmNlIHNhZmVseSwgZmFsbGluZyBiYWNrIHRvIGEgZHVtbXkgaWYgdGhlIEFQSSBpcyBub3Qgc3VwcG9ydGVkLlxuICpcbiAqIEBwYXJhbSB7U3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD59IG9ic2VydmVyIC0gVGhlIFJ4SlMgU3Vic2NyaWJlciB0byBlbWl0IG5leHQgdmFsdWVzIHRvLlxuICogQHBhcmFtIHsobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFufSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0aGF0IGRldGVybWluZXMgd2hldGhlciB0byBub3RpZnkgdGhlIG9ic2VydmVyIGJhc2VkIG9uIG11dGF0aW9ucy5cbiAqIEByZXR1cm5zIHtNdXRhdGlvbk9ic2VydmVyfSBBIE11dGF0aW9uT2JzZXJ2ZXIgaW5zdGFuY2Ugb3IgYSBkdW1teSBvYmplY3Qgd2l0aCBuby1vcCBtZXRob2RzIGlmIHVuc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXV0YXRpb25PYnNlcnZlcihvYnNlcnZlcjogU3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD4sIGNhbGxiYWNrOiAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFuKTogTXV0YXRpb25PYnNlcnZlciB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGlmIChjYWxsYmFjayhtdXRhdGlvbnMpKSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQobXV0YXRpb25zWzBdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHsgZGlzY29ubmVjdDogKCkgPT4gdm9pZCAwLCBvYnNlcnZlOiAoKSA9PiB2b2lkIDAsIHRha2VSZWNvcmRzOiAoKSA9PiBbXSB9O1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb25lIGVsZW1lbnQgY29udGFpbnMgYW5vdGhlciBpbiB0aGUgRE9NIHRyZWUuXG4gKlxuICogQHBhcmFtIHtFbGVtZW50IHwgbnVsbH0gcGFyZW50IC0gVGhlIHBhcmVudCBlbGVtZW50LlxuICogQHBhcmFtIHtFbGVtZW50IHwgbnVsbH0gb3RoZXIgLSBUaGUgZWxlbWVudCB0byBjaGVjayBmb3IgY29udGFpbm1lbnQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtpbmNsdXNpdmU9dHJ1ZV0gLSBXaGV0aGVyIHRvIGNvbnNpZGVyIGFuIGVsZW1lbnQgYXMgY29udGFpbmluZyBpdHNlbGYuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcGFyZW50IGNvbnRhaW5zIHRoZSBvdGhlciBlbGVtZW50OyBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb250YWluc0VsZW1lbnQocGFyZW50PzogRWxlbWVudCB8IG51bGwsIG90aGVyPzogRWxlbWVudCB8IG51bGwsIGluY2x1c2l2ZSA9IHRydWUpOiBib29sZWFuIHtcbiAgaWYgKCFwYXJlbnQgfHwgIW90aGVyKSByZXR1cm4gZmFsc2U7XG4gIGlmICghaW5jbHVzaXZlICYmIHBhcmVudCA9PT0gb3RoZXIpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHBhcmVudC5jb250YWlucyhvdGhlcik7XG59XG4iXX0=
@@ -40,10 +40,10 @@ export class EventManager {
40
40
  getActiveListenersNames() {
41
41
  return Array.from(this.listeners.keys());
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventManager }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EventManager }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventManager, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EventManager, decorators: [{
47
47
  type: Injectable
48
48
  }] });
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2hlbHBlcnMvZXZlbnQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsY0FBUyxHQUE0QixJQUFJLEdBQUcsRUFBc0IsQ0FBQztLQXlDckY7SUF2Q1EsZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBb0IsRUFBRSxFQUFFO1lBQzlDLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsUUFBUSxFQUFFLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxlQUFlLENBQUMsb0JBQTRCO1FBQ2pELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDNUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixVQUFVLEVBQUUsQ0FBQztZQUNmLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUNiLFVBQWdDLEVBQ2hDLFFBQTZCLEVBQzdCLE1BQW1EO1FBRW5ELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDckgsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0EzQ1UsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJy4vYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCB9IGZyb20gJy4vZ2V0LXVuaXF1ZS1pZCc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50TWFuYWdlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlbmVyczogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4gPSBuZXcgTWFwPHN0cmluZywgKCkgPT4gdm9pZD4oKTtcblxuICBwdWJsaWMgZGVzdHJveUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKGxpc3RlbmVyKSB7XG4gICAgICAgIGxpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95TGlzdGVuZXIobGlzdGVuZXJSZWZlcmVuY2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlbmVycy5oYXMobGlzdGVuZXJSZWZlcmVuY2VLZXkpKSB7XG4gICAgICBjb25zdCBsaXN0ZW5lckZuID0gdGhpcy5saXN0ZW5lcnMuZ2V0KGxpc3RlbmVyUmVmZXJlbmNlS2V5KTtcbiAgICAgIGlmIChsaXN0ZW5lckZuKSB7XG4gICAgICAgIGxpc3RlbmVyRm4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lclJlZmVyZW5jZUtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBFdmVudCA9IEV2ZW50PihcbiAgICBldmVudE5hbWVzOiBBcnJheTxzdHJpbmcgfCBudWxsPixcbiAgICBjYWxsYmFjazogKGV2ZW50PzogVCkgPT4gdm9pZCxcbiAgICB0YXJnZXQ/OiAnZG9jdW1lbnQnIHwgJ3dpbmRvdycgfCBFdmVudFRhcmdldCB8IG51bGwsXG4gICk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBldmVudE5hbWVzLmZpbHRlcihpc1ByZXNlbnQpLm1hcCgoZXZlbnROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGxpc3RlbmVyRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0YXJnZXQgPz8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50KSA9PiBjYWxsYmFjayhldmVudCkpO1xuICAgICAgY29uc3QgaWQgPSBnZXRVbmlxdWVJZCgncmVnaXN0ZXJlZEV2ZW50Jyk7XG4gICAgICB0aGlzLmxpc3RlbmVycy5zZXQoaWQsIGxpc3RlbmVyRm4pO1xuICAgICAgcmV0dXJuIGlkO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUxpc3RlbmVyc05hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmxpc3RlbmVycy5rZXlzKCkpO1xuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-animations.mjs","sources":["../../../../libs/angular/animations/src/lib/config.ts","../../../../libs/angular/animations/src/lib/expand.ts","../../../../libs/angular/animations/src/lib/fade.ts","../../../../libs/angular/animations/src/lib/slide.ts","../../../../libs/angular/animations/src/lib/wait-for-child-animations.ts","../../../../libs/angular/animations/src/odx-angular-animations.ts"],"sourcesContent":["export const DEFAULT_ANIMATION_TIMING_FN = 'ease';\nexport const DEFAULT_ANIMATION_DURATION = '250ms';\nexport const DEFAULT_ANIMATION_PARAMS = {\n timingFn: DEFAULT_ANIMATION_TIMING_FN,\n duration: DEFAULT_ANIMATION_DURATION,\n delay: '0ms',\n};\n","import { animate, animation, style } from '@angular/animations';\nimport { DEFAULT_ANIMATION_PARAMS } from './config';\n\n/**\n * Animation for smoothly expanding an element from height 0 to its natural height.\n * It transitions the element's height, padding, margin, and opacity from a collapsed state to an expanded state,\n * making the element smoothly grow into view.\n *\n * The `expand` animation uses `DEFAULT_ANIMATION_PARAMS` for its default parameters, which can be overridden\n * when using the animation.\n *\n * @example\n * ```ts\n * // Example usage in an Angular component\n * import { expand, collapse } from '@odx/angular/animations';\n *\n * @Component({\n * selector: 'my-expandable-component',\n * templateUrl: './expandable-component.html',\n * animations: [\n * trigger('expandCollapse', [\n * transition('collapsed => expanded', useAnimation(expand)),\n * transition('expanded => collapsed', useAnimation(collapse)),\n * ])\n * ]\n * })\n * export class ExpandableComponent {\n * state = 'collapsed';\n *\n * toggle(): void {\n * this.state = this.state === 'collapsed' ? 'expanded' : 'collapsed';\n * }\n * }\n * ```\n *\n * The animation smoothly transitions various properties (height, padding, margin, and opacity) and is controlled\n * through parameters defined in `DEFAULT_ANIMATION_PARAMS` or those provided during usage.\n */\nexport const expand = animation(\n [\n style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' }),\n animate(\n '{{duration}} {{ delay }} {{ timingFn }}',\n style({ height: '*', paddingTop: '*', paddingBottom: '*', opacity: 1, marginTop: '*', marginBottom: '*' }),\n ),\n ],\n {\n params: DEFAULT_ANIMATION_PARAMS,\n },\n);\n\n/**\n * Animation for smoothly collapsing an element from its natural height to height 0.\n * It transitions the element's height, padding, margin, and opacity from an expanded state to a collapsed state,\n * making the element smoothly shrink out of view.\n *\n * The `collapse` animation also uses `DEFAULT_ANIMATION_PARAMS` for its default parameters, which can be overridden\n * when using the animation. It's designed to be used in conjunction with the `expand` animation for creating\n * expandable/collapsible elements.\n */\nexport const collapse = animation(\n [\n animate(\n '{{duration}} {{ delay }} {{ timingFn }}',\n style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' }),\n ),\n ],\n {\n params: DEFAULT_ANIMATION_PARAMS,\n },\n);\n","import { animate, animation, style } from '@angular/animations';\nimport { DEFAULT_ANIMATION_PARAMS } from './config';\n\n/**\n * Generates a fadeIn animation with customizable opacity target.\n * This animation gradually changes the element's opacity from 0 to a specified value, creating a \"fade in\" visual effect.\n *\n * @param {number} to - The final opacity value of the element at the end of the animation. Defaults to 1 (fully opaque).\n * @returns {AnimationReferenceMetadata} An Angular animation object that can be used with Angular's animation system.\n *\n * @example\n * ```ts\n * // Example usage in an Angular component with a fadeIn animation\n * import { fadeIn } from '@odx/angular/animations';\n * import { trigger, transition, useAnimation } from '@angular/animations';\n *\n * @Component({\n * selector: 'app-fade-in-example',\n * template: `\n * @if(isVisible) {\n * <div @fadeInAnimation>Fade In Content</div>\n * }\n * <button (click)=\"showContent()\">Show Content</button>`,\n * animations: [\n * trigger('fadeInAnimation', [\n * transition(':enter', useAnimation(fadeIn(), { params: { duration: '500ms' } }))\n * ])\n * ]\n * })\n * export class FadeInExampleComponent {\n * isVisible = false;\n *\n * showContent(): void {\n * this.isVisible = true;\n * }\n * }\n * ```\n *\n * This example demonstrates how to apply the fadeIn animation to an element, making it smoothly appear on the screen.\n */\nexport const fadeIn = (to = 1) =>\n animation([style({ opacity: 0 }), animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {\n params: DEFAULT_ANIMATION_PARAMS,\n });\n\n/**\n * Generates a fadeOut animation with customizable opacity target.\n * This animation gradually changes the element's opacity from its current value to a specified value, creating a \"fade out\" visual effect.\n *\n * @param {number} to - The target opacity value of the element at the end of the animation. Defaults to 0 (fully transparent).\n * @returns {AnimationReferenceMetadata} An Angular animation object that can be used with Angular's animation system.\n *\n * @example\n * ```ts\n * // Example usage in an Angular component with a fadeOut animation\n * import { fadeOut } from '@odx/angular/animations';\n * import { trigger, transition, useAnimation } from '@angular/animations';\n *\n * @Component({\n * selector: 'app-fade-out-example',\n * template: `\n * @if(isVisible) {\n * <div @fadeOutAnimation>Fade Out Content</div>\n * }\n * <button (click)=\"hideContent()\">Hide Content</button>`,\n * animations: [\n * trigger('fadeOutAnimation', [\n * transition(':leave', useAnimation(fadeOut(), { params: { duration: '500ms' } }))\n * ])\n * ]\n * })\n * export class FadeOutExampleComponent {\n * isVisible = true;\n *\n * hideContent(): void {\n * this.isVisible = false;\n * }\n * }\n * ```\n *\n * This example demonstrates how to apply the fadeOut animation to an element, making it smoothly disappear from the screen.\n */\nexport const fadeOut = (to = 0) =>\n animation([animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {\n params: DEFAULT_ANIMATION_PARAMS,\n });\n","import { animate, animation, AnimationReferenceMetadata, style } from '@angular/animations';\nimport { DEFAULT_ANIMATION_PARAMS } from './config';\n\nfunction createSlideInAnimation(from: string, direction: 'X' | 'Y'): AnimationReferenceMetadata {\n return animation(\n [\n style({ transform: `translate${direction}({{ from }})` }),\n animate('{{duration}} {{ delay }} {{ timingFn }}', style({ transform: `translate${direction}(0)` })),\n ],\n {\n params: {\n ...DEFAULT_ANIMATION_PARAMS,\n from,\n },\n },\n );\n}\n\nfunction createSlideOutAnimation(to: string, direction: 'X' | 'Y'): AnimationReferenceMetadata {\n return animation([animate('{{duration}} {{ delay }} {{ timingFn }}', style({ transform: `translate${direction}({{ to }})` }))], {\n params: {\n ...DEFAULT_ANIMATION_PARAMS,\n to,\n },\n });\n}\n\n/**\n * Utility functions for creating slide-in and slide-out animations in specific directions.\n * These include slideInX, slideInY, slideInDown, slideInUp, slideInLeft, slideInRight,\n * slideOutX, slideOutY, slideOutDown, slideOutUp, slideOutLeft, and slideOutRight.\n * Each function is configured for a specific slide direction and distance, making it easy to apply\n * consistent slide animations across your application.\n *\n * @example\n * ```ts\n * // Using slideInLeft and slideOutRight in a component\n * animations: [\n * trigger('slideInOut', [\n * transition(':enter', [useAnimation(slideInLeft)]),\n * transition(':leave', [useAnimation(slideOutRight)])\n * ])\n * ]\n * ```\n *\n * Note: The 'from' and 'to' parameters for slideIn and slideOut functions respectively\n * can be customized for different slide distances.\n */\nexport const slideInX = (from: string) => createSlideInAnimation(from, 'X');\nexport const slideInY = (from: string) => createSlideInAnimation(from, 'Y');\nexport const slideInDown = slideInY('-100%');\nexport const slideInUp = slideInY('100%');\nexport const slideInLeft = slideInX('-100%');\nexport const slideInRight = slideInX('100%');\n\nexport const slideOutX = (to: string) => createSlideOutAnimation(to, 'X');\nexport const slideOutY = (to: string) => createSlideOutAnimation(to, 'Y');\nexport const slideOutDown = slideOutY('100%');\nexport const slideOutUp = slideOutY('-100%');\nexport const slideOutLeft = slideOutX('-100%');\nexport const slideOutRight = slideOutX('100%');\n","import { animateChild, query, transition } from '@angular/animations';\n\n/**\n * Utility animation that waits for animations on child components to complete.\n * This animation should be used within parent components that have child components with their\n * own animations. It ensures that the parent's enter and leave animations are only triggered\n * after all child animations have completed, creating a seamless animation sequence.\n *\n * This utility uses Angular's animation functions `query` and `animateChild` to find and animate\n * child elements marked with Angular's animation triggers. The `{ optional: true }` parameter\n * ensures that the animation gracefully handles cases where no child animations are defined.\n *\n * @example\n * ```ts\n * // Using waitForChildAnimations in a parent component with children that have animations\n * import { trigger, transition, style, animate, query, animateChild } from '@angular/animations';\n * import { waitForChildAnimations } from '@odx/angular/animations';\n *\n * @Component({\n * selector: 'app-parent',\n * templateUrl: './parent.component.html',\n * animations: [\n * trigger('parentAnimation', [\n * // Define parent animations here\n * transition(':enter', [style({ opacity: 0 }), animate('0.5s ease-in', style({ opacity: 1 }))]),\n * transition(':leave', [animate('0.5s ease-out', style({ opacity: 0 }))]),\n * // Use waitForChildAnimations for coordinating with child animations\n * waitForChildAnimations\n * ])\n * ]\n * })\n * export class ParentComponent {\n * // Component logic here\n * }\n * ```\n *\n * Note: The `waitForChildAnimations` utility is added to the parent component's animation triggers,\n * ensuring that any child component animations are completed before continuing with the parent's\n * own animations.\n */\nexport const waitForChildAnimations = transition(':enter, :leave', [query('@*', animateChild(), { optional: true })]);\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-animations.mjs","sources":["../../../../libs/angular/animations/src/lib/config.ts","../../../../libs/angular/animations/src/lib/expand.ts","../../../../libs/angular/animations/src/lib/fade.ts","../../../../libs/angular/animations/src/lib/slide.ts","../../../../libs/angular/animations/src/lib/wait-for-child-animations.ts","../../../../libs/angular/animations/src/odx-angular-animations.ts"],"sourcesContent":["export const DEFAULT_ANIMATION_TIMING_FN = 'ease';\nexport const DEFAULT_ANIMATION_DURATION = '250ms';\nexport const DEFAULT_ANIMATION_PARAMS = {\n timingFn: DEFAULT_ANIMATION_TIMING_FN,\n duration: DEFAULT_ANIMATION_DURATION,\n delay: '0ms',\n};\n","import { animate, animation, style } from '@angular/animations';\nimport { DEFAULT_ANIMATION_PARAMS } from './config';\n\n/**\n * Animation for smoothly expanding an element from height 0 to its natural height.\n * It transitions the element's height, padding, margin, and opacity from a collapsed state to an expanded state,\n * making the element smoothly grow into view.\n *\n * The `expand` animation uses `DEFAULT_ANIMATION_PARAMS` for its default parameters, which can be overridden\n * when using the animation.\n *\n * @example\n * ```ts\n * // Example usage in an Angular component\n * import { expand, collapse } from '@odx/angular/animations';\n *\n * @Component({\n * selector: 'my-expandable-component',\n * templateUrl: './expandable-component.html',\n * animations: [\n * trigger('expandCollapse', [\n * transition('collapsed => expanded', useAnimation(expand)),\n * transition('expanded => collapsed', useAnimation(collapse)),\n * ])\n * ]\n * })\n * export class ExpandableComponent {\n * state = 'collapsed';\n *\n * toggle(): void {\n * this.state = this.state === 'collapsed' ? 'expanded' : 'collapsed';\n * }\n * }\n * ```\n *\n * The animation smoothly transitions various properties (height, padding, margin, and opacity) and is controlled\n * through parameters defined in `DEFAULT_ANIMATION_PARAMS` or those provided during usage.\n */\nexport const expand = animation(\n [\n style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' }),\n animate(\n '{{duration}} {{ delay }} {{ timingFn }}',\n style({ height: '*', paddingTop: '*', paddingBottom: '*', opacity: 1, marginTop: '*', marginBottom: '*' }),\n ),\n ],\n {\n params: DEFAULT_ANIMATION_PARAMS,\n },\n);\n\n/**\n * Animation for smoothly collapsing an element from its natural height to height 0.\n * It transitions the element's height, padding, margin, and opacity from an expanded state to a collapsed state,\n * making the element smoothly shrink out of view.\n *\n * The `collapse` animation also uses `DEFAULT_ANIMATION_PARAMS` for its default parameters, which can be overridden\n * when using the animation. It's designed to be used in conjunction with the `expand` animation for creating\n * expandable/collapsible elements.\n */\nexport const collapse = animation(\n [\n animate(\n '{{duration}} {{ delay }} {{ timingFn }}',\n style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' }),\n ),\n ],\n {\n params: DEFAULT_ANIMATION_PARAMS,\n },\n);\n","import { animate, animation, style } from '@angular/animations';\nimport { DEFAULT_ANIMATION_PARAMS } from './config';\n\n/**\n * Generates a fadeIn animation with customizable opacity target.\n * This animation gradually changes the element's opacity from 0 to a specified value, creating a \"fade in\" visual effect.\n *\n * @param {number} to - The final opacity value of the element at the end of the animation. Defaults to 1 (fully opaque).\n * @returns {AnimationReferenceMetadata} An Angular animation object that can be used with Angular's animation system.\n *\n * @example\n * ```ts\n * // Example usage in an Angular component with a fadeIn animation\n * import { fadeIn } from '@odx/angular/animations';\n * import { trigger, transition, useAnimation } from '@angular/animations';\n *\n * @Component({\n * selector: 'app-fade-in-example',\n * template: `\n * @if(isVisible) {\n * <div @fadeInAnimation>Fade In Content</div>\n * }\n * <button (click)=\"showContent()\">Show Content</button>`,\n * animations: [\n * trigger('fadeInAnimation', [\n * transition(':enter', useAnimation(fadeIn(), { params: { duration: '500ms' } }))\n * ])\n * ]\n * })\n * export class FadeInExampleComponent {\n * isVisible = false;\n *\n * showContent(): void {\n * this.isVisible = true;\n * }\n * }\n * ```\n *\n * This example demonstrates how to apply the fadeIn animation to an element, making it smoothly appear on the screen.\n */\nexport const fadeIn = (to = 1) =>\n animation([style({ opacity: 0 }), animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {\n params: DEFAULT_ANIMATION_PARAMS,\n });\n\n/**\n * Generates a fadeOut animation with customizable opacity target.\n * This animation gradually changes the element's opacity from its current value to a specified value, creating a \"fade out\" visual effect.\n *\n * @param {number} to - The target opacity value of the element at the end of the animation. Defaults to 0 (fully transparent).\n * @returns {AnimationReferenceMetadata} An Angular animation object that can be used with Angular's animation system.\n *\n * @example\n * ```ts\n * // Example usage in an Angular component with a fadeOut animation\n * import { fadeOut } from '@odx/angular/animations';\n * import { trigger, transition, useAnimation } from '@angular/animations';\n *\n * @Component({\n * selector: 'app-fade-out-example',\n * template: `\n * @if(isVisible) {\n * <div @fadeOutAnimation>Fade Out Content</div>\n * }\n * <button (click)=\"hideContent()\">Hide Content</button>`,\n * animations: [\n * trigger('fadeOutAnimation', [\n * transition(':leave', useAnimation(fadeOut(), { params: { duration: '500ms' } }))\n * ])\n * ]\n * })\n * export class FadeOutExampleComponent {\n * isVisible = true;\n *\n * hideContent(): void {\n * this.isVisible = false;\n * }\n * }\n * ```\n *\n * This example demonstrates how to apply the fadeOut animation to an element, making it smoothly disappear from the screen.\n */\nexport const fadeOut = (to = 0) =>\n animation([animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {\n params: DEFAULT_ANIMATION_PARAMS,\n });\n","import { animate, animation, AnimationReferenceMetadata, style } from '@angular/animations';\nimport { DEFAULT_ANIMATION_PARAMS } from './config';\n\nfunction createSlideInAnimation(from: string, direction: 'X' | 'Y'): AnimationReferenceMetadata {\n return animation(\n [\n style({ transform: `translate${direction}({{ from }})` }),\n animate('{{duration}} {{ delay }} {{ timingFn }}', style({ transform: `translate${direction}(0)` })),\n ],\n {\n params: {\n ...DEFAULT_ANIMATION_PARAMS,\n from,\n },\n },\n );\n}\n\nfunction createSlideOutAnimation(to: string, direction: 'X' | 'Y'): AnimationReferenceMetadata {\n return animation([animate('{{duration}} {{ delay }} {{ timingFn }}', style({ transform: `translate${direction}({{ to }})` }))], {\n params: {\n ...DEFAULT_ANIMATION_PARAMS,\n to,\n },\n });\n}\n\n/**\n * Utility functions for creating slide-in and slide-out animations in specific directions.\n * These include slideInX, slideInY, slideInDown, slideInUp, slideInLeft, slideInRight,\n * slideOutX, slideOutY, slideOutDown, slideOutUp, slideOutLeft, and slideOutRight.\n * Each function is configured for a specific slide direction and distance, making it easy to apply\n * consistent slide animations across your application.\n *\n * @example\n * ```ts\n * // Using slideInLeft and slideOutRight in a component\n * animations: [\n * trigger('slideInOut', [\n * transition(':enter', [useAnimation(slideInLeft)]),\n * transition(':leave', [useAnimation(slideOutRight)])\n * ])\n * ]\n * ```\n *\n * Note: The 'from' and 'to' parameters for slideIn and slideOut functions respectively\n * can be customized for different slide distances.\n */\nexport const slideInX = (from: string) => createSlideInAnimation(from, 'X');\nexport const slideInY = (from: string) => createSlideInAnimation(from, 'Y');\nexport const slideInDown = slideInY('-100%');\nexport const slideInUp = slideInY('100%');\nexport const slideInLeft = slideInX('-100%');\nexport const slideInRight = slideInX('100%');\n\nexport const slideOutX = (to: string) => createSlideOutAnimation(to, 'X');\nexport const slideOutY = (to: string) => createSlideOutAnimation(to, 'Y');\nexport const slideOutDown = slideOutY('100%');\nexport const slideOutUp = slideOutY('-100%');\nexport const slideOutLeft = slideOutX('-100%');\nexport const slideOutRight = slideOutX('100%');\n","import { animateChild, query, transition } from '@angular/animations';\n\n/**\n * Utility animation that waits for animations on child components to complete.\n * This animation should be used within parent components that have child components with their\n * own animations. It ensures that the parent's enter and leave animations are only triggered\n * after all child animations have completed, creating a seamless animation sequence.\n *\n * This utility uses Angular's animation functions `query` and `animateChild` to find and animate\n * child elements marked with Angular's animation triggers. The `{ optional: true }` parameter\n * ensures that the animation gracefully handles cases where no child animations are defined.\n *\n * @example\n * ```ts\n * // Using waitForChildAnimations in a parent component with children that have animations\n * import { trigger, transition, style, animate, query, animateChild } from '@angular/animations';\n * import { waitForChildAnimations } from '@odx/angular/animations';\n *\n * @Component({\n * selector: 'app-parent',\n * templateUrl: './parent.component.html',\n * animations: [\n * trigger('parentAnimation', [\n * // Define parent animations here\n * transition(':enter', [style({ opacity: 0 }), animate('0.5s ease-in', style({ opacity: 1 }))]),\n * transition(':leave', [animate('0.5s ease-out', style({ opacity: 0 }))]),\n * // Use waitForChildAnimations for coordinating with child animations\n * waitForChildAnimations\n * ])\n * ]\n * })\n * export class ParentComponent {\n * // Component logic here\n * }\n * ```\n *\n * Note: The `waitForChildAnimations` utility is added to the parent component's animation triggers,\n * ensuring that any child component animations are completed before continuing with the parent's\n * own animations.\n */\nexport const waitForChildAnimations = transition(':enter, :leave', [query('@*', animateChild(), { optional: true })]);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -144,10 +144,10 @@ class BreakpointsService {
144
144
  return of(false);
145
145
  return this.breakpointObserver.observe(mediaQueries).pipe(map(({ matches }) => matches), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
146
146
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsService, providedIn: 'root' }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsService, providedIn: 'root' }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsService, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsService, decorators: [{
151
151
  type: Injectable,
152
152
  args: [{ providedIn: 'root' }]
153
153
  }] });
@@ -214,10 +214,10 @@ class MatchBreakpointsDirective {
214
214
  viewRef.markForCheck();
215
215
  }
216
216
  }
217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MatchBreakpointsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
218
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MatchBreakpointsDirective, isStandalone: true, selector: "ng-template[odxMatchBreakpoints]", inputs: { breakpoints: ["odxMatchBreakpoints", "breakpoints"], elseTemplate: ["odxMatchBreakpointsElse", "elseTemplate"] }, ngImport: i0 }); }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MatchBreakpointsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
218
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: MatchBreakpointsDirective, isStandalone: true, selector: "ng-template[odxMatchBreakpoints]", inputs: { breakpoints: ["odxMatchBreakpoints", "breakpoints"], elseTemplate: ["odxMatchBreakpointsElse", "elseTemplate"] }, ngImport: i0 }); }
219
219
  }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MatchBreakpointsDirective, decorators: [{
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MatchBreakpointsDirective, decorators: [{
221
221
  type: Directive,
222
222
  args: [{
223
223
  standalone: true,
@@ -233,11 +233,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
233
233
 
234
234
  const modules = [MatchBreakpointsDirective];
235
235
  class BreakpointsModule {
236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
237
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule, imports: [MatchBreakpointsDirective], exports: [MatchBreakpointsDirective] }); }
238
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule }); }
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
237
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsModule, imports: [MatchBreakpointsDirective], exports: [MatchBreakpointsDirective] }); }
238
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsModule }); }
239
239
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BreakpointsModule, decorators: [{
241
241
  type: NgModule,
242
242
  args: [{
243
243
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-breakpoints.mjs","sources":["../../../../libs/angular/breakpoints/src/lib/helpers/configure-breakpoint.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.config.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.service.ts","../../../../libs/angular/breakpoints/src/lib/directives/match-breakpoints.directive.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.module.ts","../../../../libs/angular/breakpoints/src/odx-angular-breakpoints.ts"],"sourcesContent":["type BreakpointOperators = '<' | '=' | '>';\ntype BreakpointConfig<T extends string> = Record<`${BreakpointOperators}${T}`, string>;\n\n/**\n * Generates a configuration object containing CSS media query strings for a named breakpoint.\n * The function creates media queries for three scenarios: below (`<`), exactly (`=`), and above (`>`) the specified breakpoint.\n *\n * @template T - The string literal type representing the name of the breakpoint.\n * @param {T} name - The name of the breakpoint (e.g., 'md' for medium).\n * @param {number} min - The minimum width (inclusive) where the breakpoint starts.\n * @param {number} max - The maximum width (exclusive) where the breakpoint ends.\n * @returns {BreakpointConfig<T>} An object containing media query strings for targeting screen sizes relative to the breakpoint.\n *\n * @example\n * ```ts\n * // Define a medium (md) breakpoint\n * const mdBreakpoint = configureBreakpoint('md', 768, 1024);\n * console.log(mdBreakpoint['<md']); // Outputs: \"(max-width: 767px)\"\n * console.log(mdBreakpoint['=md']); // Outputs: \"(min-width: 768px) and (max-width: 1023px)\"\n * console.log(mdBreakpoint['>md']); // Outputs: \"(min-width: 768px)\"\n * ```\n */\nexport function configureBreakpoint<T extends string>(name: T, min: number, max: number): BreakpointConfig<T> {\n return {\n [`<${name}` as const]: `(max-width: ${min - 1}px)`,\n [`=${name}` as const]: `(min-width: ${min}px) and (max-width: ${max - 1}px)`,\n [`>${name}` as const]: `(min-width: ${min}px)`,\n } as BreakpointConfig<T>;\n}\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { configureBreakpoint } from './helpers/configure-breakpoint';\n\n/**\n * Defines default responsive breakpoints for the application. These breakpoints are used to\n * apply responsive styles and behaviors across various device sizes. Each breakpoint is\n * configured with a name, a minimum width, and a maximum width, defining the range of device\n * sizes it targets.\n *\n * @constant\n * @type {Record<string, string>}\n *\n * @example\n * ```ts\n * // Accessing a breakpoint value\n * console.log(DEFAULT_BREAKPOINTS['=phone']); // Outputs: \"(min-width: 480px) and (max-width: 767px)\"\n * ```\n */\nexport const DEFAULT_BREAKPOINTS = {\n ...configureBreakpoint('phone-s', 360, 480),\n ...configureBreakpoint('phone', 480, 768),\n ...configureBreakpoint('tablet', 768, 960),\n ...configureBreakpoint('desktop-s', 960, 1200),\n ...configureBreakpoint('desktop', 1200, 9999),\n} as const;\n\nexport interface BreakpointsConfig {\n breakpoints: Partial<OdxAngular.Breakpoints>;\n}\n\n/**\n * Provides Angular dependency injection tokens for accessing and configuring breakpoints\n * within the application. This enables a type-safe and modular way to manage responsive\n * design breakpoints across the app.\n *\n * @example\n * ```ts\n * // Providing custom breakpoints in an Angular module\n * import { NgModule } from '@angular/core';\n * import { provideBreakpointsConfig } from '@odx/angular/breakpoints';\n *\n * @NgModule({\n * providers: [\n * provideBreakpointsConfig({\n * breakpoints: {\n * ...configureBreakpoint('custom-tablet', 640, 1024),\n * },\n * }),\n * ],\n * })\n * export class CustomModule {}\n * ```\n */\nexport const { BreakpointsConfig, BreakpointsDefaultConfig, injectBreakpointsConfig, provideBreakpointsConfig } = createConfigTokens(\n 'Breakpoints',\n '@odx/angular/breakpoints',\n {\n breakpoints: DEFAULT_BREAKPOINTS,\n } as BreakpointsConfig,\n);\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { inject, Injectable } from '@angular/core';\nimport { distinctUntilChanged, map, Observable, of, shareReplay } from 'rxjs';\nimport { injectBreakpointsConfig } from './breakpoints.config';\nimport { BreakpointName } from './models';\n\n/**\n * Service to observe and react to changes in viewport size based on predefined breakpoints.\n * Utilizes Angular CDK's BreakpointObserver for listening to media query changes and integrates\n * it with the application's custom breakpoints configuration.\n *\n * @Injectable({ providedIn: 'root' })\n */\n@Injectable({ providedIn: 'root' })\nexport class BreakpointsService {\n private readonly breakpointObserver = inject(BreakpointObserver);\n private readonly config = injectBreakpointsConfig();\n\n /**\n * Observes the specified breakpoints and returns an Observable that emits true if any\n * of the specified breakpoints match the current viewport size, and false otherwise.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to observe.\n * @returns {Observable<boolean>} - An Observable that emits true if the viewport matches the specified breakpoints.\n *\n * @example\n * ```ts\n * // Component that uses BreakpointsService to apply dynamic styles based on breakpoints\n * @Component({\n * selector: 'app-responsive-component',\n * templateUrl: './responsive-component.component.html',\n * })\n * export class ResponsiveComponent {\n * isMobile$: Observable<boolean>;\n *\n * constructor(private breakpointsService: BreakpointsService) {\n * this.isMobile$ = this.breakpointsService.observe(['phone', 'tablet']);\n * }\n * }\n * ```\n */\n public observe(breakpoints: BreakpointName[]): Observable<boolean> {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.createBreakpointObserver(mediaQueries);\n }\n\n /**\n * Checks if any of the specified breakpoints match the current viewport size.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to check.\n * @returns {boolean} - Returns true if the viewport matches the specified breakpoints, false otherwise.\n *\n * @example\n * ```ts\n * // Checking if the current viewport matches the 'desktop' breakpoint\n * const isDesktop = this.breakpointsService.matches(['desktop']);\n * console.log(`Is desktop view? ${isDesktop}`);\n * ```\n */\n public matches(breakpoints: BreakpointName[]): boolean {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.breakpointObserver.isMatched(mediaQueries);\n }\n\n private getMediaQueries(breakpointNames: BreakpointName[]): string[] {\n return breakpointNames.map((name) => this.config.breakpoints[name] as string).filter(Boolean);\n }\n\n private createBreakpointObserver(mediaQueries: string[]): Observable<boolean> {\n if (mediaQueries.length < 1) return of(false);\n\n return this.breakpointObserver.observe(mediaQueries).pipe(\n map(({ matches }) => matches),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n}\n","import { Directive, inject, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { coerceArray, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, switchMap, tap } from 'rxjs';\nimport { BreakpointsService } from '../breakpoints.service';\nimport { BreakpointName } from '../models';\n\n/**\n * A structural directive that conditionally includes an Angular template based on whether the viewport matches\n * specified breakpoints. It leverages the BreakpointsService to observe changes in viewport size and apply\n * the appropriate template.\n *\n * @Directive\n * @param {BreakpointsService} breakpointsService - Injects BreakpointsService to observe breakpoint changes.\n * @param {TemplateRef} template - Injects the Angular template to render when breakpoints match.\n * @param {ViewContainerRef} viewContainer - Injects the container where the template will be rendered.\n *\n * @example\n * ```html\n * // Usage in a component template to conditionally display content based on breakpoints\n * // Assume 'mobile' and 'tablet' are defined breakpoints\n * <ng-template [odxMatchBreakpoints]=\"['mobile', 'tablet']\">\n * Content to display on mobile and tablet sizes.\n * </ng-template>\n * <ng-template [odxMatchBreakpoints]=\"['desktop']\" [odxMatchBreakpointsElse]=\"elseTemplate\">\n * Content to display on desktop size.\n * </ng-template>\n * <ng-template #elseTemplate>\n * Content to display when not on desktop size.\n * </ng-template>\n * ```\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[odxMatchBreakpoints]',\n})\nexport class MatchBreakpointsDirective implements OnInit {\n private readonly breakpoints$$ = new BehaviorSubject<BreakpointName[]>([]);\n private readonly breakpointsService = inject(BreakpointsService);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly template = inject(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n /**\n * Sets the breakpoints to observe. The directive's content is displayed if the current viewport matches\n * any of the specified breakpoints.\n *\n * @param {BreakpointName | BreakpointName[]} value - The breakpoint(s) to match against the current viewport size.\n */\n @Input('odxMatchBreakpoints')\n public set breakpoints(value: BreakpointName | BreakpointName[] | null | undefined) {\n this.breakpoints$$.next(coerceArray(value ?? []));\n }\n\n /**\n * Optionally specifies a template to render when the viewport does not match the specified breakpoints.\n *\n * @param {TemplateRef<unknown>} elseTemplate - The template to render when the viewport does not match the breakpoints.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxMatchBreakpointsElse')\n public elseTemplate?: TemplateRef<unknown> | null = null;\n\n public ngOnInit(): void {\n this.breakpoints$$\n .pipe(\n switchMap((breakpoints) => this.breakpointsService.observe(breakpoints)),\n tap((matchesBreakpoints) => this.render(matchesBreakpoints)),\n this.takeUntilDestroyed(),\n )\n .subscribe();\n }\n\n private render(matchesBreakpoints: boolean): void {\n this.viewContainer.clear();\n const template = matchesBreakpoints ? this.template : this.elseTemplate;\n if (template) {\n const viewRef = this.viewContainer.createEmbeddedView(template);\n viewRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MatchBreakpointsDirective } from './directives';\n\nconst modules = [MatchBreakpointsDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class BreakpointsModule {}\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-breakpoints.mjs","sources":["../../../../libs/angular/breakpoints/src/lib/helpers/configure-breakpoint.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.config.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.service.ts","../../../../libs/angular/breakpoints/src/lib/directives/match-breakpoints.directive.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.module.ts","../../../../libs/angular/breakpoints/src/odx-angular-breakpoints.ts"],"sourcesContent":["type BreakpointOperators = '<' | '=' | '>';\ntype BreakpointConfig<T extends string> = Record<`${BreakpointOperators}${T}`, string>;\n\n/**\n * Generates a configuration object containing CSS media query strings for a named breakpoint.\n * The function creates media queries for three scenarios: below (`<`), exactly (`=`), and above (`>`) the specified breakpoint.\n *\n * @template T - The string literal type representing the name of the breakpoint.\n * @param {T} name - The name of the breakpoint (e.g., 'md' for medium).\n * @param {number} min - The minimum width (inclusive) where the breakpoint starts.\n * @param {number} max - The maximum width (exclusive) where the breakpoint ends.\n * @returns {BreakpointConfig<T>} An object containing media query strings for targeting screen sizes relative to the breakpoint.\n *\n * @example\n * ```ts\n * // Define a medium (md) breakpoint\n * const mdBreakpoint = configureBreakpoint('md', 768, 1024);\n * console.log(mdBreakpoint['<md']); // Outputs: \"(max-width: 767px)\"\n * console.log(mdBreakpoint['=md']); // Outputs: \"(min-width: 768px) and (max-width: 1023px)\"\n * console.log(mdBreakpoint['>md']); // Outputs: \"(min-width: 768px)\"\n * ```\n */\nexport function configureBreakpoint<T extends string>(name: T, min: number, max: number): BreakpointConfig<T> {\n return {\n [`<${name}` as const]: `(max-width: ${min - 1}px)`,\n [`=${name}` as const]: `(min-width: ${min}px) and (max-width: ${max - 1}px)`,\n [`>${name}` as const]: `(min-width: ${min}px)`,\n } as BreakpointConfig<T>;\n}\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { configureBreakpoint } from './helpers/configure-breakpoint';\n\n/**\n * Defines default responsive breakpoints for the application. These breakpoints are used to\n * apply responsive styles and behaviors across various device sizes. Each breakpoint is\n * configured with a name, a minimum width, and a maximum width, defining the range of device\n * sizes it targets.\n *\n * @constant\n * @type {Record<string, string>}\n *\n * @example\n * ```ts\n * // Accessing a breakpoint value\n * console.log(DEFAULT_BREAKPOINTS['=phone']); // Outputs: \"(min-width: 480px) and (max-width: 767px)\"\n * ```\n */\nexport const DEFAULT_BREAKPOINTS = {\n ...configureBreakpoint('phone-s', 360, 480),\n ...configureBreakpoint('phone', 480, 768),\n ...configureBreakpoint('tablet', 768, 960),\n ...configureBreakpoint('desktop-s', 960, 1200),\n ...configureBreakpoint('desktop', 1200, 9999),\n} as const;\n\nexport interface BreakpointsConfig {\n breakpoints: Partial<OdxAngular.Breakpoints>;\n}\n\n/**\n * Provides Angular dependency injection tokens for accessing and configuring breakpoints\n * within the application. This enables a type-safe and modular way to manage responsive\n * design breakpoints across the app.\n *\n * @example\n * ```ts\n * // Providing custom breakpoints in an Angular module\n * import { NgModule } from '@angular/core';\n * import { provideBreakpointsConfig } from '@odx/angular/breakpoints';\n *\n * @NgModule({\n * providers: [\n * provideBreakpointsConfig({\n * breakpoints: {\n * ...configureBreakpoint('custom-tablet', 640, 1024),\n * },\n * }),\n * ],\n * })\n * export class CustomModule {}\n * ```\n */\nexport const { BreakpointsConfig, BreakpointsDefaultConfig, injectBreakpointsConfig, provideBreakpointsConfig } = createConfigTokens(\n 'Breakpoints',\n '@odx/angular/breakpoints',\n {\n breakpoints: DEFAULT_BREAKPOINTS,\n } as BreakpointsConfig,\n);\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { inject, Injectable } from '@angular/core';\nimport { distinctUntilChanged, map, Observable, of, shareReplay } from 'rxjs';\nimport { injectBreakpointsConfig } from './breakpoints.config';\nimport { BreakpointName } from './models';\n\n/**\n * Service to observe and react to changes in viewport size based on predefined breakpoints.\n * Utilizes Angular CDK's BreakpointObserver for listening to media query changes and integrates\n * it with the application's custom breakpoints configuration.\n *\n * @Injectable({ providedIn: 'root' })\n */\n@Injectable({ providedIn: 'root' })\nexport class BreakpointsService {\n private readonly breakpointObserver = inject(BreakpointObserver);\n private readonly config = injectBreakpointsConfig();\n\n /**\n * Observes the specified breakpoints and returns an Observable that emits true if any\n * of the specified breakpoints match the current viewport size, and false otherwise.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to observe.\n * @returns {Observable<boolean>} - An Observable that emits true if the viewport matches the specified breakpoints.\n *\n * @example\n * ```ts\n * // Component that uses BreakpointsService to apply dynamic styles based on breakpoints\n * @Component({\n * selector: 'app-responsive-component',\n * templateUrl: './responsive-component.component.html',\n * })\n * export class ResponsiveComponent {\n * isMobile$: Observable<boolean>;\n *\n * constructor(private breakpointsService: BreakpointsService) {\n * this.isMobile$ = this.breakpointsService.observe(['phone', 'tablet']);\n * }\n * }\n * ```\n */\n public observe(breakpoints: BreakpointName[]): Observable<boolean> {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.createBreakpointObserver(mediaQueries);\n }\n\n /**\n * Checks if any of the specified breakpoints match the current viewport size.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to check.\n * @returns {boolean} - Returns true if the viewport matches the specified breakpoints, false otherwise.\n *\n * @example\n * ```ts\n * // Checking if the current viewport matches the 'desktop' breakpoint\n * const isDesktop = this.breakpointsService.matches(['desktop']);\n * console.log(`Is desktop view? ${isDesktop}`);\n * ```\n */\n public matches(breakpoints: BreakpointName[]): boolean {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.breakpointObserver.isMatched(mediaQueries);\n }\n\n private getMediaQueries(breakpointNames: BreakpointName[]): string[] {\n return breakpointNames.map((name) => this.config.breakpoints[name] as string).filter(Boolean);\n }\n\n private createBreakpointObserver(mediaQueries: string[]): Observable<boolean> {\n if (mediaQueries.length < 1) return of(false);\n\n return this.breakpointObserver.observe(mediaQueries).pipe(\n map(({ matches }) => matches),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n}\n","import { Directive, inject, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { coerceArray, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, switchMap, tap } from 'rxjs';\nimport { BreakpointsService } from '../breakpoints.service';\nimport { BreakpointName } from '../models';\n\n/**\n * A structural directive that conditionally includes an Angular template based on whether the viewport matches\n * specified breakpoints. It leverages the BreakpointsService to observe changes in viewport size and apply\n * the appropriate template.\n *\n * @Directive\n * @param {BreakpointsService} breakpointsService - Injects BreakpointsService to observe breakpoint changes.\n * @param {TemplateRef} template - Injects the Angular template to render when breakpoints match.\n * @param {ViewContainerRef} viewContainer - Injects the container where the template will be rendered.\n *\n * @example\n * ```html\n * // Usage in a component template to conditionally display content based on breakpoints\n * // Assume 'mobile' and 'tablet' are defined breakpoints\n * <ng-template [odxMatchBreakpoints]=\"['mobile', 'tablet']\">\n * Content to display on mobile and tablet sizes.\n * </ng-template>\n * <ng-template [odxMatchBreakpoints]=\"['desktop']\" [odxMatchBreakpointsElse]=\"elseTemplate\">\n * Content to display on desktop size.\n * </ng-template>\n * <ng-template #elseTemplate>\n * Content to display when not on desktop size.\n * </ng-template>\n * ```\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[odxMatchBreakpoints]',\n})\nexport class MatchBreakpointsDirective implements OnInit {\n private readonly breakpoints$$ = new BehaviorSubject<BreakpointName[]>([]);\n private readonly breakpointsService = inject(BreakpointsService);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly template = inject(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n /**\n * Sets the breakpoints to observe. The directive's content is displayed if the current viewport matches\n * any of the specified breakpoints.\n *\n * @param {BreakpointName | BreakpointName[]} value - The breakpoint(s) to match against the current viewport size.\n */\n @Input('odxMatchBreakpoints')\n public set breakpoints(value: BreakpointName | BreakpointName[] | null | undefined) {\n this.breakpoints$$.next(coerceArray(value ?? []));\n }\n\n /**\n * Optionally specifies a template to render when the viewport does not match the specified breakpoints.\n *\n * @param {TemplateRef<unknown>} elseTemplate - The template to render when the viewport does not match the breakpoints.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxMatchBreakpointsElse')\n public elseTemplate?: TemplateRef<unknown> | null = null;\n\n public ngOnInit(): void {\n this.breakpoints$$\n .pipe(\n switchMap((breakpoints) => this.breakpointsService.observe(breakpoints)),\n tap((matchesBreakpoints) => this.render(matchesBreakpoints)),\n this.takeUntilDestroyed(),\n )\n .subscribe();\n }\n\n private render(matchesBreakpoints: boolean): void {\n this.viewContainer.clear();\n const template = matchesBreakpoints ? this.template : this.elseTemplate;\n if (template) {\n const viewRef = this.viewContainer.createEmbeddedView(template);\n viewRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MatchBreakpointsDirective } from './directives';\n\nconst modules = [MatchBreakpointsDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class BreakpointsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -50,13 +50,13 @@ let InteractiveDirective = class InteractiveDirective {
50
50
  return;
51
51
  this.interact.next(event);
52
52
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: InteractiveDirective, isStandalone: true, selector: "[odxCdkInteractive]", outputs: { interact: "odxCdkInteractive" }, host: { attributes: { "role": "button" }, listeners: { "click": "handleEvents($event)", "keyup.enter": "handleEvents($event)", "keyup.space": "handleEvents($event)" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: InteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: InteractiveDirective, isStandalone: true, selector: "[odxCdkInteractive]", outputs: { interact: "odxCdkInteractive" }, host: { attributes: { "role": "button" }, listeners: { "click": "handleEvents($event)", "keyup.enter": "handleEvents($event)", "keyup.space": "handleEvents($event)" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 }); }
55
55
  };
56
56
  InteractiveDirective = __decorate([
57
57
  CSSComponent('cdk-interactive')
58
58
  ], InteractiveDirective);
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InteractiveDirective, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: InteractiveDirective, decorators: [{
60
60
  type: Directive,
61
61
  args: [{
62
62
  selector: '[odxCdkInteractive]',
@@ -115,10 +115,10 @@ class ListFocusManagerOptionDirective {
115
115
  focus() {
116
116
  this.element.nativeElement.focus();
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
119
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ListFocusManagerOptionDirective, isStandalone: true, selector: "[odxListFocusManagerOption]", ngImport: i0 }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListFocusManagerOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
119
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ListFocusManagerOptionDirective, isStandalone: true, selector: "[odxListFocusManagerOption]", ngImport: i0 }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerOptionDirective, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListFocusManagerOptionDirective, decorators: [{
122
122
  type: Directive,
123
123
  args: [{
124
124
  selector: '[odxListFocusManagerOption]',
@@ -163,10 +163,10 @@ class ListFocusManagerDirective {
163
163
  onKeyDown(event) {
164
164
  this.keyManager?.onKeydown(event);
165
165
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
167
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ListFocusManagerDirective, isStandalone: true, selector: "[odxListFocusManager]", host: { listeners: { "keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "options", predicate: ListFocusManagerOptionDirective }], ngImport: i0 }); }
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListFocusManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
167
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ListFocusManagerDirective, isStandalone: true, selector: "[odxListFocusManager]", host: { listeners: { "keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "options", predicate: ListFocusManagerOptionDirective }], ngImport: i0 }); }
168
168
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerDirective, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListFocusManagerDirective, decorators: [{
170
170
  type: Directive,
171
171
  args: [{
172
172
  selector: '[odxListFocusManager]',
@@ -182,11 +182,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
182
182
 
183
183
  const modules = [ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective];
184
184
  class A11yModule {
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
186
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective], exports: [CoreModule, A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective] }); }
187
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, CoreModule, A11yModule$1] }); }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
186
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective], exports: [CoreModule, A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective] }); }
187
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, CoreModule, A11yModule$1] }); }
188
188
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: A11yModule, decorators: [{
190
190
  type: NgModule,
191
191
  args: [{
192
192
  imports: [A11yModule$1, ...modules],