@odx/angular 9.2.2 → 10.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 (371) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
  3. package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
  4. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +4 -4
  5. package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
  6. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +6 -5
  7. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  8. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  9. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +6 -5
  10. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +5 -5
  11. package/esm2022/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +1 -1
  12. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +5 -5
  13. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +6 -5
  14. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  15. package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +1 -1
  16. package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  17. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +5 -5
  18. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
  19. package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  20. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -4
  21. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  22. package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +1 -1
  23. package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +1 -1
  24. package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +1 -1
  25. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +3 -3
  26. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +3 -3
  27. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +4 -4
  28. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +4 -4
  29. package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
  30. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
  31. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +5 -5
  32. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +5 -5
  33. package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  34. package/esm2022/components/accordion/lib/accordion.component.mjs +6 -5
  35. package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
  36. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +6 -5
  37. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  38. package/esm2022/components/action-group/action-group.component.mjs +6 -5
  39. package/esm2022/components/area-header/area-header.component.mjs +6 -5
  40. package/esm2022/components/area-header/area-header.module.mjs +4 -4
  41. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
  42. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  43. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +8 -9
  44. package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  45. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +6 -5
  46. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +6 -5
  47. package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
  48. package/esm2022/components/avatar/lib/avatar.component.mjs +6 -5
  49. package/esm2022/components/badge/lib/badge.component.mjs +6 -5
  50. package/esm2022/components/badge/lib/badge.directive.mjs +6 -5
  51. package/esm2022/components/bar/lib/bar.component.mjs +6 -5
  52. package/esm2022/components/bar/lib/bar.module.mjs +4 -4
  53. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +6 -5
  54. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +6 -5
  55. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +6 -5
  56. package/esm2022/components/button/lib/button.component.mjs +6 -5
  57. package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
  58. package/esm2022/components/button-group/lib/button-group.component.mjs +6 -5
  59. package/esm2022/components/calendar/lib/calendar.component.mjs +7 -6
  60. package/esm2022/components/calendar/lib/calendar.service.mjs +4 -4
  61. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +6 -5
  62. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +6 -5
  63. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +6 -5
  64. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +6 -5
  65. package/esm2022/components/calendar/lib/daterange.service.mjs +4 -4
  66. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +6 -5
  67. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
  68. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +4 -4
  69. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +4 -4
  70. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +4 -4
  71. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +4 -4
  72. package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +1 -1
  73. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +1 -1
  74. package/esm2022/components/calendar/lib/utils/parse-date.mjs +1 -1
  75. package/esm2022/components/card/lib/card.component.mjs +7 -6
  76. package/esm2022/components/card/lib/card.module.mjs +4 -4
  77. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
  78. package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +6 -5
  79. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
  80. package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
  81. package/esm2022/components/checkbox/lib/checkbox.component.mjs +6 -5
  82. package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
  83. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
  84. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +6 -5
  85. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +6 -5
  86. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +6 -5
  87. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +6 -5
  88. package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
  89. package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
  90. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
  91. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
  92. package/esm2022/components/datepicker/lib/datepicker.component.mjs +7 -6
  93. package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
  94. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +6 -5
  95. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +7 -6
  96. package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
  97. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +6 -5
  98. package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
  99. package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
  100. package/esm2022/components/dropdown/lib/dropdown.component.mjs +6 -5
  101. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +6 -5
  102. package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
  103. package/esm2022/components/error-page/lib/error-page.component.mjs +6 -5
  104. package/esm2022/components/footer/lib/footer.component.mjs +6 -5
  105. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  106. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +6 -5
  107. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +7 -6
  108. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  109. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  110. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +6 -5
  111. package/esm2022/components/form-field/lib/directives/form.directive.mjs +6 -5
  112. package/esm2022/components/form-field/lib/form-field.component.mjs +7 -6
  113. package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
  114. package/esm2022/components/form-field/lib/form-field.service.mjs +4 -4
  115. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +4 -4
  116. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  117. package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
  118. package/esm2022/components/header/lib/header.component.mjs +6 -5
  119. package/esm2022/components/header/lib/header.module.mjs +4 -4
  120. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +7 -7
  121. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +6 -5
  122. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
  123. package/esm2022/components/icon/lib/icon.component.mjs +6 -5
  124. package/esm2022/components/inline-message/lib/inline-message.component.mjs +6 -5
  125. package/esm2022/components/link/link.directive.mjs +6 -5
  126. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +6 -5
  127. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +6 -5
  128. package/esm2022/components/list/lib/list.component.mjs +6 -5
  129. package/esm2022/components/list/lib/list.module.mjs +4 -4
  130. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +6 -5
  131. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +4 -4
  132. package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  133. package/esm2022/components/logo/logo.directive.mjs +6 -5
  134. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +6 -5
  135. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
  136. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +6 -5
  137. package/esm2022/components/main-menu/lib/main-menu.component.mjs +6 -5
  138. package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
  139. package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
  140. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +6 -5
  141. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +6 -5
  142. package/esm2022/components/menu/lib/menu.component.mjs +6 -5
  143. package/esm2022/components/menu/lib/menu.directive.mjs +6 -5
  144. package/esm2022/components/menu/lib/menu.module.mjs +4 -4
  145. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  146. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +6 -5
  147. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +7 -6
  148. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +7 -6
  149. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +4 -4
  150. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +6 -5
  151. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  152. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
  153. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
  154. package/esm2022/components/modal/lib/modal.component.mjs +7 -6
  155. package/esm2022/components/modal/lib/modal.directive.mjs +4 -4
  156. package/esm2022/components/modal/lib/modal.module.mjs +4 -4
  157. package/esm2022/components/modal/lib/modal.service.mjs +5 -5
  158. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +6 -5
  159. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +6 -5
  160. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +6 -5
  161. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
  162. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +2 -3
  163. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +1 -1
  164. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +1 -1
  165. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +1 -1
  166. package/esm2022/components/notification/lib/notification.service.mjs +4 -4
  167. package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
  168. package/esm2022/components/paginator/lib/paginator.component.mjs +6 -5
  169. package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
  170. package/esm2022/components/progress/lib/progress.component.mjs +6 -5
  171. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +6 -5
  172. package/esm2022/components/radio-group/lib/radio-group.component.mjs +8 -9
  173. package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
  174. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +6 -5
  175. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +6 -5
  176. package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  177. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +6 -5
  178. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +6 -5
  179. package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +6 -5
  180. package/esm2022/components/rich-list/lib/rich-list.component.mjs +6 -5
  181. package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
  182. package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
  183. package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
  184. package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
  185. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +7 -6
  186. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +6 -5
  187. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  188. package/esm2022/components/select/lib/select.component.mjs +8 -9
  189. package/esm2022/components/select/lib/select.module.mjs +4 -4
  190. package/esm2022/components/slider/lib/slider.directive.mjs +6 -5
  191. package/esm2022/components/spinbox/lib/spinbox.component.mjs +7 -6
  192. package/esm2022/components/switch/lib/switch.component.mjs +6 -5
  193. package/esm2022/components/switch/lib/switch.module.mjs +4 -4
  194. package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
  195. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +6 -5
  196. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +7 -8
  197. package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  198. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
  199. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +4 -4
  200. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +6 -5
  201. package/esm2022/components/table/lib/directives/table-row.directive.mjs +6 -5
  202. package/esm2022/components/table/lib/table.component.mjs +7 -8
  203. package/esm2022/components/table/lib/table.module.mjs +4 -4
  204. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +7 -6
  205. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +6 -5
  206. package/esm2022/components/timepicker/lib/timepicker.component.mjs +9 -10
  207. package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
  208. package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
  209. package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +1 -1
  210. package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +1 -1
  211. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +6 -5
  212. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +6 -5
  213. package/esm2022/components/toast/lib/toast.module.mjs +4 -4
  214. package/esm2022/components/toast/lib/toast.service.mjs +3 -3
  215. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +6 -5
  216. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +8 -9
  217. package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  218. package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +1 -1
  219. package/esm2022/components/tooltip/lib/tooltip.component.mjs +6 -5
  220. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +7 -6
  221. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +6 -5
  222. package/esm2022/components/wizard/lib/wizard.component.mjs +6 -5
  223. package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
  224. package/esm2022/internal/lib/decorators/css-modifier.mjs +1 -1
  225. package/esm2022/internal/lib/helpers/camel-to-kebab-case.mjs +1 -1
  226. package/esm2022/internal/lib/helpers/get-css-variables.mjs +1 -1
  227. package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
  228. package/esm2022/internal/translate/lib/translate.service.mjs +1 -1
  229. package/esm2022/lib/controllers/controller.mjs +3 -3
  230. package/esm2022/lib/controllers/disabled.controller.mjs +4 -4
  231. package/esm2022/lib/controllers/readonly.controller.mjs +5 -5
  232. package/esm2022/lib/core.module.mjs +4 -4
  233. package/esm2022/lib/directives/click-outside.directive.mjs +4 -4
  234. package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
  235. package/esm2022/lib/directives/with-disabled-state.directive.mjs +4 -4
  236. package/esm2022/lib/directives/with-tabindex.directive.mjs +4 -4
  237. package/esm2022/lib/services/window-ref.mjs +4 -4
  238. package/esm2022/localization/lib/features/with-http-language-header.mjs +1 -1
  239. package/esm2022/localization/lib/features/with-http-language-query-param.mjs +1 -1
  240. package/esm2022/localization/lib/localization.service.mjs +4 -4
  241. package/esm2022/rxjs/lib/from-element-resize.mjs +1 -1
  242. package/esm2022/sdk/lib/application-environment.mjs +1 -1
  243. package/esm2022/theming/lib/helpers/theme-storage.mjs +1 -1
  244. package/esm2022/theming/lib/theming.service.mjs +5 -5
  245. package/esm2022/utils/lib/decorators/pure.mjs +1 -1
  246. package/esm2022/utils/lib/helpers/angular.mjs +1 -1
  247. package/esm2022/utils/lib/helpers/array.mjs +1 -1
  248. package/esm2022/utils/lib/helpers/cache-storage-client.mjs +1 -1
  249. package/esm2022/utils/lib/helpers/debounce.mjs +1 -1
  250. package/esm2022/utils/lib/helpers/dom.mjs +1 -1
  251. package/esm2022/utils/lib/helpers/event-manager.mjs +4 -4
  252. package/esm2022/utils/lib/helpers/get-axis.mjs +1 -1
  253. package/esm2022/utils/lib/helpers/get-opposite-side.mjs +1 -1
  254. package/esm2022/utils/lib/helpers/ng-changes.mjs +1 -1
  255. package/esm2022/utils/lib/helpers/provide-config.mjs +1 -1
  256. package/esm2022/utils/lib/helpers/queue.mjs +1 -1
  257. package/fesm2022/odx-angular-breakpoints.mjs +10 -10
  258. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  259. package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
  260. package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
  261. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  262. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +4 -4
  263. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  264. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +4 -4
  265. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  266. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
  267. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  268. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +10 -10
  269. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  270. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
  271. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  272. package/fesm2022/odx-angular-cdk-event-plugins.mjs +6 -6
  273. package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
  274. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  275. package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
  276. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +12 -12
  277. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  278. package/fesm2022/odx-angular-components-accordion.mjs +13 -13
  279. package/fesm2022/odx-angular-components-action-group.mjs +3 -3
  280. package/fesm2022/odx-angular-components-area-header.mjs +13 -13
  281. package/fesm2022/odx-angular-components-autocomplete.mjs +18 -20
  282. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  283. package/fesm2022/odx-angular-components-avatar.mjs +3 -3
  284. package/fesm2022/odx-angular-components-badge.mjs +6 -6
  285. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  286. package/fesm2022/odx-angular-components-bar.mjs +13 -13
  287. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
  288. package/fesm2022/odx-angular-components-button-group.mjs +3 -3
  289. package/fesm2022/odx-angular-components-button.mjs +6 -6
  290. package/fesm2022/odx-angular-components-calendar.mjs +40 -40
  291. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  292. package/fesm2022/odx-angular-components-card.mjs +20 -20
  293. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  294. package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
  295. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  296. package/fesm2022/odx-angular-components-chip.mjs +9 -9
  297. package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
  298. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  299. package/fesm2022/odx-angular-components-content-box.mjs +13 -13
  300. package/fesm2022/odx-angular-components-datepicker.mjs +11 -11
  301. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  302. package/fesm2022/odx-angular-components-daterangepicker.mjs +17 -17
  303. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  304. package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
  305. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  306. package/fesm2022/odx-angular-components-error-page.mjs +3 -3
  307. package/fesm2022/odx-angular-components-footer.mjs +3 -3
  308. package/fesm2022/odx-angular-components-form-field.mjs +37 -37
  309. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  310. package/fesm2022/odx-angular-components-header-navigation.mjs +14 -14
  311. package/fesm2022/odx-angular-components-header.mjs +13 -13
  312. package/fesm2022/odx-angular-components-icon.mjs +3 -3
  313. package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
  314. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  315. package/fesm2022/odx-angular-components-link.mjs +3 -3
  316. package/fesm2022/odx-angular-components-list.mjs +13 -13
  317. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  318. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
  319. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  320. package/fesm2022/odx-angular-components-logo.mjs +3 -3
  321. package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
  322. package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
  323. package/fesm2022/odx-angular-components-menu.mjs +13 -13
  324. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  325. package/fesm2022/odx-angular-components-modal.mjs +44 -44
  326. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  327. package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
  328. package/fesm2022/odx-angular-components-notification.mjs +16 -17
  329. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  330. package/fesm2022/odx-angular-components-paginator.mjs +7 -7
  331. package/fesm2022/odx-angular-components-progress.mjs +3 -3
  332. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  333. package/fesm2022/odx-angular-components-radio-group.mjs +12 -14
  334. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  335. package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
  336. package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
  337. package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
  338. package/fesm2022/odx-angular-components-select.mjs +19 -21
  339. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  340. package/fesm2022/odx-angular-components-slider.mjs +3 -3
  341. package/fesm2022/odx-angular-components-spinbox.mjs +4 -4
  342. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  343. package/fesm2022/odx-angular-components-switch.mjs +10 -10
  344. package/fesm2022/odx-angular-components-tab-bar.mjs +11 -13
  345. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  346. package/fesm2022/odx-angular-components-table.mjs +20 -22
  347. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  348. package/fesm2022/odx-angular-components-timepicker.mjs +20 -22
  349. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  350. package/fesm2022/odx-angular-components-toast.mjs +13 -13
  351. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  352. package/fesm2022/odx-angular-components-toggle-button-group.mjs +12 -14
  353. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  354. package/fesm2022/odx-angular-components-tooltip.mjs +7 -7
  355. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  356. package/fesm2022/odx-angular-components-wizard.mjs +10 -10
  357. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  358. package/fesm2022/odx-angular-internal-translate.mjs +3 -3
  359. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  360. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  361. package/fesm2022/odx-angular-localization.mjs +3 -3
  362. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  363. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  364. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  365. package/fesm2022/odx-angular-theming.mjs +4 -4
  366. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  367. package/fesm2022/odx-angular-utils.mjs +3 -3
  368. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  369. package/fesm2022/odx-angular.mjs +31 -31
  370. package/fesm2022/odx-angular.mjs.map +1 -1
  371. package/package.json +13 -13
