@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
@@ -15,6 +15,8 @@ const RADIO_GROUP_CONTROL = new InjectionToken('@odx/angular/cdk/radio-group-con
15
15
  *
16
16
  * It uses Angular's dependency injection to provide itself as `RADIO_GROUP_CONTROL` token,
17
17
  * allowing child radio buttons to communicate with the radio group directive.
18
+ *
19
+ * @template T - The type of the value.
18
20
  */
19
21
  class RadioGroupControlDirective extends CustomFormControl {
20
22
  constructor() {
@@ -64,11 +66,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
64
66
  * This directive integrates with Angular Forms through `DisabledController` and `ReadonlyController` directives,
65
67
  * enabling form control states like disabled and readonly. It automatically updates its classes
66
68
  * to reflect these states and the active (checked) state.
69
+ *
70
+ * @template T - The type of the value.
67
71
  */
68
72
  class RadioControlDirective {
73
+ /**
74
+ * The `aria-checked` attribute value.
75
+ *
76
+ * @type {string}
77
+ */
69
78
  get ariaChecked() {
70
79
  return booleanToAttributeString(this.isActive);
71
80
  }
81
+ /**
82
+ * Gets a value indicating whether the radio control is active.
83
+ *
84
+ * @type {boolean}
85
+ */
72
86
  get isActive() {
73
87
  return this.radioGroupControl.value === this.value;
74
88
  }
@@ -76,6 +90,12 @@ class RadioControlDirective {
76
90
  this.disabledController = DisabledController.inject();
77
91
  this.readonlyController = ReadonlyController.inject();
78
92
  this.radioGroupControl = inject(RADIO_GROUP_CONTROL, { skipSelf: true });
93
+ /**
94
+ * The value of the radio control.
95
+ *
96
+ * @type {T | null}
97
+ * @default null
98
+ */
79
99
  this.value = null;
80
100
  detectControllerChanges(this.radioGroupControl).subscribe();
81
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-cdk-radio-group-control.mjs","sources":["../../../../libs/angular/cdk/radio-group-control/src/lib/radio-group-control.directive.ts","../../../../libs/angular/cdk/radio-group-control/src/lib/radio-control.directive.ts","../../../../libs/angular/cdk/radio-group-control/src/lib/radio-group-control.module.ts","../../../../libs/angular/cdk/radio-group-control/src/odx-angular-cdk-radio-group-control.ts"],"sourcesContent":["import { Directive, forwardRef, HostListener, InjectionToken } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { injectElement } from '@odx/angular/utils';\n\nexport const RADIO_GROUP_CONTROL = new InjectionToken<RadioGroupControlDirective>('@odx/angular/cdk/radio-group-control::RadioGroupControl');\n\n/**\n * A directive that provides radio group functionality for its child radio button components.\n * It tracks the value and selection state of a group of `odxRadioControl` directives.\n *\n * This directive extends `CustomFormControl` to integrate seamlessly with Angular Forms API,\n * providing form control methods and properties. It supports form control states like disabled\n * and readonly through `DisabledController` and `ReadonlyController` directives.\n *\n * It uses Angular's dependency injection to provide itself as `RADIO_GROUP_CONTROL` token,\n * allowing child radio buttons to communicate with the radio group directive.\n */\n@Directive({\n standalone: true,\n selector: '[odxRadioGroupControl]',\n providers: [\n {\n provide: RADIO_GROUP_CONTROL,\n useExisting: forwardRef(() => RadioGroupControlDirective),\n multi: false,\n },\n DisabledController.connect(),\n ReadonlyController.connect(),\n ],\n})\nexport class RadioGroupControlDirective<T = unknown> extends CustomFormControl<T | null> {\n private readonly hostElement = injectElement();\n\n constructor() {\n super(null);\n }\n\n @HostListener('focusout', ['$event'])\n public onFocusOut(event: FocusEvent): void {\n if (event.target !== this.hostElement.nativeElement) {\n this.onTouched();\n }\n }\n}\n","import { Directive, inject, Input } from '@angular/core';\nimport { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { booleanToAttributeString } from '@odx/angular/utils';\nimport { RADIO_GROUP_CONTROL } from './radio-group-control.directive';\n\n/**\n * A directive that provides radio button functionality within a radio group.\n * It tracks the active state based on the current value of the parent `odxRadioGroupControl`.\n *\n * This directive integrates with Angular Forms through `DisabledController` and `ReadonlyController` directives,\n * enabling form control states like disabled and readonly. It automatically updates its classes\n * to reflect these states and the active (checked) state.\n */\n@Directive({\n standalone: true,\n selector: '[odxRadioControl]',\n host: {\n '[class.is-active]': 'isActive',\n '[class.is-disabled]': 'disabledController?.disabled',\n '[class.is-readonly]': 'readonlyController?.readonly',\n '[class.has-error]': 'radioGroupControl.hasError',\n },\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class RadioControlDirective<T = unknown> {\n protected readonly disabledController = DisabledController.inject();\n protected readonly readonlyController = ReadonlyController.inject();\n protected readonly radioGroupControl = inject(RADIO_GROUP_CONTROL, { skipSelf: true });\n\n @Input()\n public value: T | null = null;\n\n public get ariaChecked(): string {\n return booleanToAttributeString(this.isActive);\n }\n\n public get isActive(): boolean {\n return this.radioGroupControl.value === this.value;\n }\n\n constructor() {\n detectControllerChanges(this.radioGroupControl).subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RadioControlDirective } from './radio-control.directive';\nimport { RadioGroupControlDirective } from './radio-group-control.directive';\n\nconst modules = [RadioGroupControlDirective, RadioControlDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RadioGroupControlModule {}\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-cdk-radio-group-control.mjs","sources":["../../../../libs/angular/cdk/radio-group-control/src/lib/radio-group-control.directive.ts","../../../../libs/angular/cdk/radio-group-control/src/lib/radio-control.directive.ts","../../../../libs/angular/cdk/radio-group-control/src/lib/radio-group-control.module.ts","../../../../libs/angular/cdk/radio-group-control/src/odx-angular-cdk-radio-group-control.ts"],"sourcesContent":["import { Directive, forwardRef, HostListener, InjectionToken } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { injectElement } from '@odx/angular/utils';\n\nexport const RADIO_GROUP_CONTROL = new InjectionToken<RadioGroupControlDirective>('@odx/angular/cdk/radio-group-control::RadioGroupControl');\n\n/**\n * A directive that provides radio group functionality for its child radio button components.\n * It tracks the value and selection state of a group of `odxRadioControl` directives.\n *\n * This directive extends `CustomFormControl` to integrate seamlessly with Angular Forms API,\n * providing form control methods and properties. It supports form control states like disabled\n * and readonly through `DisabledController` and `ReadonlyController` directives.\n *\n * It uses Angular's dependency injection to provide itself as `RADIO_GROUP_CONTROL` token,\n * allowing child radio buttons to communicate with the radio group directive.\n *\n * @template T - The type of the value.\n */\n@Directive({\n standalone: true,\n selector: '[odxRadioGroupControl]',\n providers: [\n {\n provide: RADIO_GROUP_CONTROL,\n useExisting: forwardRef(() => RadioGroupControlDirective),\n multi: false,\n },\n DisabledController.connect(),\n ReadonlyController.connect(),\n ],\n})\nexport class RadioGroupControlDirective<T = unknown> extends CustomFormControl<T | null> {\n private readonly hostElement = injectElement();\n\n constructor() {\n super(null);\n }\n\n @HostListener('focusout', ['$event'])\n protected onFocusOut(event: FocusEvent): void {\n if (event.target !== this.hostElement.nativeElement) {\n this.onTouched();\n }\n }\n}\n","import { Directive, inject, Input } from '@angular/core';\nimport { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { booleanToAttributeString } from '@odx/angular/utils';\nimport { RADIO_GROUP_CONTROL } from './radio-group-control.directive';\n\n/**\n * A directive that provides radio button functionality within a radio group.\n * It tracks the active state based on the current value of the parent `odxRadioGroupControl`.\n *\n * This directive integrates with Angular Forms through `DisabledController` and `ReadonlyController` directives,\n * enabling form control states like disabled and readonly. It automatically updates its classes\n * to reflect these states and the active (checked) state.\n *\n * @template T - The type of the value.\n */\n@Directive({\n standalone: true,\n selector: '[odxRadioControl]',\n host: {\n '[class.is-active]': 'isActive',\n '[class.is-disabled]': 'disabledController?.disabled',\n '[class.is-readonly]': 'readonlyController?.readonly',\n '[class.has-error]': 'radioGroupControl.hasError',\n },\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class RadioControlDirective<T = unknown> {\n protected readonly disabledController = DisabledController.inject();\n protected readonly readonlyController = ReadonlyController.inject();\n protected readonly radioGroupControl = inject(RADIO_GROUP_CONTROL, { skipSelf: true });\n\n /**\n * The value of the radio control.\n *\n * @type {T | null}\n * @default null\n */\n @Input()\n public value: T | null = null;\n\n /**\n * The `aria-checked` attribute value.\n *\n * @type {string}\n */\n public get ariaChecked(): string {\n return booleanToAttributeString(this.isActive);\n }\n\n /**\n * Gets a value indicating whether the radio control is active.\n *\n * @type {boolean}\n */\n public get isActive(): boolean {\n return this.radioGroupControl.value === this.value;\n }\n\n constructor() {\n detectControllerChanges(this.radioGroupControl).subscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RadioControlDirective } from './radio-control.directive';\nimport { RadioGroupControlDirective } from './radio-group-control.directive';\n\nconst modules = [RadioGroupControlDirective, RadioControlDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RadioGroupControlModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAKa,mBAAmB,GAAG,IAAI,cAAc,CAA6B,yDAAyD,EAAE;AAE7I;;;;;;;;;;;;AAYG;AAcG,MAAO,0BAAwC,SAAQ,iBAA2B,CAAA;AAGtF,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,IAAI,CAAC,CAAC;QAHG,IAAW,CAAA,WAAA,GAAG,aAAa,EAAE,CAAC;KAI9C;AAGS,IAAA,UAAU,CAAC,KAAiB,EAAA;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACnD,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;+GAZU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAV1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE,KAAK;AACb,aAAA;YACD,kBAAkB,CAAC,OAAO,EAAE;YAC5B,kBAAkB,CAAC,OAAO,EAAE;AAC7B,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAbtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,KAAK;AACb,yBAAA;wBACD,kBAAkB,CAAC,OAAO,EAAE;wBAC5B,kBAAkB,CAAC,OAAO,EAAE;AAC7B,qBAAA;AACF,iBAAA,CAAA;0EASW,UAAU,EAAA,CAAA;sBADnB,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ACnCtC;;;;;;;;;AASG;MAYU,qBAAqB,CAAA;AAchC;;;;AAIG;AACH,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAChD;AAED;;;;AAIG;AACH,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;KACpD;AAED,IAAA,WAAA,GAAA;AA/BmB,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;AACjD,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACjD,IAAiB,CAAA,iBAAA,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEvF;;;;;AAKG;QAEI,IAAK,CAAA,KAAA,GAAa,IAAI,CAAC;QAqB5B,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,CAAC;KAC7D;+GAlCU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,8BAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAFrB,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAE5D,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACJ,wBAAA,mBAAmB,EAAE,UAAU;AAC/B,wBAAA,qBAAqB,EAAE,8BAA8B;AACrD,wBAAA,qBAAqB,EAAE,8BAA8B;AACrD,wBAAA,mBAAmB,EAAE,4BAA4B;AAClD,qBAAA;oBACD,SAAS,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC;AACxE,iBAAA,CAAA;0EAaQ,KAAK,EAAA,CAAA;sBADX,KAAK;;;AChCR,MAAM,OAAO,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;MAMvD,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAvB,uBAAuB,EAAA,OAAA,EAAA,CANnB,0BAA0B,EAAE,qBAAqB,aAItD,UAAU,EAJL,0BAA0B,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAMrD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAFxB,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
@@ -51,12 +51,14 @@ let AccordionItemComponent = class AccordionItemComponent {
51
51
  this.element = injectElement();
52
52
  /**
53
53
  * Event emitter for the expanded state change of the accordion item.
54
- * Emits a boolean value indicating whether the item is expanded or not.
54
+ *
55
+ * @emits {boolean} The expanded state of the accordion item.
55
56
  */
56
57
  this.expandedChange = new EventEmitter();
57
58
  }
58
59
  /**
59
60
  * Gets a value indicating whether the accordion item is disabled.
61
+ *
60
62
  * @returns {boolean} True if the accordion item is disabled, false otherwise.
61
63
  */
62
64
  get isDisabled() {
@@ -64,6 +66,7 @@ let AccordionItemComponent = class AccordionItemComponent {
64
66
  }
65
67
  /**
66
68
  * Gets a value indicating whether the accordion item is expanded.
69
+ *
67
70
  * @returns {boolean} True if the accordion item is expanded, false otherwise.
68
71
  */
69
72
  get isExpanded() {
@@ -72,7 +75,8 @@ let AccordionItemComponent = class AccordionItemComponent {
72
75
  /**
73
76
  * Gets the ID of the title element for accessibility purposes.
74
77
  * The ID is generated by appending "-title" to the ID of the expandable item.
75
- * @returns The ID of the title element.
78
+ *
79
+ * @returns {string} The ID of the title element.
76
80
  */
77
81
  get titleId() {
78
82
  return `${this.expandableItem.id}-title`;
@@ -80,7 +84,8 @@ let AccordionItemComponent = class AccordionItemComponent {
80
84
  /**
81
85
  * Gets the slot ID for the accordion item.
82
86
  * The slot ID is generated by appending "-slot" to the ID of the expandable item.
83
- * @returns The slot ID.
87
+ *
88
+ * @returns {string} The slot ID.
84
89
  */
85
90
  get slotId() {
86
91
  return `${this.expandableItem.id}-slot`;
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-accordion.mjs","sources":["../../../../libs/angular/components/accordion/src/lib/accordion.component.ts","../../../../libs/angular/components/accordion/src/lib/accordion.component.html","../../../../libs/angular/components/accordion/src/lib/components/accordion-item/accordion-item.component.ts","../../../../libs/angular/components/accordion/src/lib/components/accordion-item/accordion-item.component.html","../../../../libs/angular/components/accordion/src/lib/directives/accordion-item-title.ts","../../../../libs/angular/components/accordion/src/lib/accordion.module.ts","../../../../libs/angular/components/accordion/src/odx-angular-components-accordion.ts"],"sourcesContent":["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 an accordion component.\n * Has host directive ExpandableContainerDirective\n *\n * @see {ExpandableContainerDirective}\n *\n * You can manage the expansion state of the accordion items by using the `ExpandableContainerDirective` methods.\n */\n@CSSComponent('accordion')\n@Component({\n selector: 'odx-accordion',\n templateUrl: './accordion.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class AccordionComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-accordion-item\"></ng-content>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents an item in an accordion component.\n * Has host directive ExpandableItemDirective\n *\n * @see {ExpandableItemDirective}\n *\n * You can control the accordion item's expansion state through the ExpandableItemDirective methods.\n */\n@CSSComponent('accordion-item')\n@Component({\n selector: 'odx-accordion-item',\n templateUrl: './accordion-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, CoreModule, IconComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[class.odx-accordion-item--expanded]': 'isExpanded',\n '[attr.id]': 'expandableItem.id',\n '[attr.title]': 'null',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class AccordionItemComponent {\n private readonly disabledController = DisabledController.inject();\n protected readonly expandableItem = inject(ExpandableItemDirective, { self: true });\n public readonly element = injectElement();\n\n /**\n * The title of the accordion item.\n *\n * @remarks\n * This property is optional and can be a string or null.\n */\n @Input()\n public title?: string | null;\n\n /**\n * Event emitter for the expanded state change of the accordion item.\n * Emits a boolean value indicating whether the item is expanded or not.\n */\n @Output()\n public expandedChange: EventEmitter<boolean> = new EventEmitter();\n\n /**\n * Gets a value indicating whether the accordion item is disabled.\n * @returns {boolean} True if the accordion item is disabled, false otherwise.\n */\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Gets a value indicating whether the accordion item is expanded.\n * @returns {boolean} True if the accordion item is expanded, false otherwise.\n */\n public get isExpanded(): boolean {\n return !this.isDisabled && this.expandableItem.expanded;\n }\n\n /**\n * Gets the ID of the title element for accessibility purposes.\n * The ID is generated by appending \"-title\" to the ID of the expandable item.\n * @returns The ID of the title element.\n */\n public get titleId(): string {\n return `${this.expandableItem.id}-title`;\n }\n\n /**\n * Gets the slot ID for the accordion item.\n * The slot ID is generated by appending \"-slot\" to the ID of the expandable item.\n * @returns The slot ID.\n */\n public get slotId(): string {\n return `${this.expandableItem.id}-slot`;\n }\n\n protected onAnimationEnd(): void {\n this.expandedChange.emit(this.expandableItem.expanded);\n }\n}\n","<div\n role=\"button\"\n class=\"odx-accordion-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"expandableItem.toggle()\"\n>\n <div *ngIf=\"title; else titleTpl\">\n {{ title }}\n </div>\n <ng-template #titleTpl>\n <ng-content select=\"odx-accordion-item-title\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-accordion-item__icon\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<div\n class=\"odx-accordion-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"isExpanded\"\n>\n <ng-content></ng-content>\n</div>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the title of an accordion item.\n */\n@Directive({\n standalone: true,\n selector: 'odx-accordion-item-title',\n})\nexport class AccordionItemTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AccordionComponent } from './accordion.component';\nimport { AccordionItemComponent } from './components';\nimport { AccordionItemTitleDirective } from './directives';\n\nconst modules = [AccordionComponent, AccordionItemComponent, AccordionItemTitleDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AccordionModule {}\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-accordion.mjs","sources":["../../../../libs/angular/components/accordion/src/lib/accordion.component.ts","../../../../libs/angular/components/accordion/src/lib/accordion.component.html","../../../../libs/angular/components/accordion/src/lib/components/accordion-item/accordion-item.component.ts","../../../../libs/angular/components/accordion/src/lib/components/accordion-item/accordion-item.component.html","../../../../libs/angular/components/accordion/src/lib/directives/accordion-item-title.ts","../../../../libs/angular/components/accordion/src/lib/accordion.module.ts","../../../../libs/angular/components/accordion/src/odx-angular-components-accordion.ts"],"sourcesContent":["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 an accordion component.\n * Has host directive ExpandableContainerDirective\n *\n * @see {ExpandableContainerDirective}\n *\n * You can manage the expansion state of the accordion items by using the `ExpandableContainerDirective` methods.\n */\n@CSSComponent('accordion')\n@Component({\n selector: 'odx-accordion',\n templateUrl: './accordion.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class AccordionComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-accordion-item\"></ng-content>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents an item in an accordion component.\n * Has host directive ExpandableItemDirective\n *\n * @see {ExpandableItemDirective}\n *\n * You can control the accordion item's expansion state through the ExpandableItemDirective methods.\n */\n@CSSComponent('accordion-item')\n@Component({\n selector: 'odx-accordion-item',\n templateUrl: './accordion-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, CoreModule, IconComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[class.odx-accordion-item--expanded]': 'isExpanded',\n '[attr.id]': 'expandableItem.id',\n '[attr.title]': 'null',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class AccordionItemComponent {\n private readonly disabledController = DisabledController.inject();\n protected readonly expandableItem = inject(ExpandableItemDirective, { self: true });\n public readonly element = injectElement();\n\n /**\n * The title of the accordion item.\n *\n * @type {string | null}\n */\n @Input()\n public title?: string | null;\n\n /**\n * Event emitter for the expanded state change of the accordion item.\n *\n * @emits {boolean} The expanded state of the accordion item.\n */\n @Output()\n public expandedChange: EventEmitter<boolean> = new EventEmitter();\n\n /**\n * Gets a value indicating whether the accordion item is disabled.\n *\n * @returns {boolean} True if the accordion item is disabled, false otherwise.\n */\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Gets a value indicating whether the accordion item is expanded.\n *\n * @returns {boolean} True if the accordion item is expanded, false otherwise.\n */\n public get isExpanded(): boolean {\n return !this.isDisabled && this.expandableItem.expanded;\n }\n\n /**\n * Gets the ID of the title element for accessibility purposes.\n * The ID is generated by appending \"-title\" to the ID of the expandable item.\n *\n * @returns {string} The ID of the title element.\n */\n public get titleId(): string {\n return `${this.expandableItem.id}-title`;\n }\n\n /**\n * Gets the slot ID for the accordion item.\n * The slot ID is generated by appending \"-slot\" to the ID of the expandable item.\n *\n * @returns {string} The slot ID.\n */\n public get slotId(): string {\n return `${this.expandableItem.id}-slot`;\n }\n\n protected onAnimationEnd(): void {\n this.expandedChange.emit(this.expandableItem.expanded);\n }\n}\n","<div\n role=\"button\"\n class=\"odx-accordion-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"expandableItem.toggle()\"\n>\n <div *ngIf=\"title; else titleTpl\">\n {{ title }}\n </div>\n <ng-template #titleTpl>\n <ng-content select=\"odx-accordion-item-title\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-accordion-item__icon\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<div\n class=\"odx-accordion-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"isExpanded\"\n>\n <ng-content></ng-content>\n</div>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the title of an accordion item.\n */\n@Directive({\n standalone: true,\n selector: 'odx-accordion-item-title',\n})\nexport class AccordionItemTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AccordionComponent } from './accordion.component';\nimport { AccordionItemComponent } from './components';\nimport { AccordionItemTitleDirective } from './directives';\n\nconst modules = [AccordionComponent, AccordionItemComponent, AccordionItemTitleDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ let ActionGroupComponent = class ActionGroupComponent {
12
12
  this.element = injectElement();
13
13
  /**
14
14
  * Indicates whether the action group should be displayed in reverse order.
15
+ *
16
+ * @type {boolean}
17
+ * @default false
15
18
  */
16
19
  this.reverse = false;
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-action-group.mjs","sources":["../../../../libs/angular/components/action-group/src/action-group.component.ts","../../../../libs/angular/components/action-group/src/action-group.component.html","../../../../libs/angular/components/action-group/src/odx-angular-components-action-group.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents an action group component.\n */\n@CSSComponent('action-group')\n@Component({\n selector: 'odx-action-group',\n templateUrl: './action-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ActionGroupComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the action group should be displayed in reverse order.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public reverse = false;\n}\n","<ng-content select=\"[odxButton], ng-template\"></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;;AAEG;AASU,IAAA,oBAAoB,GAA1B,MAAM,oBAAoB,CAAA;AAA1B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;AAEG;QAGI,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AACxB,KAAA;+GATY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAOX,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBtC,iEACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;ADsBS,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAES,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AARZ,oBAAoB,GAAA,UAAA,CAAA;IARhC,YAAY,CAAC,cAAc,CAAC;AAQhB,CAAA,EAAA,oBAAoB,CAShC,CAAA;4FATY,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAEb,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,QAAA,EAAA,iEAAA,EAAA,CAAA;8BAUT,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;;AEtBxC;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-action-group.mjs","sources":["../../../../libs/angular/components/action-group/src/action-group.component.ts","../../../../libs/angular/components/action-group/src/action-group.component.html","../../../../libs/angular/components/action-group/src/odx-angular-components-action-group.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents an action group component.\n */\n@CSSComponent('action-group')\n@Component({\n selector: 'odx-action-group',\n templateUrl: './action-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ActionGroupComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the action group should be displayed in reverse order.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public reverse = false;\n}\n","<ng-content select=\"[odxButton], ng-template\"></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;;AAEG;AASU,IAAA,oBAAoB,GAA1B,MAAM,oBAAoB,CAAA;AAA1B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;AAKG;QAGI,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AACxB,KAAA;+GAZY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAUX,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBtC,iEACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;ADyBS,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAES,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAXZ,oBAAoB,GAAA,UAAA,CAAA;IARhC,YAAY,CAAC,cAAc,CAAC;AAQhB,CAAA,EAAA,oBAAoB,CAYhC,CAAA;4FAZY,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAEb,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,QAAA,EAAA,iEAAA,EAAA,CAAA;8BAaT,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;;AEzBxC;;AAEG;;;;"}
@@ -26,7 +26,8 @@ let AreaHeaderComponent = class AreaHeaderComponent {
26
26
  /**
27
27
  * The size of the area header.
28
28
  *
29
- * @see {AreaHeaderSize}
29
+ * @type {AreaHeaderSize}
30
+ * @default AreaHeaderSize.LARGE
30
31
  */
31
32
  this.size = AreaHeaderSize.LARGE;
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-area-header.mjs","sources":["../../../../libs/angular/components/area-header/src/models/area-header-size.ts","../../../../libs/angular/components/area-header/src/area-header.component.ts","../../../../libs/angular/components/area-header/src/area-header.component.html","../../../../libs/angular/components/area-header/src/directives/area-header-content.directive.ts","../../../../libs/angular/components/area-header/src/directives/area-header-subtitle.directive.ts","../../../../libs/angular/components/area-header/src/area-header.module.ts","../../../../libs/angular/components/area-header/src/odx-angular-components-area-header.ts"],"sourcesContent":["export type AreaHeaderSize = typeof AreaHeaderSize[keyof typeof AreaHeaderSize];\n\nexport const AreaHeaderSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { AreaHeaderSize } from './models';\n\n/**\n * Represents the AreaHeaderComponent.\n */\n@CSSComponent('area-header')\n@Component({\n selector: 'odx-area-header',\n templateUrl: './area-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class AreaHeaderComponent {\n public readonly element = injectElement();\n\n /**\n * The size of the area header.\n *\n * @see {AreaHeaderSize}\n */\n @CSSModifier()\n @Input()\n public size: AreaHeaderSize = AreaHeaderSize.LARGE;\n}\n","<div class=\"odx-area-header__container\">\n <ng-content select=\"button[odxNavigationBack], a[odxNavigationBack]\"></ng-content>\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-area-header__inner\">\n <div class=\"odx-area-header__title\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"odx-area-header-subtitle\"></ng-content>\n </div>\n</div>\n<ng-content select=\"odx-area-header-content\"></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the content of the area header.\n */\n@Directive({\n selector: 'odx-area-header-content',\n standalone: true,\n host: {\n '[class.odx-area-header__content]': 'true',\n },\n})\nexport class AreaHeaderContentDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for displaying a subtitle in the area header component.\n */\n@Directive({\n selector: 'odx-area-header-subtitle',\n standalone: true,\n host: {\n '[class.odx-area-header__subtitle]': 'true',\n },\n})\nexport class AreaHeaderSubtitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { AreaHeaderComponent } from './area-header.component';\nimport { AreaHeaderContentDirective, AreaHeaderSubtitleDirective } from './directives';\n\nconst modules = [\n AreaHeaderComponent,\n AreaHeaderContentDirective,\n AreaHeaderSubtitleDirective,\n AvatarComponent,\n ActionGroupComponent,\n ButtonComponent,\n IconComponent,\n];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AreaHeaderModule {}\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-area-header.mjs","sources":["../../../../libs/angular/components/area-header/src/models/area-header-size.ts","../../../../libs/angular/components/area-header/src/area-header.component.ts","../../../../libs/angular/components/area-header/src/area-header.component.html","../../../../libs/angular/components/area-header/src/directives/area-header-content.directive.ts","../../../../libs/angular/components/area-header/src/directives/area-header-subtitle.directive.ts","../../../../libs/angular/components/area-header/src/area-header.module.ts","../../../../libs/angular/components/area-header/src/odx-angular-components-area-header.ts"],"sourcesContent":["export type AreaHeaderSize = typeof AreaHeaderSize[keyof typeof AreaHeaderSize];\n\nexport const AreaHeaderSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { AreaHeaderSize } from './models';\n\n/**\n * Represents the AreaHeaderComponent.\n */\n@CSSComponent('area-header')\n@Component({\n selector: 'odx-area-header',\n templateUrl: './area-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class AreaHeaderComponent {\n public readonly element = injectElement();\n\n /**\n * The size of the area header.\n *\n * @type {AreaHeaderSize}\n * @default AreaHeaderSize.LARGE\n */\n @CSSModifier()\n @Input()\n public size: AreaHeaderSize = AreaHeaderSize.LARGE;\n}\n","<div class=\"odx-area-header__container\">\n <ng-content select=\"button[odxNavigationBack], a[odxNavigationBack]\"></ng-content>\n <ng-content select=\"odx-avatar\"></ng-content>\n <div class=\"odx-area-header__inner\">\n <div class=\"odx-area-header__title\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"odx-area-header-subtitle\"></ng-content>\n </div>\n</div>\n<ng-content select=\"odx-area-header-content\"></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the content of the area header.\n */\n@Directive({\n selector: 'odx-area-header-content',\n standalone: true,\n host: {\n '[class.odx-area-header__content]': 'true',\n },\n})\nexport class AreaHeaderContentDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for displaying a subtitle in the area header component.\n */\n@Directive({\n selector: 'odx-area-header-subtitle',\n standalone: true,\n host: {\n '[class.odx-area-header__subtitle]': 'true',\n },\n})\nexport class AreaHeaderSubtitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AvatarComponent } from '@odx/angular/components/avatar';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { AreaHeaderComponent } from './area-header.component';\nimport { AreaHeaderContentDirective, AreaHeaderSubtitleDirective } from './directives';\n\nconst modules = [\n AreaHeaderComponent,\n AreaHeaderContentDirective,\n AreaHeaderSubtitleDirective,\n AvatarComponent,\n ActionGroupComponent,\n ButtonComponent,\n IconComponent,\n];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AreaHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,11 +15,19 @@ import * as i2 from '@angular/common';
15
15
 
16
16
  const AUTOCOMPLETE_CONTROL = new InjectionToken('@odx/angular/components/autocomplete::AutocompleteComponent');
17
17
 
18
+ /**
19
+ * Represents an option component for the autocomplete control.
20
+ *
21
+ * @template T - The type of the option value.
22
+ */
18
23
  let AutocompleteOptionComponent = class AutocompleteOptionComponent extends OptionControl {
19
24
  constructor() {
20
25
  super(...arguments);
21
26
  this.autocompleteControl = inject(AUTOCOMPLETE_CONTROL);
22
27
  }
28
+ /**
29
+ * Sets the active styles for the option component.
30
+ */
23
31
  setActiveStyles() {
24
32
  this.isActive = true;
25
33
  if (this.autocompleteControl.isOpen) {
@@ -40,6 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
40
48
  args: [{ standalone: true, selector: 'odx-autocomplete-option', imports: [CoreModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
41
49
  }] });
42
50
 
51
+ /**
52
+ * Directive for controlling the input in an autocomplete component.
53
+ * Extends the base InputControlDirective class.
54
+ */
43
55
  let AutocompleteInputControlDirective = class AutocompleteInputControlDirective extends InputControlDirective {
44
56
  constructor() {
45
57
  super(...arguments);
@@ -72,7 +84,7 @@ var AutocompleteComponent_1;
72
84
  *
73
85
  * @see {AutocompleteControl}
74
86
  *
75
- * @template T The type of the value handled by the autocomplete.
87
+ * @template T - The type of the value handled by the autocomplete.
76
88
  */
77
89
  let AutocompleteComponent = class AutocompleteComponent extends AutocompleteControl {
78
90
  constructor() {
@@ -92,9 +104,11 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
92
104
  this.handleClickOutside();
93
105
  }
94
106
  /**
95
- * Selects an option, updates the value, updates the search field display, emits the selected value, and closes the dropdown.
107
+ * Selects an option, updates the value, updates the search field display,
108
+ * emits the selected value, and closes the dropdown.
96
109
  *
97
- * @param option The option component to select. If the option is undefined or its value is undefined, no action is taken.
110
+ * @param {AutocompleteOptionComponent<T> | null} option - The option component to select. If the option is undefined or its value is undefined,
111
+ * no action is taken.
98
112
  */
99
113
  selectOption(option) {
100
114
  if (!option?.value)
@@ -105,7 +119,8 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
105
119
  this.closeDropdown();
106
120
  }
107
121
  /**
108
- * Resets the search field to its initial state and updates the value of the autocomplete to an empty string or initial value.
122
+ * Resets the search field to its initial state and updates the value of the autocomplete
123
+ * to an empty string or initial value.
109
124
  */
110
125
  resetSearchField() {
111
126
  this.updateValue('');
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-autocomplete.mjs","sources":["../../../../libs/angular/components/autocomplete/src/lib/autocomplete.tokens.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.html","../../../../libs/angular/components/autocomplete/src/lib/directives/autocomplete-input-control.directive.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.html","../../../../libs/angular/components/autocomplete/src/lib/pipes/autocomplete-search-filter.pipe.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.module.ts","../../../../libs/angular/components/autocomplete/src/odx-angular-components-autocomplete.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AutocompleteComponent } from './autocomplete.component';\n\nexport const AUTOCOMPLETE_CONTROL = new InjectionToken<AutocompleteComponent>('@odx/angular/components/autocomplete::AutocompleteComponent');\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { AUTOCOMPLETE_CONTROL } from '../../autocomplete.tokens';\n\n@CSSComponent('autocomplete-option')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete-option',\n imports: [CoreModule],\n templateUrl: './autocomplete-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AutocompleteOptionComponent<T> extends OptionControl<T> {\n protected readonly autocompleteControl = inject(AUTOCOMPLETE_CONTROL);\n\n public override setActiveStyles(): void {\n this.isActive = true;\n\n if (this.autocompleteControl.isOpen) {\n this.autocompleteControl.scrollOptionIntoView(this);\n }\n }\n\n protected selectOption(): void {\n this.autocompleteControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\nimport { ReadonlyController, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('autocomplete__control')\n@Directive({\n standalone: true,\n selector: 'input[odxAutocompleteControl]',\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n },\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithTabIndex],\n})\nexport class AutocompleteInputControlDirective extends InputControlDirective {\n protected readonly readonlyController = ReadonlyController.inject();\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostListener,\n inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ClickOutsideDirective } from '@odx/angular';\nimport { AutocompleteControl, ODX_SEARCH_FILTER_HOST } from '@odx/angular/cdk/autocomplete-control';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn } from '@odx/angular/utils';\nimport { filter, tap } from 'rxjs';\nimport { AUTOCOMPLETE_CONTROL } from './autocomplete.tokens';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteInputControlDirective } from './directives';\n\n/**\n * Represents an autocomplete component that provides user interface for a dropdown list to select from as users type.\n * It extends `AutocompleteControl`, integrating custom logic for handling keyboard and mouse events,\n * managing the dropdown state, and updating the associated search field.\n *\n * @see {AutocompleteControl}\n *\n * @template T The type of the value handled by the autocomplete.\n */\n@CSSComponent('autocomplete')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete',\n imports: [DropdownDirective, AutocompleteOptionComponent, LoadingSpinnerModule],\n templateUrl: './autocomplete.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AUTOCOMPLETE_CONTROL,\n useExisting: forwardRef(() => AutocompleteComponent),\n },\n {\n provide: ODX_SEARCH_FILTER_HOST,\n useExisting: AUTOCOMPLETE_CONTROL,\n },\n ],\n hostDirectives: [ClickOutsideDirective],\n})\nexport class AutocompleteComponent<T = unknown> extends AutocompleteControl<T | null> implements AfterViewInit {\n private readonly defaultActiveOptionIndex = 0;\n private patchValueFlag = false;\n protected readonly clickOutsideDirective = inject(ClickOutsideDirective, { host: true });\n\n @ContentChildren(AutocompleteOptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n public options?: QueryList<AutocompleteOptionComponent<T>>;\n\n @ContentChild(AutocompleteInputControlDirective)\n public searchField?: AutocompleteInputControlDirective;\n\n public readonly dropdownOpenTriggers = [];\n\n public override ngAfterViewInit(): void {\n if (!this.options) return;\n\n this.initKeyManager(this.options);\n this.handleQueryListOption(this.options);\n this.handleSearchFieldChanges();\n this.handleClickOutside();\n }\n\n /**\n * Selects an option, updates the value, updates the search field display, emits the selected value, and closes the dropdown.\n *\n * @param option The option component to select. If the option is undefined or its value is undefined, no action is taken.\n */\n public selectOption(option?: AutocompleteOptionComponent<T> | null): void {\n if (!option?.value) return;\n\n this.updateValue(option.value);\n this.updateSearchField(option.value);\n\n this.optionSelected.emit(option.value);\n\n this.closeDropdown();\n }\n\n /**\n * Resets the search field to its initial state and updates the value of the autocomplete to an empty string or initial value.\n */\n public resetSearchField(): void {\n this.updateValue('' as T);\n this.searchField?.reset();\n }\n\n protected handleQueryListOption(options: QueryList<AutocompleteOptionComponent<T>>): void {\n options.changes\n .pipe(\n tap(() => deferFn(() => this.updateDropdownState())),\n filter(() => this.isOpen),\n this.takeUntilDestroyed(),\n )\n .subscribe(() => {\n deferFn(() => this.activateSelectedOption());\n });\n }\n\n protected handleSearchFieldChanges(): void {\n this.searchField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => this.triggerControllerChange());\n }\n\n protected handleClickOutside(): void {\n this.clickOutsideDirective.odxClickOutside.pipe(this.takeUntilDestroyed()).subscribe(() => this.clickOutside());\n }\n\n protected clickOutside(): void {\n this.closeDropdown();\n this.blurSelectSearchField();\n }\n\n protected updateDropdownState(): void {\n if (this.patchValueFlag) {\n this.patchValueFlag = false;\n return;\n }\n\n if (this.isOpen && !this.hasOptions) {\n this.closeDropdown();\n } else if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('click')\n protected handleClickEvent() {\n if (this.isLoading && this.isOpen) {\n this.closeDropdown();\n this.blurSelectSearchField();\n return;\n }\n\n if (this.isReadonly || this.isDisabled) return;\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected handleKeyboardEvent(event: KeyboardEvent) {\n if (this.isReadonly || this.isDisabled) return;\n\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem as AutocompleteOptionComponent<T> | undefined);\n return;\n }\n }\n\n if (event.key === 'Enter' && !!this.value) {\n this.optionSelected.emit(this.value as T);\n return;\n }\n\n if (!this.isOpen && event.key === 'Tab') {\n return;\n }\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n return;\n }\n\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n this.keyManager?.setActiveItem(this.defaultActiveOptionIndex);\n }\n\n protected onDropdownBeforeOpen(): void {\n this.activateSelectedOption();\n }\n\n private updateSearchField(value: T): void {\n if (!this.searchField) return;\n this.patchValueFlag = true;\n this.searchField.nativeElementValue = this.stringify?.(value) ?? (value as string);\n }\n\n private blurSelectSearchField(): void {\n this.searchField?.blur();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-autocomplete__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"dropdownReferenceElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n [odxDropdownOpenTrigger]=\"dropdownOpenTriggers\"\n [odxDropdownClickOutsideActive]=\"false\"\n (odxDropdownBeforeOpen)=\"onDropdownBeforeOpen()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n (odxDropdownBeforeClose)=\"disableSmoothScroll()\"\n>\n <ng-content select=\"input[odxAutocompleteControl]\"></ng-content>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-dropdown__option-list\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';\n\n@Pipe({\n pure: false,\n name: 'odxAutocompleteSearchFilter',\n standalone: true,\n})\nexport class AutocompleteSearchFilterPipe extends BaseSearchFilterPipe implements PipeTransform {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteInputControlDirective } from './directives';\nimport { AutocompleteSearchFilterPipe } from './pipes';\n\nconst modules = [AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AutocompleteModule {}\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-autocomplete.mjs","sources":["../../../../libs/angular/components/autocomplete/src/lib/autocomplete.tokens.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.html","../../../../libs/angular/components/autocomplete/src/lib/directives/autocomplete-input-control.directive.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.html","../../../../libs/angular/components/autocomplete/src/lib/pipes/autocomplete-search-filter.pipe.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.module.ts","../../../../libs/angular/components/autocomplete/src/odx-angular-components-autocomplete.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AutocompleteComponent } from './autocomplete.component';\n\nexport const AUTOCOMPLETE_CONTROL = new InjectionToken<AutocompleteComponent>('@odx/angular/components/autocomplete::AutocompleteComponent');\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { AUTOCOMPLETE_CONTROL } from '../../autocomplete.tokens';\n\n/**\n * Represents an option component for the autocomplete control.\n *\n * @template T - The type of the option value.\n */\n@CSSComponent('autocomplete-option')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete-option',\n imports: [CoreModule],\n templateUrl: './autocomplete-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AutocompleteOptionComponent<T> extends OptionControl<T> {\n protected readonly autocompleteControl = inject(AUTOCOMPLETE_CONTROL);\n\n /**\n * Sets the active styles for the option component.\n */\n public override setActiveStyles(): void {\n this.isActive = true;\n\n if (this.autocompleteControl.isOpen) {\n this.autocompleteControl.scrollOptionIntoView(this);\n }\n }\n\n protected selectOption(): void {\n this.autocompleteControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\nimport { ReadonlyController, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n/**\n * Directive for controlling the input in an autocomplete component.\n * Extends the base InputControlDirective class.\n */\n@CSSComponent('autocomplete__control')\n@Directive({\n standalone: true,\n selector: 'input[odxAutocompleteControl]',\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n },\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithTabIndex],\n})\nexport class AutocompleteInputControlDirective extends InputControlDirective {\n protected readonly readonlyController = ReadonlyController.inject();\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostListener,\n inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ClickOutsideDirective } from '@odx/angular';\nimport { AutocompleteControl, ODX_SEARCH_FILTER_HOST } from '@odx/angular/cdk/autocomplete-control';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn } from '@odx/angular/utils';\nimport { filter, tap } from 'rxjs';\nimport { AUTOCOMPLETE_CONTROL } from './autocomplete.tokens';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteInputControlDirective } from './directives';\n\n/**\n * Represents an autocomplete component that provides user interface for a dropdown list to select from as users type.\n * It extends `AutocompleteControl`, integrating custom logic for handling keyboard and mouse events,\n * managing the dropdown state, and updating the associated search field.\n *\n * @see {AutocompleteControl}\n *\n * @template T - The type of the value handled by the autocomplete.\n */\n@CSSComponent('autocomplete')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete',\n imports: [DropdownDirective, AutocompleteOptionComponent, LoadingSpinnerModule],\n templateUrl: './autocomplete.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AUTOCOMPLETE_CONTROL,\n useExisting: forwardRef(() => AutocompleteComponent),\n },\n {\n provide: ODX_SEARCH_FILTER_HOST,\n useExisting: AUTOCOMPLETE_CONTROL,\n },\n ],\n hostDirectives: [ClickOutsideDirective],\n})\nexport class AutocompleteComponent<T = unknown> extends AutocompleteControl<T | null> implements AfterViewInit {\n private readonly defaultActiveOptionIndex = 0;\n private patchValueFlag = false;\n protected readonly clickOutsideDirective = inject(ClickOutsideDirective, { host: true });\n\n /**\n * The list of autocomplete options.\n *\n * @type {QueryList<AutocompleteOptionComponent<T>> | undefined}\n */\n @ContentChildren(AutocompleteOptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n public options?: QueryList<AutocompleteOptionComponent<T>>;\n\n /**\n * The search field input control.\n *\n * @type {AutocompleteInputControlDirective | undefined}\n */\n @ContentChild(AutocompleteInputControlDirective)\n public searchField?: AutocompleteInputControlDirective;\n\n public readonly dropdownOpenTriggers = [];\n\n public override ngAfterViewInit(): void {\n if (!this.options) return;\n\n this.initKeyManager(this.options);\n this.handleQueryListOption(this.options);\n this.handleSearchFieldChanges();\n this.handleClickOutside();\n }\n\n /**\n * Selects an option, updates the value, updates the search field display,\n * emits the selected value, and closes the dropdown.\n *\n * @param {AutocompleteOptionComponent<T> | null} option - The option component to select. If the option is undefined or its value is undefined,\n * no action is taken.\n */\n public selectOption(option?: AutocompleteOptionComponent<T> | null): void {\n if (!option?.value) return;\n\n this.updateValue(option.value);\n this.updateSearchField(option.value);\n\n this.optionSelected.emit(option.value);\n\n this.closeDropdown();\n }\n\n /**\n * Resets the search field to its initial state and updates the value of the autocomplete\n * to an empty string or initial value.\n */\n public resetSearchField(): void {\n this.updateValue('' as T);\n this.searchField?.reset();\n }\n\n protected handleQueryListOption(options: QueryList<AutocompleteOptionComponent<T>>): void {\n options.changes\n .pipe(\n tap(() => deferFn(() => this.updateDropdownState())),\n filter(() => this.isOpen),\n this.takeUntilDestroyed(),\n )\n .subscribe(() => {\n deferFn(() => this.activateSelectedOption());\n });\n }\n\n protected handleSearchFieldChanges(): void {\n this.searchField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => this.triggerControllerChange());\n }\n\n protected handleClickOutside(): void {\n this.clickOutsideDirective.odxClickOutside.pipe(this.takeUntilDestroyed()).subscribe(() => this.clickOutside());\n }\n\n protected clickOutside(): void {\n this.closeDropdown();\n this.blurSelectSearchField();\n }\n\n protected updateDropdownState(): void {\n if (this.patchValueFlag) {\n this.patchValueFlag = false;\n return;\n }\n\n if (this.isOpen && !this.hasOptions) {\n this.closeDropdown();\n } else if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('click')\n protected handleClickEvent() {\n if (this.isLoading && this.isOpen) {\n this.closeDropdown();\n this.blurSelectSearchField();\n return;\n }\n\n if (this.isReadonly || this.isDisabled) return;\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected handleKeyboardEvent(event: KeyboardEvent) {\n if (this.isReadonly || this.isDisabled) return;\n\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem as AutocompleteOptionComponent<T> | undefined);\n return;\n }\n }\n\n if (event.key === 'Enter' && !!this.value) {\n this.optionSelected.emit(this.value as T);\n return;\n }\n\n if (!this.isOpen && event.key === 'Tab') {\n return;\n }\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n return;\n }\n\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n this.keyManager?.setActiveItem(this.defaultActiveOptionIndex);\n }\n\n protected onDropdownBeforeOpen(): void {\n this.activateSelectedOption();\n }\n\n private updateSearchField(value: T): void {\n if (!this.searchField) return;\n this.patchValueFlag = true;\n this.searchField.nativeElementValue = this.stringify?.(value) ?? (value as string);\n }\n\n private blurSelectSearchField(): void {\n this.searchField?.blur();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-autocomplete__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"dropdownReferenceElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n [odxDropdownOpenTrigger]=\"dropdownOpenTriggers\"\n [odxDropdownClickOutsideActive]=\"false\"\n (odxDropdownBeforeOpen)=\"onDropdownBeforeOpen()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n (odxDropdownBeforeClose)=\"disableSmoothScroll()\"\n>\n <ng-content select=\"input[odxAutocompleteControl]\"></ng-content>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-dropdown__option-list\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';\n\n@Pipe({\n pure: false,\n name: 'odxAutocompleteSearchFilter',\n standalone: true,\n})\nexport class AutocompleteSearchFilterPipe extends BaseSearchFilterPipe implements PipeTransform {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteInputControlDirective } from './directives';\nimport { AutocompleteSearchFilterPipe } from './pipes';\n\nconst modules = [AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,12 +20,16 @@ let AvatarComponent = class AvatarComponent {
20
20
  this.element = injectElement();
21
21
  /**
22
22
  * The size of the avatar.
23
- * @see {AvatarSize}
23
+ *
24
+ * @type {AvatarSize}
25
+ * @default AvatarSize.SMALL
24
26
  */
25
27
  this.size = AvatarSize.SMALL;
26
28
  /**
27
29
  * The variant of the avatar.
28
- * @see {AvatarVariant}
30
+ *
31
+ * @type {AvatarVariant}
32
+ * @default AvatarVariant.CIRCLE
29
33
  */
30
34
  this.variant = AvatarVariant.CIRCLE;
31
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-avatar.mjs","sources":["../../../../libs/angular/components/avatar/src/lib/models/avatar-size.ts","../../../../libs/angular/components/avatar/src/lib/models/avatar-variant.ts","../../../../libs/angular/components/avatar/src/lib/avatar.component.ts","../../../../libs/angular/components/avatar/src/lib/avatar.component.html","../../../../libs/angular/components/avatar/src/odx-angular-components-avatar.ts"],"sourcesContent":["export type AvatarSize = typeof AvatarSize[keyof typeof AvatarSize];\n\nexport const AvatarSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","export type AvatarVariant = (typeof AvatarVariant)[keyof typeof AvatarVariant];\n\nexport const AvatarVariant = {\n CIRCLE: 'circle',\n RECTANGLE: 'rectangle',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { AvatarSize, AvatarVariant } from './models';\n\n@CSSComponent('avatar')\n@Component({\n standalone: true,\n selector: 'odx-avatar',\n templateUrl: 'avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AvatarComponent {\n public readonly element = injectElement();\n\n /**\n * The size of the avatar.\n * @see {AvatarSize}\n */\n @CSSModifier()\n @Input()\n public size?: AvatarSize | null = AvatarSize.SMALL;\n\n /**\n * The variant of the avatar.\n * @see {AvatarVariant}\n */\n @CSSModifier()\n @Input()\n public variant?: AvatarVariant | null = AvatarVariant.CIRCLE;\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEa,MAAA,UAAU,GAAG;AACxB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;ACHH,MAAA,aAAa,GAAG;AAC3B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,WAAW;;;ACSX,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;AAGG;AAGI,QAAA,IAAA,CAAA,IAAI,GAAuB,UAAU,CAAC,KAAK,CAAC;AAEnD;;;AAGG;AAGI,QAAA,IAAA,CAAA,OAAO,GAA0B,aAAa,CAAC,MAAM,CAAC;AAC9D,KAAA;+GAlBY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,oHCb5B,6BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;ADqBS,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEqC,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQ5C,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAE+C,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAjBlD,eAAe,GAAA,UAAA,CAAA;IAR3B,YAAY,CAAC,QAAQ,CAAC;AAQV,CAAA,EAAA,eAAe,CAkB3B,CAAA;4FAlBY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,YAAY,EAEP,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;8BAWxC,IAAI,EAAA,CAAA;sBADV,KAAK;gBASC,OAAO,EAAA,CAAA;sBADb,KAAK;;;AE7BR;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-avatar.mjs","sources":["../../../../libs/angular/components/avatar/src/lib/models/avatar-size.ts","../../../../libs/angular/components/avatar/src/lib/models/avatar-variant.ts","../../../../libs/angular/components/avatar/src/lib/avatar.component.ts","../../../../libs/angular/components/avatar/src/lib/avatar.component.html","../../../../libs/angular/components/avatar/src/odx-angular-components-avatar.ts"],"sourcesContent":["export type AvatarSize = typeof AvatarSize[keyof typeof AvatarSize];\n\nexport const AvatarSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","export type AvatarVariant = (typeof AvatarVariant)[keyof typeof AvatarVariant];\n\nexport const AvatarVariant = {\n CIRCLE: 'circle',\n RECTANGLE: 'rectangle',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { AvatarSize, AvatarVariant } from './models';\n\n@CSSComponent('avatar')\n@Component({\n standalone: true,\n selector: 'odx-avatar',\n templateUrl: 'avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AvatarComponent {\n public readonly element = injectElement();\n\n /**\n * The size of the avatar.\n *\n * @type {AvatarSize}\n * @default AvatarSize.SMALL\n */\n @CSSModifier()\n @Input()\n public size?: AvatarSize | null = AvatarSize.SMALL;\n\n /**\n * The variant of the avatar.\n *\n * @type {AvatarVariant}\n * @default AvatarVariant.CIRCLE\n */\n @CSSModifier()\n @Input()\n public variant?: AvatarVariant | null = AvatarVariant.CIRCLE;\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEa,MAAA,UAAU,GAAG;AACxB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;ACHH,MAAA,aAAa,GAAG;AAC3B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,WAAW;;;ACSX,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;AAKG;AAGI,QAAA,IAAA,CAAA,IAAI,GAAuB,UAAU,CAAC,KAAK,CAAC;AAEnD;;;;;AAKG;AAGI,QAAA,IAAA,CAAA,OAAO,GAA0B,aAAa,CAAC,MAAM,CAAC;AAC9D,KAAA;+GAtBY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,oHCb5B,6BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;ADuBS,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEqC,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAU5C,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAE+C,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AArBlD,eAAe,GAAA,UAAA,CAAA;IAR3B,YAAY,CAAC,QAAQ,CAAC;AAQV,CAAA,EAAA,eAAe,CAsB3B,CAAA;4FAtBY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,YAAY,EAEP,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;8BAaxC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAWC,OAAO,EAAA,CAAA;sBADb,KAAK;;;AEjCR;;AAEG;;;;"}
@@ -20,11 +20,16 @@ let BadgeComponent = class BadgeComponent {
20
20
  this.element = injectElement();
21
21
  /**
22
22
  * Indicates whether the badge should have a contrast effect.
23
+ *
24
+ * @type {boolean}
25
+ * @default false
23
26
  */
24
27
  this.contrast = false;
25
28
  /**
26
29
  * The variant of the badge.
27
- * @see {BadgeVariant}
30
+ *
31
+ * @type {BadgeVariant}
32
+ * @default BadgeVariant.HIGHLIGHT
28
33
  */
29
34
  this.variant = BadgeVariant.HIGHLIGHT;
30
35
  }
@@ -75,22 +80,37 @@ let BadgeDirective = class BadgeDirective {
75
80
  this.element = injectElement();
76
81
  /**
77
82
  * The value of the badge directive.
78
- * @see {DynamicTextContent}
83
+ *
84
+ * @type {DynamicTextContent}
85
+ * @default null
79
86
  */
80
87
  this.value = null;
81
88
  /**
82
89
  * Indicates whether the badge should have a contrast effect.
90
+ *
91
+ * @type {boolean}
92
+ * @default false
83
93
  */
84
94
  this.contrast = false;
85
95
  /**
86
96
  * The position of the badge.
87
- * @see {Position}
97
+ *
98
+ * @type {Position}
99
+ * @default Position.BOTTOM_END
88
100
  */
89
101
  this.position = Position.BOTTOM_END;
102
+ /**
103
+ * The offset of the badge.
104
+ *
105
+ * @type {number}
106
+ * @default 0
107
+ */
90
108
  this.offset = 0;
91
109
  /**
92
110
  * The variant of the badge.
93
- * @see {BadgeVariant}
111
+ *
112
+ * @type {BadgeVariant}
113
+ * @default BadgeVariant.HIGHLIGHT
94
114
  */
95
115
  this.variant = BadgeVariant.HIGHLIGHT;
96
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-badge.mjs","sources":["../../../../libs/angular/components/badge/src/lib/models/badge-variant.ts","../../../../libs/angular/components/badge/src/lib/badge.component.ts","../../../../libs/angular/components/badge/src/lib/badge.directive.ts","../../../../libs/angular/components/badge/src/odx-angular-components-badge.ts"],"sourcesContent":["export type BadgeVariant = typeof BadgeVariant[keyof typeof BadgeVariant];\n\nexport const BadgeVariant = {\n HIGHLIGHT: 'highlight',\n DANGER: 'danger',\n CONFIRMATION: 'confirmation',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { BadgeVariant } from './models';\n\n/**\n * Represents a badge component.\n */\n@CSSComponent('badge')\n@Component({\n standalone: true,\n selector: 'odx-badge',\n imports: [DynamicViewDirective],\n template: '<ng-template [odxDynamicView]=\"value\"></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class BadgeComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the badge should have a contrast effect.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public contrast = false;\n\n /**\n * The variant of the badge.\n * @see {BadgeVariant}\n */\n @CSSModifier()\n @Input()\n public variant: BadgeVariant = BadgeVariant.HIGHLIGHT;\n\n @Input()\n /**\n * The value of the badge component.\n * It can be of type `DynamicTextContent` or `null`.\n * @see {DynamicTextContent}\n */\n public value?: DynamicTextContent | null;\n}\n","import { booleanAttribute, Directive, inject, Injector, Input, numberAttribute, OnChanges, OnDestroy } from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, isPresent, Position } from '@odx/angular/utils';\nimport { BadgeComponent } from './badge.component';\nimport { BadgeVariant } from './models';\n\nconst DEFAULT_BADGE_OVERLAY_OPTIONS: Partial<ConnectedOverlayOptions> = {\n content: BadgeComponent,\n enableFallback: false,\n offset: 0,\n containerClass: 'odx-badge-overlay',\n};\n\n@CSSComponent('badge-host')\n@Directive({\n selector: '[odxBadge]',\n standalone: true,\n})\nexport class BadgeDirective implements BadgeComponent, OnChanges, OnDestroy {\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly injector = inject(Injector);\n private badgeRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n /**\n * The value of the badge directive.\n * @see {DynamicTextContent}\n */\n @Input('odxBadge')\n public value?: DynamicTextContent | null = null;\n\n /**\n * Indicates whether the badge should have a contrast effect.\n */\n @Input({ alias: 'odxBadgeContrast', transform: booleanAttribute })\n public contrast = false;\n\n /**\n * The position of the badge.\n * @see {Position}\n */\n @Input({ alias: 'odxBadgePosition' })\n public position: Position = Position.BOTTOM_END;\n\n @Input({ alias: 'odxBadgeOffset', transform: numberAttribute })\n public offset = 0;\n\n /**\n * The variant of the badge.\n * @see {BadgeVariant}\n */\n @Input({ alias: 'odxBadgeVariant' })\n public variant: BadgeVariant = BadgeVariant.HIGHLIGHT;\n\n public ngOnChanges(): void {\n if (isPresent(this.value)) {\n this.showBadge();\n } else {\n this.hideBadge();\n }\n this.updateBadge();\n }\n\n public ngOnDestroy(): void {\n this.hideBadge();\n }\n\n private showBadge(): void {\n this.badgeRef ??= this.connectedOverlayService.createOverlay(this.element.nativeElement, DEFAULT_BADGE_OVERLAY_OPTIONS, { injector: this.injector });\n }\n\n private hideBadge(): void {\n this.badgeRef?.close();\n this.badgeRef = null;\n }\n\n private updateBadge(): void {\n this.badgeRef?.update({\n context: { contrast: this.contrast, value: this.value, variant: this.variant },\n position: this.position,\n offset: this.offset,\n });\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-badge.mjs","sources":["../../../../libs/angular/components/badge/src/lib/models/badge-variant.ts","../../../../libs/angular/components/badge/src/lib/badge.component.ts","../../../../libs/angular/components/badge/src/lib/badge.directive.ts","../../../../libs/angular/components/badge/src/odx-angular-components-badge.ts"],"sourcesContent":["export type BadgeVariant = typeof BadgeVariant[keyof typeof BadgeVariant];\n\nexport const BadgeVariant = {\n HIGHLIGHT: 'highlight',\n DANGER: 'danger',\n CONFIRMATION: 'confirmation',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { BadgeVariant } from './models';\n\n/**\n * Represents a badge component.\n */\n@CSSComponent('badge')\n@Component({\n standalone: true,\n selector: 'odx-badge',\n imports: [DynamicViewDirective],\n template: '<ng-template [odxDynamicView]=\"value\"></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class BadgeComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the badge should have a contrast effect.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public contrast = false;\n\n /**\n * The variant of the badge.\n *\n * @type {BadgeVariant}\n * @default BadgeVariant.HIGHLIGHT\n */\n @CSSModifier()\n @Input()\n public variant: BadgeVariant = BadgeVariant.HIGHLIGHT;\n\n /**\n * The value of the badge component.\n * It can be of type `DynamicTextContent` or `null`.\n *\n * @type {DynamicTextContent | null}\n */\n @Input()\n public value?: DynamicTextContent | null;\n}\n","import { booleanAttribute, Directive, inject, Injector, Input, numberAttribute, OnChanges, OnDestroy } from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, isPresent, Position } from '@odx/angular/utils';\nimport { BadgeComponent } from './badge.component';\nimport { BadgeVariant } from './models';\n\nconst DEFAULT_BADGE_OVERLAY_OPTIONS: Partial<ConnectedOverlayOptions> = {\n content: BadgeComponent,\n enableFallback: false,\n offset: 0,\n containerClass: 'odx-badge-overlay',\n};\n\n@CSSComponent('badge-host')\n@Directive({\n selector: '[odxBadge]',\n standalone: true,\n})\nexport class BadgeDirective implements BadgeComponent, OnChanges, OnDestroy {\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly injector = inject(Injector);\n private badgeRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n /**\n * The value of the badge directive.\n *\n * @type {DynamicTextContent}\n * @default null\n */\n @Input('odxBadge')\n public value?: DynamicTextContent | null = null;\n\n /**\n * Indicates whether the badge should have a contrast effect.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxBadgeContrast', transform: booleanAttribute })\n public contrast = false;\n\n /**\n * The position of the badge.\n *\n * @type {Position}\n * @default Position.BOTTOM_END\n */\n @Input({ alias: 'odxBadgePosition' })\n public position: Position = Position.BOTTOM_END;\n\n /**\n * The offset of the badge.\n *\n * @type {number}\n * @default 0\n */\n @Input({ alias: 'odxBadgeOffset', transform: numberAttribute })\n public offset = 0;\n\n /**\n * The variant of the badge.\n *\n * @type {BadgeVariant}\n * @default BadgeVariant.HIGHLIGHT\n */\n @Input({ alias: 'odxBadgeVariant' })\n public variant: BadgeVariant = BadgeVariant.HIGHLIGHT;\n\n public ngOnChanges(): void {\n if (isPresent(this.value)) {\n this.showBadge();\n } else {\n this.hideBadge();\n }\n this.updateBadge();\n }\n\n public ngOnDestroy(): void {\n this.hideBadge();\n }\n\n private showBadge(): void {\n this.badgeRef ??= this.connectedOverlayService.createOverlay(this.element.nativeElement, DEFAULT_BADGE_OVERLAY_OPTIONS, { injector: this.injector });\n }\n\n private hideBadge(): void {\n this.badgeRef?.close();\n this.badgeRef = null;\n }\n\n private updateBadge(): void {\n this.badgeRef?.update({\n context: { contrast: this.contrast, value: this.value, variant: this.variant },\n position: this.position,\n offset: this.offset,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -39,6 +39,12 @@ let BarButtonDirective = class BarButtonDirective {
39
39
  constructor() {
40
40
  this.disabledController = DisabledController.inject();
41
41
  this.element = injectElement();
42
+ /**
43
+ * The variant of the bar button.
44
+ *
45
+ * @type {BarButtonVariant}
46
+ * @default BarButtonVariant.DEFAULT
47
+ */
42
48
  this.variant = BarButtonVariant.DEFAULT;
43
49
  }
44
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BarButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }