@odx/angular 11.5.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/breakpoints/lib/breakpoints.config.d.ts +1 -1
  3. package/breakpoints/lib/breakpoints.typings.d.ts +1 -2
  4. package/components/calendar/lib/calendar.config.d.ts +1 -1
  5. package/components/card/lib/card.config.d.ts +1 -1
  6. package/components/datepicker/lib/datepicker.config.d.ts +1 -1
  7. package/components/daterangepicker/lib/daterangepicker.config.d.ts +1 -1
  8. package/components/error-page/lib/error-page.config.d.ts +1 -1
  9. package/components/footer/lib/footer.config.d.ts +1 -1
  10. package/components/form-field/lib/form-field.config.d.ts +1 -1
  11. package/components/icon/lib/icon.config.d.ts +1 -1
  12. package/components/main-menu/lib/main-menu.config.d.ts +1 -1
  13. package/components/modal/lib/modal.config.d.ts +1 -1
  14. package/components/notification/lib/notification.config.d.ts +1 -1
  15. package/components/paginator/lib/paginator.config.d.ts +1 -1
  16. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +3 -3
  17. package/components/toast/lib/toast.config.d.ts +1 -1
  18. package/components/tooltip/lib/tooltip.config.d.ts +1 -1
  19. package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
  20. package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
  21. package/esm2022/breakpoints/lib/breakpoints.typings.mjs +1 -1
  22. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -3
  23. package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
  24. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  25. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  26. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  27. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  28. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +3 -3
  29. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
  30. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  31. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  32. package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  33. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  34. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
  35. package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  36. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  37. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  38. package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +1 -1
  39. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +5 -5
  40. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +5 -5
  41. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +3 -3
  42. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  43. package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
  44. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
  45. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  46. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  47. package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  48. package/esm2022/components/accordion/lib/accordion.component.mjs +3 -3
  49. package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
  50. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  51. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  52. package/esm2022/components/action-group/action-group.component.mjs +3 -3
  53. package/esm2022/components/area-header/area-header.component.mjs +3 -3
  54. package/esm2022/components/area-header/area-header.module.mjs +4 -4
  55. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
  56. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  57. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +3 -3
  58. package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  59. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +3 -3
  60. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +3 -3
  61. package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
  62. package/esm2022/components/avatar/lib/avatar.component.mjs +3 -3
  63. package/esm2022/components/badge/lib/badge.component.mjs +3 -3
  64. package/esm2022/components/badge/lib/badge.directive.mjs +3 -3
  65. package/esm2022/components/bar/lib/bar.component.mjs +3 -3
  66. package/esm2022/components/bar/lib/bar.module.mjs +4 -4
  67. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +3 -3
  68. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  69. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  70. package/esm2022/components/button/lib/button.component.mjs +3 -3
  71. package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
  72. package/esm2022/components/button-group/lib/button-group.component.mjs +3 -3
  73. package/esm2022/components/calendar/lib/calendar.component.mjs +3 -3
  74. package/esm2022/components/calendar/lib/calendar.service.mjs +3 -3
  75. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +3 -3
  76. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
  77. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
  78. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
  79. package/esm2022/components/calendar/lib/daterange.service.mjs +3 -3
  80. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +3 -3
  81. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
  82. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +3 -3
  83. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +3 -3
  84. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +3 -3
  85. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +3 -3
  86. package/esm2022/components/card/lib/card.component.mjs +3 -3
  87. package/esm2022/components/card/lib/card.module.mjs +4 -4
  88. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
  89. package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +3 -3
  90. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
  91. package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
  92. package/esm2022/components/checkbox/lib/checkbox.component.mjs +3 -3
  93. package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
  94. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
  95. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +3 -3
  96. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +3 -3
  97. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +3 -3
  98. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +3 -3
  99. package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
  100. package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
  101. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
  102. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
  103. package/esm2022/components/datepicker/lib/datepicker.component.mjs +3 -3
  104. package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
  105. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +4 -4
  106. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +3 -3
  107. package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
  108. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -4
  109. package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
  110. package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
  111. package/esm2022/components/dropdown/lib/dropdown.component.mjs +3 -3
  112. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +3 -3
  113. package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
  114. package/esm2022/components/error-page/lib/error-page.component.mjs +3 -3
  115. package/esm2022/components/footer/lib/footer.component.mjs +3 -3
  116. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  117. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  118. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  119. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  120. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  121. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  122. package/esm2022/components/form-field/lib/directives/form.directive.mjs +3 -3
  123. package/esm2022/components/form-field/lib/form-field.component.mjs +3 -3
  124. package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
  125. package/esm2022/components/form-field/lib/form-field.service.mjs +3 -3
  126. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  127. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  128. package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
  129. package/esm2022/components/header/lib/header.component.mjs +3 -3
  130. package/esm2022/components/header/lib/header.module.mjs +4 -4
  131. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +6 -6
  132. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +3 -3
  133. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
  134. package/esm2022/components/icon/lib/icon.component.mjs +3 -3
  135. package/esm2022/components/inline-message/lib/inline-message.component.mjs +3 -3
  136. package/esm2022/components/link/link.directive.mjs +3 -3
  137. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -3
  138. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  139. package/esm2022/components/list/lib/list.component.mjs +3 -3
  140. package/esm2022/components/list/lib/list.module.mjs +4 -4
  141. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  142. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
  143. package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  144. package/esm2022/components/logo/logo.directive.mjs +3 -3
  145. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  146. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
  147. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
  148. package/esm2022/components/main-menu/lib/main-menu.component.mjs +3 -3
  149. package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
  150. package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
  151. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +3 -3
  152. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  153. package/esm2022/components/menu/lib/menu.component.mjs +3 -3
  154. package/esm2022/components/menu/lib/menu.directive.mjs +3 -3
  155. package/esm2022/components/menu/lib/menu.module.mjs +4 -4
  156. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  157. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  158. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
  159. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
  160. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  161. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  162. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  163. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
  164. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
  165. package/esm2022/components/modal/lib/modal.component.mjs +3 -3
  166. package/esm2022/components/modal/lib/modal.directive.mjs +3 -3
  167. package/esm2022/components/modal/lib/modal.module.mjs +4 -4
  168. package/esm2022/components/modal/lib/modal.service.mjs +3 -3
  169. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +3 -3
  170. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +3 -3
  171. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +3 -3
  172. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
  173. package/esm2022/components/notification/lib/notification.service.mjs +3 -3
  174. package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
  175. package/esm2022/components/paginator/lib/paginator.component.mjs +3 -3
  176. package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
  177. package/esm2022/components/progress/lib/progress.component.mjs +3 -3
  178. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  179. package/esm2022/components/radio-group/lib/radio-group.component.mjs +3 -3
  180. package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
  181. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +3 -3
  182. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  183. package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  184. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +3 -3
  185. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +3 -3
  186. package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +3 -3
  187. package/esm2022/components/rich-list/lib/rich-list.component.mjs +3 -3
  188. package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
  189. package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
  190. package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
  191. package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
  192. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +3 -3
  193. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +3 -3
  194. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  195. package/esm2022/components/select/lib/select.component.mjs +3 -3
  196. package/esm2022/components/select/lib/select.module.mjs +4 -4
  197. package/esm2022/components/slider/lib/slider.directive.mjs +3 -3
  198. package/esm2022/components/spinbox/lib/spinbox.component.mjs +3 -3
  199. package/esm2022/components/switch/lib/switch.component.mjs +3 -3
  200. package/esm2022/components/switch/lib/switch.module.mjs +4 -4
  201. package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
  202. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
  203. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +3 -3
  204. package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  205. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
  206. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +3 -3
  207. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +3 -3
  208. package/esm2022/components/table/lib/directives/table-row.directive.mjs +3 -3
  209. package/esm2022/components/table/lib/table.component.mjs +3 -3
  210. package/esm2022/components/table/lib/table.module.mjs +4 -4
  211. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +3 -3
  212. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +5 -5
  213. package/esm2022/components/timepicker/lib/timepicker.component.mjs +3 -3
  214. package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
  215. package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
  216. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  217. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
  218. package/esm2022/components/toast/lib/toast.module.mjs +4 -4
  219. package/esm2022/components/toast/lib/toast.service.mjs +3 -3
  220. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  221. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  222. package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  223. package/esm2022/components/tooltip/lib/tooltip.component.mjs +3 -3
  224. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +3 -3
  225. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +3 -3
  226. package/esm2022/components/wizard/lib/wizard.component.mjs +3 -3
  227. package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
  228. package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
  229. package/esm2022/lib/controllers/controller.mjs +3 -3
  230. package/esm2022/lib/controllers/disabled.controller.mjs +3 -3
  231. package/esm2022/lib/controllers/readonly.controller.mjs +3 -3
  232. package/esm2022/lib/core.module.mjs +4 -4
  233. package/esm2022/lib/directives/click-outside.directive.mjs +3 -3
  234. package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
  235. package/esm2022/lib/directives/with-disabled-state.directive.mjs +3 -3
  236. package/esm2022/lib/directives/with-tabindex.directive.mjs +3 -3
  237. package/esm2022/lib/services/window-ref.mjs +3 -3
  238. package/esm2022/localization/lib/localization.service.mjs +3 -3
  239. package/esm2022/theming/lib/theming.service.mjs +3 -3
  240. package/esm2022/utils/lib/helpers/dom.mjs +3 -2
  241. package/esm2022/utils/lib/helpers/event-manager.mjs +3 -3
  242. package/fesm2022/odx-angular-animations.mjs.map +1 -1
  243. package/fesm2022/odx-angular-breakpoints.mjs +10 -10
  244. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  245. package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
  246. package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
  247. package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
  248. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  249. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +3 -3
  250. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  251. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -3
  252. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  253. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
  254. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  255. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +9 -9
  256. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  257. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
  258. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  259. package/fesm2022/odx-angular-cdk-event-plugins.mjs +8 -8
  260. package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
  261. package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
  262. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  263. package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
  264. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  265. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +10 -10
  266. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  267. package/fesm2022/odx-angular-components-accordion.mjs +13 -13
  268. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  269. package/fesm2022/odx-angular-components-action-group.mjs +3 -3
  270. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  271. package/fesm2022/odx-angular-components-area-header.mjs +13 -13
  272. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  273. package/fesm2022/odx-angular-components-autocomplete.mjs +16 -16
  274. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  275. package/fesm2022/odx-angular-components-avatar.mjs +3 -3
  276. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  277. package/fesm2022/odx-angular-components-badge.mjs +6 -6
  278. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  279. package/fesm2022/odx-angular-components-bar.mjs +13 -13
  280. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  281. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
  282. package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
  283. package/fesm2022/odx-angular-components-button-group.mjs +3 -3
  284. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  285. package/fesm2022/odx-angular-components-button.mjs +6 -6
  286. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  287. package/fesm2022/odx-angular-components-calendar.mjs +39 -39
  288. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  289. package/fesm2022/odx-angular-components-card.mjs +19 -19
  290. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  291. package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
  292. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  293. package/fesm2022/odx-angular-components-chip.mjs +9 -9
  294. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  295. package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
  296. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  297. package/fesm2022/odx-angular-components-content-box.mjs +13 -13
  298. package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
  299. package/fesm2022/odx-angular-components-datepicker.mjs +10 -10
  300. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  301. package/fesm2022/odx-angular-components-daterangepicker.mjs +16 -16
  302. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  303. package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
  304. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  305. package/fesm2022/odx-angular-components-error-page.mjs +3 -3
  306. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  307. package/fesm2022/odx-angular-components-footer.mjs +3 -3
  308. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  309. package/fesm2022/odx-angular-components-form-field.mjs +34 -34
  310. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  311. package/fesm2022/odx-angular-components-header-navigation.mjs +13 -13
  312. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  313. package/fesm2022/odx-angular-components-header.mjs +13 -13
  314. package/fesm2022/odx-angular-components-header.mjs.map +1 -1
  315. package/fesm2022/odx-angular-components-icon.mjs +3 -3
  316. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  317. package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
  318. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  319. package/fesm2022/odx-angular-components-link.mjs +3 -3
  320. package/fesm2022/odx-angular-components-link.mjs.map +1 -1
  321. package/fesm2022/odx-angular-components-list.mjs +13 -13
  322. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  323. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
  324. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  325. package/fesm2022/odx-angular-components-logo.mjs +3 -3
  326. package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
  327. package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
  328. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  329. package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
  330. package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
  331. package/fesm2022/odx-angular-components-menu.mjs +13 -13
  332. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  333. package/fesm2022/odx-angular-components-modal.mjs +40 -40
  334. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  335. package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
  336. package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
  337. package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
  338. package/fesm2022/odx-angular-components-notification.mjs +15 -15
  339. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  340. package/fesm2022/odx-angular-components-paginator.mjs +7 -7
  341. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  342. package/fesm2022/odx-angular-components-progress.mjs +3 -3
  343. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  344. package/fesm2022/odx-angular-components-radio-group.mjs +10 -10
  345. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  346. package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
  347. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  348. package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
  349. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  350. package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
  351. package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
  352. package/fesm2022/odx-angular-components-select.mjs +16 -16
  353. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  354. package/fesm2022/odx-angular-components-slider.mjs +3 -3
  355. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  356. package/fesm2022/odx-angular-components-spinbox.mjs +3 -3
  357. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  358. package/fesm2022/odx-angular-components-switch.mjs +10 -10
  359. package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
  360. package/fesm2022/odx-angular-components-tab-bar.mjs +10 -10
  361. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  362. package/fesm2022/odx-angular-components-table.mjs +19 -19
  363. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  364. package/fesm2022/odx-angular-components-timepicker.mjs +17 -17
  365. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  366. package/fesm2022/odx-angular-components-toast.mjs +13 -13
  367. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  368. package/fesm2022/odx-angular-components-toggle-button-group.mjs +10 -10
  369. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  370. package/fesm2022/odx-angular-components-tooltip.mjs +6 -6
  371. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  372. package/fesm2022/odx-angular-components-wizard.mjs +10 -10
  373. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  374. package/fesm2022/odx-angular-internal-translate.mjs +3 -3
  375. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  376. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  377. package/fesm2022/odx-angular-localization.mjs +3 -3
  378. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  379. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  380. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  381. package/fesm2022/odx-angular-theming.mjs +3 -3
  382. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  383. package/fesm2022/odx-angular-utils.mjs +5 -4
  384. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  385. package/fesm2022/odx-angular.mjs +28 -28
  386. package/fesm2022/odx-angular.mjs.map +1 -1
  387. package/internal/lib/helpers/deepmerge.d.ts +1 -1
  388. package/localization/lib/localization.config.d.ts +1 -1
  389. package/package.json +13 -13
  390. package/theming/lib/theming.config.d.ts +1 -1
  391. package/utils/lib/helpers/dom.d.ts +1 -1
  392. package/utils/lib/helpers/provide-config.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-dropdown.mjs","sources":["../../../../libs/angular/components/dropdown/src/lib/models/close-dropdown-event.ts","../../../../libs/angular/components/dropdown/src/lib/models/dropdown-options.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.html","../../../../libs/angular/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular/components/dropdown/src/lib/helpers/close-current-dropdown.ts","../../../../libs/angular/components/dropdown/src/odx-angular-components-dropdown.ts"],"sourcesContent":["export class CloseDropdownEvent extends Event {\n public static readonly TYPE = 'odxDropdownClose';\n\n constructor() {\n super(CloseDropdownEvent.TYPE, { bubbles: true });\n }\n}\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\n\nexport type DropdownOptions = Pick<\n ConnectedOverlayOptions,\n 'position' | 'containerClass' | 'enableFallback' | 'matchReferenceWidth' | 'minHeight' | 'offset' | 'showArrow' | 'outerPadding'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 6,\n outerPadding: 12,\n};\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { EventManager, GetProperties, hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { DropdownComponent } from './dropdown.component';\nimport { DefaultDropdownOptions, DropdownOptions } from './models';\n\nexport const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];\nexport const DEFAULT_DROPDOWN_CLOSE_TRIGGERS = ['keyup.esc'];\n\n/**\n * Represents a directive that enables dropdown functionality in Angular.\n * This directive handles the opening and closing of a dropdown menu, as well as\n * managing the associated overlay and event handling.\n */\n@CSSComponent('dropdown-host')\n@Directive({\n standalone: true,\n selector: '[odxDropdown]',\n exportAs: 'odxDropdown',\n providers: [EventManager],\n host: {\n '[attr.aria-haspopup]': 'true',\n '[attr.aria-expanded]': 'isOpen',\n },\n})\nexport class DropdownDirective implements AfterViewInit, OnChanges, OnDestroy {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly eventManager = inject(EventManager);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly injector = inject(Injector);\n private overlayRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Gets a value indicating whether the dropdown is currently open.\n *\n * @returns {boolean}\n */\n public get isOpen(): boolean {\n return this.overlayRef !== null;\n }\n\n /**\n * The content to be displayed in the dropdown.\n * It can be either a static content or a dynamically loaded content.\n *\n * @type {DynamicContent | null}\n */\n @Input('odxDropdown')\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether the dropdown is disabled or not.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownDisabled', transform: booleanAttribute })\n public disabled = false;\n\n /**\n * Indicates whether the loader should be shown.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownShowLoader', transform: booleanAttribute })\n public showLoader = false;\n\n /**\n * Determines whether the dropdown should close when a click event occurs outside of it.\n *\n * @type {boolean}\n * @default true\n */\n @Input({ alias: 'odxDropdownClickOutsideActive', transform: booleanAttribute })\n public clickOutsideActive = true;\n\n /**\n * The options to be used when creating the dropdown overlay.\n *\n * @type {Partial<DropdownOptions> | null}\n */\n @Input('odxDropdownOptions')\n public options?: Partial<DropdownOptions> | null;\n\n /**\n * The reference element to which the dropdown is anchored.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownReferenceElement')\n public referenceElement?: HTMLElement | null;\n\n /**\n * The trigger element that opens the dropdown.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownTriggerElement')\n public triggerElement?: HTMLElement | null;\n\n /**\n * The host element to which the dropdown is appended.\n *\n * @type {HTMLElement | ViewContainerRef | null}\n */\n @Input('odxDropdownHost')\n public host?: HTMLElement | ViewContainerRef | null = this.viewContainer;\n\n /**\n * The event triggers that open the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_OPEN_TRIGGERS\n */\n @Input('odxDropdownOpenTrigger')\n public openTrigger?: string[] | null = DEFAULT_DROPDOWN_OPEN_TRIGGERS;\n\n /**\n * The event triggers that close the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_CLOSE_TRIGGERS\n */\n @Input('odxDropdownCloseTrigger')\n public closeTrigger?: string[] | null = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;\n\n /**\n * Event emitter that emits before the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeOpen')\n public beforeOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterOpen')\n public afterOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits before the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeClose')\n public beforeClose = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterClose')\n public afterClose = new EventEmitter<void>();\n\n public ngAfterViewInit(): void {\n this.eventManager.register(this.openTrigger ?? [], (event) => this.toggle(event), this.triggerElement ?? this.referenceElement);\n this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');\n }\n\n public ngOnDestroy(): void {\n this.close();\n }\n\n public ngOnChanges(changes: NgChanges<DropdownDirective>) {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.close();\n }\n if (hasChanged(changes, ['options', 'content', 'showLoader', 'clickOutsideActive'])) {\n this.overlayRef?.update(this.createOverlayOptions());\n }\n }\n\n /**\n * Toggles the state of the dropdown.\n * If the dropdown is open, it will be closed. If it is closed, it will be opened.\n *\n * @param {Event | undefined} event - The optional event that triggered the toggle.\n */\n public toggle(event?: Event): void {\n if (this.isOpen) {\n this.close(event);\n } else {\n this.open(event);\n }\n }\n\n /**\n * Opens the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the open.\n */\n public open(event?: Event) {\n event?.preventDefault();\n if (this.isOpen || !this.content || this.disabled) return;\n this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {\n host: this.referenceElement?.parentElement ?? this.host,\n injector: this.injector,\n });\n this.changeDetector.markForCheck();\n }\n\n /**\n * Closes the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the close.\n */\n public close(event?: Event) {\n event?.preventDefault();\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetector.markForCheck();\n }\n\n private createOverlayOptions(): Partial<ConnectedOverlayOptions> {\n const containerClass = ['odx-dropdown-overlay', this.options?.containerClass].filter(Boolean).join(' ');\n const context = {\n content: this.content,\n showLoader: this.showLoader,\n clickOutsideActive: this.clickOutsideActive,\n } as Partial<GetProperties<DropdownComponent>>;\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n fallbackAxisSideDirection: 'end',\n containerClass,\n content: DropdownComponent,\n context,\n hooks: {\n beforeOpen: () => this.beforeOpen.emit(),\n afterOpen: () => this.afterOpen.emit(),\n beforeClose: () => this.beforeClose.emit(),\n afterClose: () => this.afterClose.emit(),\n },\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Injector, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { DropdownDirective } from './dropdown.directive';\nimport { CloseDropdownEvent } from './models';\n\n/**\n * Represents a dropdown component.\n */\n@CSSComponent('dropdown')\n@Component({\n standalone: true,\n selector: 'odx-dropdown',\n imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule],\n templateUrl: './dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n protected readonly host = inject(DropdownDirective);\n protected readonly injector = inject(Injector);\n public readonly element = injectElement();\n\n /**\n * The content to be displayed in the dropdown.\n *\n * @type {DynamicContent | null}\n */\n @Input()\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether to show a loader while loading the dropdown content.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public showLoader?: boolean;\n\n /**\n * Indicates whether clicking outside the dropdown should close it.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public clickOutsideActive?: boolean;\n\n @HostListener(CloseDropdownEvent.TYPE)\n protected onDropdownClose(): void {\n this.host.close();\n }\n}\n","<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\" />\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DropdownDirective } from './dropdown.directive';\n\nconst modules = [DropdownDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DropdownModule {}\n","import { CloseDropdownEvent } from '../models';\n\n/**\n * @internal\n * Dispatches a CloseDropdownEvent for target to close the current dropdown.\n *\n * @param {Element} target - The target element to close the dropdown for.\n */\nexport function closeCurrentDropdown(target: Element): void {\n target.dispatchEvent(new CloseDropdownEvent());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-dropdown.mjs","sources":["../../../../libs/angular/components/dropdown/src/lib/models/close-dropdown-event.ts","../../../../libs/angular/components/dropdown/src/lib/models/dropdown-options.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.html","../../../../libs/angular/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular/components/dropdown/src/lib/helpers/close-current-dropdown.ts","../../../../libs/angular/components/dropdown/src/odx-angular-components-dropdown.ts"],"sourcesContent":["export class CloseDropdownEvent extends Event {\n public static readonly TYPE = 'odxDropdownClose';\n\n constructor() {\n super(CloseDropdownEvent.TYPE, { bubbles: true });\n }\n}\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\n\nexport type DropdownOptions = Pick<\n ConnectedOverlayOptions,\n 'position' | 'containerClass' | 'enableFallback' | 'matchReferenceWidth' | 'minHeight' | 'offset' | 'showArrow' | 'outerPadding'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 6,\n outerPadding: 12,\n};\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { EventManager, GetProperties, hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { DropdownComponent } from './dropdown.component';\nimport { DefaultDropdownOptions, DropdownOptions } from './models';\n\nexport const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];\nexport const DEFAULT_DROPDOWN_CLOSE_TRIGGERS = ['keyup.esc'];\n\n/**\n * Represents a directive that enables dropdown functionality in Angular.\n * This directive handles the opening and closing of a dropdown menu, as well as\n * managing the associated overlay and event handling.\n */\n@CSSComponent('dropdown-host')\n@Directive({\n standalone: true,\n selector: '[odxDropdown]',\n exportAs: 'odxDropdown',\n providers: [EventManager],\n host: {\n '[attr.aria-haspopup]': 'true',\n '[attr.aria-expanded]': 'isOpen',\n },\n})\nexport class DropdownDirective implements AfterViewInit, OnChanges, OnDestroy {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly eventManager = inject(EventManager);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly injector = inject(Injector);\n private overlayRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Gets a value indicating whether the dropdown is currently open.\n *\n * @returns {boolean}\n */\n public get isOpen(): boolean {\n return this.overlayRef !== null;\n }\n\n /**\n * The content to be displayed in the dropdown.\n * It can be either a static content or a dynamically loaded content.\n *\n * @type {DynamicContent | null}\n */\n @Input('odxDropdown')\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether the dropdown is disabled or not.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownDisabled', transform: booleanAttribute })\n public disabled = false;\n\n /**\n * Indicates whether the loader should be shown.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownShowLoader', transform: booleanAttribute })\n public showLoader = false;\n\n /**\n * Determines whether the dropdown should close when a click event occurs outside of it.\n *\n * @type {boolean}\n * @default true\n */\n @Input({ alias: 'odxDropdownClickOutsideActive', transform: booleanAttribute })\n public clickOutsideActive = true;\n\n /**\n * The options to be used when creating the dropdown overlay.\n *\n * @type {Partial<DropdownOptions> | null}\n */\n @Input('odxDropdownOptions')\n public options?: Partial<DropdownOptions> | null;\n\n /**\n * The reference element to which the dropdown is anchored.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownReferenceElement')\n public referenceElement?: HTMLElement | null;\n\n /**\n * The trigger element that opens the dropdown.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownTriggerElement')\n public triggerElement?: HTMLElement | null;\n\n /**\n * The host element to which the dropdown is appended.\n *\n * @type {HTMLElement | ViewContainerRef | null}\n */\n @Input('odxDropdownHost')\n public host?: HTMLElement | ViewContainerRef | null = this.viewContainer;\n\n /**\n * The event triggers that open the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_OPEN_TRIGGERS\n */\n @Input('odxDropdownOpenTrigger')\n public openTrigger?: string[] | null = DEFAULT_DROPDOWN_OPEN_TRIGGERS;\n\n /**\n * The event triggers that close the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_CLOSE_TRIGGERS\n */\n @Input('odxDropdownCloseTrigger')\n public closeTrigger?: string[] | null = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;\n\n /**\n * Event emitter that emits before the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeOpen')\n public beforeOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterOpen')\n public afterOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits before the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeClose')\n public beforeClose = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterClose')\n public afterClose = new EventEmitter<void>();\n\n public ngAfterViewInit(): void {\n this.eventManager.register(this.openTrigger ?? [], (event) => this.toggle(event), this.triggerElement ?? this.referenceElement);\n this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');\n }\n\n public ngOnDestroy(): void {\n this.close();\n }\n\n public ngOnChanges(changes: NgChanges<DropdownDirective>) {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.close();\n }\n if (hasChanged(changes, ['options', 'content', 'showLoader', 'clickOutsideActive'])) {\n this.overlayRef?.update(this.createOverlayOptions());\n }\n }\n\n /**\n * Toggles the state of the dropdown.\n * If the dropdown is open, it will be closed. If it is closed, it will be opened.\n *\n * @param {Event | undefined} event - The optional event that triggered the toggle.\n */\n public toggle(event?: Event): void {\n if (this.isOpen) {\n this.close(event);\n } else {\n this.open(event);\n }\n }\n\n /**\n * Opens the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the open.\n */\n public open(event?: Event) {\n event?.preventDefault();\n if (this.isOpen || !this.content || this.disabled) return;\n this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {\n host: this.referenceElement?.parentElement ?? this.host,\n injector: this.injector,\n });\n this.changeDetector.markForCheck();\n }\n\n /**\n * Closes the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the close.\n */\n public close(event?: Event) {\n event?.preventDefault();\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetector.markForCheck();\n }\n\n private createOverlayOptions(): Partial<ConnectedOverlayOptions> {\n const containerClass = ['odx-dropdown-overlay', this.options?.containerClass].filter(Boolean).join(' ');\n const context = {\n content: this.content,\n showLoader: this.showLoader,\n clickOutsideActive: this.clickOutsideActive,\n } as Partial<GetProperties<DropdownComponent>>;\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n fallbackAxisSideDirection: 'end',\n containerClass,\n content: DropdownComponent,\n context,\n hooks: {\n beforeOpen: () => this.beforeOpen.emit(),\n afterOpen: () => this.afterOpen.emit(),\n beforeClose: () => this.beforeClose.emit(),\n afterClose: () => this.afterClose.emit(),\n },\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Injector, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { DropdownDirective } from './dropdown.directive';\nimport { CloseDropdownEvent } from './models';\n\n/**\n * Represents a dropdown component.\n */\n@CSSComponent('dropdown')\n@Component({\n standalone: true,\n selector: 'odx-dropdown',\n imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule],\n templateUrl: './dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n protected readonly host = inject(DropdownDirective);\n protected readonly injector = inject(Injector);\n public readonly element = injectElement();\n\n /**\n * The content to be displayed in the dropdown.\n *\n * @type {DynamicContent | null}\n */\n @Input()\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether to show a loader while loading the dropdown content.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public showLoader?: boolean;\n\n /**\n * Indicates whether clicking outside the dropdown should close it.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public clickOutsideActive?: boolean;\n\n @HostListener(CloseDropdownEvent.TYPE)\n protected onDropdownClose(): void {\n this.host.close();\n }\n}\n","<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\" />\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DropdownDirective } from './dropdown.directive';\n\nconst modules = [DropdownDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DropdownModule {}\n","import { CloseDropdownEvent } from '../models';\n\n/**\n * @internal\n * Dispatches a CloseDropdownEvent for target to close the current dropdown.\n *\n * @param {Element} target - The target element to close the dropdown for.\n */\nexport function closeCurrentDropdown(target: Element): void {\n target.dispatchEvent(new CloseDropdownEvent());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -39,13 +39,13 @@ let ErrorPageComponent = class ErrorPageComponent {
39
39
  */
40
40
  this.options = injectErrorPageConfig();
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorPageComponent, isStandalone: true, selector: "odx-error-page", ngImport: i0, template: "<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n", dependencies: [{ kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ErrorPageComponent, isStandalone: true, selector: "odx-error-page", ngImport: i0, template: "<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n", dependencies: [{ kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
44
  };
45
45
  ErrorPageComponent = __decorate([
46
46
  CSSComponent('error-page')
47
47
  ], ErrorPageComponent);
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorPageComponent, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorPageComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ standalone: true, selector: 'odx-error-page', imports: [LogoDirective, IconComponent, CoreModule, ButtonComponent, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n" }]
51
51
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-error-page.mjs","sources":["../../../../libs/angular/components/error-page/src/lib/error-page.config.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.html","../../../../libs/angular/components/error-page/src/odx-angular-components-error-page.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { ConfigDependencies, ConfigProvider, createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Defines the configuration for an error page used within an application. This can include custom icons,\n * titles, descriptions, actions, and an optional error message.\n * @property {string} [icon] - The name of the icon to display on the error page.\n * @property {string} [iconSet] - The icon set that the icon belongs to.\n * @property {DynamicContent} title - The title content for the error page, which can be a string or a dynamic template.\n * @property {DynamicContent} [description] - Optional description content for the error page.\n * @property { { label: DynamicContent; action: () => void; }[] } actions - A list of actions that can be taken from the error page, each with a label and an action function.\n * @property {DynamicContent} [errorMessage] - Optional additional error message content.\n */\nexport interface ErrorPageConfig {\n icon?: string;\n iconSet?: string;\n title: DynamicContent;\n description?: DynamicContent;\n actions: {\n label: DynamicContent;\n action: () => void;\n }[];\n\n errorMessage?: DynamicContent;\n}\n\nexport const { ErrorPageConfig, ErrorPageDefaultConfig, injectErrorPageConfig, provideErrorPageConfig } = createConfigTokens(\n 'ErrorPage',\n '@odx/components/error-page',\n {\n title: '',\n actions: [],\n } as ErrorPageConfig,\n);\n\n/**\n * Configures and provides the necessary providers for an error page, using a configuration object that specifies\n * icons, titles, descriptions, and actions.\n *\n * @param {ConfigProvider<Partial<ErrorPageConfig>, D>} config - A configuration object or provider function that supplies an `ErrorPageConfig`.\n * @returns {EnvironmentProviders} Returns a configuration that can be used to register the error page providers.\n *\n */\nexport function configureErrorPage<D extends ConfigDependencies>(config: ConfigProvider<Partial<ErrorPageConfig>, D>): EnvironmentProviders {\n return makeEnvironmentProviders([provideErrorPageConfig(config)]);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { injectErrorPageConfig } from './error-page.config';\n\n/**\n * Represents the ErrorPageComponent class.\n * This component is responsible for displaying an error page.\n */\n@CSSComponent('error-page')\n@Component({\n standalone: true,\n selector: 'odx-error-page',\n templateUrl: './error-page.component.html',\n imports: [LogoDirective, IconComponent, CoreModule, ButtonComponent, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ErrorPageComponent {\n public readonly element = injectElement();\n\n /**\n * Represents the options for the error page component.\n *\n * @type {ErrorPageConfig}\n */\n public options = injectErrorPageConfig();\n}\n","<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AA2Ba,MAAA,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,CAC1H,WAAW,EACX,4BAA4B,EAC5B;AACE,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,EAAE;AACO,CAAA,EACpB;AAEF;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAA+B,MAAmD,EAAA;IAClH,OAAO,wBAAwB,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpE;;ACpCA;;;AAGG;AAUU,IAAA,kBAAkB,GAAxB,MAAM,kBAAkB,CAAA;AAAxB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;AAIG;QACI,IAAO,CAAA,OAAA,GAAG,qBAAqB,EAAE,CAAC;AAC1C,KAAA;+GATY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,4+BA6BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAI9E,kBAAkB,GAAA,UAAA,CAAA;IAT9B,YAAY,CAAC,YAAY,CAAC;AASd,CAAA,EAAA,kBAAkB,CAS9B,CAAA;4FATY,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,gBAAgB,EAEjB,OAAA,EAAA,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,CAAC,EACzE,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4+BAAA,EAAA,CAAA;;;AErBvC;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-error-page.mjs","sources":["../../../../libs/angular/components/error-page/src/lib/error-page.config.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.html","../../../../libs/angular/components/error-page/src/odx-angular-components-error-page.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { ConfigDependencies, ConfigProvider, createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Defines the configuration for an error page used within an application. This can include custom icons,\n * titles, descriptions, actions, and an optional error message.\n * @property {string} [icon] - The name of the icon to display on the error page.\n * @property {string} [iconSet] - The icon set that the icon belongs to.\n * @property {DynamicContent} title - The title content for the error page, which can be a string or a dynamic template.\n * @property {DynamicContent} [description] - Optional description content for the error page.\n * @property { { label: DynamicContent; action: () => void; }[] } actions - A list of actions that can be taken from the error page, each with a label and an action function.\n * @property {DynamicContent} [errorMessage] - Optional additional error message content.\n */\nexport interface ErrorPageConfig {\n icon?: string;\n iconSet?: string;\n title: DynamicContent;\n description?: DynamicContent;\n actions: {\n label: DynamicContent;\n action: () => void;\n }[];\n\n errorMessage?: DynamicContent;\n}\n\nexport const { ErrorPageConfig, ErrorPageDefaultConfig, injectErrorPageConfig, provideErrorPageConfig } = createConfigTokens(\n 'ErrorPage',\n '@odx/components/error-page',\n {\n title: '',\n actions: [],\n } as ErrorPageConfig,\n);\n\n/**\n * Configures and provides the necessary providers for an error page, using a configuration object that specifies\n * icons, titles, descriptions, and actions.\n *\n * @param {ConfigProvider<Partial<ErrorPageConfig>, D>} config - A configuration object or provider function that supplies an `ErrorPageConfig`.\n * @returns {EnvironmentProviders} Returns a configuration that can be used to register the error page providers.\n *\n */\nexport function configureErrorPage<D extends ConfigDependencies>(config: ConfigProvider<Partial<ErrorPageConfig>, D>): EnvironmentProviders {\n return makeEnvironmentProviders([provideErrorPageConfig(config)]);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { injectErrorPageConfig } from './error-page.config';\n\n/**\n * Represents the ErrorPageComponent class.\n * This component is responsible for displaying an error page.\n */\n@CSSComponent('error-page')\n@Component({\n standalone: true,\n selector: 'odx-error-page',\n templateUrl: './error-page.component.html',\n imports: [LogoDirective, IconComponent, CoreModule, ButtonComponent, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ErrorPageComponent {\n public readonly element = injectElement();\n\n /**\n * Represents the options for the error page component.\n *\n * @type {ErrorPageConfig}\n */\n public options = injectErrorPageConfig();\n}\n","<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AA2Ba,MAAA,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,CAC1H,WAAW,EACX,4BAA4B,EAC5B;AACE,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,EAAE;AACO,CAAA;AAGtB;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAA+B,MAAmD,EAAA;IAClH,OAAO,wBAAwB,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACnE;;ACpCA;;;AAGG;AAUU,IAAA,kBAAkB,GAAxB,MAAM,kBAAkB,CAAA;AAAxB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE;AAEzC;;;;AAIG;QACI,IAAO,CAAA,OAAA,GAAG,qBAAqB,EAAE;AACzC;+GATY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,4+BA6BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAI9E,kBAAkB,GAAA,UAAA,CAAA;IAT9B,YAAY,CAAC,YAAY;AASb,CAAA,EAAA,kBAAkB,CAS9B;4FATY,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,gBAAgB,EAEjB,OAAA,EAAA,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,CAAC,EACzE,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4+BAAA,EAAA;;;AErBvC;;AAEG;;;;"}
@@ -111,8 +111,8 @@ let FooterComponent = class FooterComponent {
111
111
  */
112
112
  this.variant = FooterVariant.LIGHT;
113
113
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FooterComponent, isStandalone: true, selector: "odx-footer", inputs: { description: "description", variant: "variant" }, providers: [provideTranslations(footerTranslations)], ngImport: i0, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n", dependencies: [{ kind: "directive", type: LinkDirective, selector: "a[odxLink]" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FooterComponent, isStandalone: true, selector: "odx-footer", inputs: { description: "description", variant: "variant" }, providers: [provideTranslations(footerTranslations)], ngImport: i0, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n", dependencies: [{ kind: "directive", type: LinkDirective, selector: "a[odxLink]" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
116
116
  };
117
117
  __decorate([
118
118
  CSSModifier(),
@@ -121,7 +121,7 @@ __decorate([
121
121
  FooterComponent = __decorate([
122
122
  CSSComponent('footer')
123
123
  ], FooterComponent);
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FooterComponent, decorators: [{
125
125
  type: Component,
126
126
  args: [{ standalone: true, selector: 'odx-footer', imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe], providers: [provideTranslations(footerTranslations)], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n" }]
127
127
  }], propDecorators: { description: [{
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-footer.mjs","sources":["../../../../libs/angular/components/footer/src/lib/footer.i18n.ts","../../../../libs/angular/components/footer/src/lib/footer.config.ts","../../../../libs/angular/components/footer/src/lib/helpers/create-footer-links.ts","../../../../libs/angular/components/footer/src/lib/models/footer-variant.ts","../../../../libs/angular/components/footer/src/lib/footer.component.ts","../../../../libs/angular/components/footer/src/lib/footer.component.html","../../../../libs/angular/components/footer/src/odx-angular-components-footer.ts"],"sourcesContent":["import { TranslationObject } from '@odx/angular/internal/translate';\n\nexport default {\n en: {\n legalNotice: 'Legal notice',\n providerIdentification: 'Provider identification',\n dataProtection: 'Data protection',\n openSource: 'Open-source licenses',\n termsAndConditions: 'Terms and Conditions',\n status: 'Status',\n },\n de: {\n legalNotice: 'Rechtliche Hinweise',\n providerIdentification: 'Impressum',\n dataProtection: 'Datenschutz',\n openSource: 'Open-Source-Lizenzen',\n termsAndConditions: 'Allgemeine Geschäftsbedingungen',\n status: 'Status',\n },\n} as TranslationObject;\n","import { MainMenuLinksConfig } from '@odx/angular/components/main-menu';\nimport { buildWebsiteUrl, createConfigTokens } from '@odx/angular/utils';\nimport { Observable } from 'rxjs';\nimport { FooterLink } from './models';\n\nexport interface FooterLinksConfig extends MainMenuLinksConfig {\n dynamicLinks?: Observable<FooterLink[]>;\n}\n\n/**\n * Creates configuration tokens for the footer links, providing a structured way to inject and manage footer link configurations.\n * This utility function encapsulates the configuration for footer links, including defaults and the ability to inject custom configurations.\n *\n * @returns {Object} An object containing configuration tokens for footer links:\n * - `FooterLinksConfig`: A token for injecting the footer links configuration.\n * - `FooterLinksDefaultConfig`: A token representing the default configuration values.\n * - `injectFooterLinksConfig`: A function to inject the current footer links configuration.\n * - `provideFooterLinksConfig`: A function to provide a custom configuration for footer links.\n *\n * @example\n * ```ts\n * // In your module or component\n * @NgModule({\n * providers: [\n * provideFooterLinksConfig({\n * legalNoticeUrl: 'https://www.custom-url/legal-notice',\n * providerIdentificationUrl: 'https://www.custom-url/provider-identification',\n * dynamicLinks: myDynamicLinksObservable\n * })\n * ]\n * })\n * export class MyModule {}\n * ```\n */\nexport const { FooterLinksConfig, FooterLinksDefaultConfig, injectFooterLinksConfig, provideFooterLinksConfig } = createConfigTokens(\n 'FooterLinks',\n '@odx/angular/components/footer',\n {\n providerIdentificationUrl: buildWebsiteUrl('provideridentification'),\n legalNoticeUrl: buildWebsiteUrl('legalnotice'),\n } as FooterLinksConfig,\n);\n","import { Observable, combineLatest, map, of } from 'rxjs';\nimport { injectFooterLinksConfig } from '../footer.config';\nimport { FooterLink } from '../models';\n\n/**\n * Creates an observable stream of footer links, combining statically configured links with dynamically provided ones.\n * It leverages the footer links configuration injected from `injectFooterLinksConfig` and optionally includes\n * dynamic links if provided. All links are filtered to include only those with a non-empty URL.\n *\n * @returns {Observable<FooterLink[]>} - An Observable that emits an array of `FooterLink` objects. Each `FooterLink`\n * contains a `name` and a `url`. The observable emits updates if the set of dynamic links changes.\n */\n\nexport function createFooterLinks$(): Observable<FooterLink[]> {\n const { legalNoticeUrl, providerIdentificationUrl, dataProtectionUrl, openSourceUrl, termsAndConditionsUrl, statusUrl, dynamicLinks } =\n injectFooterLinksConfig();\n const dynamicLinks$ = dynamicLinks ?? of([]);\n const links = [\n { name: 'status', url: statusUrl },\n { name: 'termsAndConditions', url: termsAndConditionsUrl },\n { name: 'providerIdentification', url: providerIdentificationUrl },\n { name: 'openSource', url: openSourceUrl },\n { name: 'dataProtection', url: dataProtectionUrl },\n { name: 'legalNotice', url: legalNoticeUrl },\n ];\n\n return combineLatest([dynamicLinks$, of(links)]).pipe(map((links) => links.flat().filter((link): link is FooterLink => !!link.url)));\n}\n","export type FooterVariant = (typeof FooterVariant)[keyof typeof FooterVariant];\n\nexport const FooterVariant = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LinkDirective } from '@odx/angular/components/link';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';\nimport { injectElement } from '@odx/angular/utils';\nimport footerTranslations from './footer.i18n';\nimport { createFooterLinks$ } from './helpers';\nimport { FooterVariant } from './models';\n\n/**\n * Represents the footer component of an application, dynamically generating links and supporting various styles.\n * This component integrates dynamic and static content for the footer, including a logo, navigational links, and a customizable description.\n */\n\n@CSSComponent('footer')\n@Component({\n standalone: true,\n selector: 'odx-footer',\n imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe],\n templateUrl: './footer.component.html',\n providers: [provideTranslations(footerTranslations)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n protected readonly footerLinks$ = createFooterLinks$();\n public readonly element = injectElement();\n\n /**\n * The description of the footer component.\n * It can be of type DynamicTextContent or null.\n *\n * @type {DynamicTextContent}\n * @default null\n */\n @Input()\n public description?: DynamicTextContent | null = null;\n\n /**\n * The variant of the footer component.\n *\n * @type {FooterVariant}\n * @default FooterVariant.LIGHT\n */\n @CSSModifier()\n @Input()\n public variant: FooterVariant = FooterVariant.LIGHT;\n}\n","<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-footer.mjs","sources":["../../../../libs/angular/components/footer/src/lib/footer.i18n.ts","../../../../libs/angular/components/footer/src/lib/footer.config.ts","../../../../libs/angular/components/footer/src/lib/helpers/create-footer-links.ts","../../../../libs/angular/components/footer/src/lib/models/footer-variant.ts","../../../../libs/angular/components/footer/src/lib/footer.component.ts","../../../../libs/angular/components/footer/src/lib/footer.component.html","../../../../libs/angular/components/footer/src/odx-angular-components-footer.ts"],"sourcesContent":["import { TranslationObject } from '@odx/angular/internal/translate';\n\nexport default {\n en: {\n legalNotice: 'Legal notice',\n providerIdentification: 'Provider identification',\n dataProtection: 'Data protection',\n openSource: 'Open-source licenses',\n termsAndConditions: 'Terms and Conditions',\n status: 'Status',\n },\n de: {\n legalNotice: 'Rechtliche Hinweise',\n providerIdentification: 'Impressum',\n dataProtection: 'Datenschutz',\n openSource: 'Open-Source-Lizenzen',\n termsAndConditions: 'Allgemeine Geschäftsbedingungen',\n status: 'Status',\n },\n} as TranslationObject;\n","import { MainMenuLinksConfig } from '@odx/angular/components/main-menu';\nimport { buildWebsiteUrl, createConfigTokens } from '@odx/angular/utils';\nimport { Observable } from 'rxjs';\nimport { FooterLink } from './models';\n\nexport interface FooterLinksConfig extends MainMenuLinksConfig {\n dynamicLinks?: Observable<FooterLink[]>;\n}\n\n/**\n * Creates configuration tokens for the footer links, providing a structured way to inject and manage footer link configurations.\n * This utility function encapsulates the configuration for footer links, including defaults and the ability to inject custom configurations.\n *\n * @returns {Object} An object containing configuration tokens for footer links:\n * - `FooterLinksConfig`: A token for injecting the footer links configuration.\n * - `FooterLinksDefaultConfig`: A token representing the default configuration values.\n * - `injectFooterLinksConfig`: A function to inject the current footer links configuration.\n * - `provideFooterLinksConfig`: A function to provide a custom configuration for footer links.\n *\n * @example\n * ```ts\n * // In your module or component\n * @NgModule({\n * providers: [\n * provideFooterLinksConfig({\n * legalNoticeUrl: 'https://www.custom-url/legal-notice',\n * providerIdentificationUrl: 'https://www.custom-url/provider-identification',\n * dynamicLinks: myDynamicLinksObservable\n * })\n * ]\n * })\n * export class MyModule {}\n * ```\n */\nexport const { FooterLinksConfig, FooterLinksDefaultConfig, injectFooterLinksConfig, provideFooterLinksConfig } = createConfigTokens(\n 'FooterLinks',\n '@odx/angular/components/footer',\n {\n providerIdentificationUrl: buildWebsiteUrl('provideridentification'),\n legalNoticeUrl: buildWebsiteUrl('legalnotice'),\n } as FooterLinksConfig,\n);\n","import { Observable, combineLatest, map, of } from 'rxjs';\nimport { injectFooterLinksConfig } from '../footer.config';\nimport { FooterLink } from '../models';\n\n/**\n * Creates an observable stream of footer links, combining statically configured links with dynamically provided ones.\n * It leverages the footer links configuration injected from `injectFooterLinksConfig` and optionally includes\n * dynamic links if provided. All links are filtered to include only those with a non-empty URL.\n *\n * @returns {Observable<FooterLink[]>} - An Observable that emits an array of `FooterLink` objects. Each `FooterLink`\n * contains a `name` and a `url`. The observable emits updates if the set of dynamic links changes.\n */\n\nexport function createFooterLinks$(): Observable<FooterLink[]> {\n const { legalNoticeUrl, providerIdentificationUrl, dataProtectionUrl, openSourceUrl, termsAndConditionsUrl, statusUrl, dynamicLinks } =\n injectFooterLinksConfig();\n const dynamicLinks$ = dynamicLinks ?? of([]);\n const links = [\n { name: 'status', url: statusUrl },\n { name: 'termsAndConditions', url: termsAndConditionsUrl },\n { name: 'providerIdentification', url: providerIdentificationUrl },\n { name: 'openSource', url: openSourceUrl },\n { name: 'dataProtection', url: dataProtectionUrl },\n { name: 'legalNotice', url: legalNoticeUrl },\n ];\n\n return combineLatest([dynamicLinks$, of(links)]).pipe(map((links) => links.flat().filter((link): link is FooterLink => !!link.url)));\n}\n","export type FooterVariant = (typeof FooterVariant)[keyof typeof FooterVariant];\n\nexport const FooterVariant = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LinkDirective } from '@odx/angular/components/link';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';\nimport { injectElement } from '@odx/angular/utils';\nimport footerTranslations from './footer.i18n';\nimport { createFooterLinks$ } from './helpers';\nimport { FooterVariant } from './models';\n\n/**\n * Represents the footer component of an application, dynamically generating links and supporting various styles.\n * This component integrates dynamic and static content for the footer, including a logo, navigational links, and a customizable description.\n */\n\n@CSSComponent('footer')\n@Component({\n standalone: true,\n selector: 'odx-footer',\n imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe],\n templateUrl: './footer.component.html',\n providers: [provideTranslations(footerTranslations)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n protected readonly footerLinks$ = createFooterLinks$();\n public readonly element = injectElement();\n\n /**\n * The description of the footer component.\n * It can be of type DynamicTextContent or null.\n *\n * @type {DynamicTextContent}\n * @default null\n */\n @Input()\n public description?: DynamicTextContent | null = null;\n\n /**\n * The variant of the footer component.\n *\n * @type {FooterVariant}\n * @default FooterVariant.LIGHT\n */\n @CSSModifier()\n @Input()\n public variant: FooterVariant = FooterVariant.LIGHT;\n}\n","<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,yBAAe;AACb,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,sBAAsB,EAAE,yBAAyB;AACjD,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,UAAU,EAAE,sBAAsB;AAClC,QAAA,kBAAkB,EAAE,sBAAsB;AAC1C,QAAA,MAAM,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,sBAAsB,EAAE,WAAW;AACnC,QAAA,cAAc,EAAE,aAAa;AAC7B,QAAA,UAAU,EAAE,sBAAsB;AAClC,QAAA,kBAAkB,EAAE,iCAAiC;AACrD,QAAA,MAAM,EAAE,QAAQ;AACjB,KAAA;CACmB;;ACVtB;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACU,MAAA,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,GAAG,kBAAkB,CAClI,aAAa,EACb,gCAAgC,EAChC;AACE,IAAA,yBAAyB,EAAE,eAAe,CAAC,wBAAwB,CAAC;AACpE,IAAA,cAAc,EAAE,eAAe,CAAC,aAAa,CAAC;AAC1B,CAAA;;ACpCxB;;;;;;;AAOG;SAEa,kBAAkB,GAAA;AAChC,IAAA,MAAM,EAAE,cAAc,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,GACnI,uBAAuB,EAAE;IAC3B,MAAM,aAAa,GAAG,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;AAC5C,IAAA,MAAM,KAAK,GAAG;AACZ,QAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;AAClC,QAAA,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,qBAAqB,EAAE;AAC1D,QAAA,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,yBAAyB,EAAE;AAClE,QAAA,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE;AAC1C,QAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,iBAAiB,EAAE;AAClD,QAAA,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE;KAC7C;AAED,IAAA,OAAO,aAAa,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtI;;ACzBa,MAAA,aAAa,GAAG;AAC3B,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,MAAM;;;ACQd;;;AAGG;AAYU,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;QACc,IAAY,CAAA,YAAA,GAAG,kBAAkB,EAAE;QACtC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE;AAEzC;;;;;;AAMG;QAEI,IAAW,CAAA,WAAA,GAA+B,IAAI;AAErD;;;;;AAKG;AAGI,QAAA,IAAA,CAAA,OAAO,GAAkB,aAAa,CAAC,KAAK;AACpD;+GAvBY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,qHAJf,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBtD,6gBAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGY,aAAa,EAAiB,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EAAE,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+EAAE,aAAa,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AA4BlF,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEsC,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAtBzC,eAAe,GAAA,UAAA,CAAA;IAV3B,YAAY,CAAC,QAAQ;AAUT,CAAA,EAAA,eAAe,CAuB3B;4FAvBY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,YAAY,EACb,OAAA,EAAA,CAAC,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,CAAC,EAE/E,SAAA,EAAA,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,EAAA,eAAA,EACnC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6gBAAA,EAAA;8BAc9B,WAAW,EAAA,CAAA;sBADjB;gBAWM,OAAO,EAAA,CAAA;sBADb;;;AEhDH;;AAEG;;;;"}
@@ -113,10 +113,10 @@ class FormFieldService extends Controller {
113
113
  getControlDisabledState({ control }) {
114
114
  return control.statusChanges.pipe(startWith(control.status), map((status) => status === 'DISABLED'), distinctUntilChanged());
115
115
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
117
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldService }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldService }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldService, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldService, decorators: [{
120
120
  type: Injectable
121
121
  }] });
122
122
 
@@ -202,10 +202,10 @@ class FormFieldErrorService {
202
202
  const getMessage = this.config.errors[key] ?? DEFAULT_ERROR_RESOLVER;
203
203
  return { key, message: getMessage(context) };
204
204
  }
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
206
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldErrorService }); }
205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
206
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorService }); }
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldErrorService, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorService, decorators: [{
209
209
  type: Injectable
210
210
  }] });
211
211
 
@@ -232,13 +232,13 @@ let FormDirective = class FormDirective {
232
232
  */
233
233
  this.reset$ = fromEvent(this.element.nativeElement, 'reset').pipe(takeUntilDestroyed(), share());
234
234
  }
235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
236
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FormDirective, isStandalone: true, selector: "form[odxForm]", exportAs: ["odxForm"], ngImport: i0 }); }
235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
236
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormDirective, isStandalone: true, selector: "form[odxForm]", exportAs: ["odxForm"], ngImport: i0 }); }
237
237
  };
238
238
  FormDirective = __decorate([
239
239
  CSSComponent('form')
240
240
  ], FormDirective);
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDirective, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormDirective, decorators: [{
242
242
  type: Directive,
243
243
  args: [{
244
244
  standalone: true,
@@ -299,14 +299,14 @@ let FormFieldControlDirective = class FormFieldControlDirective {
299
299
  this.forceValidation$$.next();
300
300
  };
301
301
  }
302
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
303
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FormFieldControlDirective, isStandalone: true, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"], ngImport: i0 }); }
302
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
303
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldControlDirective, isStandalone: true, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"], ngImport: i0 }); }
304
304
  };
305
305
  FormFieldControlDirective = __decorate([
306
306
  CSSComponent('form-field-control'),
307
307
  __metadata("design:paramtypes", [])
308
308
  ], FormFieldControlDirective);
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldControlDirective, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldControlDirective, decorators: [{
310
310
  type: Directive,
311
311
  args: [{
312
312
  standalone: true,
@@ -326,10 +326,10 @@ class FormFieldErrorDirective {
326
326
  ngOnInit() {
327
327
  this.formFieldErrorService.registerCustomError(this.key, this.template);
328
328
  }
329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
330
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FormFieldErrorDirective, isStandalone: true, selector: "[odxFormFieldError]", inputs: { key: ["odxFormFieldError", "key"] }, ngImport: i0 }); }
329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
330
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldErrorDirective, isStandalone: true, selector: "[odxFormFieldError]", inputs: { key: ["odxFormFieldError", "key"] }, ngImport: i0 }); }
331
331
  }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
333
333
  type: Directive,
334
334
  args: [{
335
335
  standalone: true,
@@ -348,10 +348,10 @@ class FormFieldHintDirective {
348
348
  this.formFieldService = inject(FormFieldService, { skipSelf: true });
349
349
  reactiveAttributeBinding(inject(FormFieldService).controlHintId$, 'id');
350
350
  }
351
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
352
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FormFieldHintDirective, isStandalone: true, selector: "odx-form-field-hint", host: { properties: { "class.odx-form-field__hint": "true" } }, ngImport: i0 }); }
351
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
352
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldHintDirective, isStandalone: true, selector: "odx-form-field-hint", host: { properties: { "class.odx-form-field__hint": "true" } }, ngImport: i0 }); }
353
353
  }
354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldHintDirective, decorators: [{
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldHintDirective, decorators: [{
355
355
  type: Directive,
356
356
  args: [{
357
357
  standalone: true,
@@ -369,13 +369,13 @@ let FormFieldLabelDirective = class FormFieldLabelDirective {
369
369
  constructor() {
370
370
  this.element = injectElement();
371
371
  }
372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
373
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: FormFieldLabelDirective, isStandalone: true, selector: "odx-form-field-label", ngImport: i0 }); }
372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
373
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldLabelDirective, isStandalone: true, selector: "odx-form-field-label", ngImport: i0 }); }
374
374
  };
375
375
  FormFieldLabelDirective = __decorate([
376
376
  CSSComponent('form-field-label')
377
377
  ], FormFieldLabelDirective);
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
379
379
  type: Directive,
380
380
  args: [{
381
381
  standalone: true,
@@ -402,10 +402,10 @@ class FormFieldInfoComponent {
402
402
  */
403
403
  this.error = null;
404
404
  }
405
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
406
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FormFieldInfoComponent, isStandalone: true, selector: "odx-form-field-info", inputs: { error: "error" }, host: { properties: { "class.odx-form-field__info": "true" } }, ngImport: i0, template: "@if (error) {\n <span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\" />\n </span>\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], encapsulation: i0.ViewEncapsulation.None }); }
405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
406
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormFieldInfoComponent, isStandalone: true, selector: "odx-form-field-info", inputs: { error: "error" }, host: { properties: { "class.odx-form-field__info": "true" } }, ngImport: i0, template: "@if (error) {\n <span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\" />\n </span>\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], encapsulation: i0.ViewEncapsulation.None }); }
407
407
  }
408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldInfoComponent, decorators: [{
408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldInfoComponent, decorators: [{
409
409
  type: Component,
410
410
  args: [{ standalone: true, selector: 'odx-form-field-info', encapsulation: ViewEncapsulation.None, imports: [CoreModule, DynamicViewDirective, FormFieldHintDirective], host: {
411
411
  '[class.odx-form-field__info]': 'true',
@@ -437,13 +437,13 @@ let FormGroupComponent = class FormGroupComponent {
437
437
  ngAfterContentInit() {
438
438
  this.error$ = this.formFieldErrorServices.changes.pipe(startWith(this.formFieldErrorServices), switchMap((services) => combineLatest(services.map((service) => service.error$))), map((errors) => errors.find((error) => error !== null) ?? null));
439
439
  }
440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
441
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormGroupComponent, isStandalone: true, selector: "odx-form-group", providers: [FormFieldService], queries: [{ propertyName: "formFieldErrorServices", predicate: FormFieldErrorService }], ngImport: i0, template: "<div class=\"odx-form-group__content\" odxLayout=\"grid\">\n <ng-content select=\"odx-form-field\" />\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n</odx-form-field-info>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
440
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
441
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FormGroupComponent, isStandalone: true, selector: "odx-form-group", providers: [FormFieldService], queries: [{ propertyName: "formFieldErrorServices", predicate: FormFieldErrorService }], ngImport: i0, template: "<div class=\"odx-form-group__content\" odxLayout=\"grid\">\n <ng-content select=\"odx-form-field\" />\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n</odx-form-field-info>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
442
442
  };
443
443
  FormGroupComponent = __decorate([
444
444
  CSSComponent('form-group')
445
445
  ], FormGroupComponent);
446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormGroupComponent, decorators: [{
446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormGroupComponent, decorators: [{
447
447
  type: Component,
448
448
  args: [{ standalone: true, selector: 'odx-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CoreModule, FormFieldInfoComponent], providers: [FormFieldService], template: "<div class=\"odx-form-group__content\" odxLayout=\"grid\">\n <ng-content select=\"odx-form-field\" />\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n</odx-form-field-info>\n" }]
449
449
  }], propDecorators: { formFieldErrorServices: [{
@@ -507,8 +507,8 @@ let FormFieldComponent = class FormFieldComponent {
507
507
  reactiveClassBinding(this.formFieldErrorService.hasError$, 'has-error');
508
508
  reactiveClassBinding(hasWarning$, 'has-warning');
509
509
  }
510
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
511
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FormFieldComponent, isStandalone: true, selector: "odx-form-field", inputs: { label: "label", hasWarning: ["hasWarning", "hasWarning", booleanAttribute], variant: "variant" }, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], queries: [{ propertyName: "labelDirective", first: true, predicate: FormFieldLabelDirective, descendants: true }], viewQueries: [{ propertyName: "controlElement", first: true, predicate: ["control"], descendants: true }], ngImport: i0, template: "@if (hasLabel) {\n <label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\">\n @if (label) {\n <ng-container>\n <odx-form-field-label>{{ label }}</odx-form-field-label>\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n </ng-container>\n } @else {\n <ng-content select=\"odx-form-field-label\" />\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n }\n </label>\n}\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\" #control>\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\" />\n </div>\n <ng-content />\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\" />\n </div>\n </div>\n @if (!formGroup) {\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n </odx-form-field-info>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }, { kind: "directive", type: FormFieldLabelDirective, selector: "odx-form-field-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormFieldComponent, isStandalone: true, selector: "odx-form-field", inputs: { label: "label", hasWarning: ["hasWarning", "hasWarning", booleanAttribute], variant: "variant" }, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], queries: [{ propertyName: "labelDirective", first: true, predicate: FormFieldLabelDirective, descendants: true }], viewQueries: [{ propertyName: "controlElement", first: true, predicate: ["control"], descendants: true }], ngImport: i0, template: "@if (hasLabel) {\n <label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\">\n @if (label) {\n <ng-container>\n <odx-form-field-label>{{ label }}</odx-form-field-label>\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n </ng-container>\n } @else {\n <ng-content select=\"odx-form-field-label\" />\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n }\n </label>\n}\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\" #control>\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\" />\n </div>\n <ng-content />\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\" />\n </div>\n </div>\n @if (!formGroup) {\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n </odx-form-field-info>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }, { kind: "directive", type: FormFieldLabelDirective, selector: "odx-form-field-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
512
512
  };
513
513
  __decorate([
514
514
  CSSModifier(),
@@ -518,7 +518,7 @@ FormFieldComponent = __decorate([
518
518
  CSSComponent('form-field'),
519
519
  __metadata("design:paramtypes", [])
520
520
  ], FormFieldComponent);
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldComponent, decorators: [{
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
522
522
  type: Component,
523
523
  args: [{ standalone: true, selector: 'odx-form-field', imports: [CoreModule, FormFieldInfoComponent, FormFieldLabelDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], template: "@if (hasLabel) {\n <label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\">\n @if (label) {\n <ng-container>\n <odx-form-field-label>{{ label }}</odx-form-field-label>\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n </ng-container>\n } @else {\n <ng-content select=\"odx-form-field-label\" />\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n }\n </label>\n}\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\" #control>\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\" />\n </div>\n <ng-content />\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\" />\n </div>\n </div>\n @if (!formGroup) {\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n </odx-form-field-info>\n }\n</div>\n" }]
524
524
  }], ctorParameters: () => [], propDecorators: { labelDirective: [{
@@ -546,8 +546,8 @@ const modules = [
546
546
  FormFieldLabelDirective,
547
547
  ];
548
548
  class FormFieldModule {
549
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
550
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
549
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
550
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
551
551
  FormGroupComponent,
552
552
  FormDirective,
553
553
  FormFieldControlDirective,
@@ -560,10 +560,10 @@ class FormFieldModule {
560
560
  FormFieldErrorDirective,
561
561
  FormFieldHintDirective,
562
562
  FormFieldLabelDirective] }); }
563
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
563
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
564
564
  FormGroupComponent, CoreModule] }); }
565
565
  }
566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFieldModule, decorators: [{
566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, decorators: [{
567
567
  type: NgModule,
568
568
  args: [{
569
569
  imports: modules,