@odx/angular 1.0.0-rc.8 → 1.0.0-rc.9

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 (549) hide show
  1. package/README.md +6 -6
  2. package/cdk/a11y/README.md +3 -0
  3. package/cdk/a11y/index.d.ts +2 -0
  4. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  5. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  6. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  7. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +11 -0
  8. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  9. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +2 -2
  10. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +1 -1
  11. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +1 -1
  12. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +1 -0
  13. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  14. package/cdk/custom-form-control/lib/custom-form-control.d.ts +1 -1
  15. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +1 -1
  16. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +1 -1
  17. package/cdk/expandable/index.d.ts +1 -0
  18. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  19. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  20. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  21. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  22. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  23. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  24. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +1 -1
  25. package/components/accordion/lib/accordion.component.d.ts +1 -1
  26. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  27. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  28. package/components/action-group/action-group.component.d.ts +1 -1
  29. package/components/area-header/area-header.component.d.ts +1 -1
  30. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  31. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  32. package/components/avatar/lib/avatar.component.d.ts +1 -1
  33. package/components/badge/lib/badge.component.d.ts +1 -1
  34. package/components/badge/lib/badge.directive.d.ts +1 -1
  35. package/components/bar/README.md +3 -0
  36. package/components/bar/index.d.ts +5 -0
  37. package/components/bar/lib/bar.component.d.ts +6 -0
  38. package/components/bar/lib/bar.module.d.ts +10 -0
  39. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  40. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  41. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  42. package/components/breadcrumbs/README.md +3 -0
  43. package/components/breadcrumbs/index.d.ts +1 -0
  44. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  45. package/components/button/lib/button.component.d.ts +3 -4
  46. package/components/button-group/lib/button-group.component.d.ts +1 -1
  47. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  48. package/components/checkbox/lib/checkbox.validator.d.ts +1 -1
  49. package/components/chip/lib/chip.component.d.ts +1 -1
  50. package/components/circular-progress/lib/circular-progress.component.d.ts +1 -1
  51. package/components/content-box/lib/content-box.component.d.ts +1 -1
  52. package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
  53. package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
  54. package/components/dropdown/index.d.ts +1 -0
  55. package/components/dropdown/lib/dropdown.component.d.ts +2 -1
  56. package/components/dropdown/lib/dropdown.directive.d.ts +9 -4
  57. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  58. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  59. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  60. package/components/dropdown/lib/models/index.d.ts +1 -0
  61. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  62. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -1
  63. package/components/form-field/lib/directives/form-field-control.directive.d.ts +1 -1
  64. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  65. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  66. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  67. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  68. package/components/form-field/lib/form-field.component.d.ts +2 -1
  69. package/components/header/lib/directives/header-avatar.directive.d.ts +1 -1
  70. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  71. package/components/header/lib/header.component.d.ts +1 -1
  72. package/components/header/lib/header.module.d.ts +2 -3
  73. package/components/icon/lib/icon.component.d.ts +1 -1
  74. package/components/icon/lib/models/icon-size.d.ts +2 -1
  75. package/components/inline-message/index.d.ts +1 -1
  76. package/components/inline-message/lib/inline-message.component.d.ts +2 -2
  77. package/components/inline-message/lib/models/index.d.ts +1 -0
  78. package/components/launch-tile/index.d.ts +1 -3
  79. package/components/launch-tile/lib/components/index.d.ts +2 -0
  80. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +1 -1
  81. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +1 -1
  82. package/components/launch-tile/lib/launch-tile.component.d.ts +9 -7
  83. package/components/launch-tile/lib/launch-tile.module.d.ts +8 -10
  84. package/components/link/link.directive.d.ts +2 -4
  85. package/components/list/lib/components/index.d.ts +1 -1
  86. package/components/list/lib/components/{list-item.component.d.ts → list-item/list-item.component.d.ts} +2 -4
  87. package/components/list/lib/list.component.d.ts +2 -1
  88. package/components/list/lib/list.module.d.ts +1 -1
  89. package/components/loading-spinner/lib/loading-spinner.component.d.ts +1 -1
  90. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +2 -2
  91. package/components/logo/logo.directive.d.ts +1 -1
  92. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  93. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -4
  94. package/components/main-menu/lib/main-menu.component.d.ts +1 -1
  95. package/components/menu/README.md +3 -0
  96. package/components/menu/index.d.ts +4 -0
  97. package/components/menu/lib/directives/index.d.ts +1 -0
  98. package/components/menu/lib/directives/menu-item.directive.d.ts +9 -0
  99. package/components/menu/lib/menu.component.d.ts +8 -0
  100. package/components/menu/lib/menu.directive.d.ts +16 -0
  101. package/components/menu/lib/menu.module.d.ts +10 -0
  102. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  103. package/components/modal/lib/components/index.d.ts +2 -0
  104. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  105. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -1
  106. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  107. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  108. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  109. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  110. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  111. package/components/modal/lib/modal.component.d.ts +7 -3
  112. package/components/modal/lib/modal.directive.d.ts +1 -1
  113. package/components/modal/lib/modal.module.d.ts +9 -8
  114. package/components/modal/lib/modal.service.d.ts +2 -1
  115. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  116. package/components/modal/lib/models/index.d.ts +2 -0
  117. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  118. package/components/progress/lib/progress.component.d.ts +2 -2
  119. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  120. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  121. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +2 -4
  122. package/components/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  123. package/components/select/lib/components/option/option.component.d.ts +1 -1
  124. package/components/select/lib/directives/select-search-field.directive.d.ts +1 -1
  125. package/components/select/lib/select.component.d.ts +4 -4
  126. package/components/slider/lib/slider.directive.d.ts +2 -3
  127. package/components/spinbox/lib/spinbox.component.d.ts +2 -2
  128. package/components/switch/lib/switch.component.d.ts +2 -1
  129. package/components/switch/lib/switch.validator.d.ts +1 -1
  130. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +1 -1
  131. package/components/tab-bar/lib/tab-bar.component.d.ts +3 -3
  132. package/components/toast/README.md +3 -0
  133. package/components/toast/index.d.ts +5 -0
  134. package/components/toast/lib/components/index.d.ts +2 -0
  135. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  136. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  137. package/components/toast/lib/models/index.d.ts +5 -0
  138. package/components/toast/lib/models/toast-action.d.ts +7 -0
  139. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  140. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  141. package/components/toast/lib/models/toast.d.ts +10 -0
  142. package/components/toast/lib/models/toast.options.d.ts +4 -0
  143. package/components/toast/lib/toast.config.d.ts +3 -0
  144. package/components/toast/lib/toast.module.d.ts +13 -0
  145. package/components/toast/lib/toast.service.d.ts +16 -0
  146. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +1 -1
  147. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +2 -2
  148. package/components/tooltip/lib/tooltip.component.d.ts +1 -1
  149. package/components/tooltip/lib/tooltip.directive.d.ts +1 -1
  150. package/esm2020/animations/lib/expand.mjs +6 -4
  151. package/esm2020/cdk/a11y/index.mjs +3 -0
  152. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  153. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  154. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  155. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +28 -0
  156. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  157. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  158. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +4 -4
  159. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -4
  160. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +8 -4
  161. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +4 -4
  162. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +3 -3
  163. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +2 -1
  164. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
  165. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +4 -4
  166. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  167. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -4
  168. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  169. package/esm2020/cdk/expandable/index.mjs +2 -1
  170. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  171. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  172. package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
  173. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  174. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  175. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  176. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +4 -4
  177. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +4 -4
  178. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
  179. package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
  180. package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
  181. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  182. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
  183. package/esm2020/components/action-group/action-group.component.mjs +4 -4
  184. package/esm2020/components/area-header/area-header.component.mjs +4 -4
  185. package/esm2020/components/area-header/area-header.module.mjs +5 -5
  186. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
  187. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
  188. package/esm2020/components/avatar/lib/avatar.component.mjs +4 -4
  189. package/esm2020/components/badge/lib/badge.component.mjs +4 -4
  190. package/esm2020/components/badge/lib/badge.directive.mjs +4 -4
  191. package/esm2020/components/bar/index.mjs +6 -0
  192. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  193. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  194. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +39 -0
  195. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  196. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  197. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  198. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  199. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  200. package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
  201. package/esm2020/components/button/lib/button.component.mjs +8 -12
  202. package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
  203. package/esm2020/components/checkbox/lib/checkbox.component.mjs +7 -6
  204. package/esm2020/components/checkbox/lib/checkbox.module.mjs +5 -5
  205. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +4 -4
  206. package/esm2020/components/chip/lib/chip.component.mjs +4 -4
  207. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +5 -5
  208. package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
  209. package/esm2020/components/content-box/lib/content-box.module.mjs +5 -5
  210. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -4
  211. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -4
  212. package/esm2020/components/dropdown/index.mjs +2 -1
  213. package/esm2020/components/dropdown/lib/dropdown.component.mjs +15 -6
  214. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +33 -16
  215. package/esm2020/components/dropdown/lib/dropdown.module.mjs +5 -5
  216. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  217. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  218. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  219. package/esm2020/components/dropdown/lib/models/index.mjs +2 -1
  220. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
  221. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +4 -4
  222. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +4 -4
  223. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
  224. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  225. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
  226. package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
  227. package/esm2020/components/form-field/lib/form-field.component.mjs +8 -7
  228. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -5
  229. package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
  230. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +4 -4
  231. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +4 -4
  232. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
  233. package/esm2020/components/header/lib/header.component.mjs +5 -6
  234. package/esm2020/components/header/lib/header.module.mjs +7 -11
  235. package/esm2020/components/icon/lib/icon.component.mjs +4 -4
  236. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  237. package/esm2020/components/inline-message/index.mjs +2 -2
  238. package/esm2020/components/inline-message/lib/inline-message.component.mjs +5 -5
  239. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  240. package/esm2020/components/launch-tile/index.mjs +2 -4
  241. package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
  242. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +4 -4
  243. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +4 -4
  244. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +32 -21
  245. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +9 -45
  246. package/esm2020/components/link/link.directive.mjs +7 -14
  247. package/esm2020/components/list/lib/components/index.mjs +2 -2
  248. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  249. package/esm2020/components/list/lib/list.component.mjs +17 -9
  250. package/esm2020/components/list/lib/list.module.mjs +6 -6
  251. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +4 -4
  252. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +9 -9
  253. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +5 -5
  254. package/esm2020/components/logo/logo.directive.mjs +4 -4
  255. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
  256. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +7 -13
  257. package/esm2020/components/main-menu/lib/main-menu.component.mjs +8 -8
  258. package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
  259. package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
  260. package/esm2020/components/menu/index.mjs +5 -0
  261. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  262. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +39 -0
  263. package/esm2020/components/menu/lib/menu.component.mjs +35 -0
  264. package/esm2020/components/menu/lib/menu.directive.mjs +51 -0
  265. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  266. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  267. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  268. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  269. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
  270. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +4 -4
  271. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  272. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  273. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
  274. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
  275. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  276. package/esm2020/components/modal/lib/modal.component.mjs +19 -9
  277. package/esm2020/components/modal/lib/modal.directive.mjs +4 -4
  278. package/esm2020/components/modal/lib/modal.module.mjs +33 -7
  279. package/esm2020/components/modal/lib/modal.service.mjs +14 -5
  280. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  281. package/esm2020/components/modal/lib/models/index.mjs +3 -1
  282. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  283. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +4 -4
  284. package/esm2020/components/progress/lib/progress.component.mjs +6 -6
  285. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  286. package/esm2020/components/radio-group/lib/radio-group.component.mjs +6 -6
  287. package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
  288. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +7 -12
  289. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +4 -4
  290. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +5 -5
  291. package/esm2020/components/select/lib/components/option/option.component.mjs +5 -5
  292. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +4 -4
  293. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +4 -4
  294. package/esm2020/components/select/lib/select.component.mjs +13 -17
  295. package/esm2020/components/select/lib/select.module.mjs +5 -5
  296. package/esm2020/components/slider/lib/slider.directive.mjs +7 -10
  297. package/esm2020/components/spinbox/lib/spinbox.component.mjs +5 -5
  298. package/esm2020/components/switch/lib/switch.component.mjs +7 -6
  299. package/esm2020/components/switch/lib/switch.module.mjs +5 -5
  300. package/esm2020/components/switch/lib/switch.validator.mjs +4 -4
  301. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +8 -8
  302. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +7 -8
  303. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +5 -5
  304. package/esm2020/components/toast/index.mjs +6 -0
  305. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  306. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  307. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +74 -0
  308. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  309. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  310. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  311. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  312. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  313. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  314. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  315. package/esm2020/components/toast/lib/toast.module.mjs +26 -0
  316. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  317. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  318. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +6 -10
  319. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +15 -7
  320. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
  321. package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
  322. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +4 -4
  323. package/esm2020/lib/controllers/controller.mjs +6 -6
  324. package/esm2020/lib/controllers/disabled.controller.mjs +21 -42
  325. package/esm2020/lib/controllers/readonly.controller.mjs +6 -6
  326. package/esm2020/lib/core.module.mjs +7 -7
  327. package/esm2020/lib/directives/click-outside.directive.mjs +7 -6
  328. package/esm2020/lib/directives/index.mjs +4 -1
  329. package/esm2020/lib/directives/let.directive.mjs +36 -0
  330. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  331. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  332. package/esm2020/lib/services/window-ref.mjs +9 -5
  333. package/esm2020/utils/lib/helpers/dom.mjs +8 -1
  334. package/esm2020/utils/lib/helpers/event-manager.mjs +4 -4
  335. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  336. package/esm2020/utils/lib/helpers/index.mjs +3 -1
  337. package/esm2020/utils/lib/helpers/provide-module-config.mjs +1 -1
  338. package/esm2020/utils/lib/helpers/queue.mjs +24 -0
  339. package/fesm2015/odx-angular-animations.mjs +5 -3
  340. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  341. package/fesm2015/odx-angular-cdk-a11y.mjs +132 -0
  342. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  343. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  344. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -1
  345. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
  346. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  347. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +13 -8
  348. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  349. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  350. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  351. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +9 -9
  352. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  353. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  354. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  355. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +10 -10
  356. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  357. package/fesm2015/odx-angular-components-accordion.mjs +19 -17
  358. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  359. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  360. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  361. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  362. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  363. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  364. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  365. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  366. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  367. package/fesm2015/odx-angular-components-bar.mjs +96 -0
  368. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  369. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  370. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  371. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  372. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
  373. package/fesm2015/odx-angular-components-button.mjs +7 -11
  374. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  375. package/fesm2015/odx-angular-components-checkbox.mjs +13 -12
  376. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  377. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  378. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  379. package/fesm2015/odx-angular-components-circular-progress.mjs +4 -4
  380. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  381. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  382. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  383. package/fesm2015/odx-angular-components-dropdown.mjs +60 -25
  384. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  385. package/fesm2015/odx-angular-components-form-field.mjs +37 -36
  386. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  387. package/fesm2015/odx-angular-components-header.mjs +16 -20
  388. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  389. package/fesm2015/odx-angular-components-icon.mjs +4 -3
  390. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  391. package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
  392. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  393. package/fesm2015/odx-angular-components-launch-tile.mjs +45 -83
  394. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -1
  395. package/fesm2015/odx-angular-components-link.mjs +6 -14
  396. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  397. package/fesm2015/odx-angular-components-list.mjs +22 -25
  398. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  399. package/fesm2015/odx-angular-components-loading-spinner.mjs +15 -15
  400. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  401. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  402. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  403. package/fesm2015/odx-angular-components-main-menu.mjs +22 -30
  404. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  405. package/fesm2015/odx-angular-components-menu.mjs +127 -0
  406. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  407. package/fesm2015/odx-angular-components-modal.mjs +161 -55
  408. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  409. package/fesm2015/odx-angular-components-progress.mjs +5 -5
  410. package/fesm2015/odx-angular-components-progress.mjs.map +1 -1
  411. package/fesm2015/odx-angular-components-radio-group.mjs +15 -16
  412. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  413. package/fesm2015/odx-angular-components-rail-navigation.mjs +13 -19
  414. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  415. package/fesm2015/odx-angular-components-select.mjs +26 -30
  416. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  417. package/fesm2015/odx-angular-components-slider.mjs +6 -9
  418. package/fesm2015/odx-angular-components-slider.mjs.map +1 -1
  419. package/fesm2015/odx-angular-components-spinbox.mjs +5 -5
  420. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  421. package/fesm2015/odx-angular-components-switch.mjs +13 -12
  422. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  423. package/fesm2015/odx-angular-components-tab-bar.mjs +17 -18
  424. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  425. package/fesm2015/odx-angular-components-toast.mjs +221 -0
  426. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  427. package/fesm2015/odx-angular-components-toggle-button-group.mjs +23 -19
  428. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  429. package/fesm2015/odx-angular-components-tooltip.mjs +6 -6
  430. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  431. package/fesm2015/odx-angular-utils.mjs +41 -5
  432. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  433. package/fesm2015/odx-angular.mjs +140 -64
  434. package/fesm2015/odx-angular.mjs.map +1 -1
  435. package/fesm2020/odx-angular-animations.mjs +5 -3
  436. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  437. package/fesm2020/odx-angular-cdk-a11y.mjs +128 -0
  438. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  439. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  440. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -1
  441. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
  442. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  443. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +13 -8
  444. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  445. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  446. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  447. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +9 -9
  448. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  449. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  450. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  451. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +10 -10
  452. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  453. package/fesm2020/odx-angular-components-accordion.mjs +19 -17
  454. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  455. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  456. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  457. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  458. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  459. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  460. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  461. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  462. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  463. package/fesm2020/odx-angular-components-bar.mjs +96 -0
  464. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  465. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  466. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  467. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  468. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
  469. package/fesm2020/odx-angular-components-button.mjs +7 -11
  470. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  471. package/fesm2020/odx-angular-components-checkbox.mjs +13 -12
  472. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  473. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  474. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  475. package/fesm2020/odx-angular-components-circular-progress.mjs +4 -4
  476. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  477. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  478. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  479. package/fesm2020/odx-angular-components-dropdown.mjs +60 -24
  480. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  481. package/fesm2020/odx-angular-components-form-field.mjs +37 -36
  482. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  483. package/fesm2020/odx-angular-components-header.mjs +16 -20
  484. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  485. package/fesm2020/odx-angular-components-icon.mjs +4 -3
  486. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  487. package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
  488. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  489. package/fesm2020/odx-angular-components-launch-tile.mjs +44 -82
  490. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -1
  491. package/fesm2020/odx-angular-components-link.mjs +6 -13
  492. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  493. package/fesm2020/odx-angular-components-list.mjs +22 -24
  494. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  495. package/fesm2020/odx-angular-components-loading-spinner.mjs +15 -15
  496. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  497. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  498. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  499. package/fesm2020/odx-angular-components-main-menu.mjs +22 -29
  500. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  501. package/fesm2020/odx-angular-components-menu.mjs +129 -0
  502. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  503. package/fesm2020/odx-angular-components-modal.mjs +166 -55
  504. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  505. package/fesm2020/odx-angular-components-progress.mjs +5 -5
  506. package/fesm2020/odx-angular-components-progress.mjs.map +1 -1
  507. package/fesm2020/odx-angular-components-radio-group.mjs +15 -16
  508. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  509. package/fesm2020/odx-angular-components-rail-navigation.mjs +13 -18
  510. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  511. package/fesm2020/odx-angular-components-select.mjs +26 -30
  512. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  513. package/fesm2020/odx-angular-components-slider.mjs +6 -9
  514. package/fesm2020/odx-angular-components-slider.mjs.map +1 -1
  515. package/fesm2020/odx-angular-components-spinbox.mjs +5 -5
  516. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  517. package/fesm2020/odx-angular-components-switch.mjs +13 -12
  518. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  519. package/fesm2020/odx-angular-components-tab-bar.mjs +16 -17
  520. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  521. package/fesm2020/odx-angular-components-toast.mjs +220 -0
  522. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  523. package/fesm2020/odx-angular-components-toggle-button-group.mjs +23 -19
  524. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  525. package/fesm2020/odx-angular-components-tooltip.mjs +6 -6
  526. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  527. package/fesm2020/odx-angular-utils.mjs +42 -5
  528. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  529. package/fesm2020/odx-angular.mjs +137 -63
  530. package/fesm2020/odx-angular.mjs.map +1 -1
  531. package/lib/controllers/controller.d.ts +1 -1
  532. package/lib/controllers/disabled.controller.d.ts +4 -9
  533. package/lib/controllers/readonly.controller.d.ts +4 -2
  534. package/lib/core.module.d.ts +3 -2
  535. package/lib/directives/click-outside.directive.d.ts +1 -1
  536. package/lib/directives/index.d.ts +3 -0
  537. package/lib/directives/let.directive.d.ts +17 -0
  538. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  539. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  540. package/lib/services/window-ref.d.ts +2 -0
  541. package/package.json +51 -11
  542. package/utils/lib/helpers/dom.d.ts +1 -0
  543. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  544. package/utils/lib/helpers/index.d.ts +2 -0
  545. package/utils/lib/helpers/provide-module-config.d.ts +1 -1
  546. package/utils/lib/helpers/queue.d.ts +11 -0
  547. package/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.d.ts +0 -5
  548. package/esm2020/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.mjs +0 -17
  549. package/esm2020/components/list/lib/components/list-item.component.mjs +0 -46
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectControl } from './abstract';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectControl>('@odx/angular/components/select::SelectControl');\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { skip } from 'rxjs';\nimport { SelectControlOption } from '../../abstract';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('option')\n@Component({\n standalone: true,\n selector: 'odx-option',\n imports: [CoreModule, DynamicViewDirective],\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-selected]': 'isSelected',\n '[class.is-active]': 'isActive',\n '[class.is-disabled]': 'disabled',\n role: 'option',\n },\n})\nexport class OptionComponent<T = unknown> implements OnInit, SelectControlOption<T> {\n private readonly disabledController = DisabledController.inject();\n private readonly readonlyController = ReadonlyController.inject();\n private readonly takeUntilDestroyed = untilDestroyed();\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n protected isActive = false;\n\n public readonly element = injectElement();\n public isSelected = false;\n\n @Input()\n public value: T | null = null;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled || !!this.readonlyController?.readonly;\n }\n\n constructor() {\n detectControllerChanges(this.selectControl)\n .pipe(skip(1), this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public getLabel(): string {\n return this.element.nativeElement.textContent ?? '';\n }\n\n public setActiveStyles(): void {\n if (this.disabled) return;\n this.isActive = true;\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n\n @HostListener('click', ['$event'])\n protected select(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.selectControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { distinctUntilChanged, fromEvent, map } from 'rxjs';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n host: {\n '[class.odx-form-field-control]': 'true',\n },\n})\nexport class SelectSearchFieldDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLInputElement>();\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n public valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(\n map(() => this.getValue()),\n distinctUntilChanged(),\n this.takeUntilDestroyed()\n );\n\n @HostListener('keydown.delete')\n public reset(): void {\n this.element.nativeElement.value = '';\n }\n\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n public getValue(): string {\n return this.element.nativeElement.value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, StringSearchHandler } from '@odx/angular';\nimport { Pure } from '@odx/angular/utils';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe implements PipeTransform {\n private readonly searchController = inject(SELECT_CONTROL, { optional: true });\n private readonly stringify = inject(ODX_STRINGIFY);\n private readonly stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);\n\n private get searchField(): SelectSearchFieldDirective | undefined {\n return this.searchController?.searchField;\n }\n\n public transform<T>(items: T[] | null, searchHandler?: StringSearchHandler): T[] | null {\n if (this.searchField) {\n return this.filter(items, this.searchField.getValue(), searchHandler);\n }\n return items;\n }\n\n @Pure\n private filter<T>(items: T[] | null, query: string, searchHandler?: StringSearchHandler): T[] | null {\n if (!items) {\n return null;\n }\n query = query.trim();\n if (query === '') {\n return items;\n }\n const search = searchHandler ?? this.stringSearchHandler;\n const stringify = this.searchController?.stringify ?? this.stringify;\n\n return items.filter((item) => search(stringify(item), query));\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, IdentityMatcher, ODX_IDENTITY_MATCHER, ReadonlyController, StringifyFn } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, Transform } from '@odx/angular/utils';\nimport { filter } from 'rxjs';\nimport { SelectControl, SelectControlOption } from './abstract';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DisabledController.connect(),\n ReadonlyController.connect(),\n {\n provide: SELECT_CONTROL,\n useExisting: SelectComponent,\n },\n ],\n host: {\n '[attr.aria-disabled]': 'isDisabled || null',\n '[class.is-open]': 'isOpen',\n '[tabindex]': 'searchFieldEnabled ? -1 : 0',\n },\n})\nexport class SelectComponent<T = unknown> extends CustomFormControl<T | null> implements AfterViewInit, SelectControl<T> {\n public static ngAcceptInputType_isLoading: BooleanInput;\n\n private keyManager?: ActiveDescendantKeyManager<OptionComponent<T>>;\n\n protected searchFieldEnabled = false;\n protected smoothScrollEnabled = false;\n protected selectedOption: OptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n public readonly element = injectElement();\n\n protected get hasOptions(): boolean {\n return !!this.options && this.options.length > 0;\n }\n\n public get isOpen(): boolean {\n return !!this.dropdown?.isOpen;\n }\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isLoading = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public stringify?: StringifyFn<T | null>;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<void>();\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n @ContentChildren(OptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<OptionComponent<T>>;\n\n @ViewChild(DropdownDirective)\n protected dropdown?: DropdownDirective;\n\n constructor() {\n super(null);\n\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n if (!this.options) return;\n this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n this.options.changes.pipe(filter(() => this.isOpen)).subscribe(() => {\n deferFn(() => this.activateSelectedOption());\n this.triggerControllerChange();\n });\n this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectControlOption<T> | null): void {\n if (option && !option.disabled) {\n this.updateValue(option.value ?? null);\n }\n this.dropdown?.close();\n }\n\n public isOptionSelected(option: SelectControlOption<T>): boolean {\n if (option && !option.disabled) {\n return this.identityMatcher(option.value, this.value);\n }\n return false;\n }\n\n public scrollOptionIntoView({ element }: SelectControlOption<T>): void {\n const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;\n element.nativeElement.scrollIntoView({ block: 'center', behavior });\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected openDropdown(event: KeyboardEvent) {\n if (this.isLoading) return;\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);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n protected disableSmoothScroll(): void {\n this.smoothScrollEnabled = false;\n }\n\n protected enableSmoothScroll(): void {\n this.smoothScrollEnabled = true;\n }\n\n private updateSelectedOption(): void {\n this.selectedOption = this.options?.toArray()?.find((option) => option.isSelected) ?? null;\n if (this.selectedOption) {\n this.selectedOptionText = this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel();\n } else {\n this.selectedOptionText = null;\n }\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\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-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectControl } from './abstract';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectControl>('@odx/angular/components/select::SelectControl');\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { skip } from 'rxjs';\nimport { SelectControlOption } from '../../abstract';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('option')\n@Component({\n standalone: true,\n selector: 'odx-option',\n imports: [CoreModule, DynamicViewDirective],\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-disabled]': 'disabled',\n '[class.is-selected]': 'isSelected',\n '[class.is-active]': 'isActive',\n role: 'option',\n },\n})\nexport class OptionComponent<T = unknown> implements OnInit, SelectControlOption<T> {\n private readonly disabledController = DisabledController.inject();\n private readonly readonlyController = ReadonlyController.inject();\n private readonly takeUntilDestroyed = untilDestroyed();\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n protected isActive = false;\n\n public readonly element = injectElement();\n public isSelected = false;\n\n @Input()\n public value: T | null = null;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled || !!this.readonlyController?.readonly;\n }\n\n constructor() {\n detectControllerChanges(this.selectControl)\n .pipe(skip(1), this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public getLabel(): string {\n return this.element.nativeElement.textContent ?? '';\n }\n\n public setActiveStyles(): void {\n if (this.disabled) return;\n this.isActive = true;\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n\n @HostListener('click', ['$event'])\n protected select(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.selectControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { distinctUntilChanged, fromEvent, map } from 'rxjs';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n host: {\n '[class.odx-form-field-control]': 'true',\n },\n})\nexport class SelectSearchFieldDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLInputElement>();\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n public valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(\n map(() => this.getValue()),\n distinctUntilChanged(),\n this.takeUntilDestroyed()\n );\n\n @HostListener('keydown.delete')\n public reset(): void {\n this.element.nativeElement.value = '';\n }\n\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n public getValue(): string {\n return this.element.nativeElement.value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, StringSearchHandler } from '@odx/angular';\nimport { Pure } from '@odx/angular/utils';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe implements PipeTransform {\n private readonly searchController = inject(SELECT_CONTROL, { optional: true });\n private readonly stringify = inject(ODX_STRINGIFY);\n private readonly stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);\n\n private get searchField(): SelectSearchFieldDirective | undefined {\n return this.searchController?.searchField;\n }\n\n public transform<T>(items: T[] | null, searchHandler?: StringSearchHandler): T[] | null {\n if (this.searchField) {\n return this.filter(items, this.searchField.getValue(), searchHandler);\n }\n return items;\n }\n\n @Pure\n private filter<T>(items: T[] | null, query: string, searchHandler?: StringSearchHandler): T[] | null {\n if (!items) {\n return null;\n }\n query = query.trim();\n if (query === '') {\n return items;\n }\n const search = searchHandler ?? this.stringSearchHandler;\n const stringify = this.searchController?.stringify ?? this.stringify;\n\n return items.filter((item) => search(stringify(item), query));\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, detectControllerChanges, IdentityMatcher, ODX_IDENTITY_MATCHER, StringifyFn } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, Transform } from '@odx/angular/utils';\nimport { filter } from 'rxjs';\nimport { SelectControl, SelectControlOption } from './abstract';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: SELECT_CONTROL,\n useExisting: SelectComponent,\n },\n ],\n host: {\n '[attr.aria-disabled]': 'isDisabled || null',\n '[class.is-open]': 'isOpen',\n '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',\n },\n})\nexport class SelectComponent<T = unknown> extends CustomFormControl<T | null> implements AfterViewInit, SelectControl<T> {\n public static ngAcceptInputType_isLoading: BooleanInput;\n\n private keyManager?: ActiveDescendantKeyManager<OptionComponent<T>>;\n\n protected searchFieldEnabled = false;\n protected smoothScrollEnabled = false;\n protected selectedOption: OptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n protected get hasOptions(): boolean {\n return !!this.options && this.options.length > 0;\n }\n\n @ContentChildren(OptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<OptionComponent<T>>;\n\n @ViewChild(DropdownDirective)\n protected dropdown?: DropdownDirective;\n\n public readonly element = injectElement();\n\n public get isOpen(): boolean {\n return !!this.dropdown?.isOpen;\n }\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isLoading = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public stringify?: StringifyFn<T | null>;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<void>();\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n constructor() {\n super(null);\n\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n if (!this.options) return;\n this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n this.options.changes.pipe(filter(() => this.isOpen)).subscribe(() => {\n deferFn(() => this.activateSelectedOption());\n this.triggerControllerChange();\n });\n this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectControlOption<T> | null): void {\n if (option && !option.disabled) {\n this.updateValue(option.value ?? null);\n }\n this.dropdown?.close();\n }\n\n public isOptionSelected(option: SelectControlOption<T>): boolean {\n if (option && !option.disabled) {\n return this.identityMatcher(option.value, this.value);\n }\n return false;\n }\n\n public scrollOptionIntoView({ element }: SelectControlOption<T>): void {\n const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;\n element.nativeElement.scrollIntoView({ block: 'center', behavior });\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected openDropdown(event: KeyboardEvent) {\n if (this.isLoading) return;\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);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n protected disableSmoothScroll(): void {\n this.smoothScrollEnabled = false;\n }\n\n protected enableSmoothScroll(): void {\n this.smoothScrollEnabled = true;\n }\n\n private updateSelectedOption(): void {\n this.selectedOption = this.options?.toArray()?.find((option) => option.isSelected) ?? null;\n if (this.selectedOption) {\n this.selectedOptionText = this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel();\n } else {\n this.selectedOptionText = null;\n }\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Directive, HostBinding } from '@angular/core';
4
- import { DisabledController } from '@odx/angular';
4
+ import * as i1 from '@odx/angular';
5
+ import { WithDisabledState } from '@odx/angular';
5
6
  import { CSSComponent } from '@odx/angular/internal';
6
7
  import { injectElement } from '@odx/angular/utils';
7
8
 
8
9
  let SliderDirective = class SliderDirective {
9
10
  constructor() {
10
- this.disabledController = DisabledController.inject();
11
11
  this.element = injectElement();
12
12
  }
13
13
  get value() {
@@ -23,20 +23,17 @@ let SliderDirective = class SliderDirective {
23
23
  return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
24
24
  }
25
25
  };
26
- SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
- SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "class.is-disabled": "disabledController?.disabled", "style.--odx-slider-filled.%": "this.valuePercentage" } }, providers: [DisabledController.connect()], ngImport: i0 });
26
+ SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
+ SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "style.--odx-slider-filled.%": "this.valuePercentage" } }, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0 });
28
28
  SliderDirective = __decorate([
29
29
  CSSComponent('slider')
30
30
  ], SliderDirective);
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SliderDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SliderDirective, decorators: [{
32
32
  type: Directive,
33
33
  args: [{
34
34
  standalone: true,
35
35
  selector: 'input[type=range][odxSlider]',
36
- providers: [DisabledController.connect()],
37
- host: {
38
- '[class.is-disabled]': 'disabledController?.disabled',
39
- },
36
+ hostDirectives: [WithDisabledState],
40
37
  }]
41
38
  }], propDecorators: { valuePercentage: [{
42
39
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-slider.mjs","sources":["../../../../libs/angular/components/slider/src/lib/slider.directive.ts","../../../../libs/angular/components/slider/src/odx-angular-components-slider.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding } from '@angular/core';\nimport { DisabledController } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('slider')\n@Directive({\n standalone: true,\n selector: 'input[type=range][odxSlider]',\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'disabledController?.disabled',\n },\n})\nexport class SliderDirective {\n protected readonly disabledController = DisabledController.inject();\n\n public readonly element: ElementRef<HTMLInputElement> = injectElement();\n\n public get value(): number {\n return Number(this.element.nativeElement.value);\n }\n public get max(): number {\n return Number(this.element.nativeElement.max) || 100;\n }\n public get min(): number {\n return Number(this.element.nativeElement.min);\n }\n\n @HostBinding(`style.--odx-slider-filled.%`)\n public get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min) || 0;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAca,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;AACc,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAEpD,QAAA,IAAO,CAAA,OAAA,GAAiC,aAAa,EAAE,CAAC;KAgBzE;AAdC,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACjD;AACD,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;KACtD;AACD,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KAC/C;AAED,IAAA,IACW,eAAe,GAAA;QACxB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrE;;6GAlBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,iNALf,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAK9B,eAAe,GAAA,UAAA,CAAA;IAT3B,YAAY,CAAC,QAAQ,CAAC;CASV,EAAA,eAAe,CAmB3B,CAAA;4FAnBY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;AACzC,oBAAA,IAAI,EAAE;AACJ,wBAAA,qBAAqB,EAAE,8BAA8B;AACtD,qBAAA;iBACF,CAAA;8BAiBY,eAAe,EAAA,CAAA;sBADzB,WAAW;uBAAC,CAAA,2BAAA,CAA6B,CAAA;;;AC7B5C;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-slider.mjs","sources":["../../../../libs/angular/components/slider/src/lib/slider.directive.ts","../../../../libs/angular/components/slider/src/odx-angular-components-slider.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding } from '@angular/core';\nimport { WithDisabledState } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('slider')\n@Directive({\n standalone: true,\n selector: 'input[type=range][odxSlider]',\n hostDirectives: [WithDisabledState],\n})\nexport class SliderDirective {\n public readonly element: ElementRef<HTMLInputElement> = injectElement();\n\n public get value(): number {\n return Number(this.element.nativeElement.value);\n }\n public get max(): number {\n return Number(this.element.nativeElement.max) || 100;\n }\n public get min(): number {\n return Number(this.element.nativeElement.min);\n }\n\n @HostBinding(`style.--odx-slider-filled.%`)\n public get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min) || 0;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAWa,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;AACW,QAAA,IAAO,CAAA,OAAA,GAAiC,aAAa,EAAE,CAAC;KAgBzE;AAdC,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACjD;AACD,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;KACtD;AACD,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KAC/C;AAED,IAAA,IACW,eAAe,GAAA;QACxB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrE;;4GAhBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAf,eAAe,GAAA,UAAA,CAAA;IAN3B,YAAY,CAAC,QAAQ,CAAC;CAMV,EAAA,eAAe,CAiB3B,CAAA;2FAjBY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,8BAA8B;oBACxC,cAAc,EAAE,CAAC,iBAAiB,CAAC;iBACpC,CAAA;8BAeY,eAAe,EAAA,CAAA;sBADzB,WAAW;uBAAC,CAAA,2BAAA,CAA6B,CAAA;;;ACxB5C;;AAEG;;;;"}
@@ -6,14 +6,14 @@ import { detectControllerChanges, DisabledController, ReadonlyController } from
6
6
  import { CustomFormControl, ControlDirective } from '@odx/angular/cdk/custom-form-control';
