@odx/angular 1.0.0-rc.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (749) 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 +10 -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/active-indicator/lib/models/active-indicator-direction.d.ts +1 -1
  11. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +1 -1
  12. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -1
  13. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +3 -3
  14. package/cdk/connected-overlay/lib/helpers/index.d.ts +0 -2
  15. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +4 -2
  16. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  17. package/cdk/custom-form-control/lib/custom-form-control.d.ts +5 -1
  18. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +1 -1
  19. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +1 -1
  20. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  21. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
  22. package/cdk/expandable/index.d.ts +1 -0
  23. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  24. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  25. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  26. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  27. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  28. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  29. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -2
  30. package/components/accordion/lib/accordion.component.d.ts +1 -1
  31. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  32. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  33. package/components/action-group/action-group.component.d.ts +1 -1
  34. package/components/area-header/area-header.component.d.ts +1 -1
  35. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  36. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  37. package/components/area-header/models/area-header-size.d.ts +1 -1
  38. package/components/avatar/lib/avatar.component.d.ts +3 -2
  39. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  40. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  41. package/components/avatar/lib/models/index.d.ts +1 -0
  42. package/components/badge/lib/badge.component.d.ts +7 -17
  43. package/components/badge/lib/badge.directive.d.ts +17 -13
  44. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  45. package/components/badge/lib/models/index.d.ts +0 -1
  46. package/components/bar/README.md +3 -0
  47. package/components/bar/index.d.ts +5 -0
  48. package/components/bar/lib/bar.component.d.ts +6 -0
  49. package/components/bar/lib/bar.module.d.ts +10 -0
  50. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  51. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  52. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  53. package/components/breadcrumbs/README.md +3 -0
  54. package/components/breadcrumbs/index.d.ts +1 -0
  55. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  56. package/components/button/index.d.ts +1 -0
  57. package/components/button/lib/button.component.d.ts +3 -4
  58. package/components/button/lib/directives/index.d.ts +1 -0
  59. package/components/button/lib/directives/responsive-button.directive.d.ts +6 -0
  60. package/components/button/lib/models/button-size.d.ts +1 -1
  61. package/components/button/lib/models/button-variant.d.ts +1 -1
  62. package/components/button-group/lib/button-group.component.d.ts +1 -1
  63. package/components/card/README.md +3 -0
  64. package/components/card/index.d.ts +5 -0
  65. package/components/card/lib/card.component.d.ts +20 -0
  66. package/components/card/lib/card.module.d.ts +16 -0
  67. package/components/card/lib/components/card-footer/card-footer.component.d.ts +5 -0
  68. package/components/card/lib/components/index.d.ts +2 -0
  69. package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +5 -0
  70. package/components/card/lib/directives/card-content.directive.d.ts +5 -0
  71. package/components/card/lib/directives/card-title.directive.d.ts +5 -0
  72. package/components/card/lib/directives/index.d.ts +2 -0
  73. package/components/card/lib/models/card-variant.d.ts +6 -0
  74. package/components/card/lib/models/index.d.ts +1 -0
  75. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  76. package/components/checkbox/lib/checkbox.validator.d.ts +1 -1
  77. package/components/chip/lib/chip.component.d.ts +1 -1
  78. package/components/chip/lib/models/chip-size.d.ts +1 -1
  79. package/components/chip/lib/models/chip-variant.d.ts +1 -1
  80. package/components/circular-progress/lib/circular-progress.component.d.ts +3 -2
  81. package/components/circular-progress/lib/models/circular-progress-size.d.ts +1 -1
  82. package/components/content-box/lib/content-box.component.d.ts +1 -1
  83. package/components/content-box/lib/content-box.module.d.ts +2 -2
  84. package/components/content-box/lib/directives/{content-box-footer-directive.d.ts → content-box-footer.directive.d.ts} +1 -1
  85. package/components/content-box/lib/directives/{content-box-header-directive.d.ts → content-box-header.directive.d.ts} +1 -1
  86. package/components/content-box/lib/directives/index.d.ts +2 -2
  87. package/components/dropdown/index.d.ts +1 -0
  88. package/components/dropdown/lib/dropdown.component.d.ts +2 -1
  89. package/components/dropdown/lib/dropdown.directive.d.ts +11 -5
  90. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  91. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  92. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  93. package/components/dropdown/lib/models/dropdown-options.d.ts +1 -1
  94. package/components/dropdown/lib/models/index.d.ts +1 -0
  95. package/components/form-field/index.d.ts +1 -0
  96. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  97. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -1
  98. package/components/form-field/lib/directives/form-field-control.directive.d.ts +1 -1
  99. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  100. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  101. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  102. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  103. package/components/form-field/lib/form-field.component.d.ts +8 -2
  104. package/components/form-field/lib/form-field.config.d.ts +3 -2
  105. package/components/form-field/lib/form-field.module.d.ts +0 -4
  106. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  107. package/components/form-field/lib/models/form-field-error.d.ts +1 -0
  108. package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
  109. package/components/form-field/lib/models/index.d.ts +1 -0
  110. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  111. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  112. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  113. package/components/header/lib/header.component.d.ts +1 -1
  114. package/components/header/lib/header.module.d.ts +2 -3
  115. package/components/icon/index.d.ts +1 -0
  116. package/components/icon/lib/icon.component.d.ts +3 -5
  117. package/components/icon/lib/icon.config.d.ts +4 -0
  118. package/components/icon/lib/models/icon-size.d.ts +2 -1
  119. package/components/inline-message/index.d.ts +1 -1
  120. package/components/inline-message/lib/inline-message.component.d.ts +2 -2
  121. package/components/inline-message/lib/models/index.d.ts +1 -0
  122. package/components/inline-message/lib/models/inline-message-variant.d.ts +1 -1
  123. package/components/link/link.directive.d.ts +2 -4
  124. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +14 -0
  125. package/components/list/lib/components/index.d.ts +2 -1
  126. package/components/list/lib/components/{list-item.component.d.ts → list-item/list-item.component.d.ts} +2 -4
  127. package/components/list/lib/list.component.d.ts +5 -2
  128. package/components/list/lib/list.module.d.ts +4 -3
  129. package/components/loading-spinner/lib/loading-spinner.component.d.ts +1 -1
  130. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +5 -3
  131. package/components/logo/logo.directive.d.ts +1 -1
  132. package/components/logo/models/logo-size.d.ts +1 -1
  133. package/components/logo/models/logo-variant.d.ts +1 -1
  134. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  135. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +4 -4
  136. package/components/main-menu/lib/main-menu.component.d.ts +1 -1
  137. package/components/mainfilter-group/README.md +3 -0
  138. package/components/mainfilter-group/index.d.ts +1 -0
  139. package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +6 -0
  140. package/components/menu/README.md +3 -0
  141. package/components/menu/index.d.ts +4 -0
  142. package/components/menu/lib/directives/index.d.ts +1 -0
  143. package/components/menu/lib/directives/menu-item.directive.d.ts +8 -0
  144. package/components/menu/lib/menu.component.d.ts +11 -0
  145. package/components/menu/lib/menu.directive.d.ts +17 -0
  146. package/components/menu/lib/menu.module.d.ts +10 -0
  147. package/components/modal/index.d.ts +1 -1
  148. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  149. package/components/modal/lib/components/index.d.ts +2 -0
  150. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  151. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -1
  152. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  153. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  154. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  155. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  156. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  157. package/components/modal/lib/modal.component.d.ts +7 -3
  158. package/components/modal/lib/modal.config.d.ts +2 -2
  159. package/components/modal/lib/modal.directive.d.ts +1 -1
  160. package/components/modal/lib/modal.module.d.ts +9 -12
  161. package/components/modal/lib/modal.service.d.ts +9 -4
  162. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  163. package/components/modal/lib/models/index.d.ts +2 -0
  164. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  165. package/components/modal/lib/models/modal-options.d.ts +2 -1
  166. package/components/modal/lib/models/modal-ref.d.ts +6 -4
  167. package/components/modal/lib/models/modal-size.d.ts +2 -1
  168. package/components/modal/lib/models/modal-type.d.ts +1 -1
  169. package/components/modal/lib/models/modal-variant.d.ts +1 -1
  170. package/components/navigation-back/README.md +3 -0
  171. package/components/navigation-back/index.d.ts +1 -0
  172. package/components/navigation-back/lib/navigation-back.component.d.ts +6 -0
  173. package/components/progress/lib/progress.component.d.ts +2 -2
  174. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  175. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  176. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +2 -4
  177. package/components/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  178. package/components/select/lib/abstract/select-control-option.d.ts +2 -0
  179. package/components/select/lib/abstract/select-control.d.ts +1 -0
  180. package/components/select/lib/components/option/option.component.d.ts +6 -2
  181. package/components/select/lib/directives/select-search-field.directive.d.ts +1 -1
  182. package/components/select/lib/select.component.d.ts +12 -7
  183. package/components/slider/lib/slider.directive.d.ts +2 -3
  184. package/components/spinbox/lib/spinbox.component.d.ts +2 -2
  185. package/components/switch/lib/switch.component.d.ts +2 -1
  186. package/components/switch/lib/switch.validator.d.ts +1 -1
  187. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +6 -3
  188. package/components/tab-bar/lib/tab-bar.component.d.ts +3 -3
  189. package/components/toast/README.md +3 -0
  190. package/components/toast/index.d.ts +5 -0
  191. package/components/toast/lib/components/index.d.ts +2 -0
  192. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  193. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  194. package/components/toast/lib/models/index.d.ts +5 -0
  195. package/components/toast/lib/models/toast-action.d.ts +7 -0
  196. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  197. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  198. package/components/toast/lib/models/toast.d.ts +10 -0
  199. package/components/toast/lib/models/toast.options.d.ts +4 -0
  200. package/components/toast/lib/toast.config.d.ts +3 -0
  201. package/components/toast/lib/toast.module.d.ts +9 -0
  202. package/components/toast/lib/toast.service.d.ts +16 -0
  203. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +5 -2
  204. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +9 -4
  205. package/components/tooltip/lib/models/tooltip-size.d.ts +1 -1
  206. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -1
  207. package/components/tooltip/lib/tooltip.component.d.ts +4 -3
  208. package/components/tooltip/lib/tooltip.directive.d.ts +4 -4
  209. package/esm2020/animations/lib/expand.mjs +6 -4
  210. package/esm2020/cdk/a11y/index.mjs +3 -0
  211. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  212. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  213. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  214. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +26 -0
  215. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  216. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  217. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +4 -4
  218. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +16 -12
  219. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +12 -8
  220. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +5 -5
  221. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +6 -8
  222. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +1 -3
  223. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +4 -2
  224. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
  225. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +44 -20
  226. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  227. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +7 -5
  228. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  229. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +15 -4
  230. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +2 -2
  231. package/esm2020/cdk/expandable/index.mjs +2 -1
  232. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  233. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  234. package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
  235. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  236. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  237. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  238. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +10 -10
  239. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
  240. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
  241. package/esm2020/components/accordion/lib/accordion.component.mjs +7 -7
  242. package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
  243. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  244. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
  245. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  246. package/esm2020/components/area-header/area-header.component.mjs +7 -6
  247. package/esm2020/components/area-header/area-header.module.mjs +5 -5
  248. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
  249. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
  250. package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
  251. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  252. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  253. package/esm2020/components/badge/lib/badge.component.mjs +18 -65
  254. package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
  255. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  256. package/esm2020/components/bar/index.mjs +6 -0
  257. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  258. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  259. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +38 -0
  260. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  261. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  262. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  263. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  264. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  265. package/esm2020/components/{launch-tile/odx-angular-components-launch-tile.mjs → breadcrumbs/odx-angular-components-breadcrumbs.mjs} +1 -1
  266. package/esm2020/components/button/index.mjs +2 -1
  267. package/esm2020/components/button/lib/button.component.mjs +12 -18
  268. package/esm2020/components/button/lib/directives/index.mjs +2 -0
  269. package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +24 -0
  270. package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
  271. package/esm2020/components/card/index.mjs +6 -0
  272. package/esm2020/components/card/lib/card.component.mjs +67 -0
  273. package/esm2020/components/card/lib/card.module.mjs +53 -0
  274. package/esm2020/components/card/lib/components/card-footer/card-footer.component.mjs +13 -0
  275. package/esm2020/components/card/lib/components/index.mjs +3 -0
  276. package/esm2020/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +13 -0
  277. package/esm2020/components/card/lib/directives/card-content.directive.mjs +17 -0
  278. package/esm2020/components/card/lib/directives/card-title.directive.mjs +17 -0
  279. package/esm2020/components/card/lib/directives/index.mjs +3 -0
  280. package/esm2020/components/card/lib/models/card-variant.mjs +6 -0
  281. package/esm2020/components/card/lib/models/index.mjs +2 -0
  282. package/esm2020/components/card/odx-angular-components-card.mjs +5 -0
  283. package/esm2020/components/checkbox/lib/checkbox.component.mjs +8 -7
  284. package/esm2020/components/checkbox/lib/checkbox.module.mjs +5 -5
  285. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +4 -4
  286. package/esm2020/components/chip/lib/chip.component.mjs +5 -5
  287. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +9 -7
  288. package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
  289. package/esm2020/components/content-box/lib/content-box.module.mjs +7 -7
  290. package/esm2020/components/content-box/lib/directives/{content-box-footer-directive.mjs → content-box-footer.directive.mjs} +4 -4
  291. package/esm2020/components/content-box/lib/directives/{content-box-header-directive.mjs → content-box-header.directive.mjs} +4 -4
  292. package/esm2020/components/content-box/lib/directives/index.mjs +3 -3
  293. package/esm2020/components/dropdown/index.mjs +2 -1
  294. package/esm2020/components/dropdown/lib/dropdown.component.mjs +15 -6
  295. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +38 -18
  296. package/esm2020/components/dropdown/lib/dropdown.module.mjs +5 -5
  297. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  298. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  299. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  300. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +3 -2
  301. package/esm2020/components/dropdown/lib/models/index.mjs +2 -1
  302. package/esm2020/components/form-field/index.mjs +2 -1
  303. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
  304. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +4 -4
  305. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +6 -6
  306. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
  307. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  308. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
  309. package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
  310. package/esm2020/components/form-field/lib/form-field.component.mjs +29 -11
  311. package/esm2020/components/form-field/lib/form-field.config.mjs +4 -3
  312. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
  313. package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
  314. package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
  315. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
  316. package/esm2020/components/form-field/lib/models/index.mjs +2 -1
  317. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
  318. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  319. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
  320. package/esm2020/components/header/lib/header.component.mjs +5 -6
  321. package/esm2020/components/header/lib/header.module.mjs +7 -11
  322. package/esm2020/components/icon/index.mjs +2 -1
  323. package/esm2020/components/icon/lib/icon.component.mjs +12 -21
  324. package/esm2020/components/icon/lib/icon.config.mjs +5 -0
  325. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  326. package/esm2020/components/inline-message/index.mjs +2 -2
  327. package/esm2020/components/inline-message/lib/inline-message.component.mjs +9 -10
  328. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  329. package/esm2020/components/link/link.directive.mjs +7 -14
  330. package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +49 -0
  331. package/esm2020/components/list/lib/components/index.mjs +3 -2
  332. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  333. package/esm2020/components/list/lib/list.component.mjs +30 -11
  334. package/esm2020/components/list/lib/list.module.mjs +7 -7
  335. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +4 -4
  336. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +18 -11
  337. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +5 -5
  338. package/esm2020/components/logo/logo.directive.mjs +8 -6
  339. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
  340. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +15 -13
  341. package/esm2020/components/main-menu/lib/main-menu.component.mjs +9 -9
  342. package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
  343. package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
  344. package/esm2020/components/mainfilter-group/index.mjs +2 -0
  345. package/esm2020/components/mainfilter-group/lib/mainfilter-group.component.mjs +21 -0
  346. package/esm2020/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +5 -0
  347. package/esm2020/components/menu/index.mjs +5 -0
  348. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  349. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +37 -0
  350. package/esm2020/components/menu/lib/menu.component.mjs +46 -0
  351. package/esm2020/components/menu/lib/menu.directive.mjs +58 -0
  352. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  353. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  354. package/esm2020/components/modal/index.mjs +2 -2
  355. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  356. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  357. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
  358. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +5 -5
  359. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  360. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  361. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
  362. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
  363. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  364. package/esm2020/components/modal/lib/modal.component.mjs +20 -10
  365. package/esm2020/components/modal/lib/modal.config.mjs +4 -3
  366. package/esm2020/components/modal/lib/modal.directive.mjs +4 -4
  367. package/esm2020/components/modal/lib/modal.module.mjs +33 -15
  368. package/esm2020/components/modal/lib/modal.service.mjs +46 -26
  369. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  370. package/esm2020/components/modal/lib/models/index.mjs +3 -1
  371. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  372. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  373. package/esm2020/components/modal/lib/models/modal-ref.mjs +20 -12
  374. package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
  375. package/esm2020/components/navigation-back/index.mjs +2 -0
  376. package/esm2020/components/navigation-back/lib/navigation-back.component.mjs +22 -0
  377. package/esm2020/components/navigation-back/odx-angular-components-navigation-back.mjs +5 -0
  378. package/esm2020/components/progress/lib/progress.component.mjs +6 -6
  379. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  380. package/esm2020/components/radio-group/lib/radio-group.component.mjs +9 -9
  381. package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
  382. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +8 -13
  383. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +4 -4
  384. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +5 -5
  385. package/esm2020/components/select/lib/abstract/select-control-option.mjs +1 -1
  386. package/esm2020/components/select/lib/abstract/select-control.mjs +1 -1
  387. package/esm2020/components/select/lib/components/option/option.component.mjs +38 -21
  388. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +4 -4
  389. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +4 -4
  390. package/esm2020/components/select/lib/select.component.mjs +85 -42
  391. package/esm2020/components/select/lib/select.module.mjs +5 -5
  392. package/esm2020/components/slider/lib/slider.directive.mjs +7 -10
  393. package/esm2020/components/spinbox/lib/spinbox.component.mjs +9 -9
  394. package/esm2020/components/switch/lib/switch.component.mjs +8 -7
  395. package/esm2020/components/switch/lib/switch.module.mjs +5 -5
  396. package/esm2020/components/switch/lib/switch.validator.mjs +4 -4
  397. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +18 -9
  398. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +10 -11
  399. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +5 -5
  400. package/esm2020/components/toast/index.mjs +6 -0
  401. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  402. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  403. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +75 -0
  404. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  405. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  406. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  407. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  408. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  409. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  410. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  411. package/esm2020/components/toast/lib/toast.module.mjs +18 -0
  412. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  413. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  414. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +14 -12
  415. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +32 -13
  416. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
  417. package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
  418. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +11 -12
  419. package/esm2020/internal/decorators/css-component.mjs +3 -8
  420. package/esm2020/internal/decorators/css-modifier.mjs +21 -18
  421. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  422. package/esm2020/internal/helpers/deepmerge.mjs +6 -0
  423. package/esm2020/internal/helpers/index.mjs +3 -1
  424. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
  425. package/esm2020/lib/controllers/controller.mjs +6 -6
  426. package/esm2020/lib/controllers/disabled.controller.mjs +29 -44
  427. package/esm2020/lib/controllers/readonly.controller.mjs +31 -22
  428. package/esm2020/lib/core.module.mjs +7 -6
  429. package/esm2020/lib/directives/click-outside.directive.mjs +17 -13
  430. package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
  431. package/esm2020/lib/directives/index.mjs +4 -1
  432. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  433. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  434. package/esm2020/lib/services/window-ref.mjs +18 -7
  435. package/esm2020/theming/index.mjs +5 -0
  436. package/esm2020/theming/lib/helpers/index.mjs +4 -0
  437. package/esm2020/theming/lib/helpers/prefers-dark-theme.mjs +4 -0
  438. package/esm2020/theming/lib/helpers/resolve-theme.mjs +5 -0
  439. package/esm2020/theming/lib/helpers/theme-storage.mjs +19 -0
  440. package/esm2020/theming/lib/models/index.mjs +2 -0
  441. package/esm2020/theming/lib/models/theme.mjs +6 -0
  442. package/esm2020/theming/lib/theming.config.mjs +21 -0
  443. package/esm2020/theming/lib/theming.service.mjs +42 -0
  444. package/esm2020/theming/odx-angular-theming.mjs +5 -0
  445. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  446. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  447. package/esm2020/utils/lib/helpers/dom.mjs +9 -2
  448. package/esm2020/utils/lib/helpers/event-manager.mjs +4 -4
  449. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  450. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  451. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  452. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  453. package/esm2020/utils/lib/helpers/index.mjs +8 -2
  454. package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
  455. package/esm2020/utils/lib/helpers/queue.mjs +49 -0
  456. package/esm2020/utils/lib/types/axis.mjs +5 -0
  457. package/esm2020/utils/lib/types/index.mjs +4 -1
  458. package/esm2020/utils/lib/types/position.mjs +15 -0
  459. package/esm2020/utils/lib/types/side.mjs +7 -0
  460. package/fesm2015/odx-angular-animations.mjs +5 -3
  461. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  462. package/fesm2015/odx-angular-cdk-a11y.mjs +131 -0
  463. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  464. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  465. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -1
  466. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +16 -12
  467. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  468. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +20 -33
  469. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  470. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +47 -24
  471. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  472. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +26 -12
  473. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  474. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  475. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  476. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +26 -23
  477. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  478. package/fesm2015/odx-angular-components-accordion.mjs +20 -18
  479. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  480. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  481. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  482. package/fesm2015/odx-angular-components-area-header.mjs +16 -15
  483. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  484. package/fesm2015/odx-angular-components-avatar.mjs +18 -7
  485. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  486. package/fesm2015/odx-angular-components-badge.mjs +63 -97
  487. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  488. package/fesm2015/odx-angular-components-bar.mjs +95 -0
  489. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  490. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  491. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  492. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  493. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
  494. package/fesm2015/odx-angular-components-button.mjs +35 -19
  495. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  496. package/fesm2015/odx-angular-components-card.mjs +174 -0
  497. package/fesm2015/odx-angular-components-card.mjs.map +1 -0
  498. package/fesm2015/odx-angular-components-checkbox.mjs +14 -13
  499. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  500. package/fesm2015/odx-angular-components-chip.mjs +4 -4
  501. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  502. package/fesm2015/odx-angular-components-circular-progress.mjs +8 -6
  503. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  504. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  505. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  506. package/fesm2015/odx-angular-components-dropdown.mjs +66 -27
  507. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  508. package/fesm2015/odx-angular-components-form-field.mjs +78 -61
  509. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  510. package/fesm2015/odx-angular-components-header.mjs +25 -23
  511. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  512. package/fesm2015/odx-angular-components-icon.mjs +17 -22
  513. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  514. package/fesm2015/odx-angular-components-inline-message.mjs +7 -8
  515. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  516. package/fesm2015/odx-angular-components-link.mjs +6 -14
  517. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  518. package/fesm2015/odx-angular-components-list.mjs +74 -27
  519. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  520. package/fesm2015/odx-angular-components-loading-spinner.mjs +26 -18
  521. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  522. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  523. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  524. package/fesm2015/odx-angular-components-main-menu.mjs +59 -59
  525. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  526. package/fesm2015/odx-angular-components-mainfilter-group.mjs +27 -0
  527. package/fesm2015/odx-angular-components-mainfilter-group.mjs.map +1 -0
  528. package/fesm2015/odx-angular-components-menu.mjs +144 -0
  529. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  530. package/fesm2015/odx-angular-components-modal.mjs +208 -129
  531. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  532. package/fesm2015/odx-angular-components-navigation-back.mjs +28 -0
  533. package/fesm2015/odx-angular-components-navigation-back.mjs.map +1 -0
  534. package/fesm2015/odx-angular-components-progress.mjs +5 -5
  535. package/fesm2015/odx-angular-components-progress.mjs.map +1 -1
  536. package/fesm2015/odx-angular-components-radio-group.mjs +18 -19
  537. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  538. package/fesm2015/odx-angular-components-rail-navigation.mjs +14 -20
  539. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  540. package/fesm2015/odx-angular-components-select.mjs +131 -77
  541. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  542. package/fesm2015/odx-angular-components-slider.mjs +6 -9
  543. package/fesm2015/odx-angular-components-slider.mjs.map +1 -1
  544. package/fesm2015/odx-angular-components-spinbox.mjs +10 -10
  545. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  546. package/fesm2015/odx-angular-components-switch.mjs +14 -13
  547. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  548. package/fesm2015/odx-angular-components-tab-bar.mjs +31 -23
  549. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  550. package/fesm2015/odx-angular-components-toast.mjs +215 -0
  551. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  552. package/fesm2015/odx-angular-components-toggle-button-group.mjs +50 -26
  553. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  554. package/fesm2015/odx-angular-components-tooltip.mjs +13 -14
  555. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  556. package/fesm2015/odx-angular-internal.mjs +69 -53
  557. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  558. package/fesm2015/odx-angular-theming.mjs +99 -0
  559. package/fesm2015/odx-angular-theming.mjs.map +1 -0
  560. package/fesm2015/odx-angular-utils.mjs +148 -18
  561. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  562. package/fesm2015/odx-angular.mjs +200 -92
  563. package/fesm2015/odx-angular.mjs.map +1 -1
  564. package/fesm2020/odx-angular-animations.mjs +5 -3
  565. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  566. package/fesm2020/odx-angular-cdk-a11y.mjs +127 -0
  567. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  568. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  569. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -1
  570. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +16 -12
  571. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  572. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +20 -33
  573. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  574. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +47 -24
  575. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  576. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +25 -12
  577. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  578. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  579. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  580. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +26 -23
  581. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  582. package/fesm2020/odx-angular-components-accordion.mjs +20 -18
  583. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  584. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  585. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  586. package/fesm2020/odx-angular-components-area-header.mjs +16 -15
  587. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  588. package/fesm2020/odx-angular-components-avatar.mjs +18 -7
  589. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  590. package/fesm2020/odx-angular-components-badge.mjs +60 -90
  591. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  592. package/fesm2020/odx-angular-components-bar.mjs +95 -0
  593. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  594. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  595. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  596. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  597. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
  598. package/fesm2020/odx-angular-components-button.mjs +35 -19
  599. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  600. package/fesm2020/odx-angular-components-card.mjs +173 -0
  601. package/fesm2020/odx-angular-components-card.mjs.map +1 -0
  602. package/fesm2020/odx-angular-components-checkbox.mjs +14 -13
  603. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  604. package/fesm2020/odx-angular-components-chip.mjs +4 -4
  605. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  606. package/fesm2020/odx-angular-components-circular-progress.mjs +8 -6
  607. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  608. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  609. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  610. package/fesm2020/odx-angular-components-dropdown.mjs +67 -27
  611. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  612. package/fesm2020/odx-angular-components-form-field.mjs +77 -61
  613. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  614. package/fesm2020/odx-angular-components-header.mjs +25 -23
  615. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  616. package/fesm2020/odx-angular-components-icon.mjs +17 -22
  617. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  618. package/fesm2020/odx-angular-components-inline-message.mjs +7 -8
  619. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  620. package/fesm2020/odx-angular-components-link.mjs +6 -13
  621. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  622. package/fesm2020/odx-angular-components-list.mjs +74 -27
  623. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  624. package/fesm2020/odx-angular-components-loading-spinner.mjs +25 -18
  625. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  626. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  627. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  628. package/fesm2020/odx-angular-components-main-menu.mjs +58 -58
  629. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  630. package/fesm2020/odx-angular-components-mainfilter-group.mjs +27 -0
  631. package/fesm2020/odx-angular-components-mainfilter-group.mjs.map +1 -0
  632. package/fesm2020/odx-angular-components-menu.mjs +146 -0
  633. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  634. package/fesm2020/odx-angular-components-modal.mjs +212 -127
  635. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  636. package/fesm2020/odx-angular-components-navigation-back.mjs +28 -0
  637. package/fesm2020/odx-angular-components-navigation-back.mjs.map +1 -0
  638. package/fesm2020/odx-angular-components-progress.mjs +5 -5
  639. package/fesm2020/odx-angular-components-progress.mjs.map +1 -1
  640. package/fesm2020/odx-angular-components-radio-group.mjs +18 -19
  641. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  642. package/fesm2020/odx-angular-components-rail-navigation.mjs +14 -19
  643. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  644. package/fesm2020/odx-angular-components-select.mjs +131 -71
  645. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  646. package/fesm2020/odx-angular-components-slider.mjs +6 -9
  647. package/fesm2020/odx-angular-components-slider.mjs.map +1 -1
  648. package/fesm2020/odx-angular-components-spinbox.mjs +9 -9
  649. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  650. package/fesm2020/odx-angular-components-switch.mjs +14 -13
  651. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  652. package/fesm2020/odx-angular-components-tab-bar.mjs +29 -22
  653. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  654. package/fesm2020/odx-angular-components-toast.mjs +214 -0
  655. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  656. package/fesm2020/odx-angular-components-toggle-button-group.mjs +47 -26
  657. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  658. package/fesm2020/odx-angular-components-tooltip.mjs +13 -14
  659. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  660. package/fesm2020/odx-angular-internal.mjs +67 -51
  661. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  662. package/fesm2020/odx-angular-theming.mjs +96 -0
  663. package/fesm2020/odx-angular-theming.mjs.map +1 -0
  664. package/fesm2020/odx-angular-utils.mjs +143 -18
  665. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  666. package/fesm2020/odx-angular.mjs +193 -88
  667. package/fesm2020/odx-angular.mjs.map +1 -1
  668. package/internal/decorators/css-component.d.ts +1 -2
  669. package/internal/decorators/css-modifier.d.ts +0 -1
  670. package/internal/helpers/decorator-property-name.d.ts +1 -0
  671. package/internal/helpers/deepmerge.d.ts +10 -0
  672. package/internal/helpers/index.d.ts +2 -0
  673. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  674. package/lib/controllers/controller.d.ts +1 -1
  675. package/lib/controllers/disabled.controller.d.ts +5 -7
  676. package/lib/controllers/readonly.controller.d.ts +5 -2
  677. package/lib/core.module.d.ts +2 -1
  678. package/lib/directives/click-outside.directive.d.ts +3 -4
  679. package/lib/directives/delegate-focus.directive.d.ts +11 -0
  680. package/lib/directives/index.d.ts +3 -0
  681. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  682. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  683. package/lib/services/window-ref.d.ts +5 -0
  684. package/lib/tokens/identity-matcher.d.ts +1 -1
  685. package/lib/tokens/string-search-handler.d.ts +1 -1
  686. package/lib/tokens/stringify.d.ts +1 -1
  687. package/package.json +85 -19
  688. package/theming/README.md +3 -0
  689. package/theming/index.d.ts +4 -0
  690. package/theming/lib/helpers/index.d.ts +3 -0
  691. package/theming/lib/helpers/prefers-dark-theme.d.ts +1 -0
  692. package/theming/lib/helpers/resolve-theme.d.ts +2 -0
  693. package/theming/lib/helpers/theme-storage.d.ts +4 -0
  694. package/theming/lib/models/index.d.ts +1 -0
  695. package/theming/lib/models/theme.d.ts +6 -0
  696. package/theming/lib/theming.config.d.ts +10 -0
  697. package/theming/lib/theming.service.d.ts +16 -0
  698. package/utils/lib/decorators/transform.d.ts +2 -2
  699. package/utils/lib/helpers/build-url.d.ts +1 -0
  700. package/utils/lib/helpers/dom.d.ts +1 -0
  701. package/utils/lib/helpers/get-axis.d.ts +2 -0
  702. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  703. package/utils/lib/helpers/get-side.d.ts +2 -0
  704. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  705. package/utils/lib/helpers/index.d.ts +7 -1
  706. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  707. package/utils/lib/helpers/provide-config.d.ts +12 -0
  708. package/utils/lib/helpers/queue.d.ts +22 -0
  709. package/utils/lib/types/axis.d.ts +5 -0
  710. package/utils/lib/types/get-properties.d.ts +2 -2
  711. package/utils/lib/types/index.d.ts +3 -0
  712. package/utils/lib/types/position.d.ts +15 -0
  713. package/utils/lib/types/side.d.ts +7 -0
  714. package/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.d.ts +0 -2
  715. package/cdk/connected-overlay/lib/helpers/get-overlay-side.d.ts +0 -2
  716. package/components/badge/lib/badge.config.d.ts +0 -3
  717. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  718. package/components/badge/lib/facade/index.d.ts +0 -1
  719. package/components/badge/lib/models/badge-position.d.ts +0 -5
  720. package/components/launch-tile/README.md +0 -3
  721. package/components/launch-tile/index.d.ts +0 -5
  722. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +0 -5
  723. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +0 -5
  724. package/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.d.ts +0 -5
  725. package/components/launch-tile/lib/launch-tile.component.d.ts +0 -11
  726. package/components/launch-tile/lib/launch-tile.module.d.ts +0 -16
  727. package/components/modal/lib/services/index.d.ts +0 -1
  728. package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
  729. package/esm2020/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.mjs +0 -13
  730. package/esm2020/cdk/connected-overlay/lib/helpers/get-overlay-side.mjs +0 -4
  731. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  732. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  733. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  734. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  735. package/esm2020/components/launch-tile/index.mjs +0 -6
  736. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +0 -13
  737. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +0 -13
  738. package/esm2020/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.mjs +0 -17
  739. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +0 -40
  740. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +0 -59
  741. package/esm2020/components/list/lib/components/list-item.component.mjs +0 -46
  742. package/esm2020/components/modal/lib/services/index.mjs +0 -2
  743. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
  744. package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
  745. package/fesm2015/odx-angular-components-launch-tile.mjs +0 -133
  746. package/fesm2015/odx-angular-components-launch-tile.mjs.map +0 -1
  747. package/fesm2020/odx-angular-components-launch-tile.mjs +0 -132
  748. package/fesm2020/odx-angular-components-launch-tile.mjs.map +0 -1
  749. package/utils/lib/helpers/provide-module-config.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-rail-navigation.mjs","sources":["../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item.component.html","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.html","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.module.ts","../../../../libs/angular/components/rail-navigation/src/odx-angular-components-rail-navigation.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { DisabledController } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\n\n@CSSComponent('rail-navigation-item')\n@Component({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]',\n templateUrl: './rail-navigation-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',\n '[tabindex]': 'isDisabled ? -1 : 0',\n },\n})\nexport class RailNavigationItemComponent {\n public static ngAcceptInputType_isSelected: BooleanInput;\n\n protected readonly disabledController = DisabledController.inject();\n protected readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n public readonly element = injectElement();\n\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isSelected = false;\n\n @Input()\n public iconName!: string;\n}\n","<odx-icon [name]=\"iconName\" size=\"large\"></odx-icon>\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content></ng-content>\n</span>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item.component';\n\n@CSSComponent('rail-navigation')\n@Component({\n standalone: true,\n selector: 'odx-rail-navigation',\n templateUrl: 'rail-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [RailNavigationItemComponent],\n host: {\n '[class.is-open]': 'isOpen',\n },\n})\nexport class RailNavigationComponent {\n public static ngAcceptInputType_isOpen: BooleanInput;\n\n public readonly element = injectElement();\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isOpen = true;\n\n @Output()\n public isOpenChange = new EventEmitter<boolean>();\n\n public toggle(): void {\n this.isOpen = !this.isOpen;\n this.isOpenChange.emit(this.isOpen);\n }\n\n public open(): void {\n this.isOpen = true;\n this.isOpenChange.emit(this.isOpen);\n }\n\n public close(): void {\n this.isOpen = false;\n this.isOpenChange.emit(this.isOpen);\n }\n}\n","<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"></ng-content>\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item.component';\nimport { RailNavigationComponent } from './rail-navigation.component';\n\nconst modules = [RailNavigationComponent, RailNavigationItemComponent];\n@NgModule({\n imports: modules,\n exports: [...modules, CoreModule],\n})\nexport class RailNavigationModule {}\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-rail-navigation.mjs","sources":["../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item.component.html","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.html","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.module.ts","../../../../libs/angular/components/rail-navigation/src/odx-angular-components-rail-navigation.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\n\n@CSSComponent('rail-navigation-item')\n@Component({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]',\n templateUrl: './rail-navigation-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n hostDirectives: [WithDisabledState, WithTabIndex],\n host: {\n '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',\n },\n})\nexport class RailNavigationItemComponent {\n public static ngAcceptInputType_isSelected: BooleanInput;\n\n protected readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n public readonly element = injectElement();\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isSelected = false;\n\n @Input()\n public iconName!: string;\n}\n","<odx-icon [name]=\"iconName\" iconSet=\"core\" size=\"large\"></odx-icon>\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content></ng-content>\n</span>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item.component';\n\n@CSSComponent('rail-navigation')\n@Component({\n standalone: true,\n selector: 'odx-rail-navigation',\n templateUrl: 'rail-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [RailNavigationItemComponent],\n host: {\n '[class.is-open]': 'isOpen',\n },\n})\nexport class RailNavigationComponent {\n public static ngAcceptInputType_isOpen: BooleanInput;\n\n public readonly element = injectElement();\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isOpen = true;\n\n @Output()\n public isOpenChange = new EventEmitter<boolean>();\n\n public toggle(): void {\n this.isOpen = !this.isOpen;\n this.isOpenChange.emit(this.isOpen);\n }\n\n public open(): void {\n this.isOpen = true;\n this.isOpenChange.emit(this.isOpen);\n }\n\n public close(): void {\n this.isOpen = false;\n this.isOpenChange.emit(this.isOpen);\n }\n}\n","<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"></ng-content>\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item.component';\nimport { RailNavigationComponent } from './rail-navigation.component';\n\nconst modules = [RailNavigationComponent, RailNavigationItemComponent];\n@NgModule({\n imports: modules,\n exports: [...modules, CoreModule],\n})\nexport class RailNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,40 +1,45 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
3
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, HostListener, Directive, Pipe, EventEmitter, Output, ContentChild, ContentChildren, ViewChild, NgModule } from '@angular/core';
4
+ import { InjectionToken, inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, HostListener, Directive, Pipe, EventEmitter, forwardRef, ContentChildren, ViewChild, Output, ContentChild, NgModule } from '@angular/core';
4
5
  import * as i2 from '@odx/angular';
5
- import { DisabledController, ReadonlyController, detectControllerChanges, CoreModule, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, ODX_IDENTITY_MATCHER } from '@odx/angular';
6
+ import { DisabledController, detectControllerChanges, CoreModule, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, ODX_IDENTITY_MATCHER, ReadonlyController } from '@odx/angular';
6
7
  import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
7
- import { CSSComponent } from '@odx/angular/internal';
8
- import { untilDestroyed, injectElement, Pure, deferFn, Transform } from '@odx/angular/utils';
9
- import { skip, fromEvent, map, distinctUntilChanged, filter } from 'rxjs';
8
+ import { CheckboxComponent } from '@odx/angular/components/checkbox';
9
+ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
10
+ import { untilDestroyed, injectElement, Transform, Pure, deferFn } from '@odx/angular/utils';
11
+ import * as i1 from '@angular/common';
12
+ import { fromEvent, map, distinctUntilChanged } from 'rxjs';
10
13
  import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
11
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
12
14
  import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
13
15
  import { DropdownDirective } from '@odx/angular/components/dropdown';
14
16
  import { IconComponent } from '@odx/angular/components/icon';
15
17
  import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
16
- import * as i1 from '@angular/common';
18
+ import { fromQueryList } from '@odx/angular/rxjs';
17
19
 
18
20
  const SELECT_CONTROL = new InjectionToken('@odx/angular/components/select::SelectControl');
19
21
 
20
22
  let OptionComponent = class OptionComponent {
23
+ get disabled() {
24
+ return !!this.disabledController?.disabled;
25
+ }
21
26
  constructor() {
22
27
  this.disabledController = DisabledController.inject();
23
- this.readonlyController = ReadonlyController.inject();
24
28
  this.takeUntilDestroyed = untilDestroyed();
29
+ this.cdr = inject(ChangeDetectorRef);
25
30
  this.selectControl = inject(SELECT_CONTROL);
26
31
  this.isActive = false;
27
32
  this.element = injectElement();
28
33
  this.isSelected = false;
29
34
  this.value = null;
30
- detectControllerChanges(this.selectControl)
31
- .pipe(skip(1), this.takeUntilDestroyed())
32
- .subscribe(() => {
33
- this.isSelected = this.selectControl.isOptionSelected(this);
34
- });
35
- }
36
- get disabled() {
37
- return !!this.disabledController?.disabled || !!this.readonlyController?.readonly;
35
+ this.notFoundMessage = false;
36
+ if (!this.selectControl.multiple) {
37
+ detectControllerChanges(this.selectControl)
38
+ .pipe(this.takeUntilDestroyed())
39
+ .subscribe(() => {
40
+ this.isSelected = this.selectControl.isOptionSelected(this);
41
+ });
42
+ }
38
43
  }
39
44
  ngOnInit() {
40
45
  this.isSelected = this.selectControl.isOptionSelected(this);
@@ -56,30 +61,42 @@ let OptionComponent = class OptionComponent {
56
61
  setInactiveStyles() {
57
62
  this.isActive = false;
58
63
  }
64
+ switchCheckbox() {
65
+ if (this.selectControl.multiple) {
66
+ this.isSelected = !this.isSelected;
67
+ this.cdr.markForCheck();
68
+ }
69
+ }
59
70
  select(event) {
60
- event.preventDefault();
61
71
  event.stopPropagation();
72
+ event.preventDefault();
62
73
  this.selectControl.selectOption(this);
63
74
  }
64
75
  };
65
- OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
- OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: OptionComponent, isStandalone: true, selector: "odx-option", inputs: { value: "value" }, host: { attributes: { "role": "option" }, listeners: { "click": "select($event)" }, properties: { "attr.aria-selected": "isSelected", "attr.aria-disabled": "disabled || null", "class.is-selected": "isSelected", "class.is-active": "isActive", "class.is-disabled": "disabled" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], ngImport: i0, template: "<ng-content></ng-content>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
76
+ OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
+ OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: OptionComponent, isStandalone: true, selector: "odx-option", inputs: { value: "value", notFoundMessage: "notFoundMessage" }, host: { attributes: { "role": "option" }, listeners: { "click": "select($event)" }, properties: { "attr.aria-selected": "isSelected", "attr.aria-disabled": "disabled || null", "class.is-disabled": "disabled", "class.is-selected": "isSelected", "class.is-active": "isActive" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
78
+ __decorate([
79
+ Transform(coerceBooleanProperty),
80
+ __metadata("design:type", Object)
81
+ ], OptionComponent.prototype, "notFoundMessage", void 0);
67
82
  OptionComponent = __decorate([
68
83
  CSSComponent('option'),
69
84
  __metadata("design:paramtypes", [])
70
85
  ], OptionComponent);
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OptionComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OptionComponent, decorators: [{
72
87
  type: Component,
73
- args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
88
+ args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], host: {
74
89
  '[attr.aria-selected]': 'isSelected',
75
90
  '[attr.aria-disabled]': 'disabled || null',
91
+ '[class.is-disabled]': 'disabled',
76
92
  '[class.is-selected]': 'isSelected',
77
93
  '[class.is-active]': 'isActive',
78
- '[class.is-disabled]': 'disabled',
79
94
  role: 'option',
80
- }, template: "<ng-content></ng-content>\n" }]
95
+ }, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
81
96
  }], ctorParameters: function () { return []; }, propDecorators: { value: [{
82
97
  type: Input
98
+ }], notFoundMessage: [{
99
+ type: Input
83
100
  }], select: [{
84
101
  type: HostListener,
85
102
  args: ['click', ['$event']]
@@ -103,12 +120,12 @@ let SelectSearchFieldDirective = class SelectSearchFieldDirective {
103
120
  return this.element.nativeElement.value;
104
121
  }
105
122
  };
106
- SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
107
- SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: SelectSearchFieldDirective, isStandalone: true, selector: "input[odxSelectSearchField]", inputs: { notFoundContent: ["odxSelectSearchField", "notFoundContent"] }, host: { listeners: { "keydown.delete": "reset()" }, properties: { "class.odx-form-field-control": "true" } }, ngImport: i0 });
123
+ SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
124
+ SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: SelectSearchFieldDirective, isStandalone: true, selector: "input[odxSelectSearchField]", inputs: { notFoundContent: ["odxSelectSearchField", "notFoundContent"] }, host: { listeners: { "keydown.delete": "reset()" }, properties: { "class.odx-form-field-control": "true" } }, ngImport: i0 });
108
125
  SelectSearchFieldDirective = __decorate([
109
126
  CSSComponent('select__search')
110
127
  ], SelectSearchFieldDirective);
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
112
129
  type: Directive,
