@odx/angular 6.0.1 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/CHANGELOG.md +24 -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/dynamic-view/lib/tokens/dynamic-view-context.d.ts +4 -0
  6. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +10 -0
  7. package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +9 -5
  8. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +4 -1
  9. package/cdk/option-control/lib/option-control.d.ts +2 -0
  10. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +18 -0
  11. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -1
  12. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +9 -5
  13. package/components/action-group/action-group.component.d.ts +3 -0
  14. package/components/area-header/area-header.component.d.ts +2 -1
  15. package/components/autocomplete/lib/autocomplete.component.d.ts +18 -4
  16. package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +8 -0
  17. package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +4 -0
  18. package/components/avatar/lib/avatar.component.d.ts +6 -2
  19. package/components/badge/lib/badge.component.d.ts +12 -1
  20. package/components/badge/lib/badge.directive.d.ts +18 -3
  21. package/components/bar/lib/directives/bar-button.directive.d.ts +6 -0
  22. package/components/button/lib/button.component.d.ts +9 -1
  23. package/components/button-group/lib/button-group.component.d.ts +12 -0
  24. package/components/calendar/lib/calendar.component.d.ts +11 -0
  25. package/components/calendar/lib/calendar.config.d.ts +6 -0
  26. package/components/calendar/lib/calendar.service.d.ts +13 -1
  27. package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +16 -0
  28. package/components/calendar/lib/daterange.service.d.ts +3 -0
  29. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +4 -0
  30. package/components/calendar/lib/directives/calendar-view.directive.d.ts +18 -0
  31. package/components/calendar/lib/pipes/date-label.pipe.d.ts +4 -0
  32. package/components/card/lib/card.component.d.ts +26 -2
  33. package/components/card/lib/components/card-footer/card-footer.component.d.ts +3 -0
  34. package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +3 -0
  35. package/components/card/lib/directives/card-content.directive.d.ts +3 -0
  36. package/components/card/lib/directives/card-title.directive.d.ts +3 -0
  37. package/components/checkbox/lib/checkbox.component.d.ts +10 -3
  38. package/components/chip/lib/components/chip/chip.component.d.ts +15 -3
  39. package/components/circular-progress/lib/circular-progress.component.d.ts +15 -2
  40. package/components/datepicker/lib/datepicker.component.d.ts +28 -1
  41. package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +7 -1
  42. package/components/daterangepicker/lib/daterangepicker.component.d.ts +4 -0
  43. package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +3 -1
  44. package/components/daterangepicker/lib/required.validator.d.ts +8 -0
  45. package/components/dropdown/lib/dropdown.component.d.ts +6 -4
  46. package/components/dropdown/lib/dropdown.directive.d.ts +38 -3
  47. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +2 -1
  48. package/components/error-page/lib/error-page.component.d.ts +2 -0
  49. package/components/footer/lib/footer.component.d.ts +6 -2
  50. package/components/footer/lib/helpers/create-footer-links.d.ts +1 -2
  51. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +2 -1
  52. package/components/form-field/lib/components/form-group/form-group.component.d.ts +7 -2
  53. package/components/form-field/lib/directives/form-field-error.directive.d.ts +2 -0
  54. package/components/form-field/lib/directives/form.directive.d.ts +4 -0
  55. package/components/form-field/lib/form-field.component.d.ts +17 -2
  56. package/components/form-field/lib/form-field.service.d.ts +27 -6
  57. package/components/form-field/lib/services/form-field-error.service.d.ts +11 -3
  58. package/components/header-navigation/lib/header-navigation.component.d.ts +3 -0
  59. package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +2 -2
  60. package/components/icon/lib/icon.component.d.ts +13 -1
  61. package/components/inline-message/lib/inline-message.component.d.ts +5 -1
  62. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +1 -0
  63. package/components/list/lib/components/list-item/list-item.component.d.ts +10 -1
  64. package/components/list/lib/list.component.d.ts +1 -0
  65. package/components/loading-spinner/lib/loading-spinner.component.d.ts +3 -0
  66. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +7 -0
  67. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +0 -1
  68. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +3 -0
  69. package/components/modal/lib/modal.component.d.ts +1 -0
  70. package/components/modal/lib/modal.service.d.ts +7 -5
  71. package/components/modal/lib/models/modal-ref.d.ts +18 -4
  72. package/components/notification/lib/components/notification-item/notification-item.component.d.ts +4 -4
  73. package/components/notification/lib/directives/notification-center.directive.d.ts +6 -3
  74. package/components/notification/lib/features/with-browser-notifications.d.ts +1 -1
  75. package/components/notification/lib/features/with-load-notifications.d.ts +2 -1
  76. package/components/notification/lib/features/with-notification-transformer.d.ts +2 -2
  77. package/components/notification/lib/features/with-peristent-notifications.d.ts +6 -8
  78. package/components/notification/lib/features/with-save-notifications.d.ts +1 -1
  79. package/components/paginator/lib/paginator.component.d.ts +50 -0
  80. package/components/progress/lib/progress.component.d.ts +6 -1
  81. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +25 -1
  82. package/components/radio-group/lib/radio-group.component.d.ts +6 -0
  83. package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +9 -0
  84. package/components/rail-navigation/lib/rail-navigation.component.d.ts +10 -2
  85. package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +8 -10
  86. package/components/rich-list/lib/rich-list.component.d.ts +3 -0
  87. package/components/select/lib/components/select-option/select-option.component.d.ts +1 -0
  88. package/components/select/lib/directives/select-input-control.directive.d.ts +4 -1
  89. package/components/select/lib/select.component.d.ts +7 -1
  90. package/components/slider/lib/slider.directive.d.ts +7 -4
  91. package/components/spinbox/lib/spinbox.component.d.ts +9 -0
  92. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +4 -1
  93. package/components/table/lib/components/check-cell/check-cell.component.d.ts +4 -1
  94. package/components/table/lib/components/header-title/header-title.component.d.ts +12 -1
  95. package/components/table/lib/table.component.d.ts +18 -1
  96. package/components/timepicker/lib/components/timepicker-option.component.d.ts +9 -1
  97. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +2 -0
  98. package/components/timepicker/lib/timepicker.component.d.ts +18 -3
  99. package/components/timepicker/lib/timepicker.service.d.ts +0 -7
  100. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +19 -0
  101. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +62 -5
  102. package/components/toast/lib/models/toast.d.ts +4 -2
  103. package/components/toast/lib/toast.service.d.ts +12 -0
  104. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +3 -0
  105. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +2 -0
  106. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +7 -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/autocomplete-control/lib/autocomplete-control.mjs +2 -2
  112. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +20 -2
  113. package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +2 -2
  114. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -1
  115. package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-context.mjs +5 -1
  116. package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +11 -1
  117. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +10 -6
  118. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +5 -2
  119. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -1
  120. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +19 -1
  121. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -1
  122. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +9 -4
  123. package/esm2022/components/action-group/action-group.component.mjs +4 -1
  124. package/esm2022/components/area-header/area-header.component.mjs +3 -2
  125. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +19 -9
  126. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +9 -1
  127. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +5 -1
  128. package/esm2022/components/avatar/lib/avatar.component.mjs +7 -3
  129. package/esm2022/components/badge/lib/badge.component.mjs +7 -2
  130. package/esm2022/components/badge/lib/badge.directive.mjs +19 -4
  131. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +7 -1
  132. package/esm2022/components/button/lib/button.component.mjs +10 -2
  133. package/esm2022/components/button-group/lib/button-group.component.mjs +13 -1
  134. package/esm2022/components/calendar/lib/calendar.component.mjs +12 -1
  135. package/esm2022/components/calendar/lib/calendar.config.mjs +1 -1
  136. package/esm2022/components/calendar/lib/calendar.service.mjs +14 -2
  137. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +13 -1
  138. package/esm2022/components/calendar/lib/daterange.service.mjs +4 -1
  139. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +5 -1
  140. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +17 -1
  141. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +5 -1
  142. package/esm2022/components/card/lib/card.component.mjs +25 -1
  143. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +4 -1
  144. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +4 -1
  145. package/esm2022/components/card/lib/directives/card-content.directive.mjs +4 -1
  146. package/esm2022/components/card/lib/directives/card-title.directive.mjs +4 -1
  147. package/esm2022/components/checkbox/lib/checkbox.component.mjs +11 -4
  148. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +15 -3
  149. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +16 -3
  150. package/esm2022/components/datepicker/lib/datepicker.component.mjs +29 -2
  151. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +8 -2
  152. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +5 -1
  153. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -2
  154. package/esm2022/components/daterangepicker/lib/required.validator.mjs +9 -9
  155. package/esm2022/components/dropdown/lib/dropdown.component.mjs +1 -5
  156. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +31 -4
  157. package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +3 -2
  158. package/esm2022/components/error-page/lib/error-page.component.mjs +3 -1
  159. package/esm2022/components/footer/lib/footer.component.mjs +7 -3
  160. package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +2 -3
  161. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -2
  162. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +6 -3
  163. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +1 -1
  164. package/esm2022/components/form-field/lib/directives/form.directive.mjs +5 -1
  165. package/esm2022/components/form-field/lib/form-field.component.mjs +14 -2
  166. package/esm2022/components/form-field/lib/form-field.service.mjs +28 -7
  167. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +12 -4
  168. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +1 -1
  169. package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +3 -3
  170. package/esm2022/components/icon/lib/icon.component.mjs +14 -2
  171. package/esm2022/components/inline-message/lib/inline-message.component.mjs +6 -2
  172. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +2 -1
  173. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +11 -2
  174. package/esm2022/components/list/lib/list.component.mjs +2 -1
  175. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +4 -1
  176. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +8 -1
  177. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +1 -1
  178. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +4 -1
  179. package/esm2022/components/modal/lib/modal.component.mjs +2 -1
  180. package/esm2022/components/modal/lib/modal.service.mjs +3 -3
  181. package/esm2022/components/modal/lib/models/modal-ref.mjs +19 -5
  182. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +5 -5
  183. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +7 -4
  184. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +4 -5
  185. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +3 -3
  186. package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +3 -3
  187. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +7 -9
  188. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +3 -4
  189. package/esm2022/components/paginator/lib/paginator.component.mjs +51 -1
  190. package/esm2022/components/progress/lib/progress.component.mjs +7 -2
  191. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +22 -3
  192. package/esm2022/components/radio-group/lib/radio-group.component.mjs +7 -1
  193. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +7 -1
  194. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +11 -3
  195. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +4 -6
  196. package/esm2022/components/rich-list/lib/rich-list.component.mjs +4 -1
  197. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +5 -3
  198. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +4 -1
  199. package/esm2022/components/select/lib/select.component.mjs +11 -5
  200. package/esm2022/components/slider/lib/slider.directive.mjs +7 -4
  201. package/esm2022/components/spinbox/lib/spinbox.component.mjs +10 -1
  202. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +5 -2
  203. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +2 -1
  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 +22 -3
  212. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +28 -3
  213. package/esm2022/components/toast/lib/models/toast.mjs +1 -1
  214. package/esm2022/components/toast/lib/toast.service.mjs +13 -1
  215. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +4 -1
  216. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -1
  217. package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +8 -1
  218. package/esm2022/components/tooltip/lib/tooltip.component.mjs +6 -2
  219. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +16 -3
  220. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +18 -1
  221. package/esm2022/components/wizard/lib/wizard.component.mjs +22 -4
  222. package/esm2022/internal/lib/helpers/decorator-property-name.mjs +9 -1
  223. package/esm2022/lib/controllers/disabled.controller.mjs +9 -1
  224. package/esm2022/lib/controllers/readonly.controller.mjs +3 -1
  225. package/esm2022/lib/directives/click-outside.directive.mjs +2 -1
  226. package/esm2022/lib/services/window-ref.mjs +22 -4
  227. package/esm2022/localization/lib/models/localization-feature.mjs +8 -1
  228. package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +1 -1
  229. package/esm2022/theming/lib/theming.service.mjs +3 -1
  230. package/esm2022/utils/lib/helpers/queue.mjs +24 -14
  231. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +1 -1
  232. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  233. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +19 -1
  234. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  235. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -1
  236. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  237. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +17 -0
  238. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  239. package/fesm2022/odx-angular-cdk-expandable.mjs +13 -6
  240. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  241. package/fesm2022/odx-angular-cdk-option-control.mjs +2 -0
  242. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  243. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +20 -0
  244. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  245. package/fesm2022/odx-angular-components-accordion.mjs +8 -3
  246. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  247. package/fesm2022/odx-angular-components-action-group.mjs +3 -0
  248. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  249. package/fesm2022/odx-angular-components-area-header.mjs +2 -1
  250. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  251. package/fesm2022/odx-angular-components-autocomplete.mjs +30 -8
  252. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  253. package/fesm2022/odx-angular-components-avatar.mjs +6 -2
  254. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  255. package/fesm2022/odx-angular-components-badge.mjs +24 -4
  256. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  257. package/fesm2022/odx-angular-components-bar.mjs +6 -0
  258. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  259. package/fesm2022/odx-angular-components-button-group.mjs +12 -0
  260. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  261. package/fesm2022/odx-angular-components-button.mjs +9 -1
  262. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  263. package/fesm2022/odx-angular-components-calendar.mjs +63 -1
  264. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  265. package/fesm2022/odx-angular-components-card.mjs +36 -0
  266. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  267. package/fesm2022/odx-angular-components-checkbox.mjs +10 -3
  268. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  269. package/fesm2022/odx-angular-components-chip.mjs +14 -2
  270. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  271. package/fesm2022/odx-angular-components-circular-progress.mjs +15 -2
  272. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  273. package/fesm2022/odx-angular-components-datepicker.mjs +35 -2
  274. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  275. package/fesm2022/odx-angular-components-daterangepicker.mjs +15 -9
  276. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  277. package/fesm2022/odx-angular-components-dropdown.mjs +32 -8
  278. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  279. package/fesm2022/odx-angular-components-error-page.mjs +2 -0
  280. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  281. package/fesm2022/odx-angular-components-footer.mjs +7 -4
  282. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  283. package/fesm2022/odx-angular-components-form-field.mjs +62 -13
  284. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  285. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  286. package/fesm2022/odx-angular-components-icon.mjs +15 -3
  287. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  288. package/fesm2022/odx-angular-components-inline-message.mjs +5 -1
  289. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  290. package/fesm2022/odx-angular-components-list.mjs +12 -1
  291. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  292. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -0
  293. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  294. package/fesm2022/odx-angular-components-modal.mjs +24 -6
  295. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  296. package/fesm2022/odx-angular-components-notification.mjs +25 -26
  297. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  298. package/fesm2022/odx-angular-components-paginator.mjs +50 -0
  299. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  300. package/fesm2022/odx-angular-components-progress.mjs +6 -1
  301. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  302. package/fesm2022/odx-angular-components-radio-group.mjs +27 -2
  303. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  304. package/fesm2022/odx-angular-components-rail-navigation.mjs +16 -2
  305. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  306. package/fesm2022/odx-angular-components-rich-list.mjs +6 -5
  307. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  308. package/fesm2022/odx-angular-components-select.mjs +16 -6
  309. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  310. package/fesm2022/odx-angular-components-slider.mjs +6 -3
  311. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  312. package/fesm2022/odx-angular-components-spinbox.mjs +9 -0
  313. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  314. package/fesm2022/odx-angular-components-tab-bar.mjs +5 -1
  315. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  316. package/fesm2022/odx-angular-components-table.mjs +28 -1
  317. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  318. package/fesm2022/odx-angular-components-timepicker.mjs +24 -11
  319. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  320. package/fesm2022/odx-angular-components-toast.mjs +60 -4
  321. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  322. package/fesm2022/odx-angular-components-toggle-button-group.mjs +5 -0
  323. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  324. package/fesm2022/odx-angular-components-tooltip.mjs +27 -3
  325. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  326. package/fesm2022/odx-angular-components-wizard.mjs +38 -3
  327. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  328. package/fesm2022/odx-angular-internal.mjs +8 -0
  329. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  330. package/fesm2022/odx-angular-localization.mjs +7 -0
  331. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  332. package/fesm2022/odx-angular-theming.mjs +2 -0
  333. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  334. package/fesm2022/odx-angular-utils.mjs +23 -13
  335. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  336. package/fesm2022/odx-angular.mjs +32 -3
  337. package/fesm2022/odx-angular.mjs.map +1 -1
  338. package/internal/lib/helpers/decorator-property-name.d.ts +8 -0
  339. package/lib/controllers/disabled.controller.d.ts +8 -0
  340. package/lib/controllers/readonly.controller.d.ts +2 -0
  341. package/lib/directives/click-outside.directive.d.ts +1 -0
  342. package/lib/services/window-ref.d.ts +21 -3
  343. package/localization/lib/models/localization-feature.d.ts +7 -0
  344. package/package.json +1 -1
  345. package/theming/lib/theming.service.d.ts +2 -0
  346. package/utils/lib/helpers/queue.d.ts +23 -13