7
7
  import { CSSComponent } from '@odx/angular/internal';
8
8
  import { fromEvents } from '@odx/angular/rxjs';
9
- import { injectElement, untilDestroyed, Transform } from '@odx/angular/utils';
9
+ import { untilDestroyed, injectElement, Transform } from '@odx/angular/utils';
10
10
  import { filter, tap, switchMap, NEVER, timer, startWith } from 'rxjs';
11
11
 
12
12
  let SpinboxComponent = class SpinboxComponent extends CustomFormControl {
13
13
  constructor() {
14
14
  super(0);
15
- this.element = injectElement();
16
15
  this.takeUntilDestroyed = untilDestroyed();
16
+ this.element = injectElement();
17
17
  this.max = Infinity;
18
18
  this.min = -Infinity;
19
19
  this.step = 1;
@@ -57,8 +57,8 @@ let SpinboxComponent = class SpinboxComponent extends CustomFormControl {
57
57
  }), switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))), this.takeUntilDestroyed());
58
58
  }
59
59
  };
60
- SpinboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
- SpinboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SpinboxComponent, isStandalone: true, selector: "odx-spinbox", inputs: { max: "max", min: "min", step: "step" }, providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "decrementButton", first: true, predicate: ["decrementButton"], descendants: true }, { propertyName: "incrementButton", first: true, predicate: ["incrementButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
60
+ SpinboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SpinboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ SpinboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SpinboxComponent, isStandalone: true, selector: "odx-spinbox", inputs: { max: "max", min: "min", step: "step" }, providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "decrementButton", first: true, predicate: ["decrementButton"], descendants: true }, { propertyName: "incrementButton", first: true, predicate: ["incrementButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
62
62
  __decorate([
63
63
  Transform(coerceNumberProperty),
64
64
  __metadata("design:type", Object)
@@ -75,7 +75,7 @@ SpinboxComponent = __decorate([
75
75
  CSSComponent('spinbox'),
76
76
  __metadata("design:paramtypes", [])
77
77
  ], SpinboxComponent);
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpinboxComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SpinboxComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ standalone: true, selector: 'odx-spinbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [DisabledController.connect(), ReadonlyController.connect()], template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n" }]
81
81
  }], ctorParameters: function () { return []; }, propDecorators: { decrementButton: [{
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-spinbox.mjs","sources":["../../../../libs/angular/components/spinbox/src/lib/spinbox.component.ts","../../../../libs/angular/components/spinbox/src/lib/spinbox.component.html","../../../../libs/angular/components/spinbox/src/odx-angular-components-spinbox.ts"],"sourcesContent":["import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { ControlDirective, CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { filter, NEVER, Observable, startWith, switchMap, tap, timer } from 'rxjs';\n\n@CSSComponent('spinbox')\n@Component({\n standalone: true,\n selector: 'odx-spinbox',\n templateUrl: 'spinbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class SpinboxComponent extends CustomFormControl<number> implements AfterViewInit {\n public static ngAcceptInputType_max: NumberInput;\n public static ngAcceptInputType_min: NumberInput;\n public static ngAcceptInputType_step: NumberInput;\n\n public readonly element = injectElement();\n\n private readonly takeUntilDestroyed = untilDestroyed();\n\n private get inputElement(): HTMLInputElement {\n return this.control?.element.nativeElement as HTMLInputElement;\n }\n\n @ViewChild('decrementButton')\n protected decrementButton!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('incrementButton')\n protected incrementButton!: ElementRef<HTMLButtonElement>;\n\n @Transform(coerceNumberProperty)\n @Input()\n public max = Infinity;\n\n @Transform(coerceNumberProperty)\n @Input()\n public min = -Infinity;\n\n @Transform(coerceNumberProperty)\n @Input()\n public step = 1;\n\n constructor() {\n super(0);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n this.registerPressHold(this.decrementButton).subscribe(() => {\n this.inputElement?.stepDown();\n this.onInputChange();\n });\n this.registerPressHold(this.incrementButton).subscribe(() => {\n this.inputElement?.stepUp();\n this.onInputChange();\n });\n }\n\n protected maxSteps({ code }: KeyboardEvent) {\n if (code === 'End' && this.min !== -Infinity) {\n this.updateValue(this.min);\n } else if (code === 'Home' && this.max !== Infinity) {\n this.updateValue(this.max);\n }\n }\n\n protected checkValue(): void {\n const value = coerceNumberProperty(this.inputElement.value);\n this.updateValue(value < this.min ? this.min : value > this.max ? this.max : value);\n }\n\n protected onInputChange(): void {\n this.updateValue(coerceNumberProperty(this.inputElement.value));\n }\n\n private registerPressHold(target: ElementRef<HTMLElement>): Observable<unknown> {\n return fromEvents(target.nativeElement, 'keydown', 'mousedown', 'mouseup', 'keyup').pipe(\n filter((event) => event?.type !== 'keydown' || ['Space', 'Enter'].includes((event as KeyboardEvent).code)),\n tap((event) => {\n event.preventDefault();\n event.stopPropagation();\n }),\n switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))),\n this.takeUntilDestroyed()\n );\n }\n}\n","<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\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-spinbox.mjs","sources":["../../../../libs/angular/components/spinbox/src/lib/spinbox.component.ts","../../../../libs/angular/components/spinbox/src/lib/spinbox.component.html","../../../../libs/angular/components/spinbox/src/odx-angular-components-spinbox.ts"],"sourcesContent":["import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { ControlDirective, CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { filter, NEVER, Observable, startWith, switchMap, tap, timer } from 'rxjs';\n\n@CSSComponent('spinbox')\n@Component({\n standalone: true,\n selector: 'odx-spinbox',\n templateUrl: 'spinbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class SpinboxComponent extends CustomFormControl<number> implements AfterViewInit {\n public static ngAcceptInputType_max: NumberInput;\n public static ngAcceptInputType_min: NumberInput;\n public static ngAcceptInputType_step: NumberInput;\n\n private readonly takeUntilDestroyed = untilDestroyed();\n\n private get inputElement(): HTMLInputElement {\n return this.control?.element.nativeElement as HTMLInputElement;\n }\n\n @ViewChild('decrementButton')\n protected decrementButton!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('incrementButton')\n protected incrementButton!: ElementRef<HTMLButtonElement>;\n\n public readonly element = injectElement();\n\n @Transform(coerceNumberProperty)\n @Input()\n public max = Infinity;\n\n @Transform(coerceNumberProperty)\n @Input()\n public min = -Infinity;\n\n @Transform(coerceNumberProperty)\n @Input()\n public step = 1;\n\n constructor() {\n super(0);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n this.registerPressHold(this.decrementButton).subscribe(() => {\n this.inputElement?.stepDown();\n this.onInputChange();\n });\n this.registerPressHold(this.incrementButton).subscribe(() => {\n this.inputElement?.stepUp();\n this.onInputChange();\n });\n }\n\n protected maxSteps({ code }: KeyboardEvent) {\n if (code === 'End' && this.min !== -Infinity) {\n this.updateValue(this.min);\n } else if (code === 'Home' && this.max !== Infinity) {\n this.updateValue(this.max);\n }\n }\n\n protected checkValue(): void {\n const value = coerceNumberProperty(this.inputElement.value);\n this.updateValue(value < this.min ? this.min : value > this.max ? this.max : value);\n }\n\n protected onInputChange(): void {\n this.updateValue(coerceNumberProperty(this.inputElement.value));\n }\n\n private registerPressHold(target: ElementRef<HTMLElement>): Observable<unknown> {\n return fromEvents(target.nativeElement, 'keydown', 'mousedown', 'mouseup', 'keyup').pipe(\n filter((event) => event?.type !== 'keydown' || ['Space', 'Enter'].includes((event as KeyboardEvent).code)),\n tap((event) => {\n event.preventDefault();\n event.stopPropagation();\n }),\n switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))),\n this.takeUntilDestroyed()\n );\n }\n}\n","<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Component, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, Directive, NgModule } from '@angular/core';
4
- import { DisabledController, ReadonlyController, CoreModule } from '@odx/angular';
4
+ import * as i1 from '@odx/angular';
5
+ import { ReadonlyController, WithDisabledState, CoreModule } from '@odx/angular';
5
6
  import { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';
6
7
  import { ControlDirective } from '@odx/angular/cdk/custom-form-control';
7
8
  import { CSSComponent } from '@odx/angular/internal';
@@ -9,29 +10,29 @@ import { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';
9
10
 
10
11
  let SwitchComponent = class SwitchComponent extends CheckBoxControl {
11
12
  };
12
- SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
- SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
+ SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
+ SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [ReadonlyController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14
15
  SwitchComponent = __decorate([
15
16
  CSSComponent('switch')
16
17
  ], SwitchComponent);
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchComponent, decorators: [{
18
19
  type: Component,
19
- args: [{ standalone: true, selector: 'odx-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
20
+ args: [{ standalone: true, selector: 'odx-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [ReadonlyController.connect()], hostDirectives: [WithDisabledState], host: {
20
21
  '[class.is-active]': 'checked',
21
22
  }, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n" }]
22
23
  }] });
23
24
 
24
25
  class SwitchValidator extends CheckboxRequiredValidator {
25
26
  }
26
- SwitchValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
27
- SwitchValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: SwitchValidator, isStandalone: true, selector: "odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]", providers: [
27
+ SwitchValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
28
+ SwitchValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: SwitchValidator, isStandalone: true, selector: "odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]", providers: [
28
29
  {
29
30
  provide: NG_VALIDATORS,
30
31
  useExisting: forwardRef(() => SwitchValidator),
31
32
  multi: true,
32
33
  },
33
34
  ], usesInheritance: true, ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchValidator, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchValidator, decorators: [{
35
36
  type: Directive,
36
37
  args: [{
37
38
  standalone: true,
@@ -49,10 +50,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
49
50
  const modules = [SwitchComponent, SwitchValidator];
50
51
  class SwitchModule {
51
52
  }
52
- SwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
- SwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, SwitchValidator], exports: [CoreModule, SwitchComponent, SwitchValidator] });
54
- SwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, CoreModule] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SwitchModule, decorators: [{
53
+ SwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
+ SwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, SwitchValidator], exports: [CoreModule, SwitchComponent, SwitchValidator] });
55
+ SwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, CoreModule] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SwitchModule, decorators: [{
56
57
  type: NgModule,
57
58
  args: [{
58
59
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-switch.mjs","sources":["../../../../libs/angular/components/switch/src/lib/switch.component.ts","../../../../libs/angular/components/switch/src/lib/switch.component.html","../../../../libs/angular/components/switch/src/lib/switch.validator.ts","../../../../libs/angular/components/switch/src/lib/switch.module.ts","../../../../libs/angular/components/switch/src/odx-angular-components-switch.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';\nimport { ControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('switch')\n@Component({\n standalone: true,\n selector: 'odx-switch',\n templateUrl: 'switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n '[class.is-active]': 'checked',\n },\n})\nexport class SwitchComponent extends CheckBoxControl {}\n","<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n standalone: true,\n selector: 'odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SwitchValidator),\n multi: true,\n },\n ],\n})\nexport class SwitchValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { SwitchComponent } from './switch.component';\nimport { SwitchValidator } from './switch.validator';\n\nconst modules = [SwitchComponent, SwitchValidator];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SwitchModule {}\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-switch.mjs","sources":["../../../../libs/angular/components/switch/src/lib/switch.component.ts","../../../../libs/angular/components/switch/src/lib/switch.component.html","../../../../libs/angular/components/switch/src/lib/switch.validator.ts","../../../../libs/angular/components/switch/src/lib/switch.module.ts","../../../../libs/angular/components/switch/src/odx-angular-components-switch.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ReadonlyController, WithDisabledState } from '@odx/angular';\nimport { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';\nimport { ControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('switch')\n@Component({\n standalone: true,\n selector: 'odx-switch',\n templateUrl: 'switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithDisabledState],\n host: {\n '[class.is-active]': 'checked',\n },\n})\nexport class SwitchComponent extends CheckBoxControl {}\n","<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n standalone: true,\n selector: 'odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SwitchValidator),\n multi: true,\n },\n ],\n})\nexport class SwitchValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { SwitchComponent } from './switch.component';\nimport { SwitchValidator } from './switch.validator';\n\nconst modules = [SwitchComponent, SwitchValidator];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { InjectionToken, inject, ElementRef, EventEmitter, Component, ViewEncaps
7
7
  import { DisabledController, CoreModule } from '@odx/angular';
8
8
  import { IconComponent } from '@odx/angular/components/icon';
9
9
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
10
- import { Transform, untilDestroyed, injectElement, applyStyles, cssTranslate, px } from '@odx/angular/utils';
10
+ import { deferFn, Transform, untilDestroyed, injectElement, applyStyles, cssTranslate, px } from '@odx/angular/utils';
11
11
  import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
12
12
  import { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';
13
13
  import { fromQueryList, fromElementResize$ } from '@odx/angular/rxjs';
@@ -25,14 +25,14 @@ let TabBarItemComponent = class TabBarItemComponent {
25
25
  this.tabClose = new EventEmitter();
26
26
  }
27
27
  get disabled() {
28
- var _a, _b;
29
- return (_b = (_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : false;
28
+ var _a;
29
+ return !!((_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled);
30
30
  }
31
31
  setActiveStyles() {
32
- setTimeout(() => (this.isActive = true));
32
+ deferFn(() => (this.isActive = true));
33
33
  }
34
34
  setInactiveStyles() {
35
- setTimeout(() => (this.isActive = false));
35
+ deferFn(() => (this.isActive = false));
36
36
  }
37
37
  onClick() {
38
38
  if (this.disabled)
@@ -47,8 +47,8 @@ let TabBarItemComponent = class TabBarItemComponent {
47
47
  this.tabClose.emit(this);
48
48
  }
49
49
  };
50
- TabBarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- TabBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TabBarItemComponent, isStandalone: true, selector: "odx-tab-bar-item", inputs: { closable: "closable" }, outputs: { tabClose: "tabClose" }, host: { attributes: { "role": "tab" }, listeners: { "click": "onClick()" }, properties: { "class.is-disabled": "disabled", "class.is-active": "isActive", "attr.aria-selected": "isActive", "class.is-closable": "closable" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<ng-content select=\"odx-icon\"></ng-content>\n<ng-content></ng-content>\n<odx-icon name=\"close\" size=\"small\" *ngIf=\"closable\" (click)=\"handleClose($event)\"></odx-icon>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
50
+ TabBarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ TabBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: TabBarItemComponent, isStandalone: true, selector: "odx-tab-bar-item", inputs: { closable: "closable" }, outputs: { tabClose: "tabClose" }, host: { attributes: { "role": "tab" }, listeners: { "click": "onClick()" }, properties: { "class.is-disabled": "disabled", "class.is-active": "isActive", "attr.aria-selected": "isActive", "class.is-closable": "closable" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<ng-content select=\"odx-icon\"></ng-content>\n<ng-content></ng-content>\n<odx-icon name=\"close\" size=\"small\" *ngIf=\"closable\" (click)=\"handleClose($event)\"></odx-icon>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
52
52
  __decorate([
53
53
  Transform(coerceBooleanProperty),
54
54
  __metadata("design:type", Object)
@@ -56,7 +56,7 @@ __decorate([
56
56
  TabBarItemComponent = __decorate([
57
57
  CSSComponent('tab-bar-item')
58
58
  ], TabBarItemComponent);
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarItemComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarItemComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{ selector: 'odx-tab-bar-item', standalone: true, imports: [CommonModule, IconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], host: {
62
62
  '[class.is-disabled]': 'disabled',
@@ -81,9 +81,9 @@ let TabBarComponent = TabBarComponent_1 = class TabBarComponent {
81
81
  this.takeUntilDestroyed = untilDestroyed();
82
82
  this.selectedIndex$$ = new BehaviorSubject(0);
83
83
  this.activeItem = null;
84
+ this.element = injectElement();
84
85
  this.overflowLeft = false;
85
86
  this.overflowRight = false;
86
- this.element = injectElement();
87
87
  this.selectedTabChanged = new EventEmitter();
88
88
  }
89
89
  set selectedIndex(value) {
@@ -106,8 +106,7 @@ let TabBarComponent = TabBarComponent_1 = class TabBarComponent {
106
106
  removeItem(item) {
107
107
  if (this.activeItem !== item)
108
108
  return;
109
- const selectedIndex = this.tabs.toArray().indexOf(item);
110
- setTimeout(() => { var _a; return (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.setActiveItem(Math.max(0, selectedIndex - 1)); });
109
+ deferFn(() => { var _a; return (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.setPreviousItemActive(); });
111
110
  }
112
111
  onKeydown(event) {
113
112
  var _a;
@@ -142,8 +141,8 @@ let TabBarComponent = TabBarComponent_1 = class TabBarComponent {
142
141
  this.selectedTabChanged.emit({ selectedIndex: activeItemIndex !== null && activeItemIndex !== void 0 ? activeItemIndex : -1, selectedTab: (_c = (_b = this.keyManager) === null || _b === void 0 ? void 0 : _b.activeItem) !== null && _c !== void 0 ? _c : null });
143
142
  }
144
143
  };
145
- TabBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
146
- TabBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TabBarComponent, isStandalone: true, selector: "odx-tab-bar", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectedTabChanged: "selectedTabChanged" }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" } }, providers: [{ provide: TAB_BAR, useExisting: TabBarComponent_1 }], queries: [{ propertyName: "tabs", predicate: TabBarItemComponent }], viewQueries: [{ propertyName: "tabBarPanelElement", first: true, predicate: ["tabBarPanel"], descendants: true }, { propertyName: "tabActionElements", predicate: ["tabAction"], descendants: true }], ngImport: i0, template: "<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\"></odx-icon>\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content></ng-content>\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\"></odx-icon>\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: ActiveIndicatorDirective, selector: "[odxActiveIndicator]", inputs: ["odxActiveIndicator", "odxActiveIndicatorParent", "odxActiveIndicatorDirection", "odxActiveIndicatorPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
144
+ TabBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
+ TabBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: TabBarComponent, isStandalone: true, selector: "odx-tab-bar", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectedTabChanged: "selectedTabChanged" }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" } }, providers: [{ provide: TAB_BAR, useExisting: TabBarComponent_1 }], queries: [{ propertyName: "tabs", predicate: TabBarItemComponent }], viewQueries: [{ propertyName: "tabBarPanelElement", first: true, predicate: ["tabBarPanel"], descendants: true }, { propertyName: "tabActionElements", predicate: ["tabAction"], descendants: true }], ngImport: i0, template: "<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\"></odx-icon>\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content></ng-content>\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\"></odx-icon>\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: ActiveIndicatorDirective, selector: "[odxActiveIndicator]", inputs: ["odxActiveIndicator", "odxActiveIndicatorParent", "odxActiveIndicatorDirection", "odxActiveIndicatorPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
147
146
  __decorate([
148
147
  CSSModifier(),
149
148
  __metadata("design:type", Object)
@@ -155,7 +154,7 @@ __decorate([
155
154
  TabBarComponent = TabBarComponent_1 = __decorate([
156
155
  CSSComponent('tab-bar')
157
156
  ], TabBarComponent);
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarComponent, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarComponent, decorators: [{
159
158
  type: Component,
160
159
  args: [{ selector: 'odx-tab-bar', standalone: true, imports: [CommonModule, IconComponent, ActiveIndicatorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: TAB_BAR, useExisting: TabBarComponent }], host: {
161
160
  role: 'tabpanel',
@@ -182,10 +181,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
182
181
  const modules = [TabBarComponent, TabBarItemComponent];
183
182
  class TabBarModule {
184
183
  }
185
- TabBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
186
- TabBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TabBarModule, imports: [TabBarComponent, TabBarItemComponent], exports: [CoreModule, TabBarComponent, TabBarItemComponent] });
187
- TabBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarModule, imports: [modules, CoreModule] });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TabBarModule, decorators: [{
184
+ TabBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
185
+ TabBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: TabBarModule, imports: [TabBarComponent, TabBarItemComponent], exports: [CoreModule, TabBarComponent, TabBarItemComponent] });
186
+ TabBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarModule, imports: [modules, CoreModule] });
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: TabBarModule, decorators: [{
189
188
  type: NgModule,
190
189
  args: [{
191
190
  imports: modules,