@@ -206,10 +206,10 @@ class ModalCloseDirective {
206
206
  this.modalRef.close(result ?? null);
207
207
  }
208
208
  }
209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
210
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ModalCloseDirective, isStandalone: true, selector: "[odxModalClose]", inputs: { result: ["odxModalClose", "result"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
210
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ModalCloseDirective, isStandalone: true, selector: "[odxModalClose]", inputs: { result: ["odxModalClose", "result"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalCloseDirective, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalCloseDirective, decorators: [{
213
213
  type: Directive,
214
214
  args: [{
215
215
  standalone: true,
@@ -230,13 +230,13 @@ let ModalContentDirective = class ModalContentDirective {
230
230
  constructor() {
231
231
  this.element = injectElement();
232
232
  }
233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
234
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ModalContentDirective, isStandalone: true, selector: "odx-modal-content", ngImport: i0 }); }
233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
234
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ModalContentDirective, isStandalone: true, selector: "odx-modal-content", ngImport: i0 }); }
235
235
  };
236
236
  ModalContentDirective = __decorate([
237
237
  CSSComponent('modal__content')
238
238
  ], ModalContentDirective);
239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalContentDirective, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalContentDirective, decorators: [{
240
240
  type: Directive,
241
241
  args: [{
242
242
  standalone: true,
@@ -268,10 +268,10 @@ class ModalDismissDirective {
268
268
  onClick() {
269
269
  this.modalRef.dismiss();
270
270
  }
271
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
272
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ModalDismissDirective, isStandalone: true, selector: "[odxModalDismiss]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
272
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ModalDismissDirective, isStandalone: true, selector: "[odxModalDismiss]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
273
273
  }
274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalDismissDirective, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalDismissDirective, decorators: [{
275
275
  type: Directive,
276
276
  args: [{
277
277
  standalone: true,
@@ -289,10 +289,10 @@ class PreventFormMethodDialogDirective {
289
289
  onClick(event) {
290
290
  event.preventDefault();
291
291
  }
292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventFormMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
293
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PreventFormMethodDialogDirective, isStandalone: true, selector: "[formmethod=dialog]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreventFormMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
293
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PreventFormMethodDialogDirective, isStandalone: true, selector: "[formmethod=dialog]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
294
294
  }
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventFormMethodDialogDirective, decorators: [{
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreventFormMethodDialogDirective, decorators: [{
296
296
  type: Directive,
297
297
  args: [{
298
298
  standalone: true,
@@ -310,10 +310,10 @@ class PreventMethodDialogDirective {
310
310
  onFormSubmit(event) {
311
311
  event.preventDefault();
312
312
  }
313
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
314
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PreventMethodDialogDirective, isStandalone: true, selector: "form[method=dialog]", host: { listeners: { "submit": "onFormSubmit($event)" } }, ngImport: i0 }); }
313
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreventMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
314
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PreventMethodDialogDirective, isStandalone: true, selector: "form[method=dialog]", host: { listeners: { "submit": "onFormSubmit($event)" } }, ngImport: i0 }); }
315
315
  }
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventMethodDialogDirective, decorators: [{
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreventMethodDialogDirective, decorators: [{
317
317
  type: Directive,
318
318
  args: [{
319
319
  standalone: true,
@@ -331,13 +331,13 @@ let ModalFooterComponent = class ModalFooterComponent {
331
331
  constructor() {
332
332
  this.element = injectElement();
333
333
  }
334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalFooterComponent, isStandalone: true, selector: "odx-modal-footer", ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
335
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ModalFooterComponent, isStandalone: true, selector: "odx-modal-footer", ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
336
336
  };
337
337
  ModalFooterComponent = __decorate([
338
338
  CSSComponent('modal__footer')
339
339
  ], ModalFooterComponent);
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalFooterComponent, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalFooterComponent, decorators: [{
341
341
  type: Component,
342
342
  args: [{ standalone: true, selector: 'odx-modal-footer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
343
343
  }] });
@@ -356,17 +356,17 @@ let ModalHeaderComponent = class ModalHeaderComponent {
356
356
  this.areaHeaderComponent.size = AreaHeaderSize.MEDIUM;
357
357
  }
358
358
  }
359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
360
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalHeaderComponent, isStandalone: true, selector: "odx-modal-header", queries: [{ propertyName: "areaHeaderComponent", first: true, predicate: AreaHeaderComponent, descendants: true }], ngImport: i0, template: "<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "directive", type: ModalDismissDirective, selector: "[odxModalDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
360
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ModalHeaderComponent, isStandalone: true, selector: "odx-modal-header", queries: [{ propertyName: "areaHeaderComponent", first: true, predicate: AreaHeaderComponent, descendants: true }], ngImport: i0, template: "<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "directive", type: ModalDismissDirective, selector: "[odxModalDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
361
361
  };
362
362
  ModalHeaderComponent = __decorate([
363
363
  CSSComponent('modal__header'),
364
364
  __metadata("design:paramtypes", [])
365
365
  ], ModalHeaderComponent);
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalHeaderComponent, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalHeaderComponent, decorators: [{
367
367
  type: Component,
368
368
  args: [{ standalone: true, selector: 'odx-modal-header', imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n" }]
369
- }], ctorParameters: function () { return []; }, propDecorators: { areaHeaderComponent: [{
369
+ }], ctorParameters: () => [], propDecorators: { areaHeaderComponent: [{
370
370
  type: ContentChild,
371
371
  args: [AreaHeaderComponent]
372
372
  }] } });
@@ -392,8 +392,8 @@ let ModalHeroComponent = class ModalHeroComponent {
392
392
  this.iconSet = 'core';
393
393
  detectControllerChanges(this.modalRef).subscribe();
394
394
  }
395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalHeroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
396
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalHeroComponent, isStandalone: true, selector: "odx-modal-hero", inputs: { icon: "icon", iconSet: "iconSet", variant: "variant" }, ngImport: i0, template: "<odx-icon class=\"odx-modal-hero__icon\" [name]=\"icon\" [iconSet]=\"iconSet\" size=\"xlarge\" *ngIf=\"icon\"> </odx-icon>\n\n<div class=\"odx-modal-hero__title odx-title-4\">\n <ng-content></ng-content>\n</div>\n\n<odx-action-group class=\"odx-modal-hero__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "directive", type: ModalDismissDirective, selector: "[odxModalDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
395
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalHeroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
396
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ModalHeroComponent, isStandalone: true, selector: "odx-modal-hero", inputs: { icon: "icon", iconSet: "iconSet", variant: "variant" }, ngImport: i0, template: "<odx-icon class=\"odx-modal-hero__icon\" [name]=\"icon\" [iconSet]=\"iconSet\" size=\"xlarge\" *ngIf=\"icon\"> </odx-icon>\n\n<div class=\"odx-modal-hero__title odx-title-4\">\n <ng-content></ng-content>\n</div>\n\n<odx-action-group class=\"odx-modal-hero__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "directive", type: ModalDismissDirective, selector: "[odxModalDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
397
397
  };
398
398
  __decorate([
399
399
  CSSModifier(),
@@ -403,10 +403,10 @@ ModalHeroComponent = __decorate([
403
403
  CSSComponent('modal-hero'),
404
404
  __metadata("design:paramtypes", [])
405
405
  ], ModalHeroComponent);
406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalHeroComponent, decorators: [{
406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalHeroComponent, decorators: [{
407
407
  type: Component,
408
408
  args: [{ selector: 'odx-modal-hero', standalone: true, imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<odx-icon class=\"odx-modal-hero__icon\" [name]=\"icon\" [iconSet]=\"iconSet\" size=\"xlarge\" *ngIf=\"icon\"> </odx-icon>\n\n<div class=\"odx-modal-hero__title odx-title-4\">\n <ng-content></ng-content>\n</div>\n\n<odx-action-group class=\"odx-modal-hero__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n" }]
409
- }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
409
+ }], ctorParameters: () => [], propDecorators: { icon: [{
410
410
  type: Input
411
411
  }], iconSet: [{
412
412
  type: Input
@@ -437,10 +437,10 @@ class BasicModalComponent {
437
437
  get data() {
438
438
  return this.modalRef.data;
439
439
  }
440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BasicModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
441
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BasicModalComponent, isStandalone: true, selector: "odx-basic-modal", ngImport: i0, template: "<odx-modal-hero [icon]=\"icon\" [variant]=\"data.heroVariant\" *ngIf=\"data.heroIcon as icon; else modalHeader\">\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n</odx-modal-hero>\n\n<odx-modal-content>\n <ng-template [odxDynamicView]=\"data.content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</odx-modal-content>\n\n<odx-modal-footer>\n <button odxButton [variant]=\"action.variant\" [odxModalClose]=\"action.data\" *ngFor=\"let action of data.actions; let i = index; trackBy: trackByIndex\">\n {{ action.label }}\n </button>\n</odx-modal-footer>\n\n<ng-template #modalHeader>\n <odx-modal-header>\n <odx-area-header>\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n </odx-area-header>\n </odx-modal-header>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: AreaHeaderComponent, selector: "odx-area-header", inputs: ["size"] }, { kind: "component", type: ModalHeaderComponent, selector: "odx-modal-header" }, { kind: "component", type: ModalHeroComponent, selector: "odx-modal-hero", inputs: ["icon", "iconSet", "variant"] }, { kind: "component", type: ModalFooterComponent, selector: "odx-modal-footer" }, { kind: "directive", type: ModalContentDirective, selector: "odx-modal-content" }, { kind: "directive", type: ModalCloseDirective, selector: "[odxModalClose]", inputs: ["odxModalClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
440
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
441
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BasicModalComponent, isStandalone: true, selector: "odx-basic-modal", ngImport: i0, template: "<odx-modal-hero [icon]=\"icon\" [variant]=\"data.heroVariant\" *ngIf=\"data.heroIcon as icon; else modalHeader\">\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n</odx-modal-hero>\n\n<odx-modal-content>\n <ng-template [odxDynamicView]=\"data.content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</odx-modal-content>\n\n<odx-modal-footer>\n <button odxButton [variant]=\"action.variant\" [odxModalClose]=\"action.data\" *ngFor=\"let action of data.actions; let i = index; trackBy: trackByIndex\">\n {{ action.label }}\n </button>\n</odx-modal-footer>\n\n<ng-template #modalHeader>\n <odx-modal-header>\n <odx-area-header>\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n </odx-area-header>\n </odx-modal-header>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: AreaHeaderComponent, selector: "odx-area-header", inputs: ["size"] }, { kind: "component", type: ModalHeaderComponent, selector: "odx-modal-header" }, { kind: "component", type: ModalHeroComponent, selector: "odx-modal-hero", inputs: ["icon", "iconSet", "variant"] }, { kind: "component", type: ModalFooterComponent, selector: "odx-modal-footer" }, { kind: "directive", type: ModalContentDirective, selector: "odx-modal-content" }, { kind: "directive", type: ModalCloseDirective, selector: "[odxModalClose]", inputs: ["odxModalClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
442
442
  }
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BasicModalComponent, decorators: [{
443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicModalComponent, decorators: [{
444
444
  type: Component,
445
445
  args: [{ selector: 'odx-basic-modal', standalone: true, imports: [
446
446
  CoreModule,
@@ -501,8 +501,8 @@ let ModalComponent = class ModalComponent {
501
501
  handleDialogClose() {
502
502
  this.modalRef.dismiss();
503
503
  }
504
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
505
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalComponent, isStandalone: true, selector: "dialog[odx-dialog-modal]", inputs: { content: "content" }, host: { listeners: { "keydown": "preventNativeDismiss($event)", "cancel": "handleDialogClose()", "close": "handleDialogClose()" }, properties: { "attr.id": "modalRef.options.id", "attr.aria-labelledby": "modalRef.modalTitleId", "attr.role": "\"dialog\"" } }, usesOnChanges: true, ngImport: i0, template: "<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
504
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
505
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ModalComponent, isStandalone: true, selector: "dialog[odx-dialog-modal]", inputs: { content: "content" }, host: { listeners: { "keydown": "preventNativeDismiss($event)", "cancel": "handleDialogClose()", "close": "handleDialogClose()" }, properties: { "attr.id": "modalRef.options.id", "attr.aria-labelledby": "modalRef.modalTitleId", "attr.role": "\"dialog\"" } }, usesOnChanges: true, ngImport: i0, template: "<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
506
506
  };
507
507
  __decorate([
508
508
  CSSModifier(),
@@ -520,14 +520,14 @@ ModalComponent = __decorate([
520
520
  CSSComponent('modal'),
521
521
  __metadata("design:paramtypes", [])
522
522
  ], ModalComponent);
523
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, decorators: [{
523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalComponent, decorators: [{
524
524
  type: Component,
525
525
  args: [{ standalone: true, selector: 'dialog[odx-dialog-modal]', imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
526
526
  '[attr.id]': 'modalRef.options.id',
527
527
  '[attr.aria-labelledby]': 'modalRef.modalTitleId',
528
528
  '[attr.role]': '"dialog"',
529
529
  }, template: "<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
530
- }], ctorParameters: function () { return []; }, propDecorators: { size: [], variant: [], withComponent: [], content: [{
530
+ }], ctorParameters: () => [], propDecorators: { size: [], variant: [], withComponent: [], content: [{
531
531
  type: Input
532
532
  }], preventNativeDismiss: [{
533
533
  type: HostListener,
@@ -676,13 +676,13 @@ class ModalService {
676
676
  modalRef.onDestroy$.pipe(finalize(onDestroy)).subscribe();
677
677
  deferFn(() => viewRef.getElement()?.showModal?.());
678
678
  }
679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
680
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalService, providedIn: 'root' }); }
679
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
680
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalService, providedIn: 'root' }); }
681
681
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalService, decorators: [{
682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalService, decorators: [{
683
683
  type: Injectable,
684
684
  args: [{ providedIn: 'root' }]
685
- }], ctorParameters: function () { return [{ type: i1.Location }]; } });
685
+ }], ctorParameters: () => [{ type: i1.Location }] });
686
686
 
687
687
  /**
688
688
  * A directive that simplifies the creation and management of modals directly from Angular templates.
@@ -734,10 +734,10 @@ class ModalDirective {
734
734
  dismiss() {
735
735
  this.modalRef?.dismiss();
736
736
  }
737
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
738
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ModalDirective, isStandalone: true, selector: "ng-template[odxModal]", inputs: { modalOptions: ["odxModal", "modalOptions"] }, outputs: { modalClose: "odxModalClose", modalDismiss: "odxModalDismiss" }, exportAs: ["odxModal"], usesOnChanges: true, ngImport: i0 }); }
737
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
738
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ModalDirective, isStandalone: true, selector: "ng-template[odxModal]", inputs: { modalOptions: ["odxModal", "modalOptions"] }, outputs: { modalClose: "odxModalClose", modalDismiss: "odxModalDismiss" }, exportAs: ["odxModal"], usesOnChanges: true, ngImport: i0 }); }
739
739
  }
740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalDirective, decorators: [{
740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalDirective, decorators: [{
741
741
  type: Directive,
742
742
  args: [{
743
743
  standalone: true,
@@ -768,8 +768,8 @@ const modules = [
768
768
  PreventFormMethodDialogDirective,
769
769
  ];
770
770
  class ModalModule {
771
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
772
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent,
771
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
772
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent,
773
773
  ModalHeaderComponent,
774
774
  ModalHeroComponent,
775
775
  ModalFooterComponent,
@@ -788,11 +788,11 @@ class ModalModule {
788
788
  ModalDismissDirective,
789
789
  PreventMethodDialogDirective,
790
790
  PreventFormMethodDialogDirective] }); }
791
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent,
791
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent,
792
792
  ModalHeaderComponent,
793
793
  ModalHeroComponent, CoreModule, AreaHeaderModule] }); }
794
794
  }
795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, decorators: [{
795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModalModule, decorators: [{
796
796
  type: NgModule,
797
797
  args: [{
798
798
  imports: [ButtonComponent, ButtonGroupComponent, ...modules],
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-modal.mjs","sources":["../../../../libs/angular/components/modal/src/lib/models/modal-hero-variant.ts","../../../../libs/angular/components/modal/src/lib/models/modal-ref.ts","../../../../libs/angular/components/modal/src/lib/models/modal-size.ts","../../../../libs/angular/components/modal/src/lib/models/modal-variant.ts","../../../../libs/angular/components/modal/src/lib/helpers/inject-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/helpers/provide-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-close.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-content.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-dismiss.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/prevent-form-method-dialog.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/prevent-method-dialog.directive.ts","../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.html","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.html","../../../../libs/angular/components/modal/src/lib/components/modal-hero/modal-hero.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-hero/modal-hero.component.html","../../../../libs/angular/components/modal/src/lib/components/basic-modal/basic-modal.component.ts","../../../../libs/angular/components/modal/src/lib/components/basic-modal/basic-modal.component.html","../../../../libs/angular/components/modal/src/lib/modal.component.ts","../../../../libs/angular/components/modal/src/lib/modal.component.html","../../../../libs/angular/components/modal/src/lib/modal.config.ts","../../../../libs/angular/components/modal/src/lib/modal.service.ts","../../../../libs/angular/components/modal/src/lib/modal.directive.ts","../../../../libs/angular/components/modal/src/lib/modal.module.ts","../../../../libs/angular/components/modal/src/odx-angular-components-modal.ts"],"sourcesContent":["export type ModalHeroVariant = (typeof ModalHeroVariant)[keyof typeof ModalHeroVariant];\n\nexport const ModalHeroVariant = {\n PRIMARY: 'primary',\n SUCCESS: 'success',\n CONFIRMATION: 'confirmation',\n DANGER: 'danger',\n} as const;\n","import { Controller } from '@odx/angular';\nimport { deepmerge } from '@odx/angular/internal';\nimport { share, Subject } from 'rxjs';\nimport { ModalOptions } from './modal-options';\n\n/**\n * A reference to a dynamically created modal, providing methods to manipulate, close, or update the modal's state\n * and options.\n * This class extends the `Controller` base class from `@odx/angular`, adding modal-specific functionalities like\n * handling closures and dismissals.\n *\n * @template Data - The type of data passed to the modal.\n * @template Result - The type of the result emitted when the modal is closed.\n *\n * @see {Controller}\n */\nexport class ModalRef<Data = unknown, Result = unknown> extends Controller {\n private readonly onClose$$ = new Subject<Result>();\n private readonly onDismiss$$ = new Subject<void>();\n\n /** An observable that emits when the modal is closed with a result. */\n public readonly onClose$ = this.onClose$$.pipe(share({ resetOnRefCountZero: true }));\n\n /** An observable that emits when the modal is dismissed without a result. */\n public readonly onDismiss$ = this.onDismiss$$.pipe(share({ resetOnRefCountZero: true }));\n\n /** An observable that merges the onClose$ and onDismiss$ streams for cases when any kind of teardown is needed. */\n public readonly onDestroy$ = deepmerge(this.onClose$, this.onDismiss$);\n\n /** A method that returns whether the modal is currently active. */\n public readonly isActive: () => boolean;\n\n /** Gets the unique identifier for the modal instance.\n *\n * @returns {string} The unique identifier for the modal instance.\n */\n public get id(): string {\n return this.options.id;\n }\n\n /** Gets the ARIA label ID for the modal title, based on the modal's ID.\n *\n * @returns {string} The ARIA label ID for the modal title.\n */\n public get modalTitleId(): string {\n return `${this.options.id}-title`;\n }\n\n /** Gets the data passed to the modal. This is useful for modal initialization.\n *\n * @returns {Data} The data passed to the modal.\n */\n public get data(): Data {\n return this.internalOptions.data;\n }\n\n /** Gets the current options for the modal. These options include configurations.\n *\n * @template Data - The type of data passed to the modal.\n * @returns {ModalOptions<Data>} The current options for the modal.\n */\n public get options(): ModalOptions<Data> {\n return this.internalOptions;\n }\n\n constructor(\n private internalOptions: ModalOptions<Data>,\n isActive: (modalRef: ModalRef<Data, Result>) => boolean,\n ) {\n super();\n this.isActive = () => isActive(this);\n }\n\n /**\n * Updates the modal's options.\n *\n * @param {Partial<ModalOptions<Data>>} options A partial set of options to update.\n */\n public update(options: Partial<ModalOptions<Data>>): void {\n this.internalOptions = deepmerge(this.internalOptions, options) as ModalOptions<Data>;\n this.triggerControllerChange();\n }\n\n /**\n * Dismisses the modal. This does not result in an output value.\n *\n * @param {boolean} [force=false] Whether to force dismissal regardless of the `canDismiss` condition.\n */\n public dismiss(force = false): void {\n if (!force && !this.isActive()) return;\n if (this.options.canDismiss?.(this.data) === false) return;\n this.onDismiss$$.next();\n this.destroy();\n }\n\n /**\n * Closes the modal with a result.\n *\n * @param {Result} result The result to emit when the modal closes.\n */\n public close(result: Result): void {\n if (!this.isActive()) return;\n if (this.options.canClose?.(this.data) === false) return;\n this.onClose$$.next(result);\n this.destroy();\n }\n\n /** Completes the onClose and onDismiss streams and cleans up resources. */\n public destroy(): void {\n this.onClose$$.complete();\n this.onDismiss$$.complete();\n }\n}\n","export type ModalSize = (typeof ModalSize)[keyof typeof ModalSize];\n\nexport const ModalSize = {\n XSMALL: 'xsmall',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","export type ModalVariant = typeof ModalVariant[keyof typeof ModalVariant];\n\nexport const ModalVariant = {\n DEFAULT: 'default',\n SIDESHEET: 'sidesheet',\n} as const;\n","import { inject } from '@angular/core';\nimport { ModalRef } from '../models';\n\n/**\n * Utility function to inject a reference to a modal. This function simplifies the injection process by typing the `ModalRef` to the specific data and result expected by the consumer.\n *\n * This approach abstracts away Angular's inject function, providing direct access to the modal reference with the correct type. It is commonly used in components or services that interact with a modal dialog to manipulate its data, close it, or perform other related actions.\n *\n * @template Data The type of data passed to the modal.\n * @template Result The type of result expected when the modal closes.\n * @returns {ModalRef<Data, Result>} A strongly typed reference to the modal.\n *\n * @example\n * ```ts\n * // Injecting a modal reference in a component or service:\n * const modalRef = injectModalRef<SomeDataType, SomeResultType>();\n *\n * // Using the modal reference to close the modal and return a result:\n * modalRef.close(someResult);\n *\n * // Accessing the data provided to the modal:\n * const modalData = modalRef.data;\n * ```\n */\nexport function injectModalRef<Data, Result = unknown>(): ModalRef<Data, Result> {\n return inject(ModalRef<Data, Result>);\n}\n","import { ValueProvider } from '@angular/core';\nimport { ModalRef } from '../models';\n\n/**\n * Provides a configuration for the Angular dependency injection system to inject a specific instance of `ModalRef`.\n * This function is particularly useful when you want to configure a provider for a `ModalRef` within an Angular module or component.\n *\n * @template D The data type expected by the modal.\n * @template R The result type that the modal will produce.\n * @param {ModalRef<D, R>} modalRef An instance of `ModalRef` to be provided.\n * @returns {ValueProvider} An Angular value provider that can be used in module or component providers arrays.\n */\nexport function provideModalRef<D = unknown, R = unknown>(modalRef: ModalRef<D, R>): ValueProvider {\n return { provide: ModalRef, useValue: modalRef };\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n/**\n * A directive that enables an element to close or dismiss a modal when clicked.\n * It can be used on any element within a modal to trigger the close or dismiss action, optionally passing a result back to the modal opener.\n *\n * The directive accepts an input value that determines the result to be passed back on modal close. If no value is provided, or it's explicitly set to `null`,\n * the modal is dismissed without sending a result. If the input value is `undefined`, the modal is dismissed via the `dismiss` method without passing any result.\n *\n * @template T - The type of the result to be emitted when the modal closes. Defaults to `unknown`.\n *\n * @example\n * Closing a modal and passing a result:\n * ```html\n * <button [odxModalClose]=\"myResult\">Close and send result</button>\n * ```\n *\n * Simply dismissing a modal without passing a result:\n * ```html\n * <button odxModalClose>Dismiss</button>\n * ```\n */\n@Directive({\n standalone: true,\n selector: '[odxModalClose]',\n})\nexport class ModalCloseDirective<T = unknown> {\n private readonly modalRef = injectModalRef();\n\n /**\n * Represents the result to be passed back to the modal opener when the modal is closed.\n * @template T - The type of the result returned.\n */\n @Input('odxModalClose')\n public result?: T | null = null;\n\n @HostListener('click')\n protected onClick(): void {\n const result = this.result === '' ? null : this.result;\n\n if (result === undefined) {\n this.modalRef.dismiss();\n } else {\n this.modalRef.close(result ?? null);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a directive for the content of a modal.\n */\n@CSSComponent('modal__content')\n@Directive({\n standalone: true,\n selector: 'odx-modal-content',\n})\nexport class ModalContentDirective {\n public readonly element = injectElement();\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n/**\n * A directive that enables an element to dismiss a modal when clicked. This can be applied\n * to any clickable element within a modal, such as buttons or links, to provide a declarative\n * approach to dismissing the modal.\n *\n * Utilizes `injectModalRef` to access the modal reference associated with the containing modal,\n * enabling the directive to call the `dismiss` method on the modal reference upon the click event.\n *\n * @example\n * Dismissing a modal using the odxModalDismiss directive on a button:\n * ```html\n * <button odxModalDismiss>Cancel</button>\n * ```\n *\n * This directive simplifies modal dismissal by removing the need for manually wiring click events\n * to dismiss methods in the component class, thereby enhancing template readability and maintainability.\n */\n@Directive({\n standalone: true,\n selector: '[odxModalDismiss]',\n})\nexport class ModalDismissDirective {\n private readonly modalRef = injectModalRef();\n\n @HostListener('click')\n protected onClick(): void {\n this.modalRef.dismiss();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n/**\n * Directive that prevents the default form method behavior on submit buttons inside an HTML Dialog form.\n */\n@Directive({\n standalone: true,\n selector: '[formmethod=dialog]',\n})\nexport class PreventFormMethodDialogDirective {\n @HostListener('click', ['$event'])\n protected onClick(event: Event): void {\n event.preventDefault();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n/**\n * Directive that prevents the default form submission behavior inside an HTML Dialog form.\n */\n@Directive({\n standalone: true,\n selector: 'form[method=dialog]',\n})\nexport class PreventMethodDialogDirective {\n @HostListener('submit', ['$event'])\n protected onFormSubmit(event: Event): void {\n event.preventDefault();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents the footer component of a modal.\n */\n@CSSComponent('modal__footer')\n@Component({\n standalone: true,\n selector: 'odx-modal-footer',\n templateUrl: './modal-footer.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalFooterComponent {\n public readonly element = injectElement();\n}\n","<ng-content></ng-content>\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AreaHeaderComponent, AreaHeaderSize } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ModalDismissDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\n\n/**\n * Represents the header component of a modal.\n */\n@CSSComponent('modal__header')\n@Component({\n standalone: true,\n selector: 'odx-modal-header',\n templateUrl: './modal-header.component.html',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent implements AfterContentInit {\n protected readonly modalRef = injectModalRef();\n\n public readonly element = injectElement();\n\n /**\n * The area header component associated with the modal header.\n *\n * @type {AreaHeaderComponent | undefined}\n */\n @ContentChild(AreaHeaderComponent)\n public areaHeaderComponent?: AreaHeaderComponent;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe();\n }\n\n public ngAfterContentInit(): void {\n if (this.areaHeaderComponent) {\n this.areaHeaderComponent.size = AreaHeaderSize.MEDIUM;\n }\n }\n}\n","<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ModalDismissDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\nimport { ModalHeroVariant } from '../../models';\n\n/**\n * Represents a modal hero component.\n */\n@CSSComponent('modal-hero')\n@Component({\n selector: 'odx-modal-hero',\n standalone: true,\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective],\n templateUrl: './modal-hero.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeroComponent {\n public readonly element = injectElement();\n\n /**\n * The modal reference of the modal hero component.\n *\n * @type {ModalRef}\n */\n public readonly modalRef = injectModalRef();\n\n /**\n * The icon of the modal hero component.\n *\n * @type {string}\n */\n @Input()\n public icon?: string | null;\n\n /**\n * The icon set of the modal hero component.\n *\n * @type {string}\n * @default 'core'\n */\n @Input()\n public iconSet = 'core';\n\n /**\n * The variant of the modal hero component.\n *\n * @type {ModalHeroVariant | null}\n */\n @CSSModifier()\n @Input()\n public variant?: ModalHeroVariant | null;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe();\n }\n}\n","<odx-icon class=\"odx-modal-hero__icon\" [name]=\"icon\" [iconSet]=\"iconSet\" size=\"xlarge\" *ngIf=\"icon\"> </odx-icon>\n\n<div class=\"odx-modal-hero__title odx-title-4\">\n <ng-content></ng-content>\n</div>\n\n<odx-action-group class=\"odx-modal-hero__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n","import { ChangeDetectionStrategy, Component, inject, Injector, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { AreaHeaderComponent } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { trackByIndex } from '@odx/angular/utils';\nimport { ModalCloseDirective, ModalContentDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\nimport { BasicModalOptions, GetModalActionData, Modal } from '../../models';\nimport { ModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { ModalHeaderComponent } from '../modal-header/modal-header.component';\nimport { ModalHeroComponent } from '../modal-hero/modal-hero.component';\n\n/**\n * Represents a basic modal component that can be used to display dynamic content, handle modal actions, and interact\n * with other components through dependency injection. It includes common modal features such as headers, footers, and dynamic content areas.\n * This component uses the `ModalRef` to manage its state and interactions.\n *\n * The `BasicModalComponent` is designed to be flexible and reusable for various modal dialog needs within an application.\n *\n * @template Result The expected result type that the modal might produce, typically used when the modal closes.\n */\n@Component({\n selector: 'odx-basic-modal',\n standalone: true,\n imports: [\n CoreModule,\n DynamicViewDirective,\n ButtonComponent,\n AreaHeaderComponent,\n ModalHeaderComponent,\n ModalHeroComponent,\n ModalFooterComponent,\n ModalContentDirective,\n ModalCloseDirective,\n ],\n templateUrl: './basic-modal.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BasicModalComponent<Result = unknown> implements Modal<BasicModalOptions<Result>, GetModalActionData<BasicModalOptions<Result>>> {\n protected readonly injector = inject(Injector);\n protected readonly trackByIndex = trackByIndex;\n\n /**\n * The reference to the modal.\n *\n * @type {ModalRef<BasicModalOptions<Result>>}\n */\n public readonly modalRef = injectModalRef<BasicModalOptions<Result>, GetModalActionData<BasicModalOptions<Result>>>();\n\n protected get data(): BasicModalOptions<Result> {\n return this.modalRef.data;\n }\n}\n","<odx-modal-hero [icon]=\"icon\" [variant]=\"data.heroVariant\" *ngIf=\"data.heroIcon as icon; else modalHeader\">\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n</odx-modal-hero>\n\n<odx-modal-content>\n <ng-template [odxDynamicView]=\"data.content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</odx-modal-content>\n\n<odx-modal-footer>\n <button odxButton [variant]=\"action.variant\" [odxModalClose]=\"action.data\" *ngFor=\"let action of data.actions; let i = index; trackBy: trackByIndex\">\n {{ action.label }}\n </button>\n</odx-modal-footer>\n\n<ng-template #modalHeader>\n <odx-modal-header>\n <odx-area-header>\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n </odx-area-header>\n </odx-modal-header>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostListener, Injector, Input, OnChanges, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { NgChanges, hasChanged, injectElement, isTemplateRef } from '@odx/angular/utils';\nimport { injectModalRef } from './helpers';\n\n/**\n * A component that represents a modal dialog with dynamic content and customizable animations.\n * It supports both modal and sidesheet variants with configurable animations for each type.\n */\n@CSSComponent('modal')\n@Component({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dialog[odx-dialog-modal]',\n templateUrl: './modal.component.html',\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'modalRef.options.id',\n '[attr.aria-labelledby]': 'modalRef.modalTitleId',\n '[attr.role]': '\"dialog\"',\n },\n})\nexport class ModalComponent implements OnChanges {\n protected readonly modalRef = injectModalRef();\n protected readonly injector = inject(Injector);\n protected readonly context = { $implicit: this.modalRef };\n\n public readonly element = injectElement<HTMLDialogElement>();\n\n /**\n * Size of the modal as a CSS modifier based on modal options.\n *\n * @type {ModalSize}\n */\n @CSSModifier()\n public size = this.modalRef.options.size;\n\n /**\n * Variant of the modal as a CSS modifier that influences animation choices.\n *\n * @type {ModalVariant}\n */\n @CSSModifier()\n public variant = this.modalRef.options.variant;\n\n /**\n * Boolean that indicates if the content is a component type rather than a template.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n public withComponent = false;\n\n /**\n * Dynamic content to be loaded into the modal. Excludes simple textual content\n * to enable complex Angular components or templates.\n *\n * @type {Exclude<DynamicContent, DynamicTextContent>}\n */\n @Input()\n public content!: Exclude<DynamicContent, DynamicTextContent>;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe(() => {\n this.size = this.modalRef.options.size;\n });\n }\n\n public ngOnChanges(changes: NgChanges<ModalComponent>): void {\n if (hasChanged(changes, 'content', false)) {\n this.withComponent = !isTemplateRef(this.content);\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected preventNativeDismiss(event: KeyboardEvent): void {\n if (this.modalRef.options.dismissable || event.key !== 'Escape') return;\n event.preventDefault();\n }\n\n @HostListener('cancel')\n @HostListener('close')\n protected handleDialogClose(): void {\n this.modalRef.dismiss();\n }\n}\n","<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { ModalInstanceOptions, ModalSize } from './models';\nimport { ModalVariant } from './models/modal-variant';\n\nexport type ModalConfig = Omit<ModalInstanceOptions, 'id' | 'host' | 'data'>;\n\n/**\n * Utilizes `createConfigTokens` to create configuration tokens and utility functions for managing modal configurations.\n * This setup enables easy injection and provision of default global settings for modals throughout the application,\n * fostering consistency and ease of customization.\n *\n * The generated tokens and functions include:\n * - `ModalDefaultConfig`: The default configuration values for modals.\n * - `ModalConfig`: An Angular `InjectionToken` for injecting modal configuration into components or services.\n * - `injectModalConfig`: A utility function for retrieving the current modal configuration, considering any overrides.\n * - `provideModalConfig`: A function that allows specifying overrides to the default modal configuration.\n *\n * @example\n * ```ts\n * // Example of providing a custom modal configuration in an Angular module\n * @NgModule({\n * providers: [\n * provideModalConfig({\n * size: ModalSize.LARGE,\n * dismissable: false\n * })\n * ]\n * })\n * class AppModule {}\n *\n * // Example of injecting modal configuration in a component\n * @Component({...})\n * export class MyComponent {\n * constructor(@Inject(ModalConfig) private modalConfig: ModalConfig) {\n * console.log(this.modalConfig.size); // Outputs the size from the provided or default configuration\n * }\n * }\n * ```\n */\nexport const { ModalDefaultConfig, ModalConfig, injectModalConfig, provideModalConfig } = createConfigTokens('Modal', '@odx/angular/components/modal', {\n dismissable: true,\n size: ModalSize.MEDIUM,\n dismissOnNavigation: true,\n interactiveBackdrop: true,\n variant: ModalVariant.DEFAULT,\n} as ModalConfig);\n","import { Location } from '@angular/common';\nimport { inject, Injectable, Injector, TemplateRef } from '@angular/core';\nimport { DynamicContent, DynamicTextContent, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deepmerge } from '@odx/angular/internal';\nimport { deferFn, getUniqueId, Queue } from '@odx/angular/utils';\nimport { finalize } from 'rxjs';\nimport { BasicModalComponent } from './components';\nimport { provideModalRef } from './helpers';\nimport { ModalComponent } from './modal.component';\nimport { injectModalConfig } from './modal.config';\nimport { BasicModalOptions, GetModalActionData, ModalOptions, ModalRef, ModalSize, ModalType } from './models';\n\n/**\n * Service for managing modal dialogs within the application. It supports creating, opening,\n * and dismissing modals dynamically, with comprehensive options for customization and lifecycle management.\n * Utilizes Angular's dynamic view management to instantiate and render modals as needed.\n *\n * @example\n * ```ts\n * // Example of using ModalService to open a modal\n * constructor(private modalService: ModalService) {}\n *\n * openModal() {\n * const modalRef = this.modalService.open(MyModalContentComponent, {\n * data: { someData: 'test' },\n * size: ModalSize.SMALL,\n * });\n *\n * modalRef.onClose$.subscribe(result => {\n * console.log('Modal closed with result:', result);\n * });\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n private readonly config = injectModalConfig();\n private readonly openModals = new Queue<ModalRef>();\n private readonly injector = inject(Injector);\n private readonly dynamicViewService = inject(DynamicViewService);\n\n /**\n * An observable that emits the current value of the openModals subject.\n *\n * @emits {ModalRef[]} openModals$ - The current array of open modals.\n */\n public readonly openModals$ = this.openModals.value$;\n\n constructor(location: Location) {\n location.onUrlChange(() => {\n for (const modalRef of this.openModals.toArray()) {\n if (modalRef.options.dismissOnNavigation) {\n modalRef.destroy();\n }\n }\n });\n }\n\n /**\n * Dismisses all open modals.\n */\n public dismissAll(): void {\n for (const modalRef of this.openModals.toArray()) {\n modalRef.dismiss();\n }\n }\n\n /**\n * Retrieves the modal reference by its ID.\n *\n * @template Data The type of data passed to the modal.\n * @template Result The type of result returned by the modal.\n * @param {ModalOptions['id']} id The ID of the modal.\n * @returns {ModalRef<Data, Result> | null} - The modal reference if found, otherwise null.\n */\n public getModalById<Data = unknown, Result = unknown>(id: ModalOptions['id']): ModalRef<Data, Result> | null {\n return this.openModals.get(id) as ModalRef<Data, Result>;\n }\n\n /**\n * Creates a modal with the specified options.\n * @template Data - The type of data passed to the modal for use in its content.\n * @template Result - The type of result expected when the modal is closed.\n * @param {Data} modal - The basic modal options.\n * @param {Partial<ModalOptions<Data>> | undefined} options - Additional modal options.\n * @returns {ModalRef<Data, Result>} The reference to the created modal.\n */\n public create<Data extends BasicModalOptions, Result = GetModalActionData<Data>>(modal: Data, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public create(modal: BasicModalOptions, options?: ModalOptions): ModalRef {\n return this.open(BasicModalComponent, {\n data: modal,\n size: ModalSize.SMALL,\n ...options,\n });\n }\n\n /**\n * Creates and opens a new modal with the specified content and options.\n *\n * @template Data - The type of data passed to the modal for use in its content.\n * @template Result - The type of result expected when the modal is closed.\n * @template T - The content type of the modal, either a `TemplateRef` or a component.\n * @param {ModalType<T, Data, Result> | TemplateRef<T>} content - The content of the modal, either as a `TemplateRef` or a component type.\n * @param {Partial<ModalOptions<Data>>} [options] - Optional configuration options for the modal.\n * @returns {ModalRef<Data, Result>} A reference to the newly opened modal, allowing interaction with and control over the modal instance.\n */\n public open<Data, Result, T>(content: TemplateRef<T>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open<Data, Result, T = unknown>(content: ModalType<T, Data, Result>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open(content: ModalType<unknown> | TemplateRef<unknown>, options?: Partial<ModalOptions>): ModalRef {\n const mergedOptions = deepmerge(this.config, { id: getUniqueId('odx-modal') }, options ?? {}) as ModalOptions;\n if (this.getModalById(mergedOptions.id)) {\n throw Error(`Modal with ID ${mergedOptions.id} already open`);\n }\n const modalRef = new ModalRef(mergedOptions, (ref) => this.openModals.isFirst(ref));\n this.attachModal(modalRef, content);\n this.openModals.add(modalRef);\n return modalRef;\n }\n\n private attachModal(modalRef: ModalRef, content: Exclude<DynamicContent, DynamicTextContent>): void {\n const viewRef = this.dynamicViewService.createView(ModalComponent, {\n context: { content },\n injector: Injector.create({\n providers: [provideModalRef(modalRef)],\n parent: this.injector,\n }),\n host: modalRef.options.host,\n });\n const onDestroy = async () => {\n (viewRef.getElement() as HTMLDialogElement)?.close?.();\n this.openModals.remove(modalRef);\n viewRef.destroy();\n };\n\n modalRef.onDestroy$.pipe(finalize(onDestroy)).subscribe();\n deferFn(() => (viewRef.getElement() as HTMLDialogElement)?.showModal?.());\n }\n}\n","import { Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, TemplateRef } from '@angular/core';\nimport { hasChanged, NgChanges } from '@odx/angular/utils';\nimport { ModalService } from './modal.service';\nimport { ModalOptions, ModalRef } from './models';\n\n/**\n * A directive that simplifies the creation and management of modals directly from Angular templates.\n * It allows for declarative modal instantiation with full control over modal options, and supports\n * capturing modal close and dismiss events.\n *\n * Usage:\n * Apply `odxModal` to an `<ng-template>` element and bind it to modal options.\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[odxModal]',\n exportAs: 'odxModal',\n})\nexport class ModalDirective implements OnChanges, OnDestroy {\n private readonly modalService = inject(ModalService);\n private modalRef: ModalRef | null = null;\n\n protected readonly template = inject(TemplateRef);\n\n /**\n * Options for the modal directive.\n *\n * @type {Partial<ModalOptions> | '' | null}\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxModal')\n public modalOptions?: Partial<ModalOptions> | '' | null;\n\n /**\n * Event emitter for closing the modal.\n *\n * @emits {any} The result of the modal close event.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxModalClose')\n public modalClose = new EventEmitter();\n\n /**\n * Event emitter for dismissing the modal.\n *\n * @emits {any} The result of the modal dismiss event.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxModalDismiss')\n public modalDismiss = new EventEmitter();\n\n public ngOnChanges(changes: NgChanges<ModalDirective>): void {\n if (hasChanged(changes, 'modalOptions') && this.modalOptions) {\n this.modalRef?.update(this.modalOptions);\n }\n }\n\n public ngOnDestroy() {\n this.dismiss();\n }\n\n /**\n * Opens the modal based on the provided template and options. Binds modal result and dismissal outputs to EventEmitter properties.\n */\n public open(): void {\n this.modalRef = this.modalService.open(this.template, this.modalOptions || {});\n this.modalRef.onClose$.subscribe((result) => this.modalClose.next(result));\n this.modalRef.onDismiss$.subscribe((result) => this.modalDismiss.next(result));\n }\n\n /**\n * Dismisses the currently opened modal.\n */\n public dismiss(): void {\n this.modalRef?.dismiss();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { ButtonGroupComponent } from '@odx/angular/components/button-group';\nimport { ModalFooterComponent, ModalHeaderComponent, ModalHeroComponent } from './components';\nimport {\n ModalCloseDirective,\n ModalContentDirective,\n ModalDismissDirective,\n PreventFormMethodDialogDirective,\n PreventMethodDialogDirective,\n} from './directives';\nimport { ModalComponent } from './modal.component';\nimport { ModalDirective } from './modal.directive';\n\nconst modules = [\n ModalComponent,\n ModalHeaderComponent,\n ModalHeroComponent,\n ModalFooterComponent,\n ModalDirective,\n ModalCloseDirective,\n ModalContentDirective,\n ModalDismissDirective,\n PreventMethodDialogDirective,\n PreventFormMethodDialogDirective,\n];\n\n@NgModule({\n imports: [ButtonComponent, ButtonGroupComponent, ...modules],\n exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ...modules],\n})\nexport class ModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-modal.mjs","sources":["../../../../libs/angular/components/modal/src/lib/models/modal-hero-variant.ts","../../../../libs/angular/components/modal/src/lib/models/modal-ref.ts","../../../../libs/angular/components/modal/src/lib/models/modal-size.ts","../../../../libs/angular/components/modal/src/lib/models/modal-variant.ts","../../../../libs/angular/components/modal/src/lib/helpers/inject-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/helpers/provide-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-close.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-content.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-dismiss.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/prevent-form-method-dialog.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/prevent-method-dialog.directive.ts","../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.html","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.html","../../../../libs/angular/components/modal/src/lib/components/modal-hero/modal-hero.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-hero/modal-hero.component.html","../../../../libs/angular/components/modal/src/lib/components/basic-modal/basic-modal.component.ts","../../../../libs/angular/components/modal/src/lib/components/basic-modal/basic-modal.component.html","../../../../libs/angular/components/modal/src/lib/modal.component.ts","../../../../libs/angular/components/modal/src/lib/modal.component.html","../../../../libs/angular/components/modal/src/lib/modal.config.ts","../../../../libs/angular/components/modal/src/lib/modal.service.ts","../../../../libs/angular/components/modal/src/lib/modal.directive.ts","../../../../libs/angular/components/modal/src/lib/modal.module.ts","../../../../libs/angular/components/modal/src/odx-angular-components-modal.ts"],"sourcesContent":["export type ModalHeroVariant = (typeof ModalHeroVariant)[keyof typeof ModalHeroVariant];\n\nexport const ModalHeroVariant = {\n PRIMARY: 'primary',\n SUCCESS: 'success',\n CONFIRMATION: 'confirmation',\n DANGER: 'danger',\n} as const;\n","import { Controller } from '@odx/angular';\nimport { deepmerge } from '@odx/angular/internal';\nimport { share, Subject } from 'rxjs';\nimport { ModalOptions } from './modal-options';\n\n/**\n * A reference to a dynamically created modal, providing methods to manipulate, close, or update the modal's state\n * and options.\n * This class extends the `Controller` base class from `@odx/angular`, adding modal-specific functionalities like\n * handling closures and dismissals.\n *\n * @template Data - The type of data passed to the modal.\n * @template Result - The type of the result emitted when the modal is closed.\n *\n * @see {Controller}\n */\nexport class ModalRef<Data = unknown, Result = unknown> extends Controller {\n private readonly onClose$$ = new Subject<Result>();\n private readonly onDismiss$$ = new Subject<void>();\n\n /** An observable that emits when the modal is closed with a result. */\n public readonly onClose$ = this.onClose$$.pipe(share({ resetOnRefCountZero: true }));\n\n /** An observable that emits when the modal is dismissed without a result. */\n public readonly onDismiss$ = this.onDismiss$$.pipe(share({ resetOnRefCountZero: true }));\n\n /** An observable that merges the onClose$ and onDismiss$ streams for cases when any kind of teardown is needed. */\n public readonly onDestroy$ = deepmerge(this.onClose$, this.onDismiss$);\n\n /** A method that returns whether the modal is currently active. */\n public readonly isActive: () => boolean;\n\n /** Gets the unique identifier for the modal instance.\n *\n * @returns {string} The unique identifier for the modal instance.\n */\n public get id(): string {\n return this.options.id;\n }\n\n /** Gets the ARIA label ID for the modal title, based on the modal's ID.\n *\n * @returns {string} The ARIA label ID for the modal title.\n */\n public get modalTitleId(): string {\n return `${this.options.id}-title`;\n }\n\n /** Gets the data passed to the modal. This is useful for modal initialization.\n *\n * @returns {Data} The data passed to the modal.\n */\n public get data(): Data {\n return this.internalOptions.data;\n }\n\n /** Gets the current options for the modal. These options include configurations.\n *\n * @template Data - The type of data passed to the modal.\n * @returns {ModalOptions<Data>} The current options for the modal.\n */\n public get options(): ModalOptions<Data> {\n return this.internalOptions;\n }\n\n constructor(\n private internalOptions: ModalOptions<Data>,\n isActive: (modalRef: ModalRef<Data, Result>) => boolean,\n ) {\n super();\n this.isActive = () => isActive(this);\n }\n\n /**\n * Updates the modal's options.\n *\n * @param {Partial<ModalOptions<Data>>} options A partial set of options to update.\n */\n public update(options: Partial<ModalOptions<Data>>): void {\n this.internalOptions = deepmerge(this.internalOptions, options) as ModalOptions<Data>;\n this.triggerControllerChange();\n }\n\n /**\n * Dismisses the modal. This does not result in an output value.\n *\n * @param {boolean} [force=false] Whether to force dismissal regardless of the `canDismiss` condition.\n */\n public dismiss(force = false): void {\n if (!force && !this.isActive()) return;\n if (this.options.canDismiss?.(this.data) === false) return;\n this.onDismiss$$.next();\n this.destroy();\n }\n\n /**\n * Closes the modal with a result.\n *\n * @param {Result} result The result to emit when the modal closes.\n */\n public close(result: Result): void {\n if (!this.isActive()) return;\n if (this.options.canClose?.(this.data) === false) return;\n this.onClose$$.next(result);\n this.destroy();\n }\n\n /** Completes the onClose and onDismiss streams and cleans up resources. */\n public destroy(): void {\n this.onClose$$.complete();\n this.onDismiss$$.complete();\n }\n}\n","export type ModalSize = (typeof ModalSize)[keyof typeof ModalSize];\n\nexport const ModalSize = {\n XSMALL: 'xsmall',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","export type ModalVariant = typeof ModalVariant[keyof typeof ModalVariant];\n\nexport const ModalVariant = {\n DEFAULT: 'default',\n SIDESHEET: 'sidesheet',\n} as const;\n","import { inject } from '@angular/core';\nimport { ModalRef } from '../models';\n\n/**\n * Utility function to inject a reference to a modal. This function simplifies the injection process by typing the `ModalRef` to the specific data and result expected by the consumer.\n *\n * This approach abstracts away Angular's inject function, providing direct access to the modal reference with the correct type. It is commonly used in components or services that interact with a modal dialog to manipulate its data, close it, or perform other related actions.\n *\n * @template Data The type of data passed to the modal.\n * @template Result The type of result expected when the modal closes.\n * @returns {ModalRef<Data, Result>} A strongly typed reference to the modal.\n *\n * @example\n * ```ts\n * // Injecting a modal reference in a component or service:\n * const modalRef = injectModalRef<SomeDataType, SomeResultType>();\n *\n * // Using the modal reference to close the modal and return a result:\n * modalRef.close(someResult);\n *\n * // Accessing the data provided to the modal:\n * const modalData = modalRef.data;\n * ```\n */\nexport function injectModalRef<Data, Result = unknown>(): ModalRef<Data, Result> {\n return inject(ModalRef<Data, Result>);\n}\n","import { ValueProvider } from '@angular/core';\nimport { ModalRef } from '../models';\n\n/**\n * Provides a configuration for the Angular dependency injection system to inject a specific instance of `ModalRef`.\n * This function is particularly useful when you want to configure a provider for a `ModalRef` within an Angular module or component.\n *\n * @template D The data type expected by the modal.\n * @template R The result type that the modal will produce.\n * @param {ModalRef<D, R>} modalRef An instance of `ModalRef` to be provided.\n * @returns {ValueProvider} An Angular value provider that can be used in module or component providers arrays.\n */\nexport function provideModalRef<D = unknown, R = unknown>(modalRef: ModalRef<D, R>): ValueProvider {\n return { provide: ModalRef, useValue: modalRef };\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n/**\n * A directive that enables an element to close or dismiss a modal when clicked.\n * It can be used on any element within a modal to trigger the close or dismiss action, optionally passing a result back to the modal opener.\n *\n * The directive accepts an input value that determines the result to be passed back on modal close. If no value is provided, or it's explicitly set to `null`,\n * the modal is dismissed without sending a result. If the input value is `undefined`, the modal is dismissed via the `dismiss` method without passing any result.\n *\n * @template T - The type of the result to be emitted when the modal closes. Defaults to `unknown`.\n *\n * @example\n * Closing a modal and passing a result:\n * ```html\n * <button [odxModalClose]=\"myResult\">Close and send result</button>\n * ```\n *\n * Simply dismissing a modal without passing a result:\n * ```html\n * <button odxModalClose>Dismiss</button>\n * ```\n */\n@Directive({\n standalone: true,\n selector: '[odxModalClose]',\n})\nexport class ModalCloseDirective<T = unknown> {\n private readonly modalRef = injectModalRef();\n\n /**\n * Represents the result to be passed back to the modal opener when the modal is closed.\n * @template T - The type of the result returned.\n */\n @Input('odxModalClose')\n public result?: T | null = null;\n\n @HostListener('click')\n protected onClick(): void {\n const result = this.result === '' ? null : this.result;\n\n if (result === undefined) {\n this.modalRef.dismiss();\n } else {\n this.modalRef.close(result ?? null);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a directive for the content of a modal.\n */\n@CSSComponent('modal__content')\n@Directive({\n standalone: true,\n selector: 'odx-modal-content',\n})\nexport class ModalContentDirective {\n public readonly element = injectElement();\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n/**\n * A directive that enables an element to dismiss a modal when clicked. This can be applied\n * to any clickable element within a modal, such as buttons or links, to provide a declarative\n * approach to dismissing the modal.\n *\n * Utilizes `injectModalRef` to access the modal reference associated with the containing modal,\n * enabling the directive to call the `dismiss` method on the modal reference upon the click event.\n *\n * @example\n * Dismissing a modal using the odxModalDismiss directive on a button:\n * ```html\n * <button odxModalDismiss>Cancel</button>\n * ```\n *\n * This directive simplifies modal dismissal by removing the need for manually wiring click events\n * to dismiss methods in the component class, thereby enhancing template readability and maintainability.\n */\n@Directive({\n standalone: true,\n selector: '[odxModalDismiss]',\n})\nexport class ModalDismissDirective {\n private readonly modalRef = injectModalRef();\n\n @HostListener('click')\n protected onClick(): void {\n this.modalRef.dismiss();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n/**\n * Directive that prevents the default form method behavior on submit buttons inside an HTML Dialog form.\n */\n@Directive({\n standalone: true,\n selector: '[formmethod=dialog]',\n})\nexport class PreventFormMethodDialogDirective {\n @HostListener('click', ['$event'])\n protected onClick(event: Event): void {\n event.preventDefault();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n/**\n * Directive that prevents the default form submission behavior inside an HTML Dialog form.\n */\n@Directive({\n standalone: true,\n selector: 'form[method=dialog]',\n})\nexport class PreventMethodDialogDirective {\n @HostListener('submit', ['$event'])\n protected onFormSubmit(event: Event): void {\n event.preventDefault();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents the footer component of a modal.\n */\n@CSSComponent('modal__footer')\n@Component({\n standalone: true,\n selector: 'odx-modal-footer',\n templateUrl: './modal-footer.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalFooterComponent {\n public readonly element = injectElement();\n}\n","<ng-content></ng-content>\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AreaHeaderComponent, AreaHeaderSize } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ModalDismissDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\n\n/**\n * Represents the header component of a modal.\n */\n@CSSComponent('modal__header')\n@Component({\n standalone: true,\n selector: 'odx-modal-header',\n templateUrl: './modal-header.component.html',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent implements AfterContentInit {\n protected readonly modalRef = injectModalRef();\n\n public readonly element = injectElement();\n\n /**\n * The area header component associated with the modal header.\n *\n * @type {AreaHeaderComponent | undefined}\n */\n @ContentChild(AreaHeaderComponent)\n public areaHeaderComponent?: AreaHeaderComponent;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe();\n }\n\n public ngAfterContentInit(): void {\n if (this.areaHeaderComponent) {\n this.areaHeaderComponent.size = AreaHeaderSize.MEDIUM;\n }\n }\n}\n","<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ModalDismissDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\nimport { ModalHeroVariant } from '../../models';\n\n/**\n * Represents a modal hero component.\n */\n@CSSComponent('modal-hero')\n@Component({\n selector: 'odx-modal-hero',\n standalone: true,\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective],\n templateUrl: './modal-hero.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeroComponent {\n public readonly element = injectElement();\n\n /**\n * The modal reference of the modal hero component.\n *\n * @type {ModalRef}\n */\n public readonly modalRef = injectModalRef();\n\n /**\n * The icon of the modal hero component.\n *\n * @type {string}\n */\n @Input()\n public icon?: string | null;\n\n /**\n * The icon set of the modal hero component.\n *\n * @type {string}\n * @default 'core'\n */\n @Input()\n public iconSet = 'core';\n\n /**\n * The variant of the modal hero component.\n *\n * @type {ModalHeroVariant | null}\n */\n @CSSModifier()\n @Input()\n public variant?: ModalHeroVariant | null;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe();\n }\n}\n","<odx-icon class=\"odx-modal-hero__icon\" [name]=\"icon\" [iconSet]=\"iconSet\" size=\"xlarge\" *ngIf=\"icon\"> </odx-icon>\n\n<div class=\"odx-modal-hero__title odx-title-4\">\n <ng-content></ng-content>\n</div>\n\n<odx-action-group class=\"odx-modal-hero__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\" iconSet=\"core\"></odx-icon>\n </button>\n</odx-action-group>\n","import { ChangeDetectionStrategy, Component, inject, Injector, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { AreaHeaderComponent } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { trackByIndex } from '@odx/angular/utils';\nimport { ModalCloseDirective, ModalContentDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\nimport { BasicModalOptions, GetModalActionData, Modal } from '../../models';\nimport { ModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { ModalHeaderComponent } from '../modal-header/modal-header.component';\nimport { ModalHeroComponent } from '../modal-hero/modal-hero.component';\n\n/**\n * Represents a basic modal component that can be used to display dynamic content, handle modal actions, and interact\n * with other components through dependency injection. It includes common modal features such as headers, footers, and dynamic content areas.\n * This component uses the `ModalRef` to manage its state and interactions.\n *\n * The `BasicModalComponent` is designed to be flexible and reusable for various modal dialog needs within an application.\n *\n * @template Result The expected result type that the modal might produce, typically used when the modal closes.\n */\n@Component({\n selector: 'odx-basic-modal',\n standalone: true,\n imports: [\n CoreModule,\n DynamicViewDirective,\n ButtonComponent,\n AreaHeaderComponent,\n ModalHeaderComponent,\n ModalHeroComponent,\n ModalFooterComponent,\n ModalContentDirective,\n ModalCloseDirective,\n ],\n templateUrl: './basic-modal.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BasicModalComponent<Result = unknown> implements Modal<BasicModalOptions<Result>, GetModalActionData<BasicModalOptions<Result>>> {\n protected readonly injector = inject(Injector);\n protected readonly trackByIndex = trackByIndex;\n\n /**\n * The reference to the modal.\n *\n * @type {ModalRef<BasicModalOptions<Result>>}\n */\n public readonly modalRef = injectModalRef<BasicModalOptions<Result>, GetModalActionData<BasicModalOptions<Result>>>();\n\n protected get data(): BasicModalOptions<Result> {\n return this.modalRef.data;\n }\n}\n","<odx-modal-hero [icon]=\"icon\" [variant]=\"data.heroVariant\" *ngIf=\"data.heroIcon as icon; else modalHeader\">\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n</odx-modal-hero>\n\n<odx-modal-content>\n <ng-template [odxDynamicView]=\"data.content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</odx-modal-content>\n\n<odx-modal-footer>\n <button odxButton [variant]=\"action.variant\" [odxModalClose]=\"action.data\" *ngFor=\"let action of data.actions; let i = index; trackBy: trackByIndex\">\n {{ action.label }}\n </button>\n</odx-modal-footer>\n\n<ng-template #modalHeader>\n <odx-modal-header>\n <odx-area-header>\n <ng-template [odxDynamicView]=\"data.title\"></ng-template>\n </odx-area-header>\n </odx-modal-header>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, HostListener, Injector, Input, OnChanges, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { NgChanges, hasChanged, injectElement, isTemplateRef } from '@odx/angular/utils';\nimport { injectModalRef } from './helpers';\n\n/**\n * A component that represents a modal dialog with dynamic content and customizable animations.\n * It supports both modal and sidesheet variants with configurable animations for each type.\n */\n@CSSComponent('modal')\n@Component({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dialog[odx-dialog-modal]',\n templateUrl: './modal.component.html',\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': 'modalRef.options.id',\n '[attr.aria-labelledby]': 'modalRef.modalTitleId',\n '[attr.role]': '\"dialog\"',\n },\n})\nexport class ModalComponent implements OnChanges {\n protected readonly modalRef = injectModalRef();\n protected readonly injector = inject(Injector);\n protected readonly context = { $implicit: this.modalRef };\n\n public readonly element = injectElement<HTMLDialogElement>();\n\n /**\n * Size of the modal as a CSS modifier based on modal options.\n *\n * @type {ModalSize}\n */\n @CSSModifier()\n public size = this.modalRef.options.size;\n\n /**\n * Variant of the modal as a CSS modifier that influences animation choices.\n *\n * @type {ModalVariant}\n */\n @CSSModifier()\n public variant = this.modalRef.options.variant;\n\n /**\n * Boolean that indicates if the content is a component type rather than a template.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n public withComponent = false;\n\n /**\n * Dynamic content to be loaded into the modal. Excludes simple textual content\n * to enable complex Angular components or templates.\n *\n * @type {Exclude<DynamicContent, DynamicTextContent>}\n */\n @Input()\n public content!: Exclude<DynamicContent, DynamicTextContent>;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe(() => {\n this.size = this.modalRef.options.size;\n });\n }\n\n public ngOnChanges(changes: NgChanges<ModalComponent>): void {\n if (hasChanged(changes, 'content', false)) {\n this.withComponent = !isTemplateRef(this.content);\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected preventNativeDismiss(event: KeyboardEvent): void {\n if (this.modalRef.options.dismissable || event.key !== 'Escape') return;\n event.preventDefault();\n }\n\n @HostListener('cancel')\n @HostListener('close')\n protected handleDialogClose(): void {\n this.modalRef.dismiss();\n }\n}\n","<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { ModalInstanceOptions, ModalSize } from './models';\nimport { ModalVariant } from './models/modal-variant';\n\nexport type ModalConfig = Omit<ModalInstanceOptions, 'id' | 'host' | 'data'>;\n\n/**\n * Utilizes `createConfigTokens` to create configuration tokens and utility functions for managing modal configurations.\n * This setup enables easy injection and provision of default global settings for modals throughout the application,\n * fostering consistency and ease of customization.\n *\n * The generated tokens and functions include:\n * - `ModalDefaultConfig`: The default configuration values for modals.\n * - `ModalConfig`: An Angular `InjectionToken` for injecting modal configuration into components or services.\n * - `injectModalConfig`: A utility function for retrieving the current modal configuration, considering any overrides.\n * - `provideModalConfig`: A function that allows specifying overrides to the default modal configuration.\n *\n * @example\n * ```ts\n * // Example of providing a custom modal configuration in an Angular module\n * @NgModule({\n * providers: [\n * provideModalConfig({\n * size: ModalSize.LARGE,\n * dismissable: false\n * })\n * ]\n * })\n * class AppModule {}\n *\n * // Example of injecting modal configuration in a component\n * @Component({...})\n * export class MyComponent {\n * constructor(@Inject(ModalConfig) private modalConfig: ModalConfig) {\n * console.log(this.modalConfig.size); // Outputs the size from the provided or default configuration\n * }\n * }\n * ```\n */\nexport const { ModalDefaultConfig, ModalConfig, injectModalConfig, provideModalConfig } = createConfigTokens('Modal', '@odx/angular/components/modal', {\n dismissable: true,\n size: ModalSize.MEDIUM,\n dismissOnNavigation: true,\n interactiveBackdrop: true,\n variant: ModalVariant.DEFAULT,\n} as ModalConfig);\n","import { Location } from '@angular/common';\nimport { inject, Injectable, Injector, TemplateRef } from '@angular/core';\nimport { DynamicContent, DynamicTextContent, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deepmerge } from '@odx/angular/internal';\nimport { deferFn, getUniqueId, Queue } from '@odx/angular/utils';\nimport { finalize } from 'rxjs';\nimport { BasicModalComponent } from './components';\nimport { provideModalRef } from './helpers';\nimport { ModalComponent } from './modal.component';\nimport { injectModalConfig } from './modal.config';\nimport { BasicModalOptions, GetModalActionData, ModalOptions, ModalRef, ModalSize, ModalType } from './models';\n\n/**\n * Service for managing modal dialogs within the application. It supports creating, opening,\n * and dismissing modals dynamically, with comprehensive options for customization and lifecycle management.\n * Utilizes Angular's dynamic view management to instantiate and render modals as needed.\n *\n * @example\n * ```ts\n * // Example of using ModalService to open a modal\n * constructor(private modalService: ModalService) {}\n *\n * openModal() {\n * const modalRef = this.modalService.open(MyModalContentComponent, {\n * data: { someData: 'test' },\n * size: ModalSize.SMALL,\n * });\n *\n * modalRef.onClose$.subscribe(result => {\n * console.log('Modal closed with result:', result);\n * });\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n private readonly config = injectModalConfig();\n private readonly openModals = new Queue<ModalRef>();\n private readonly injector = inject(Injector);\n private readonly dynamicViewService = inject(DynamicViewService);\n\n /**\n * An observable that emits the current value of the openModals subject.\n *\n * @emits {ModalRef[]} openModals$ - The current array of open modals.\n */\n public readonly openModals$ = this.openModals.value$;\n\n constructor(location: Location) {\n location.onUrlChange(() => {\n for (const modalRef of this.openModals.toArray()) {\n if (modalRef.options.dismissOnNavigation) {\n modalRef.destroy();\n }\n }\n });\n }\n\n /**\n * Dismisses all open modals.\n */\n public dismissAll(): void {\n for (const modalRef of this.openModals.toArray()) {\n modalRef.dismiss();\n }\n }\n\n /**\n * Retrieves the modal reference by its ID.\n *\n * @template Data The type of data passed to the modal.\n * @template Result The type of result returned by the modal.\n * @param {ModalOptions['id']} id The ID of the modal.\n * @returns {ModalRef<Data, Result> | null} - The modal reference if found, otherwise null.\n */\n public getModalById<Data = unknown, Result = unknown>(id: ModalOptions['id']): ModalRef<Data, Result> | null {\n return this.openModals.get(id) as ModalRef<Data, Result>;\n }\n\n /**\n * Creates a modal with the specified options.\n * @template Data - The type of data passed to the modal for use in its content.\n * @template Result - The type of result expected when the modal is closed.\n * @param {Data} modal - The basic modal options.\n * @param {Partial<ModalOptions<Data>> | undefined} options - Additional modal options.\n * @returns {ModalRef<Data, Result>} The reference to the created modal.\n */\n public create<Data extends BasicModalOptions, Result = GetModalActionData<Data>>(modal: Data, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public create(modal: BasicModalOptions, options?: ModalOptions): ModalRef {\n return this.open(BasicModalComponent, {\n data: modal,\n size: ModalSize.SMALL,\n ...options,\n });\n }\n\n /**\n * Creates and opens a new modal with the specified content and options.\n *\n * @template Data - The type of data passed to the modal for use in its content.\n * @template Result - The type of result expected when the modal is closed.\n * @template T - The content type of the modal, either a `TemplateRef` or a component.\n * @param {ModalType<T, Data, Result> | TemplateRef<T>} content - The content of the modal, either as a `TemplateRef` or a component type.\n * @param {Partial<ModalOptions<Data>>} [options] - Optional configuration options for the modal.\n * @returns {ModalRef<Data, Result>} A reference to the newly opened modal, allowing interaction with and control over the modal instance.\n */\n public open<Data, Result, T>(content: TemplateRef<T>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open<Data, Result, T = unknown>(content: ModalType<T, Data, Result>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open(content: ModalType<unknown> | TemplateRef<unknown>, options?: Partial<ModalOptions>): ModalRef {\n const mergedOptions = deepmerge(this.config, { id: getUniqueId('odx-modal') }, options ?? {}) as ModalOptions;\n if (this.getModalById(mergedOptions.id)) {\n throw Error(`Modal with ID ${mergedOptions.id} already open`);\n }\n const modalRef = new ModalRef(mergedOptions, (ref) => this.openModals.isFirst(ref));\n this.attachModal(modalRef, content);\n this.openModals.add(modalRef);\n return modalRef;\n }\n\n private attachModal(modalRef: ModalRef, content: Exclude<DynamicContent, DynamicTextContent>): void {\n const viewRef = this.dynamicViewService.createView(ModalComponent, {\n context: { content },\n injector: Injector.create({\n providers: [provideModalRef(modalRef)],\n parent: this.injector,\n }),\n host: modalRef.options.host,\n });\n const onDestroy = async () => {\n (viewRef.getElement() as HTMLDialogElement)?.close?.();\n this.openModals.remove(modalRef);\n viewRef.destroy();\n };\n\n modalRef.onDestroy$.pipe(finalize(onDestroy)).subscribe();\n deferFn(() => (viewRef.getElement() as HTMLDialogElement)?.showModal?.());\n }\n}\n","import { Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, TemplateRef } from '@angular/core';\nimport { hasChanged, NgChanges } from '@odx/angular/utils';\nimport { ModalService } from './modal.service';\nimport { ModalOptions, ModalRef } from './models';\n\n/**\n * A directive that simplifies the creation and management of modals directly from Angular templates.\n * It allows for declarative modal instantiation with full control over modal options, and supports\n * capturing modal close and dismiss events.\n *\n * Usage:\n * Apply `odxModal` to an `<ng-template>` element and bind it to modal options.\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[odxModal]',\n exportAs: 'odxModal',\n})\nexport class ModalDirective implements OnChanges, OnDestroy {\n private readonly modalService = inject(ModalService);\n private modalRef: ModalRef | null = null;\n\n protected readonly template = inject(TemplateRef);\n\n /**\n * Options for the modal directive.\n *\n * @type {Partial<ModalOptions> | '' | null}\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxModal')\n public modalOptions?: Partial<ModalOptions> | '' | null;\n\n /**\n * Event emitter for closing the modal.\n *\n * @emits {any} The result of the modal close event.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxModalClose')\n public modalClose = new EventEmitter();\n\n /**\n * Event emitter for dismissing the modal.\n *\n * @emits {any} The result of the modal dismiss event.\n */\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxModalDismiss')\n public modalDismiss = new EventEmitter();\n\n public ngOnChanges(changes: NgChanges<ModalDirective>): void {\n if (hasChanged(changes, 'modalOptions') && this.modalOptions) {\n this.modalRef?.update(this.modalOptions);\n }\n }\n\n public ngOnDestroy() {\n this.dismiss();\n }\n\n /**\n * Opens the modal based on the provided template and options. Binds modal result and dismissal outputs to EventEmitter properties.\n */\n public open(): void {\n this.modalRef = this.modalService.open(this.template, this.modalOptions || {});\n this.modalRef.onClose$.subscribe((result) => this.modalClose.next(result));\n this.modalRef.onDismiss$.subscribe((result) => this.modalDismiss.next(result));\n }\n\n /**\n * Dismisses the currently opened modal.\n */\n public dismiss(): void {\n this.modalRef?.dismiss();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { ButtonGroupComponent } from '@odx/angular/components/button-group';\nimport { ModalFooterComponent, ModalHeaderComponent, ModalHeroComponent } from './components';\nimport {\n ModalCloseDirective,\n ModalContentDirective,\n ModalDismissDirective,\n PreventFormMethodDialogDirective,\n PreventMethodDialogDirective,\n} from './directives';\nimport { ModalComponent } from './modal.component';\nimport { ModalDirective } from './modal.directive';\n\nconst modules = [\n ModalComponent,\n ModalHeaderComponent,\n ModalHeroComponent,\n ModalFooterComponent,\n ModalDirective,\n ModalCloseDirective,\n ModalContentDirective,\n ModalDismissDirective,\n PreventMethodDialogDirective,\n PreventFormMethodDialogDirective,\n];\n\n@NgModule({\n imports: [ButtonComponent, ButtonGroupComponent, ...modules],\n exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ...modules],\n})\nexport class ModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -12,13 +12,13 @@ let NavigationBackComponent = class NavigationBackComponent {
12
12
  constructor() {
13
13
  this.element = injectElement();
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationBackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavigationBackComponent, isStandalone: true, selector: "button[odxNavigationBack], a[odxNavigationBack]", ngImport: i0, template: "<odx-icon name=\"arrow-left\" iconSet=\"core\"></odx-icon>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationBackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavigationBackComponent, isStandalone: true, selector: "button[odxNavigationBack], a[odxNavigationBack]", ngImport: i0, template: "<odx-icon name=\"arrow-left\" iconSet=\"core\"></odx-icon>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
17
  };
18
18
  NavigationBackComponent = __decorate([
19
19
  CSSComponent('navigation-back')
20
20
  ], NavigationBackComponent);
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationBackComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationBackComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ standalone: true, selector: 'button[odxNavigationBack], a[odxNavigationBack]', imports: [IconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<odx-icon name=\"arrow-left\" iconSet=\"core\"></odx-icon>\n" }]
24
24
  }] });