@@ -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":"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"}
@@ -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,12 +84,13 @@ 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() {
79
91
  super(...arguments);
80
92
  this.defaultActiveOptionIndex = 0;
93
+ this.patchValueFlag = false;
81
94
  this.clickOutsideDirective = inject(ClickOutsideDirective, { host: true });
82
95
  this.dropdownOpenTriggers = [];
83
96
  }
@@ -87,12 +100,15 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
87
100
  return;
88
101
  this.initKeyManager(this.options);
89
102
  this.handleQueryListOption(this.options);
103
+ this.handleSearchFieldChanges();
90
104
  this.handleClickOutside();
91
105
  }
92
106
  /**
93
- * 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.
94
109
  *
95
- * @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.
96
112
  */
97
113
  selectOption(option) {
98
114
  if (!option?.value)
@@ -103,7 +119,8 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
103
119
  this.closeDropdown();
104
120
  }
105
121
  /**
106
- * 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.
107
124
  */
108
125
  resetSearchField() {
109
126
  this.updateValue('');
@@ -117,7 +134,7 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
117
134
  });
118
135
  }
119
136
  handleSearchFieldChanges() {
120
- //
137
+ this.searchField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => this.triggerControllerChange());
121
138
  }
122
139
  handleClickOutside() {
123
140
  this.clickOutsideDirective.odxClickOutside.pipe(this.takeUntilDestroyed()).subscribe(() => this.clickOutside());
@@ -127,6 +144,10 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
127
144
  this.blurSelectSearchField();
128
145
  }
129
146
  updateDropdownState() {
147
+ if (this.patchValueFlag) {
148
+ this.patchValueFlag = false;
149
+ return;
150
+ }
130
151
  if (this.isOpen && !this.hasOptions) {
131
152
  this.closeDropdown();
132
153
  }
@@ -157,8 +178,8 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
157
178
  return;
158
179
  }
159
180
  }
160
- if (event.key === 'Enter') {
161
- this.optionSelected.emit((this.value ?? ''));
181
+ if (event.key === 'Enter' && !!this.value) {
182
+ this.optionSelected.emit(this.value);
162
183
  return;
163
184
  }
164
185
  if (!this.isOpen && event.key === 'Tab') {
@@ -179,6 +200,7 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
179
200
  updateSearchField(value) {
180
201
  if (!this.searchField)
181
202
  return;
203
+ this.patchValueFlag = true;
182
204
  this.searchField.nativeElementValue = this.stringify?.(value) ?? value;
183
205
  }
184
206
  blurSelectSearchField() {
@@ -201,7 +223,7 @@ AutocompleteComponent = AutocompleteComponent_1 = __decorate([
201
223
  ], AutocompleteComponent);
202
224
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AutocompleteComponent, decorators: [{
203
225
  type: Component,
204
- args: [{ standalone: true, selector: 'odx-autocomplete', imports: [DropdownDirective, AutocompleteOptionComponent, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
226
+ args: [{ standalone: true, selector: 'odx-autocomplete', imports: [DropdownDirective, AutocompleteOptionComponent, LoadingSpinnerModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
205
227
  {
206
228
  provide: AUTOCOMPLETE_CONTROL,
207
229
  useExisting: forwardRef(() => AutocompleteComponent),
@@ -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 encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\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\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.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 //\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.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') {\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\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":";;;;;;;;AAEa,MAAA,YAAY,GAAG;AAC1B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,YAAY,EAAE,cAAc;;;ACC9B;;AAEG;AAUU,IAAA,cAAc,GAApB,MAAM,cAAc,CAAA;AAApB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;AAKG;QAGI,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAExB;;;;;AAKG;AAGI,QAAA,IAAA,CAAA,OAAO,GAAiB,YAAY,CAAC,SAAS,CAAC;AAUvD,KAAA;+GA/BY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAUL,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAd1B,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sDAAsD,4DADtD,oBAAoB,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAgBvB,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEU,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUjB,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEwC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AArB3C,cAAc,GAAA,UAAA,CAAA;IAT1B,YAAY,CAAC,OAAO,CAAC;AAST,CAAA,EAAA,cAAc,CA+B1B,CAAA;4FA/BY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAC/B,oBAAA,QAAQ,EAAE,sDAAsD;oBAChE,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;8BAYQ,QAAQ,EAAA,CAAA;sBADd,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAW/B,OAAO,EAAA,CAAA;sBADb,KAAK;gBAUC,KAAK,EAAA,CAAA;sBADX,KAAK;;;ACvCR,MAAM,6BAA6B,GAAqC;AACtE,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,cAAc,EAAE,mBAAmB;CACpC,CAAC;AAOW,IAAA,cAAc,GAApB,MAAM,cAAc,CAAA;AAApB,IAAA,WAAA,GAAA;AACY,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAQ,CAAA,QAAA,GAA+B,IAAI,CAAC;QAEpC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;AAKG;QAEI,IAAK,CAAA,KAAA,GAA+B,IAAI,CAAC;AAEhD;;;;;AAKG;QAEI,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAExB;;;;;AAKG;AAEI,QAAA,IAAA,CAAA,QAAQ,GAAa,QAAQ,CAAC,UAAU,CAAC;AAEhD;;;;;AAKG;QAEI,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AAElB;;;;;AAKG;AAEI,QAAA,IAAA,CAAA,OAAO,GAAiB,YAAY,CAAC,SAAS,CAAC;AA+BvD,KAAA;IA7BQ,WAAW,GAAA;AAChB,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAEO,SAAS,GAAA;QACf,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,6BAA6B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KACtJ;IAEO,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;AACpB,YAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YAC9E,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,SAAA,CAAC,CAAC;KACJ;+GAhFU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,EAsBsB,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAkBlB,eAAe,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAxCjD,cAAc,GAAA,UAAA,CAAA;IAL1B,YAAY,CAAC,YAAY,CAAC;AAKd,CAAA,EAAA,cAAc,CAiF1B,CAAA;4FAjFY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAeQ,KAAK,EAAA,CAAA;sBADX,KAAK;uBAAC,UAAU,CAAA;gBAUV,QAAQ,EAAA,CAAA;sBADd,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAU1D,QAAQ,EAAA,CAAA;sBADd,KAAK;uBAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAA;gBAU7B,MAAM,EAAA,CAAA;sBADZ,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAUvD,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;;;ACrErC;;AAEG;;;;"}
@@ -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 }); }