@odx/angular 6.1.0 → 6.2.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 (334) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +19 -1
  3. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +1 -1
  4. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +9 -1
  5. package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +9 -5
  6. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +4 -1
  7. package/cdk/option-control/lib/option-control.d.ts +2 -0
  8. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +18 -0
  9. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -1
  10. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +9 -5
  11. package/components/action-group/action-group.component.d.ts +3 -0
  12. package/components/area-header/area-header.component.d.ts +2 -1
  13. package/components/autocomplete/lib/autocomplete.component.d.ts +17 -4
  14. package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +8 -0
  15. package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +4 -0
  16. package/components/avatar/lib/avatar.component.d.ts +6 -2
  17. package/components/badge/lib/badge.component.d.ts +12 -1
  18. package/components/badge/lib/badge.directive.d.ts +18 -3
  19. package/components/bar/lib/directives/bar-button.directive.d.ts +6 -0
  20. package/components/button/lib/button.component.d.ts +9 -1
  21. package/components/button-group/lib/button-group.component.d.ts +12 -0
  22. package/components/calendar/lib/calendar.component.d.ts +11 -0
  23. package/components/calendar/lib/calendar.config.d.ts +6 -0
  24. package/components/calendar/lib/calendar.service.d.ts +13 -1
  25. package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +16 -0
  26. package/components/calendar/lib/daterange.service.d.ts +3 -0
  27. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +4 -0
  28. package/components/calendar/lib/directives/calendar-view.directive.d.ts +18 -0
  29. package/components/calendar/lib/pipes/date-label.pipe.d.ts +4 -0
  30. package/components/card/lib/card.component.d.ts +26 -2
  31. package/components/card/lib/components/card-footer/card-footer.component.d.ts +3 -0
  32. package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +3 -0
  33. package/components/card/lib/directives/card-content.directive.d.ts +3 -0
  34. package/components/card/lib/directives/card-title.directive.d.ts +3 -0
  35. package/components/checkbox/lib/checkbox.component.d.ts +9 -2
  36. package/components/chip/lib/components/chip/chip.component.d.ts +15 -3
  37. package/components/circular-progress/lib/circular-progress.component.d.ts +15 -2
  38. package/components/datepicker/lib/datepicker.component.d.ts +28 -1
  39. package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +7 -1
  40. package/components/daterangepicker/lib/daterangepicker.component.d.ts +4 -0
  41. package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +3 -1
  42. package/components/daterangepicker/lib/required.validator.d.ts +8 -0
  43. package/components/dropdown/lib/dropdown.component.d.ts +6 -4
  44. package/components/dropdown/lib/dropdown.directive.d.ts +38 -3
  45. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +2 -1
  46. package/components/error-page/lib/error-page.component.d.ts +2 -0
  47. package/components/footer/lib/footer.component.d.ts +6 -2
  48. package/components/footer/lib/helpers/create-footer-links.d.ts +1 -2
  49. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +2 -1
  50. package/components/form-field/lib/components/form-group/form-group.component.d.ts +7 -2
  51. package/components/form-field/lib/directives/form-field-error.directive.d.ts +2 -0
  52. package/components/form-field/lib/directives/form.directive.d.ts +4 -0
  53. package/components/form-field/lib/form-field.component.d.ts +17 -2
  54. package/components/form-field/lib/form-field.service.d.ts +27 -6
  55. package/components/form-field/lib/services/form-field-error.service.d.ts +11 -3
  56. package/components/header-navigation/lib/header-navigation.component.d.ts +3 -0
  57. package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +2 -2
  58. package/components/icon/lib/icon.component.d.ts +13 -1
  59. package/components/inline-message/lib/inline-message.component.d.ts +5 -1
  60. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +1 -0
  61. package/components/list/lib/components/list-item/list-item.component.d.ts +10 -1
  62. package/components/list/lib/list.component.d.ts +1 -0
  63. package/components/loading-spinner/lib/loading-spinner.component.d.ts +3 -0
  64. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +7 -0
  65. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +0 -1
  66. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +3 -0
  67. package/components/modal/lib/directives/index.d.ts +2 -0
  68. package/components/modal/lib/directives/prevent-form-method-dialog.directive.d.ts +9 -0
  69. package/components/modal/lib/directives/prevent-method-dialog.directive.d.ts +9 -0
  70. package/components/modal/lib/modal.component.d.ts +11 -3
  71. package/components/modal/lib/modal.module.d.ts +5 -3
  72. package/components/modal/lib/modal.service.d.ts +7 -5
  73. package/components/modal/lib/models/modal-ref.d.ts +18 -4
  74. package/components/notification/lib/components/notification-item/notification-item.component.d.ts +4 -4
  75. package/components/notification/lib/directives/notification-center.directive.d.ts +6 -3
  76. package/components/notification/lib/features/with-browser-notifications.d.ts +1 -1
  77. package/components/notification/lib/features/with-load-notifications.d.ts +2 -1
  78. package/components/notification/lib/features/with-notification-transformer.d.ts +2 -2
  79. package/components/notification/lib/features/with-peristent-notifications.d.ts +6 -8
  80. package/components/notification/lib/features/with-save-notifications.d.ts +1 -1
  81. package/components/paginator/lib/paginator.component.d.ts +50 -0
  82. package/components/progress/lib/progress.component.d.ts +6 -1
  83. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +7 -0
  84. package/components/radio-group/lib/radio-group.component.d.ts +6 -0
  85. package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +9 -0
  86. package/components/rail-navigation/lib/rail-navigation.component.d.ts +10 -2
  87. package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +8 -10
  88. package/components/rich-list/lib/rich-list.component.d.ts +3 -0
  89. package/components/select/lib/components/select-option/select-option.component.d.ts +1 -0
  90. package/components/select/lib/directives/select-input-control.directive.d.ts +4 -1
  91. package/components/select/lib/select.component.d.ts +7 -1
  92. package/components/slider/lib/slider.directive.d.ts +7 -4
  93. package/components/spinbox/lib/spinbox.component.d.ts +9 -0
  94. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +4 -1
  95. package/components/table/lib/components/check-cell/check-cell.component.d.ts +4 -1
  96. package/components/table/lib/components/header-title/header-title.component.d.ts +12 -1
  97. package/components/table/lib/table.component.d.ts +18 -1
  98. package/components/timepicker/lib/components/timepicker-option.component.d.ts +9 -1
  99. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +2 -0
  100. package/components/timepicker/lib/timepicker.component.d.ts +18 -3
  101. package/components/timepicker/lib/timepicker.service.d.ts +0 -7
  102. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +19 -0
  103. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +57 -1
  104. package/components/toast/lib/toast.service.d.ts +12 -0
  105. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +3 -0
  106. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +2 -0
  107. package/components/tooltip/lib/tooltip.component.d.ts +7 -1
  108. package/components/tooltip/lib/tooltip.directive.d.ts +15 -2
  109. package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +17 -0
  110. package/components/wizard/lib/wizard.component.d.ts +13 -1
  111. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +20 -2
  112. package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +2 -2
  113. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -1
  114. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +10 -6
  115. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +5 -2
  116. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -1
  117. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +19 -1
  118. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -1
  119. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +9 -4
  120. package/esm2022/components/action-group/action-group.component.mjs +4 -1
  121. package/esm2022/components/area-header/area-header.component.mjs +3 -2
  122. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +8 -5
  123. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +9 -1
  124. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +5 -1
  125. package/esm2022/components/avatar/lib/avatar.component.mjs +7 -3
  126. package/esm2022/components/badge/lib/badge.component.mjs +7 -2
  127. package/esm2022/components/badge/lib/badge.directive.mjs +19 -4
  128. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +7 -1
  129. package/esm2022/components/button/lib/button.component.mjs +10 -2
  130. package/esm2022/components/button-group/lib/button-group.component.mjs +13 -1
  131. package/esm2022/components/calendar/lib/calendar.component.mjs +12 -1
  132. package/esm2022/components/calendar/lib/calendar.config.mjs +1 -1
  133. package/esm2022/components/calendar/lib/calendar.service.mjs +14 -2
  134. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +13 -1
  135. package/esm2022/components/calendar/lib/daterange.service.mjs +4 -1
  136. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +5 -1
  137. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +17 -1
  138. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +5 -1
  139. package/esm2022/components/card/lib/card.component.mjs +25 -1
  140. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +4 -1
  141. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +4 -1
  142. package/esm2022/components/card/lib/directives/card-content.directive.mjs +4 -1
  143. package/esm2022/components/card/lib/directives/card-title.directive.mjs +4 -1
  144. package/esm2022/components/checkbox/lib/checkbox.component.mjs +10 -3
  145. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +15 -3
  146. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +16 -3
  147. package/esm2022/components/datepicker/lib/datepicker.component.mjs +29 -2
  148. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +8 -2
  149. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +5 -1
  150. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -2
  151. package/esm2022/components/daterangepicker/lib/required.validator.mjs +9 -9
  152. package/esm2022/components/dropdown/lib/dropdown.component.mjs +1 -5
  153. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +31 -4
  154. package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +3 -2
  155. package/esm2022/components/error-page/lib/error-page.component.mjs +3 -1
  156. package/esm2022/components/footer/lib/footer.component.mjs +7 -3
  157. package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +2 -3
  158. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -2
  159. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +6 -3
  160. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +1 -1
  161. package/esm2022/components/form-field/lib/directives/form.directive.mjs +5 -1
  162. package/esm2022/components/form-field/lib/form-field.component.mjs +14 -2
  163. package/esm2022/components/form-field/lib/form-field.service.mjs +28 -7
  164. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +12 -4
  165. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +1 -1
  166. package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +3 -3
  167. package/esm2022/components/icon/lib/icon.component.mjs +14 -2
  168. package/esm2022/components/inline-message/lib/inline-message.component.mjs +6 -2
  169. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +2 -1
  170. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +11 -2
  171. package/esm2022/components/list/lib/list.component.mjs +2 -1
  172. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +4 -1
  173. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +8 -1
  174. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +1 -1
  175. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +4 -1
  176. package/esm2022/components/modal/lib/directives/index.mjs +3 -1
  177. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +23 -0
  178. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +23 -0
  179. package/esm2022/components/modal/lib/modal.component.mjs +36 -17
  180. package/esm2022/components/modal/lib/modal.module.mjs +10 -4
  181. package/esm2022/components/modal/lib/modal.service.mjs +4 -3
  182. package/esm2022/components/modal/lib/models/modal-ref.mjs +19 -5
  183. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +5 -5
  184. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +7 -4
  185. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +4 -5
  186. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +3 -3
  187. package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +3 -3
  188. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +7 -9
  189. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +3 -4
  190. package/esm2022/components/paginator/lib/paginator.component.mjs +51 -1
  191. package/esm2022/components/progress/lib/progress.component.mjs +7 -2
  192. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -1
  193. package/esm2022/components/radio-group/lib/radio-group.component.mjs +7 -1
  194. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +7 -1
  195. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +11 -3
  196. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +4 -6
  197. package/esm2022/components/rich-list/lib/rich-list.component.mjs +4 -1
  198. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +2 -1
  199. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +4 -1
  200. package/esm2022/components/select/lib/select.component.mjs +8 -2
  201. package/esm2022/components/slider/lib/slider.directive.mjs +7 -4
  202. package/esm2022/components/spinbox/lib/spinbox.component.mjs +10 -1
  203. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +5 -2
  204. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +5 -2
  205. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +11 -1
  206. package/esm2022/components/table/lib/table.component.mjs +15 -1
  207. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +10 -2
  208. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +3 -1
  209. package/esm2022/components/timepicker/lib/timepicker.component.mjs +14 -4
  210. package/esm2022/components/timepicker/lib/timepicker.service.mjs +1 -8
  211. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +20 -1
  212. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +24 -1
  213. package/esm2022/components/toast/lib/toast.service.mjs +13 -1
  214. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +4 -1
  215. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -1
  216. package/esm2022/components/tooltip/lib/tooltip.component.mjs +6 -2
  217. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +16 -3
  218. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +18 -1
  219. package/esm2022/components/wizard/lib/wizard.component.mjs +22 -4
  220. package/esm2022/lib/controllers/disabled.controller.mjs +9 -1
  221. package/esm2022/lib/controllers/readonly.controller.mjs +3 -1
  222. package/esm2022/lib/directives/click-outside.directive.mjs +2 -1
  223. package/esm2022/lib/services/window-ref.mjs +22 -4
  224. package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +1 -1
  225. package/esm2022/theming/lib/theming.service.mjs +3 -1
  226. package/esm2022/utils/lib/helpers/queue.mjs +24 -14
  227. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +19 -1
  228. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  229. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -1
  230. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  231. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +3 -0
  232. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  233. package/fesm2022/odx-angular-cdk-expandable.mjs +13 -6
  234. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  235. package/fesm2022/odx-angular-cdk-option-control.mjs +2 -0
  236. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  237. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +20 -0
  238. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  239. package/fesm2022/odx-angular-components-accordion.mjs +8 -3
  240. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  241. package/fesm2022/odx-angular-components-action-group.mjs +3 -0
  242. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  243. package/fesm2022/odx-angular-components-area-header.mjs +2 -1
  244. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  245. package/fesm2022/odx-angular-components-autocomplete.mjs +19 -4
  246. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  247. package/fesm2022/odx-angular-components-avatar.mjs +6 -2
  248. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  249. package/fesm2022/odx-angular-components-badge.mjs +24 -4
  250. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  251. package/fesm2022/odx-angular-components-bar.mjs +6 -0
  252. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  253. package/fesm2022/odx-angular-components-button-group.mjs +12 -0
  254. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  255. package/fesm2022/odx-angular-components-button.mjs +9 -1
  256. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  257. package/fesm2022/odx-angular-components-calendar.mjs +63 -1
  258. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  259. package/fesm2022/odx-angular-components-card.mjs +36 -0
  260. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  261. package/fesm2022/odx-angular-components-checkbox.mjs +9 -2
  262. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  263. package/fesm2022/odx-angular-components-chip.mjs +14 -2
  264. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  265. package/fesm2022/odx-angular-components-circular-progress.mjs +15 -2
  266. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  267. package/fesm2022/odx-angular-components-datepicker.mjs +35 -2
  268. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  269. package/fesm2022/odx-angular-components-daterangepicker.mjs +15 -9
  270. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  271. package/fesm2022/odx-angular-components-dropdown.mjs +32 -8
  272. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  273. package/fesm2022/odx-angular-components-error-page.mjs +2 -0
  274. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  275. package/fesm2022/odx-angular-components-footer.mjs +7 -4
  276. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  277. package/fesm2022/odx-angular-components-form-field.mjs +62 -13
  278. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  279. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  280. package/fesm2022/odx-angular-components-icon.mjs +15 -3
  281. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  282. package/fesm2022/odx-angular-components-inline-message.mjs +5 -1
  283. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  284. package/fesm2022/odx-angular-components-list.mjs +12 -1
  285. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  286. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -0
  287. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  288. package/fesm2022/odx-angular-components-modal.mjs +110 -25
  289. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  290. package/fesm2022/odx-angular-components-notification.mjs +25 -26
  291. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  292. package/fesm2022/odx-angular-components-paginator.mjs +50 -0
  293. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  294. package/fesm2022/odx-angular-components-progress.mjs +6 -1
  295. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  296. package/fesm2022/odx-angular-components-radio-group.mjs +8 -0
  297. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  298. package/fesm2022/odx-angular-components-rail-navigation.mjs +16 -2
  299. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  300. package/fesm2022/odx-angular-components-rich-list.mjs +6 -5
  301. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  302. package/fesm2022/odx-angular-components-select.mjs +11 -1
  303. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  304. package/fesm2022/odx-angular-components-slider.mjs +6 -3
  305. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  306. package/fesm2022/odx-angular-components-spinbox.mjs +9 -0
  307. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  308. package/fesm2022/odx-angular-components-tab-bar.mjs +4 -1
  309. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  310. package/fesm2022/odx-angular-components-table.mjs +28 -1
  311. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  312. package/fesm2022/odx-angular-components-timepicker.mjs +24 -11
  313. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  314. package/fesm2022/odx-angular-components-toast.mjs +54 -0
  315. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  316. package/fesm2022/odx-angular-components-toggle-button-group.mjs +5 -0
  317. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  318. package/fesm2022/odx-angular-components-tooltip.mjs +20 -3
  319. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  320. package/fesm2022/odx-angular-components-wizard.mjs +38 -3
  321. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  322. package/fesm2022/odx-angular-theming.mjs +2 -0
  323. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  324. package/fesm2022/odx-angular-utils.mjs +23 -13
  325. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  326. package/fesm2022/odx-angular.mjs +32 -3
  327. package/fesm2022/odx-angular.mjs.map +1 -1
  328. package/lib/controllers/disabled.controller.d.ts +8 -0
  329. package/lib/controllers/readonly.controller.d.ts +2 -0
  330. package/lib/directives/click-outside.directive.d.ts +1 -0
  331. package/lib/services/window-ref.d.ts +21 -3
  332. package/package.json +1 -1
  333. package/theming/lib/theming.service.d.ts +2 -0
  334. package/utils/lib/helpers/queue.d.ts +23 -13
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-icon.mjs","sources":["../../../../libs/angular/components/icon/src/lib/helpers/unpack-icon-identifier.ts","../../../../libs/angular/components/icon/src/lib/icon.config.ts","../../../../libs/angular/components/icon/src/lib/models/icon-size.ts","../../../../libs/angular/components/icon/src/lib/icon.component.ts","../../../../libs/angular/components/icon/src/odx-angular-components-icon.ts"],"sourcesContent":["/**\n * Unpacks a combined icon identifier string into separate icon set and icon name components.\n * The identifier is expected to follow the format \"iconSet::iconName\". If the \"iconName\" part is\n * missing, the function assumes the icon belongs to the 'core' set.\n *\n * @param value The combined identifier string in the format \"iconSet::iconName\".\n * @returns A tuple containing the icon set and icon name as two separate strings. Defaults to 'core'\n * if the iconName is omitted in the input.\n *\n * @example\n * ```ts\n * unpackIconIdentifier(\"menu\") // returns ['core', 'menu']\n * ```\n */\nexport function unpackIconIdentifier(value: string): [iconSet: string, iconName: string] {\n const [iconSet, iconName] = value.split('::');\n if (!iconName) return ['core', iconSet];\n\n return [iconSet, iconName];\n}\n","import { createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Represents the configuration options for icons in the application, specifying defaults\n * and configurations for the icon components used across the system.\n *\n * @typedef {Object} IconConfig\n * @property {string} defaultIconSet - The default set of icons to use if no specific set is provided.\n */\nexport interface IconConfig {\n defaultIconSet: string;\n}\n\n/**\n * Utility functions generated to handle the injection and provision of the `IconConfig`.\n * These include tokens and functions for accessing and providing icon configurations.\n *\n * - `IconConfig`: A type representing the shape of the icon configuration object.\n * - `IconDefaultConfig`: The default configuration which sets 'core' as the default icon set.\n * - `injectIconConfig`: A function to inject the icon configuration, usable in Angular components or services.\n * - `provideIconConfig`: A function to provide the icon configuration, typically used in Angular module providers.\n *\n * @example\n * ```ts\n * // To inject icon configuration in a component or service\n * const config = injectIconConfig();\n * console.log(config.defaultIconSet); // Outputs: 'core'\n *\n * // To provide icon configuration in a module\n * provideIconConfig({ defaultIconSet: 'custom' });\n * ```\n */\nexport const { IconConfig, IconDefaultConfig, injectIconConfig, provideIconConfig } = createConfigTokens('Icon', '@odx/angular/components/icon', {\n defaultIconSet: 'core',\n} as IconConfig);\n","export type IconSize = (typeof IconSize)[keyof typeof IconSize];\n\nexport const IconSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge',\n INLINE: 'inline',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { unpackIconIdentifier } from './helpers';\nimport { injectIconConfig } from './icon.config';\nimport { IconSize } from './models';\n\n/**\n * Represents an icon component that can dynamically display various icons based on input properties. This component\n * leverages CSS for styling and is designed to be easily embedded within other components and views.\n *\n * It allows for specifying icon sets and individual icon names, supporting flexible usage across different contexts\n * and themes. The component is also optimized for performance with Angular's OnPush change detection strategy.\n */\n@CSSComponent('icon')\n@Component({\n selector: 'odx-icon',\n template: '<span></span>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n '[class.notranslate]': 'true',\n '[attr.data-icon-name]': 'name',\n '[attr.data-icon-set]': 'iconSet',\n translate: 'no',\n },\n})\nexport class IconComponent {\n public readonly element = injectElement();\n\n /**\n * Determines whether the icon should be displayed inline with text or other elements.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public inline = false;\n\n /**\n * Specifies the size of the icon, which can be adjusted using predefined sizes from the IconSize enum.\n * @see {IconSize}\n */\n @CSSModifier()\n @Input()\n public size: IconSize = IconSize.MEDIUM;\n\n /**\n * The name of the icon to be displayed, which corresponds to specific icons within a given icon set.\n */\n @Input()\n public name: string | null = null;\n\n /**\n * Specifies the icon set that the icon belongs to. The default set can be injected from the icon configuration.\n */\n @Input()\n public iconSet: string | null = injectIconConfig().defaultIconSet;\n\n /**\n * Allows for setting both the icon set and icon name via a single identifier, typically formatted as 'set::name'.\n * Unpacking this identifier sets both `name` and `iconSet` properties.\n */\n @Input()\n public set identifier(value: string | null | undefined) {\n const [iconSet, name] = value ? unpackIconIdentifier(value) : [null, null];\n this.name = name;\n this.iconSet = iconSet;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-icon.mjs","sources":["../../../../libs/angular/components/icon/src/lib/helpers/unpack-icon-identifier.ts","../../../../libs/angular/components/icon/src/lib/icon.config.ts","../../../../libs/angular/components/icon/src/lib/models/icon-size.ts","../../../../libs/angular/components/icon/src/lib/icon.component.ts","../../../../libs/angular/components/icon/src/odx-angular-components-icon.ts"],"sourcesContent":["/**\n * Unpacks a combined icon identifier string into separate icon set and icon name components.\n * The identifier is expected to follow the format \"iconSet::iconName\". If the \"iconName\" part is\n * missing, the function assumes the icon belongs to the 'core' set.\n *\n * @param {string} value The combined identifier string in the format \"iconSet::iconName\".\n * @returns {[iconSet: string, iconName: string]} A tuple containing the icon set and icon name as two separate strings. Defaults to 'core'\n * if the iconName is omitted in the input.\n *\n * @example\n * ```ts\n * unpackIconIdentifier(\"menu\") // returns ['core', 'menu']\n * ```\n */\nexport function unpackIconIdentifier(value: string): [iconSet: string, iconName: string] {\n const [iconSet, iconName] = value.split('::');\n if (!iconName) return ['core', iconSet];\n\n return [iconSet, iconName];\n}\n","import { createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Represents the configuration options for icons in the application, specifying defaults\n * and configurations for the icon components used across the system.\n *\n * @typedef {Object} IconConfig\n * @property {string} defaultIconSet - The default set of icons to use if no specific set is provided.\n */\nexport interface IconConfig {\n defaultIconSet: string;\n}\n\n/**\n * Utility functions generated to handle the injection and provision of the `IconConfig`.\n * These include tokens and functions for accessing and providing icon configurations.\n *\n * - `IconConfig`: A type representing the shape of the icon configuration object.\n * - `IconDefaultConfig`: The default configuration which sets 'core' as the default icon set.\n * - `injectIconConfig`: A function to inject the icon configuration, usable in Angular components or services.\n * - `provideIconConfig`: A function to provide the icon configuration, typically used in Angular module providers.\n *\n * @example\n * ```ts\n * // To inject icon configuration in a component or service\n * const config = injectIconConfig();\n * console.log(config.defaultIconSet); // Outputs: 'core'\n *\n * // To provide icon configuration in a module\n * provideIconConfig({ defaultIconSet: 'custom' });\n * ```\n */\nexport const { IconConfig, IconDefaultConfig, injectIconConfig, provideIconConfig } = createConfigTokens('Icon', '@odx/angular/components/icon', {\n defaultIconSet: 'core',\n} as IconConfig);\n","export type IconSize = (typeof IconSize)[keyof typeof IconSize];\n\nexport const IconSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge',\n INLINE: 'inline',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { unpackIconIdentifier } from './helpers';\nimport { injectIconConfig } from './icon.config';\nimport { IconSize } from './models';\n\n/**\n * Represents an icon component that can dynamically display various icons based on input properties. This component\n * leverages CSS for styling and is designed to be easily embedded within other components and views.\n *\n * It allows for specifying icon sets and individual icon names, supporting flexible usage across different contexts\n * and themes. The component is also optimized for performance with Angular's OnPush change detection strategy.\n */\n@CSSComponent('icon')\n@Component({\n selector: 'odx-icon',\n template: '<span></span>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n '[class.notranslate]': 'true',\n '[attr.data-icon-name]': 'name',\n '[attr.data-icon-set]': 'iconSet',\n translate: 'no',\n },\n})\nexport class IconComponent {\n public readonly element = injectElement();\n\n /**\n * Determines whether the icon should be displayed inline with text or other elements.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public inline = false;\n\n /**\n * Specifies the size of the icon, which can be adjusted using predefined sizes from the IconSize enum.\n *\n * @type {IconSize}\n * @default IconSize.MEDIUM\n */\n @CSSModifier()\n @Input()\n public size: IconSize = IconSize.MEDIUM;\n\n /**\n * The name of the icon to be displayed, which corresponds to specific icons within a given icon set.\n *\n * @type {string | null}\n * @default null\n */\n @Input()\n public name: string | null = null;\n\n /**\n * Specifies the icon set that the icon belongs to. The default set can be injected from the icon configuration.\n *\n * @type {string | null}\n */\n @Input()\n public iconSet: string | null = injectIconConfig().defaultIconSet;\n\n /**\n * Allows for setting both the icon set and icon name via a single identifier, typically formatted as 'set::name'.\n * Unpacking this identifier sets both `name` and `iconSet` properties.\n *\n * @param {string | null | undefined} value - The identifier to unpack.\n */\n @Input()\n public set identifier(value: string | null | undefined) {\n const [iconSet, name] = value ? unpackIconIdentifier(value) : [null, null];\n this.name = name;\n this.iconSet = iconSet;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;AAaG;AACG,SAAU,oBAAoB,CAAC,KAAa,EAAA;AAChD,IAAA,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExC,IAAA,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7B;;ACNA;;;;;;;;;;;;;;;;;;AAkBG;AACU,MAAA,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,8BAA8B,EAAE;AAC/I,IAAA,cAAc,EAAE,MAAM;AACT,CAAA;;AChCF,MAAA,QAAQ,GAAG;AACtB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;;;ACAlB;;;;;;AAMG;AAeU,IAAA,aAAa,GAAnB,MAAM,aAAa,CAAA;AAAnB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;AAKG;QAGI,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAEtB;;;;;AAKG;AAGI,QAAA,IAAA,CAAA,IAAI,GAAa,QAAQ,CAAC,MAAM,CAAC;AAExC;;;;;AAKG;QAEI,IAAI,CAAA,IAAA,GAAkB,IAAI,CAAC;AAElC;;;;AAIG;AAEI,QAAA,IAAA,CAAA,OAAO,GAAkB,gBAAgB,EAAE,CAAC,cAAc,CAAC;AAcnE,KAAA;AAZC;;;;;AAKG;IACH,IACW,UAAU,CAAC,KAAgC,EAAA;QACpD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;+GAnDU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAUJ,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArB1B,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAsBlB,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEQ,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUf,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAE0B,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AArB7B,aAAa,GAAA,UAAA,CAAA;IAdzB,YAAY,CAAC,MAAM,CAAC;AAcR,CAAA,EAAA,aAAa,CAoDzB,CAAA;4FApDY,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,eAAe;oBACzB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,qBAAqB,EAAE,MAAM;AAC7B,wBAAA,uBAAuB,EAAE,MAAM;AAC/B,wBAAA,sBAAsB,EAAE,SAAS;AACjC,wBAAA,SAAS,EAAE,IAAI;AAChB,qBAAA;AACF,iBAAA,CAAA;8BAYQ,MAAM,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAW/B,IAAI,EAAA,CAAA;sBADV,KAAK;gBAUC,IAAI,EAAA,CAAA;sBADV,KAAK;gBASC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAUK,UAAU,EAAA,CAAA;sBADpB,KAAK;;;AC1ER;;AAEG;;;;"}
@@ -23,12 +23,16 @@ let InlineMessageComponent = class InlineMessageComponent {
23
23
  /**
24
24
  * Determines the type of message to display, which influences the icon and styling.
25
25
  * Default is `InlineMessageVariant.DEFAULT`, which is typically styled as an informational message.
26
- * @see {InlineMessageVariant}
26
+ *
27
+ * @type {InlineMessageVariant}
28
+ * @default InlineMessageVariant.DEFAULT
27
29
  */
28
30
  this.variant = InlineMessageVariant.DEFAULT;
29
31
  }
30
32
  /**
31
33
  * Getter for the icon name based on the current variant.
34
+ *
35
+ * @returns {string} The icon name to display.
32
36
  */
33
37
  get icon() {
34
38
  switch (this.variant) {
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-inline-message.mjs","sources":["../../../../libs/angular/components/inline-message/src/lib/models/inline-message-variant.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.html","../../../../libs/angular/components/inline-message/src/odx-angular-components-inline-message.ts"],"sourcesContent":["export type InlineMessageVariant = typeof InlineMessageVariant[keyof typeof InlineMessageVariant];\n\nexport const InlineMessageVariant = {\n DEFAULT: 'default',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { InlineMessageVariant } from './models';\n\n/**\n * Represents an inline message component used for displaying contextual feedback to users.\n * This component can show different types of messages such as warnings, errors, successes, or informational messages,\n * each with corresponding icons. It leverages the `IconComponent` to render these icons.\n */\n@CSSComponent('inline-message')\n@Component({\n selector: 'odx-inline-message',\n templateUrl: 'inline-message.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent],\n})\nexport class InlineMessageComponent {\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Determines the type of message to display, which influences the icon and styling.\n * Default is `InlineMessageVariant.DEFAULT`, which is typically styled as an informational message.\n * @see {InlineMessageVariant}\n */\n @CSSModifier()\n @Input()\n public variant?: InlineMessageVariant | null = InlineMessageVariant.DEFAULT;\n\n /**\n * Getter for the icon name based on the current variant.\n */\n public get icon(): string {\n switch (this.variant) {\n case InlineMessageVariant.WARNING:\n return 'warning';\n case InlineMessageVariant.DANGER:\n return 'error';\n case InlineMessageVariant.SUCCESS:\n return 'check';\n default:\n return 'info';\n }\n }\n}\n","<odx-icon size=\"medium\" [name]=\"icon\" iconSet=\"core\"></odx-icon>\n<div class=\"odx-inline-message__content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEa,MAAA,oBAAoB,GAAG;AAClC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,OAAO,EAAE,SAAS;;;ACApB;;;;AAIG;AAUU,IAAA,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;AAA5B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAe,CAAC;AAEvD;;;;AAIG;AAGI,QAAA,IAAA,CAAA,OAAO,GAAiC,oBAAoB,CAAC,OAAO,CAAC;AAiB7E,KAAA;AAfC;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,QAAQ,IAAI,CAAC,OAAO;YAClB,KAAK,oBAAoB,CAAC,OAAO;AAC/B,gBAAA,OAAO,SAAS,CAAC;YACnB,KAAK,oBAAoB,CAAC,MAAM;AAC9B,gBAAA,OAAO,OAAO,CAAC;YACjB,KAAK,oBAAoB,CAAC,OAAO;AAC/B,gBAAA,OAAO,OAAO,CAAC;AACjB,YAAA;AACE,gBAAA,OAAO,MAAM,CAAC;AACjB,SAAA;KACF;+GA1BU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBnC,4JAIA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAYhB,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAE8D,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAVjE,sBAAsB,GAAA,UAAA,CAAA;IATlC,YAAY,CAAC,gBAAgB,CAAC;AASlB,CAAA,EAAA,sBAAsB,CA2BlC,CAAA;4FA3BY,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAElB,UAAA,EAAA,IAAI,EACC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,4JAAA,EAAA,CAAA;8BAYjB,OAAO,EAAA,CAAA;sBADb,KAAK;;;AE7BR;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-inline-message.mjs","sources":["../../../../libs/angular/components/inline-message/src/lib/models/inline-message-variant.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.html","../../../../libs/angular/components/inline-message/src/odx-angular-components-inline-message.ts"],"sourcesContent":["export type InlineMessageVariant = typeof InlineMessageVariant[keyof typeof InlineMessageVariant];\n\nexport const InlineMessageVariant = {\n DEFAULT: 'default',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { InlineMessageVariant } from './models';\n\n/**\n * Represents an inline message component used for displaying contextual feedback to users.\n * This component can show different types of messages such as warnings, errors, successes, or informational messages,\n * each with corresponding icons. It leverages the `IconComponent` to render these icons.\n */\n@CSSComponent('inline-message')\n@Component({\n selector: 'odx-inline-message',\n templateUrl: 'inline-message.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent],\n})\nexport class InlineMessageComponent {\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Determines the type of message to display, which influences the icon and styling.\n * Default is `InlineMessageVariant.DEFAULT`, which is typically styled as an informational message.\n *\n * @type {InlineMessageVariant}\n * @default InlineMessageVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant?: InlineMessageVariant | null = InlineMessageVariant.DEFAULT;\n\n /**\n * Getter for the icon name based on the current variant.\n *\n * @returns {string} The icon name to display.\n */\n public get icon(): string {\n switch (this.variant) {\n case InlineMessageVariant.WARNING:\n return 'warning';\n case InlineMessageVariant.DANGER:\n return 'error';\n case InlineMessageVariant.SUCCESS:\n return 'check';\n default:\n return 'info';\n }\n }\n}\n","<odx-icon size=\"medium\" [name]=\"icon\" iconSet=\"core\"></odx-icon>\n<div class=\"odx-inline-message__content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEa,MAAA,oBAAoB,GAAG;AAClC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,OAAO,EAAE,SAAS;;;ACApB;;;;AAIG;AAUU,IAAA,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;AAA5B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAe,CAAC;AAEvD;;;;;;AAMG;AAGI,QAAA,IAAA,CAAA,OAAO,GAAiC,oBAAoB,CAAC,OAAO,CAAC;AAmB7E,KAAA;AAjBC;;;;AAIG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,QAAQ,IAAI,CAAC,OAAO;YAClB,KAAK,oBAAoB,CAAC,OAAO;AAC/B,gBAAA,OAAO,SAAS,CAAC;YACnB,KAAK,oBAAoB,CAAC,MAAM;AAC9B,gBAAA,OAAO,OAAO,CAAC;YACjB,KAAK,oBAAoB,CAAC,OAAO;AAC/B,gBAAA,OAAO,OAAO,CAAC;AACjB,YAAA;AACE,gBAAA,OAAO,MAAM,CAAC;AACjB,SAAA;KACF;+GA9BU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBnC,4JAIA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAchB,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAE8D,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAZjE,sBAAsB,GAAA,UAAA,CAAA;IATlC,YAAY,CAAC,gBAAgB,CAAC;AASlB,CAAA,EAAA,sBAAsB,CA+BlC,CAAA;4FA/BY,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAElB,UAAA,EAAA,IAAI,EACC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,4JAAA,EAAA,CAAA;8BAcjB,OAAO,EAAA,CAAA;sBADb,KAAK;;;AE/BR;;AAEG;;;;"}
@@ -18,6 +18,7 @@ import * as i2 from '@angular/common';
18
18
  * Represents a component that serves as an expandable list item within an application.
19
19
  * It uses animations for expanding and collapsing content, and it integrates seamlessly
20
20
  * with other components such as buttons and icons for interactive elements.
21
+ *
21
22
  * @see {ExpandableItemDirective}
22
23
  */
23
24
  let ExpandableListItemComponent = class ExpandableListItemComponent {
@@ -55,20 +56,29 @@ let ListItemComponent = class ListItemComponent {
55
56
  this.element = injectElement();
56
57
  /**
57
58
  * Marks the list item as potentially harmful or attention-needing, affecting its style and appearance.
59
+ *
58
60
  * @deprecated Use `variant` instead.
59
61
  */
60
62
  this.danger = false;
61
63
  /**
62
64
  * Specifies the visual variant of the list item.
63
- * @see {ListItemVariant}
65
+ *
66
+ * @type {ListItemVariant}
67
+ * @default ListItemVariant.DEFAULT
64
68
  */
65
69
  this.variant = ListItemVariant.DEFAULT;
66
70
  /**
67
71
  * Marks the list item as disabled, preventing user interaction and changing its appearance.
72
+ *
73
+ * @type {boolean}
74
+ * @default false
68
75
  */
69
76
  this.muted = false;
70
77
  /**
71
78
  * Marks the list item as selected, changing its appearance to indicate its state.
79
+ *
80
+ * @type {boolean}
81
+ * @default false
72
82
  */
73
83
  this.selected = false;
74
84
  }
@@ -117,6 +127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
117
127
  /**
118
128
  * Represents a list component that can optionally act as an expandable container. This component can be used
119
129
  * to display a list of items where each item might be individually expandable.
130
+ *
120
131
  * @see {ExpandableContainerDirective}
121
132
  */
122
133
  let ListComponent = class ListComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-list.mjs","sources":["../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.html","../../../../libs/angular/components/list/src/lib/models/list-item-variant.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.html","../../../../libs/angular/components/list/src/lib/list.component.ts","../../../../libs/angular/components/list/src/lib/list.component.html","../../../../libs/angular/components/list/src/lib/list.module.ts","../../../../libs/angular/components/list/src/odx-angular-components-list.ts"],"sourcesContent":["import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\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';\n\n/**\n * Represents a component that serves as an expandable list item within an application.\n * It uses animations for expanding and collapsing content, and it integrates seamlessly\n * with other components such as buttons and icons for interactive elements.\n * @see {ExpandableItemDirective}\n */\n@CSSComponent('expandable-list-item')\n@Component({\n standalone: true,\n selector: 'odx-expandable-list-item',\n templateUrl: 'expandable-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CoreModule, ButtonComponent, IconComponent, ActionGroupComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.odx-expandable-list-item--expanded]': 'expandableItem.expanded',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class ExpandableListItemComponent {\n protected readonly expandableItem = inject(ExpandableItemDirective);\n public readonly element = injectElement<HTMLElement>();\n}\n","<div class=\"odx-expandable-list-item__header\">\n <ng-content select=\"odx-list-item, [odxListItem]\" />\n <odx-action-group class=\"odx-expandable-list-item__action\">\n <button odxButton (click)=\"expandableItem.toggle()\">\n <odx-icon [class.odx-expandable-list-item__icon--expanded]=\"expandableItem.expanded\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div @expandSlotAnimation class=\"odx-expandable-list-item__slot\" *ngIf=\"expandableItem.expanded\">\n <ng-content select=\"odx-list\" />\n</div>\n","export type ListItemVariant = (typeof ListItemVariant)[keyof typeof ListItemVariant];\n\nexport const ListItemVariant = {\n DEFAULT: 'default',\n DANGER: 'danger',\n WARNING: 'warning',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { ListItemVariant } from '../../models';\n\n/**\n * Represents a stylable list item component that can be easily integrated within Angular applications.\n * It supports various visual variants, disabled and selected states, and can be used both as a standalone or\n * as an element in a larger list or collection of items.\n */\n@CSSComponent('list-item')\n@Component({\n standalone: true,\n selector: 'odx-list-item, [odxListItem]',\n templateUrl: './list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [WithDisabledState, WithTabIndex],\n})\nexport class ListItemComponent implements OnChanges {\n private readonly withTabIndex = inject(WithTabIndex, { self: true });\n\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Marks the list item as potentially harmful or attention-needing, affecting its style and appearance.\n * @deprecated Use `variant` instead.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public danger = false;\n\n /**\n * Specifies the visual variant of the list item.\n * @see {ListItemVariant}\n */\n @CSSModifier()\n @Input()\n public variant: ListItemVariant = ListItemVariant.DEFAULT;\n\n /**\n * Marks the list item as disabled, preventing user interaction and changing its appearance.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public muted = false;\n\n /**\n * Marks the list item as selected, changing its appearance to indicate its state.\n */\n @HostBinding('class.is-selected')\n @Input({ transform: booleanAttribute })\n public selected = false;\n\n public ngOnChanges(changes: NgChanges<ListItemComponent>): void {\n if (hasChanged(changes, 'muted', false)) {\n this.withTabIndex.setTabindex(this.muted ? -1 : null);\n }\n }\n}\n","<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a list component that can optionally act as an expandable container. This component can be used\n * to display a list of items where each item might be individually expandable.\n * @see {ExpandableContainerDirective}\n */\n@CSSComponent('list')\n@Component({\n selector: 'odx-list',\n standalone: true,\n templateUrl: './list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class ListComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-list, odx-list-item, [odxListItem], odx-expandable-list-item\" />\n","import { NgModule } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { ExpandableListItemComponent, ListItemComponent } from './components';\nimport { ListComponent } from './list.component';\n\nconst modules = [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-list.mjs","sources":["../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.html","../../../../libs/angular/components/list/src/lib/models/list-item-variant.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.html","../../../../libs/angular/components/list/src/lib/list.component.ts","../../../../libs/angular/components/list/src/lib/list.component.html","../../../../libs/angular/components/list/src/lib/list.module.ts","../../../../libs/angular/components/list/src/odx-angular-components-list.ts"],"sourcesContent":["import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\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';\n\n/**\n * Represents a component that serves as an expandable list item within an application.\n * It uses animations for expanding and collapsing content, and it integrates seamlessly\n * with other components such as buttons and icons for interactive elements.\n *\n * @see {ExpandableItemDirective}\n */\n@CSSComponent('expandable-list-item')\n@Component({\n standalone: true,\n selector: 'odx-expandable-list-item',\n templateUrl: 'expandable-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CoreModule, ButtonComponent, IconComponent, ActionGroupComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.odx-expandable-list-item--expanded]': 'expandableItem.expanded',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class ExpandableListItemComponent {\n protected readonly expandableItem = inject(ExpandableItemDirective);\n public readonly element = injectElement<HTMLElement>();\n}\n","<div class=\"odx-expandable-list-item__header\">\n <ng-content select=\"odx-list-item, [odxListItem]\" />\n <odx-action-group class=\"odx-expandable-list-item__action\">\n <button odxButton (click)=\"expandableItem.toggle()\">\n <odx-icon [class.odx-expandable-list-item__icon--expanded]=\"expandableItem.expanded\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div @expandSlotAnimation class=\"odx-expandable-list-item__slot\" *ngIf=\"expandableItem.expanded\">\n <ng-content select=\"odx-list\" />\n</div>\n","export type ListItemVariant = (typeof ListItemVariant)[keyof typeof ListItemVariant];\n\nexport const ListItemVariant = {\n DEFAULT: 'default',\n DANGER: 'danger',\n WARNING: 'warning',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { ListItemVariant } from '../../models';\n\n/**\n * Represents a stylable list item component that can be easily integrated within Angular applications.\n * It supports various visual variants, disabled and selected states, and can be used both as a standalone or\n * as an element in a larger list or collection of items.\n */\n@CSSComponent('list-item')\n@Component({\n standalone: true,\n selector: 'odx-list-item, [odxListItem]',\n templateUrl: './list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [WithDisabledState, WithTabIndex],\n})\nexport class ListItemComponent implements OnChanges {\n private readonly withTabIndex = inject(WithTabIndex, { self: true });\n\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Marks the list item as potentially harmful or attention-needing, affecting its style and appearance.\n *\n * @deprecated Use `variant` instead.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public danger = false;\n\n /**\n * Specifies the visual variant of the list item.\n *\n * @type {ListItemVariant}\n * @default ListItemVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant: ListItemVariant = ListItemVariant.DEFAULT;\n\n /**\n * Marks the list item as disabled, preventing user interaction and changing its appearance.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public muted = false;\n\n /**\n * Marks the list item as selected, changing its appearance to indicate its state.\n *\n * @type {boolean}\n * @default false\n */\n @HostBinding('class.is-selected')\n @Input({ transform: booleanAttribute })\n public selected = false;\n\n public ngOnChanges(changes: NgChanges<ListItemComponent>): void {\n if (hasChanged(changes, 'muted', false)) {\n this.withTabIndex.setTabindex(this.muted ? -1 : null);\n }\n }\n}\n","<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a list component that can optionally act as an expandable container. This component can be used\n * to display a list of items where each item might be individually expandable.\n *\n * @see {ExpandableContainerDirective}\n */\n@CSSComponent('list')\n@Component({\n selector: 'odx-list',\n standalone: true,\n templateUrl: './list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class ListComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-list, odx-list-item, [odxListItem], odx-expandable-list-item\" />\n","import { NgModule } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { ExpandableListItemComponent, ListItemComponent } from './components';\nimport { ListComponent } from './list.component';\n\nconst modules = [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -29,12 +29,17 @@ class LoadingSpinnerDirective {
29
29
  /**
30
30
  * Whether the spinner should automatically adjust its color based on the background.
31
31
  * Allows the user to specify if the spinner should use automatic color adjustment.
32
+ *
33
+ * @type {boolean}
34
+ * @default false
32
35
  */
33
36
  this.autoColor = false;
34
37
  }
35
38
  /**
36
39
  * Controls whether the spinner is visible or not.
37
40
  * Manages the loading state, showing or hiding the spinner accordingly.
41
+ *
42
+ * @type {boolean}
38
43
  */
39
44
  set isLoading(value) {
40
45
  // TODO: Find out if something breaks by removing those lines
@@ -54,6 +59,8 @@ class LoadingSpinnerDirective {
54
59
  /**
55
60
  * Sets the minimum height for the host element when the spinner is active, to avoid layout shifts.
56
61
  * Specifies the minimum height for the spinner's parent element.
62
+ *
63
+ * @type {number}
57
64
  */
58
65
  set minHeight(value) {
59
66
  this.parentMinHeight = value;
@@ -126,6 +133,9 @@ let LoadingSpinnerComponent = class LoadingSpinnerComponent {
126
133
  * Indicates whether the color of the loading spinner should be automatically determined.
127
134
  * If set to true, the color will be based on the theme of the parent container.
128
135
  * If set to false, the color will be the default color specified in the component's styles.
136
+ *
137
+ * @type {boolean}
138
+ * @default false
129
139
  */
130
140
  this.autoColor = false;
131
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-loading-spinner.mjs","sources":["../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.directive.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.html","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.module.ts","../../../../libs/angular/components/loading-spinner/src/odx-angular-components-loading-spinner.ts"],"sourcesContent":["import { booleanAttribute, Directive, inject, Injector, Input, numberAttribute, Renderer2 } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { DynamicViewRef, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deferFn, injectElement, px } from '@odx/angular/utils';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\n\nconst LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';\n\n/**\n * A directive that controls the display of a loading spinner overlay on the host element.\n * This directive can dynamically create or remove a loading spinner based on the `isLoading` state.\n * It modifies the host element's styles to ensure the spinner is displayed correctly, and optionally,\n * it can set a minimum height to prevent layout shifts.\n */\n@Directive({\n standalone: true,\n selector: '[odxLoadingSpinner]',\n // providers: [DisabledController.connect()],\n})\nexport class LoadingSpinnerDirective {\n // private readonly disabledController = DisabledController.inject();\n // private readonly hasDisabledControllerOnHost = !!inject(DisabledController, { optional: true });\n private readonly dynamicViewService = inject(DynamicViewService);\n private readonly hostElement = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly injector = inject(Injector);\n private readonly windowRef = inject(WindowRef);\n\n private parentMinHeight?: number;\n private viewRef: DynamicViewRef<typeof LoadingSpinnerComponent> | null = null;\n\n /**\n * Whether the spinner should automatically adjust its color based on the background.\n * Allows the user to specify if the spinner should use automatic color adjustment.\n */\n @Input({ alias: 'odxLoadingSpinnerAutoColor', transform: booleanAttribute })\n public autoColor = false;\n\n /**\n * Controls whether the spinner is visible or not.\n * Manages the loading state, showing or hiding the spinner accordingly.\n */\n @Input({ alias: 'odxLoadingSpinner', transform: booleanAttribute })\n public set isLoading(value: boolean) {\n // TODO: Find out if something breaks by removing those lines\n // if (!this.hasDisabledControllerOnHost) {\n // this.disabledController?.setDisabledState(value);\n // }\n if (value) {\n this.createSpinner();\n } else {\n this.removeSpinner();\n }\n }\n public get isLoading(): boolean {\n return this.viewRef !== null;\n }\n\n /**\n * Sets the minimum height for the host element when the spinner is active, to avoid layout shifts.\n * Specifies the minimum height for the spinner's parent element.\n */\n @Input({ alias: 'odxLoadingSpinnerMinHeight', transform: numberAttribute })\n public set minHeight(value: number) {\n this.parentMinHeight = value;\n this.setParentHeight();\n }\n\n /**\n * Resets styles applied to the parent element when the spinner is removed.\n * Removes the class, minHeight, and position styles.\n */\n public resetParentStyles(): void {\n this.renderer.removeClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.renderer.removeStyle(this.hostElement.nativeElement, 'minHeight');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'position');\n }\n\n private setParentHeight(): void {\n this.renderer.setStyle(this.hostElement.nativeElement, 'minHeight', this.parentMinHeight ? px(this.parentMinHeight) : 'inherit');\n }\n\n private createSpinner(): void {\n this.renderer.addClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.setParentHeight();\n if (this.hasStaticPosition()) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'position', 'relative');\n }\n this.viewRef = this.dynamicViewService.createView(LoadingSpinnerComponent, {\n injector: this.injector,\n context: { autoColor: this.autoColor },\n host: this.hostElement.nativeElement,\n });\n deferFn(() => (this.hostElement.nativeElement.scrollTop = 0));\n }\n\n private removeSpinner(): void {\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n private hasStaticPosition(): boolean {\n return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';\n }\n}\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { fadeIn, fadeOut } from '@odx/angular/animations';\nimport { CircularProgressComponent } from '@odx/angular/components/circular-progress';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst BROWSER_TRANSPARENT_COLOR = 'rgba(0, 0, 0, 0)';\n\n/**\n * Represents a loading spinner component.\n */\n@CSSComponent('loading-spinner')\n@Component({\n standalone: true,\n selector: 'odx-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n imports: [CircularProgressComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[@hostAnimation]': 'true',\n '(@hostAnimation.done)': 'animationFinished($event)',\n },\n animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])],\n})\nexport class LoadingSpinnerComponent implements OnInit {\n private readonly host = inject(LoadingSpinnerDirective);\n private readonly windowRef = inject(WindowRef);\n\n protected backgroundColor: string | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the color of the loading spinner should be automatically determined.\n * If set to true, the color will be based on the theme of the parent container.\n * If set to false, the color will be the default color specified in the component's styles.\n */\n @CSSModifier()\n @Input()\n public autoColor = false;\n\n public ngOnInit(): void {\n this.backgroundColor = this.resolveBackgroundColor(this.element.nativeElement);\n }\n\n protected animationFinished({ toState }: AnimationEvent): void {\n if (toState === 'void') {\n this.host.resetParentStyles();\n }\n }\n\n private resolveBackgroundColor(element: HTMLElement): string | null {\n const { backgroundColor } = this.windowRef.nativeWindow.getComputedStyle(element);\n if (backgroundColor !== BROWSER_TRANSPARENT_COLOR) {\n return backgroundColor;\n }\n if (element.parentElement) {\n return this.resolveBackgroundColor(element.parentElement);\n }\n return null;\n }\n}\n","<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class LoadingSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-loading-spinner.mjs","sources":["../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.directive.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.html","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.module.ts","../../../../libs/angular/components/loading-spinner/src/odx-angular-components-loading-spinner.ts"],"sourcesContent":["import { booleanAttribute, Directive, inject, Injector, Input, numberAttribute, Renderer2 } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { DynamicViewRef, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deferFn, injectElement, px } from '@odx/angular/utils';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\n\nconst LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';\n\n/**\n * A directive that controls the display of a loading spinner overlay on the host element.\n * This directive can dynamically create or remove a loading spinner based on the `isLoading` state.\n * It modifies the host element's styles to ensure the spinner is displayed correctly, and optionally,\n * it can set a minimum height to prevent layout shifts.\n */\n@Directive({\n standalone: true,\n selector: '[odxLoadingSpinner]',\n // providers: [DisabledController.connect()],\n})\nexport class LoadingSpinnerDirective {\n // private readonly disabledController = DisabledController.inject();\n // private readonly hasDisabledControllerOnHost = !!inject(DisabledController, { optional: true });\n private readonly dynamicViewService = inject(DynamicViewService);\n private readonly hostElement = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly injector = inject(Injector);\n private readonly windowRef = inject(WindowRef);\n\n private parentMinHeight?: number;\n private viewRef: DynamicViewRef<typeof LoadingSpinnerComponent> | null = null;\n\n /**\n * Whether the spinner should automatically adjust its color based on the background.\n * Allows the user to specify if the spinner should use automatic color adjustment.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxLoadingSpinnerAutoColor', transform: booleanAttribute })\n public autoColor = false;\n\n /**\n * Controls whether the spinner is visible or not.\n * Manages the loading state, showing or hiding the spinner accordingly.\n *\n * @type {boolean}\n */\n @Input({ alias: 'odxLoadingSpinner', transform: booleanAttribute })\n public set isLoading(value: boolean) {\n // TODO: Find out if something breaks by removing those lines\n // if (!this.hasDisabledControllerOnHost) {\n // this.disabledController?.setDisabledState(value);\n // }\n if (value) {\n this.createSpinner();\n } else {\n this.removeSpinner();\n }\n }\n public get isLoading(): boolean {\n return this.viewRef !== null;\n }\n\n /**\n * Sets the minimum height for the host element when the spinner is active, to avoid layout shifts.\n * Specifies the minimum height for the spinner's parent element.\n *\n * @type {number}\n */\n @Input({ alias: 'odxLoadingSpinnerMinHeight', transform: numberAttribute })\n public set minHeight(value: number) {\n this.parentMinHeight = value;\n this.setParentHeight();\n }\n\n /**\n * Resets styles applied to the parent element when the spinner is removed.\n * Removes the class, minHeight, and position styles.\n */\n public resetParentStyles(): void {\n this.renderer.removeClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.renderer.removeStyle(this.hostElement.nativeElement, 'minHeight');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'position');\n }\n\n private setParentHeight(): void {\n this.renderer.setStyle(this.hostElement.nativeElement, 'minHeight', this.parentMinHeight ? px(this.parentMinHeight) : 'inherit');\n }\n\n private createSpinner(): void {\n this.renderer.addClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.setParentHeight();\n if (this.hasStaticPosition()) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'position', 'relative');\n }\n this.viewRef = this.dynamicViewService.createView(LoadingSpinnerComponent, {\n injector: this.injector,\n context: { autoColor: this.autoColor },\n host: this.hostElement.nativeElement,\n });\n deferFn(() => (this.hostElement.nativeElement.scrollTop = 0));\n }\n\n private removeSpinner(): void {\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n private hasStaticPosition(): boolean {\n return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';\n }\n}\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { fadeIn, fadeOut } from '@odx/angular/animations';\nimport { CircularProgressComponent } from '@odx/angular/components/circular-progress';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst BROWSER_TRANSPARENT_COLOR = 'rgba(0, 0, 0, 0)';\n\n/**\n * Represents a loading spinner component.\n */\n@CSSComponent('loading-spinner')\n@Component({\n standalone: true,\n selector: 'odx-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n imports: [CircularProgressComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[@hostAnimation]': 'true',\n '(@hostAnimation.done)': 'animationFinished($event)',\n },\n animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])],\n})\nexport class LoadingSpinnerComponent implements OnInit {\n private readonly host = inject(LoadingSpinnerDirective);\n private readonly windowRef = inject(WindowRef);\n\n protected backgroundColor: string | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the color of the loading spinner should be automatically determined.\n * If set to true, the color will be based on the theme of the parent container.\n * If set to false, the color will be the default color specified in the component's styles.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input()\n public autoColor = false;\n\n public ngOnInit(): void {\n this.backgroundColor = this.resolveBackgroundColor(this.element.nativeElement);\n }\n\n protected animationFinished({ toState }: AnimationEvent): void {\n if (toState === 'void') {\n this.host.resetParentStyles();\n }\n }\n\n private resolveBackgroundColor(element: HTMLElement): string | null {\n const { backgroundColor } = this.windowRef.nativeWindow.getComputedStyle(element);\n if (backgroundColor !== BROWSER_TRANSPARENT_COLOR) {\n return backgroundColor;\n }\n if (element.parentElement) {\n return this.resolveBackgroundColor(element.parentElement);\n }\n return null;\n }\n}\n","<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class LoadingSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,10 +12,9 @@ import { __decorate, __metadata } from 'tslib';
12
12
  import { ActionGroupComponent } from '@odx/angular/components/action-group';
13
13
  import { IconComponent } from '@odx/angular/components/icon';
14
14
  import * as i1 from '@angular/common';
15
- import { trigger, transition, group, useAnimation, query } from '@angular/animations';
15
+ import { trigger, transition, group, useAnimation } from '@angular/animations';
16
16
  import { fadeIn, slideInY, fadeOut, slideOutY, slideInRight, slideOutRight } from '@odx/angular/animations';
17
17
  import { A11yModule } from '@odx/angular/cdk/a11y';
18
- import * as i2 from '@angular/cdk/a11y';
19
18
  import { ButtonGroupComponent } from '@odx/angular/components/button-group';
20
19
 
21
20
  const ModalHeroVariant = {
@@ -31,23 +30,37 @@ const ModalHeroVariant = {
31
30
  * This class extends the `Controller` base class from `@odx/angular`, adding modal-specific functionalities like
32
31
  * handling closures and dismissals.
33
32
  *
33
+ * @template Data - The type of data passed to the modal.
34
+ * @template Result - The type of the result emitted when the modal is closed.
35
+ *
34
36
  * @see {Controller}
35
37
  */
36
38
  class ModalRef extends Controller {
37
- /** Gets the unique identifier for the modal instance. */
39
+ /** Gets the unique identifier for the modal instance.
40
+ *
41
+ * @returns {string} The unique identifier for the modal instance.
42
+ */
38
43
  get id() {
39
44
  return this.options.id;
40
45
  }
41
- /** Gets the ARIA label ID for the modal title, based on the modal's ID. */
46
+ /** Gets the ARIA label ID for the modal title, based on the modal's ID.
47
+ *
48
+ * @returns {string} The ARIA label ID for the modal title.
49
+ */
42
50
  get modalTitleId() {
43
51
  return `${this.options.id}-title`;
44
52
  }
45
- /** Gets the data passed to the modal. This is useful for modal initialization. */
53
+ /** Gets the data passed to the modal. This is useful for modal initialization.
54
+ *
55
+ * @returns {Data} The data passed to the modal.
56
+ */
46
57
  get data() {
47
58
  return this.internalOptions.data;
48
59
  }
49
60
  /** Gets the current options for the modal. These options include configurations.
50
- * @see {ModalOptions}
61
+ *
62
+ * @template Data - The type of data passed to the modal.
63
+ * @returns {ModalOptions<Data>} The current options for the modal.
51
64
  */
52
65
  get options() {
53
66
  return this.internalOptions;
@@ -271,6 +284,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
271
284
  args: ['click']
272
285
  }] } });
273
286
 
287
+ /**
288
+ * Directive that prevents the default form method behavior on submit buttons inside an HTML Dialog form.
289
+ */
290
+ class PreventFormMethodDialogDirective {
291
+ onClick(event) {
292
+ event.preventDefault();
293
+ }
294
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventFormMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
295
+ 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 }); }
296
+ }
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventFormMethodDialogDirective, decorators: [{
298
+ type: Directive,
299
+ args: [{
300
+ standalone: true,
301
+ selector: '[formmethod=dialog]',
302
+ }]
303
+ }], propDecorators: { onClick: [{
304
+ type: HostListener,
305
+ args: ['click', ['$event']]
306
+ }] } });
307
+
308
+ /**
309
+ * Directive that prevents the default form submission behavior inside an HTML Dialog form.
310
+ */
311
+ class PreventMethodDialogDirective {
312
+ onFormSubmit(event) {
313
+ event.preventDefault();
314
+ }
315
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
316
+ 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 }); }
317
+ }
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventMethodDialogDirective, decorators: [{
319
+ type: Directive,
320
+ args: [{
321
+ standalone: true,
322
+ selector: 'form[method=dialog]',
323
+ }]
324
+ }], propDecorators: { onFormSubmit: [{
325
+ type: HostListener,
326
+ args: ['submit', ['$event']]
327
+ }] } });
328
+
274
329
  /**
275
330
  * Represents the footer component of a modal.
276
331
  */
@@ -326,12 +381,15 @@ let ModalHeroComponent = class ModalHeroComponent {
326
381
  this.element = injectElement();
327
382
  /**
328
383
  * The modal reference of the modal hero component.
384
+ *
385
+ * @type {ModalRef}
329
386
  */
330
387
  this.modalRef = injectModalRef();
331
388
  /**
332
389
  * The icon set of the modal hero component.
333
390
  *
334
391
  * @type {string}
392
+ * @default 'core'
335
393
  */
336
394
  this.iconSet = 'core';
337
395
  detectControllerChanges(this.modalRef).subscribe();
@@ -425,6 +483,7 @@ let ModalComponent = class ModalComponent {
425
483
  * Boolean that indicates if the content is a component type rather than a template.
426
484
  *
427
485
  * @type {boolean}
486
+ * @default false
428
487
  */
429
488
  this.withComponent = false;
430
489
  detectControllerChanges(this.modalRef).subscribe(() => {
@@ -436,18 +495,33 @@ let ModalComponent = class ModalComponent {
436
495
  this.withComponent = !isTemplateRef(this.content);
437
496
  }
438
497
  }
439
- onClose() {
498
+ animationStart(event) {
499
+ if (event.toState === 'void') {
500
+ this.element.nativeElement.setAttribute('data-closing-animation', 'true');
501
+ }
502
+ }
503
+ animationDone(event) {
504
+ if (event.toState === 'void') {
505
+ this.element.nativeElement.close();
506
+ }
507
+ }
508
+ /**
509
+ * Prevents the default behavior of the specified event and dismisses the modal if it is dismissable.
510
+ * 'Cancel' event is called by HTML Dialog on ESC key press.
511
+ */
512
+ cancelPrevent(event) {
513
+ event.preventDefault();
440
514
  if (this.modalRef.options.dismissable) {
441
515
  this.modalRef.dismiss();
442
516
  }
443
517
  }
444
518
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalComponent, isStandalone: true, selector: "odx-modal", inputs: { content: "content" }, host: { listeners: { "keyup.esc": "onClose()" }, properties: { "@hostAnimation": "variant", "attr.id": "modalRef.options.id" } }, usesOnChanges: true, ngImport: i0, template: "<div\n [cdkTrapFocus]=\"modalRef.isActive()\"\n [cdkTrapFocusAutoCapture]=\"modalRef.isActive()\"\n [odxClickOutsideActive]=\"modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n [attr.aria-labelledby]=\"modalRef.modalTitleId\"\n class=\"odx-modal__container\"\n role=\"dialog\"\n (odxClickOutside)=\"modalRef.dismiss()\"\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: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], animations: [
519
+ 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: { "@hostAnimation.start": "animationStart($event)", "@hostAnimation.done": "animationDone($event)", "cancel": "cancelPrevent($event)" }, properties: { "@hostAnimation": "variant", "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"] }], animations: [
446
520
  trigger('hostAnimation', [
447
- transition('void => default', group([useAnimation(fadeIn()), query('.odx-modal__container', useAnimation(slideInY('8px')))])),
448
- transition('default => void', group([useAnimation(fadeOut()), query('.odx-modal__container', useAnimation(slideOutY('8px')))])),
449
- transition('void => sidesheet', query('.odx-modal__container', useAnimation(slideInRight))),
450
- transition('sidesheet => void', query('.odx-modal__container', useAnimation(slideOutRight))),
521
+ transition('void => default', group([useAnimation(fadeIn()), useAnimation(slideInY('8px'))])),
522
+ transition('default => void', group([useAnimation(fadeOut()), useAnimation(slideOutY('8px'))])),
523
+ transition('void => sidesheet', useAnimation(slideInRight)),
524
+ transition('sidesheet => void', useAnimation(slideOutRight)),
451
525
  ]),
452
526
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
453
527
  };
@@ -469,22 +543,26 @@ ModalComponent = __decorate([
469
543
  ], ModalComponent);
470
544
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, decorators: [{
471
545
  type: Component,
472
- args: [{ standalone: true, selector: 'odx-modal', imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
546
+ args: [{ standalone: true, selector: 'dialog[odx-dialog-modal]', imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
473
547
  '[@hostAnimation]': 'variant',
548
+ '(@hostAnimation.start)': 'animationStart($event)',
549
+ '(@hostAnimation.done)': 'animationDone($event)',
474
550
  '[attr.id]': 'modalRef.options.id',
551
+ '[attr.aria-labelledby]': 'modalRef.modalTitleId',
552
+ '[attr.role]': '"dialog"',
475
553
  }, animations: [
476
554
  trigger('hostAnimation', [
477
- transition('void => default', group([useAnimation(fadeIn()), query('.odx-modal__container', useAnimation(slideInY('8px')))])),
478
- transition('default => void', group([useAnimation(fadeOut()), query('.odx-modal__container', useAnimation(slideOutY('8px')))])),
479
- transition('void => sidesheet', query('.odx-modal__container', useAnimation(slideInRight))),
480
- transition('sidesheet => void', query('.odx-modal__container', useAnimation(slideOutRight))),
555
+ transition('void => default', group([useAnimation(fadeIn()), useAnimation(slideInY('8px'))])),
556
+ transition('default => void', group([useAnimation(fadeOut()), useAnimation(slideOutY('8px'))])),
557
+ transition('void => sidesheet', useAnimation(slideInRight)),
558
+ transition('sidesheet => void', useAnimation(slideOutRight)),
481
559
  ]),
482
- ], template: "<div\n [cdkTrapFocus]=\"modalRef.isActive()\"\n [cdkTrapFocusAutoCapture]=\"modalRef.isActive()\"\n [odxClickOutsideActive]=\"modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n [attr.aria-labelledby]=\"modalRef.modalTitleId\"\n class=\"odx-modal__container\"\n role=\"dialog\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
560
+ ], 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" }]
483
561
  }], ctorParameters: function () { return []; }, propDecorators: { size: [], variant: [], withComponent: [], content: [{
484
562
  type: Input
485
- }], onClose: [{
563
+ }], cancelPrevent: [{
486
564
  type: HostListener,
487
- args: ['keyup.esc']
565
+ args: ['cancel', ['$event']]
488
566
  }] } });
489
567
 
490
568
  /**
@@ -583,8 +661,8 @@ class ModalService {
583
661
  *
584
662
  * @template Data The type of data passed to the modal.
585
663
  * @template Result The type of result returned by the modal.
586
- * @param id The ID of the modal.
587
- * @returns The modal reference if found, otherwise null.
664
+ * @param {ModalOptions['id']} id The ID of the modal.
665
+ * @returns {ModalRef<Data, Result> | null} - The modal reference if found, otherwise null.
588
666
  */
589
667
  getModalById(id) {
590
668
  return this.openModals.get(id);
@@ -620,6 +698,7 @@ class ModalService {
620
698
  deferFn(() => this.openModals.remove(modalRef));
621
699
  };
622
700
  modalRef.onDestroy$.pipe(finalize(onDestroy)).subscribe();
701
+ viewRef.getElement().showModal();
623
702
  }
624
703
  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 }); }
625
704
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalService, providedIn: 'root' }); }
@@ -709,6 +788,8 @@ const modules = [
709
788
  ModalCloseDirective,
710
789
  ModalContentDirective,
711
790
  ModalDismissDirective,
791
+ PreventMethodDialogDirective,
792
+ PreventFormMethodDialogDirective,
712
793
  ];
713
794
  class ModalModule {
714
795
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -719,14 +800,18 @@ class ModalModule {
719
800
  ModalDirective,
720
801
  ModalCloseDirective,
721
802
  ModalContentDirective,
722
- ModalDismissDirective], exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ModalComponent,
803
+ ModalDismissDirective,
804
+ PreventMethodDialogDirective,
805
+ PreventFormMethodDialogDirective], exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ModalComponent,
723
806
  ModalHeaderComponent,
724
807
  ModalHeroComponent,
725
808
  ModalFooterComponent,
726
809
  ModalDirective,
727
810
  ModalCloseDirective,
728
811
  ModalContentDirective,
729
- ModalDismissDirective] }); }
812
+ ModalDismissDirective,
813
+ PreventMethodDialogDirective,
814
+ PreventFormMethodDialogDirective] }); }
730
815
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent,
731
816
  ModalHeaderComponent,
732
817
  ModalHeroComponent, CoreModule, AreaHeaderModule] }); }
@@ -743,5 +828,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
743
828
  * Generated bundle index. Do not edit.
744
829
  */
745
830
 
746
- export { BasicModalComponent, ModalCloseDirective, ModalComponent, ModalConfig, ModalContentDirective, ModalDefaultConfig, ModalDirective, ModalDismissDirective, ModalFooterComponent, ModalHeaderComponent, ModalHeroComponent, ModalHeroVariant, ModalModule, ModalRef, ModalService, ModalSize, ModalVariant, injectModalConfig, injectModalRef, provideModalConfig, provideModalRef };
831
+ export { BasicModalComponent, ModalCloseDirective, ModalComponent, ModalConfig, ModalContentDirective, ModalDefaultConfig, ModalDirective, ModalDismissDirective, ModalFooterComponent, ModalHeaderComponent, ModalHeroComponent, ModalHeroVariant, ModalModule, ModalRef, ModalService, ModalSize, ModalVariant, PreventFormMethodDialogDirective, PreventMethodDialogDirective, injectModalConfig, injectModalRef, provideModalConfig, provideModalRef };
747
832
  //# sourceMappingURL=odx-angular-components-modal.mjs.map