113
130
  args: [{
114
131
  standalone: true,
@@ -153,15 +170,15 @@ class SelectSearchFilterPipe {
153
170
  return items.filter((item) => search(stringify(item), query));
154
171
  }
155
172
  }
156
- SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
157
- SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
173
+ SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
174
+ SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
158
175
  __decorate([
159
176
  Pure,
160
177
  __metadata("design:type", Function),
161
178
  __metadata("design:paramtypes", [Object, String, Function]),
162
179
  __metadata("design:returntype", Object)
163
180
  ], SelectSearchFilterPipe.prototype, "filter", null);
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
165
182
  type: Pipe,
166
183
  args: [{
167
184
  pure: false,
@@ -172,8 +189,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
172
189
 
173
190
  var SelectComponent_1;
174
191
  let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFormControl {
192
+ get hasOptions() {
193
+ return !!this.options && this.options.length > 0;
194
+ }
195
+ get isOpen() {
196
+ return !!this.dropdown?.isOpen;
197
+ }
198
+ get selectedOptionContent() {
199
+ return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;
200
+ }
175
201
  constructor() {
176
202
  super(null);
203
+ this.changeDetector = inject(ChangeDetectorRef);
177
204
  this.searchFieldEnabled = false;
178
205
  this.smoothScrollEnabled = false;
179
206
  this.selectedOption = null;
@@ -181,27 +208,21 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
181
208
  this.element = injectElement();
182
209
  this.placeholder = '';
183
210
  this.isLoading = false;
211
+ this.multiple = false;
184
212
  this.selectedOptionTemplate = null;
185
213
  this.identityMatcher = inject(ODX_IDENTITY_MATCHER);
186
214
  this.change = new EventEmitter();
187
215
  detectControllerChanges(this).subscribe();
188
216
  }
189
- get hasOptions() {
190
- return !!this.options && this.options.length > 0;
191
- }
192
- get isOpen() {
193
- return !!this.dropdown?.isOpen;
194
- }
195
- get selectedOptionContent() {
196
- return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;
197
- }
198
217
  ngAfterViewInit() {
199
218
  if (!this.options)
200
219
  return;
201
220
  this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);
202
- this.options.changes.pipe(filter(() => this.isOpen)).subscribe(() => {
203
- deferFn(() => this.activateSelectedOption());
204
- this.triggerControllerChange();
221
+ fromQueryList(this.options).subscribe(() => {
222
+ this.updateSelectedOption();
223
+ if (this.isOpen) {
224
+ deferFn(() => this.activateSelectedOption());
225
+ }
205
226
  });
206
227
  this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());
207
228
  }
@@ -213,12 +234,23 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
213
234
  }
214
235
  selectOption(option) {
215
236
  if (option && !option.disabled) {
216
- this.updateValue(option.value ?? null);
237
+ this.change.emit();
238
+ option.switchCheckbox();
239
+ const value = this.multiple
240
+ ? this.options
241
+ ?.toArray()
242
+ .filter(({ isSelected }) => isSelected)
243
+ .map(({ value }) => value)
244
+ : option.value;
245
+ this.updateValue(value ?? null);
217
246
  }
218
- this.dropdown?.close();
247
+ !this.multiple && this.dropdown?.close();
219
248
  }
220
249
  isOptionSelected(option) {
221
250
  if (option && !option.disabled) {
251
+ if (this.multiple && Array.isArray(this.value)) {
252
+ return this.value.includes(option.value);
253
+ }
222
254
  return this.identityMatcher(option.value, this.value);
223
255
  }
224
256
  return false;
@@ -228,7 +260,7 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
228
260
  element.nativeElement.scrollIntoView({ block: 'center', behavior });
229
261
  }
230
262
  openDropdown(event) {
231
- if (this.isLoading)
263
+ if (this.isLoading || this.readonlyController?.readonly)
232
264
  return;
233
265
  if (this.isOpen && this.hasOptions) {
234
266
  if (event.key === 'Enter' || event.key === 'Tab') {
@@ -240,6 +272,12 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
240
272
  }
241
273
  this.keyManager?.onKeydown(event);
242
274
  }
275
+ handleFocusOut(event) {
276
+ if (this.isOpen) {
277
+ event.stopImmediatePropagation();
278
+ }
279
+ this.onTouched();
280
+ }
243
281
  activateSelectedOption() {
244
282
  let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);
245
283
  if (!activeIndex || activeIndex === -1) {
@@ -250,12 +288,12 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
250
288
  onDropdownOpen() {
251
289
  this.activateSelectedOption();
252
290
  if (!this.searchFieldEnabled) {
253
- this.searchFieldEnabled = !!this.searchField;
254
- deferFn(() => this.searchField?.focus());
291
+ deferFn(() => this.focusSelectSearchField());
255
292
  }
256
293
  }
257
294
  onDropdownClose() {
258
295
  this.disableSmoothScroll();
296
+ this.element.nativeElement.blur();
259
297
  if (this.searchFieldEnabled) {
260
298
  this.searchFieldEnabled = false;
261
299
  this.element.nativeElement?.focus();
@@ -271,50 +309,75 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
271
309
  this.smoothScrollEnabled = true;
272
310
  }
273
311
  updateSelectedOption() {
274
- this.selectedOption = this.options?.toArray()?.find((option) => option.isSelected) ?? null;
275
- if (this.selectedOption) {
276
- this.selectedOptionText = this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel();
277
- }
278
- else {
279
- this.selectedOptionText = null;
312
+ const options = this.options?.toArray();
313
+ this.selectedOption = options?.find((option) => option.isSelected) ?? null;
314
+ if (this.multiple) {
315
+ this.selectedOptionText =
316
+ options
317
+ ?.filter(({ isSelected }) => isSelected)
318
+ .map((option) => this.stringify?.(option.value) ?? option.getLabel())
319
+ .join(', ') ?? null;
320
+ this.changeDetector.detectChanges();
321
+ return;
280
322
  }
323
+ this.selectedOptionText = this.selectedOption ? this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel() : null;
324
+ this.changeDetector.detectChanges();
325
+ }
326
+ focusSelectSearchField() {
327
+ this.searchFieldEnabled = !!this.searchField;
328
+ deferFn(() => this.searchField?.focus());
329
+ this.changeDetector.detectChanges();
281
330
  }
282
331
  };
283
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
284
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SelectComponent, isStandalone: true, selector: "odx-select", inputs: { placeholder: "placeholder", isLoading: "isLoading", selectedOptionTemplate: "selectedOptionTemplate", stringify: "stringify", identityMatcher: "identityMatcher" }, outputs: { change: "change" }, host: { listeners: { "click": "openDropdown($event)", "keydown": "openDropdown($event)" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled ? -1 : 0" } }, providers: [
332
+ SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
333
+ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SelectComponent, isStandalone: true, selector: "odx-select", inputs: { placeholder: "placeholder", isLoading: "isLoading", multiple: "multiple", selectedOptionTemplate: "selectedOptionTemplate", stringify: "stringify", identityMatcher: "identityMatcher" }, outputs: { change: "change" }, host: { listeners: { "click": "openDropdown($event)", "keydown": "openDropdown($event)", "focusout": "handleFocusOut($event)" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled || isDisabled ? -1 : 0", "attr.aria-multiselectable": "multiple" } }, providers: [
285
334
  DisabledController.connect(),
286
335
  ReadonlyController.connect(),
287
336
  {
288
337
  provide: SELECT_CONTROL,
289
- useExisting: SelectComponent_1,
338
+ useExisting: forwardRef(() => SelectComponent_1),
290
339
  },
291
- ], queries: [{ propertyName: "searchField", first: true, predicate: SelectSearchFieldDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<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", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: OptionComponent, selector: "odx-option", inputs: ["value"] }, { kind: "ngmodule", type: LoadingSpinnerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
340
+ ], queries: [{ propertyName: "searchField", first: true, predicate: SelectSearchFieldDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\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\" iconSet=\"core\"></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 notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: OptionComponent, selector: "odx-option", inputs: ["value", "notFoundMessage"] }, { kind: "ngmodule", type: LoadingSpinnerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
292
341
  __decorate([
293
342
  Transform(coerceBooleanProperty),
294
343
  __metadata("design:type", Object)
295
344
  ], SelectComponent.prototype, "isLoading", void 0);
345
+ __decorate([
346
+ CSSModifier(),
347
+ Transform(coerceBooleanProperty),
348
+ __metadata("design:type", Object)
349
+ ], SelectComponent.prototype, "multiple", void 0);
296
350
  SelectComponent = SelectComponent_1 = __decorate([
297
351
  CSSComponent('select'),
298
352
  __metadata("design:paramtypes", [])
299
353
  ], SelectComponent);
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectComponent, decorators: [{
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectComponent, decorators: [{
301
355
  type: Component,
302
356
  args: [{ standalone: true, selector: 'odx-select', imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
303
357
  DisabledController.connect(),
304
358
  ReadonlyController.connect(),
305
359
  {
306
360
  provide: SELECT_CONTROL,
307
- useExisting: SelectComponent,
361
+ useExisting: forwardRef(() => SelectComponent),
308
362
  },
309
363
  ], host: {
310
364
  '[attr.aria-disabled]': 'isDisabled || null',
311
365
  '[class.is-open]': 'isOpen',
312
- '[tabindex]': 'searchFieldEnabled ? -1 : 0',
313
- }, template: "<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" }]
314
- }], ctorParameters: function () { return []; }, propDecorators: { placeholder: [{
366
+ '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',
367
+ '[attr.aria-multiselectable]': 'multiple',
368
+ }, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\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\" iconSet=\"core\"></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 notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n" }]
369
+ }], ctorParameters: function () { return []; }, propDecorators: { options: [{
370
+ type: ContentChildren,
371
+ args: [OptionComponent, { descendants: true, emitDistinctChangesOnly: true }]
372
+ }], dropdown: [{
373
+ type: ViewChild,
374
+ args: [DropdownDirective]
375
+ }], placeholder: [{
315
376
  type: Input
316
377
  }], isLoading: [{
317
378
  type: Input
379
+ }], multiple: [{
380
+ type: Input
318
381
  }], selectedOptionTemplate: [{
319
382
  type: Input
320
383
  }], stringify: [{
@@ -326,27 +389,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
326
389
  }], searchField: [{
327
390
  type: ContentChild,
328
391
  args: [SelectSearchFieldDirective]
329
- }], options: [{
330
- type: ContentChildren,
331
- args: [OptionComponent, { descendants: true, emitDistinctChangesOnly: true }]
332
- }], dropdown: [{
333
- type: ViewChild,
334
- args: [DropdownDirective]
335
392
  }], openDropdown: [{
336
393
  type: HostListener,
337
394
  args: ['click', ['$event']]
338
395
  }, {
339
396
  type: HostListener,
340
397
  args: ['keydown', ['$event']]
398
+ }], handleFocusOut: [{
399
+ type: HostListener,
400
+ args: ['focusout', ['$event']]
341
401
  }] } });
342
402
 
343
403
  const modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];
344
404
  class SelectModule {
345
405
  }
346
- SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
347
- SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
348
- SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectModule, decorators: [{
406
+ SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
407
+ SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
408
+ SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, decorators: [{
350
410
  type: NgModule,
351
411
  args: [{
352
412
  imports: modules,