@odx/angular 1.0.0-rc.2 → 1.0.0-rc.20

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 (816) hide show
  1. package/README.md +6 -7
  2. package/animations/index.d.ts +1 -0
  3. package/animations/lib/wait-for-child-animations.d.ts +1 -0
  4. package/cdk/a11y/README.md +3 -0
  5. package/cdk/a11y/index.d.ts +2 -0
  6. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  7. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  8. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  9. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +10 -0
  10. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  11. package/cdk/active-indicator/README.md +3 -0
  12. package/cdk/active-indicator/index.d.ts +2 -0
  13. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +25 -0
  14. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +5 -0
  15. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +6 -0
  16. package/cdk/active-indicator/lib/models/index.d.ts +2 -0
  17. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +4 -3
  18. package/cdk/connected-overlay/README.md +3 -0
  19. package/cdk/connected-overlay/index.d.ts +3 -0
  20. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +28 -0
  21. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +10 -0
  22. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +3 -0
  23. package/cdk/connected-overlay/lib/helpers/index.d.ts +1 -0
  24. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +25 -0
  25. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +12 -0
  26. package/cdk/connected-overlay/lib/models/index.d.ts +2 -0
  27. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  28. package/cdk/custom-form-control/lib/custom-form-control.d.ts +8 -14
  29. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +4 -4
  30. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
  31. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +1 -0
  32. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  33. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +1 -0
  34. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  35. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
  36. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +2 -0
  37. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +1 -0
  38. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +7 -3
  39. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +3 -0
  40. package/cdk/dynamic-view/lib/tokens/index.d.ts +1 -0
  41. package/cdk/expandable/index.d.ts +1 -0
  42. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  43. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  44. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  45. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  46. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  47. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  48. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -2
  49. package/components/accordion/lib/accordion.component.d.ts +1 -1
  50. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  51. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  52. package/components/action-group/action-group.component.d.ts +1 -1
  53. package/components/area-header/area-header.component.d.ts +1 -1
  54. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  55. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  56. package/components/area-header/models/area-header-size.d.ts +1 -1
  57. package/components/avatar/lib/avatar.component.d.ts +3 -2
  58. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  59. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  60. package/components/avatar/lib/models/index.d.ts +1 -0
  61. package/components/badge/lib/badge.component.d.ts +7 -17
  62. package/components/badge/lib/badge.directive.d.ts +17 -13
  63. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  64. package/components/badge/lib/models/index.d.ts +0 -1
  65. package/components/bar/README.md +3 -0
  66. package/components/bar/index.d.ts +5 -0
  67. package/components/bar/lib/bar.component.d.ts +6 -0
  68. package/components/bar/lib/bar.module.d.ts +10 -0
  69. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  70. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  71. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  72. package/components/breadcrumbs/README.md +3 -0
  73. package/components/breadcrumbs/index.d.ts +1 -0
  74. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  75. package/components/button/lib/button.component.d.ts +3 -4
  76. package/components/button/lib/models/button-size.d.ts +1 -1
  77. package/components/button/lib/models/button-variant.d.ts +1 -1
  78. package/components/button-group/lib/button-group.component.d.ts +1 -1
  79. package/components/checkbox/index.d.ts +2 -0
  80. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  81. package/components/checkbox/lib/checkbox.module.d.ts +9 -0
  82. package/components/checkbox/lib/checkbox.validator.d.ts +6 -0
  83. package/components/chip/README.md +3 -0
  84. package/components/chip/index.d.ts +2 -0
  85. package/components/chip/lib/chip.component.d.ts +15 -0
  86. package/components/chip/lib/models/chip-size.d.ts +5 -0
  87. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  88. package/components/chip/lib/models/index.d.ts +2 -0
  89. package/components/circular-progress/README.md +3 -0
  90. package/components/circular-progress/index.d.ts +2 -0
  91. package/components/circular-progress/lib/circular-progress.component.d.ts +29 -0
  92. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  93. package/components/circular-progress/lib/models/index.d.ts +1 -0
  94. package/components/content-box/lib/content-box.component.d.ts +1 -1
  95. package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
  96. package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
  97. package/components/dropdown/README.md +3 -0
  98. package/components/dropdown/index.d.ts +5 -0
  99. package/components/dropdown/lib/dropdown.component.d.ts +12 -0
  100. package/components/dropdown/lib/dropdown.directive.d.ts +42 -0
  101. package/components/dropdown/lib/dropdown.module.d.ts +8 -0
  102. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  103. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  104. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  105. package/components/dropdown/lib/models/dropdown-options.d.ts +3 -0
  106. package/components/dropdown/lib/models/index.d.ts +2 -0
  107. package/components/form-field/index.d.ts +1 -0
  108. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  109. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -2
  110. package/components/form-field/lib/directives/form-field-control.directive.d.ts +3 -4
  111. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  112. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  113. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  114. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  115. package/components/form-field/lib/form-field.component.d.ts +8 -2
  116. package/components/form-field/lib/form-field.config.d.ts +3 -7
  117. package/components/form-field/lib/form-field.module.d.ts +0 -4
  118. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  119. package/components/form-field/lib/models/form-field-error.d.ts +1 -0
  120. package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
  121. package/components/form-field/lib/models/index.d.ts +1 -0
  122. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  123. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  124. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  125. package/components/header/lib/header.component.d.ts +1 -1
  126. package/components/header/lib/header.module.d.ts +2 -3
  127. package/components/icon/lib/icon.component.d.ts +1 -1
  128. package/components/icon/lib/models/icon-size.d.ts +2 -1
  129. package/components/inline-message/README.md +3 -0
  130. package/components/inline-message/index.d.ts +2 -0
  131. package/components/inline-message/lib/inline-message.component.d.ts +9 -0
  132. package/components/inline-message/lib/models/index.d.ts +1 -0
  133. package/components/inline-message/lib/models/inline-message-variant.d.ts +7 -0
  134. package/components/launch-tile/README.md +3 -0
  135. package/components/launch-tile/index.d.ts +3 -0
  136. package/components/launch-tile/lib/components/index.d.ts +2 -0
  137. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +5 -0
  138. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +5 -0
  139. package/components/launch-tile/lib/launch-tile.component.d.ts +17 -0
  140. package/components/launch-tile/lib/launch-tile.module.d.ts +14 -0
  141. package/components/link/link.directive.d.ts +2 -4
  142. package/components/list/README.md +3 -0
  143. package/components/list/index.d.ts +3 -0
  144. package/components/list/lib/components/index.d.ts +1 -0
  145. package/components/list/lib/components/list-item/list-item.component.d.ts +12 -0
  146. package/components/list/lib/list.component.d.ts +6 -0
  147. package/components/list/lib/list.module.d.ts +9 -0
  148. package/components/loading-spinner/README.md +3 -0
  149. package/components/loading-spinner/index.d.ts +3 -0
  150. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  151. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +27 -0
  152. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  153. package/components/logo/logo.directive.d.ts +1 -1
  154. package/components/logo/models/logo-size.d.ts +1 -1
  155. package/components/logo/models/logo-variant.d.ts +1 -1
  156. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  157. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +9 -4
  158. package/components/main-menu/lib/main-menu.component.d.ts +3 -1
  159. package/components/menu/README.md +3 -0
  160. package/components/menu/index.d.ts +4 -0
  161. package/components/menu/lib/directives/index.d.ts +1 -0
  162. package/components/menu/lib/directives/menu-item.directive.d.ts +8 -0
  163. package/components/menu/lib/menu.component.d.ts +11 -0
  164. package/components/menu/lib/menu.directive.d.ts +16 -0
  165. package/components/menu/lib/menu.module.d.ts +10 -0
  166. package/components/modal/index.d.ts +0 -1
  167. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  168. package/components/modal/lib/components/index.d.ts +2 -0
  169. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  170. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +2 -1
  171. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  172. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  173. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  174. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  175. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  176. package/components/modal/lib/modal.component.d.ts +11 -6
  177. package/components/modal/lib/modal.config.d.ts +2 -2
  178. package/components/modal/lib/modal.directive.d.ts +8 -4
  179. package/components/modal/lib/modal.module.d.ts +9 -12
  180. package/components/modal/lib/modal.service.d.ts +9 -6
  181. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  182. package/components/modal/lib/models/index.d.ts +3 -0
  183. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  184. package/components/modal/lib/models/modal-options.d.ts +3 -1
  185. package/components/modal/lib/models/modal-ref.d.ts +9 -5
  186. package/components/modal/lib/models/modal-size.d.ts +2 -1
  187. package/components/modal/lib/models/modal-type.d.ts +1 -1
  188. package/components/modal/lib/models/modal-variant.d.ts +5 -0
  189. package/components/progress/README.md +3 -0
  190. package/components/progress/index.d.ts +1 -0
  191. package/components/progress/lib/progress.component.d.ts +14 -0
  192. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  193. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  194. package/components/rail-navigation/README.md +3 -0
  195. package/components/rail-navigation/index.d.ts +3 -0
  196. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +13 -0
  197. package/components/rail-navigation/lib/rail-navigation.component.d.ts +14 -0
  198. package/components/rail-navigation/lib/rail-navigation.module.d.ts +9 -0
  199. package/components/select/README.md +3 -0
  200. package/components/select/index.d.ts +7 -0
  201. package/components/select/lib/abstract/index.d.ts +2 -0
  202. package/components/select/lib/abstract/select-control-option.d.ts +9 -0
  203. package/components/select/lib/abstract/select-control.d.ts +12 -0
  204. package/components/select/lib/components/index.d.ts +1 -0
  205. package/components/select/lib/components/option/option.component.d.ts +27 -0
  206. package/components/select/lib/directives/index.d.ts +1 -0
  207. package/components/select/lib/directives/select-search-field.directive.d.ts +13 -0
  208. package/components/select/lib/pipes/index.d.ts +1 -0
  209. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +13 -0
  210. package/components/select/lib/select.component.d.ts +53 -0
  211. package/components/select/lib/select.module.d.ts +11 -0
  212. package/components/select/lib/select.tokens.d.ts +3 -0
  213. package/components/slider/README.md +3 -0
  214. package/components/slider/index.d.ts +1 -0
  215. package/components/slider/lib/slider.directive.d.ts +12 -0
  216. package/components/spinbox/README.md +3 -0
  217. package/components/spinbox/index.d.ts +1 -0
  218. package/components/spinbox/lib/spinbox.component.d.ts +25 -0
  219. package/components/switch/index.d.ts +2 -0
  220. package/components/switch/lib/switch.component.d.ts +2 -1
  221. package/components/switch/lib/switch.module.d.ts +9 -0
  222. package/components/switch/lib/switch.validator.d.ts +6 -0
  223. package/components/tab-bar/README.md +3 -0
  224. package/components/tab-bar/index.d.ts +4 -0
  225. package/components/tab-bar/lib/components/index.d.ts +1 -0
  226. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +23 -0
  227. package/components/tab-bar/lib/models/index.d.ts +1 -0
  228. package/components/tab-bar/lib/models/tab-change-event.d.ts +5 -0
  229. package/components/tab-bar/lib/tab-bar.component.d.ts +31 -0
  230. package/components/tab-bar/lib/tab-bar.config.d.ts +3 -0
  231. package/components/tab-bar/lib/tab-bar.module.d.ts +9 -0
  232. package/components/toast/README.md +3 -0
  233. package/components/toast/index.d.ts +5 -0
  234. package/components/toast/lib/components/index.d.ts +2 -0
  235. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  236. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  237. package/components/toast/lib/models/index.d.ts +5 -0
  238. package/components/toast/lib/models/toast-action.d.ts +7 -0
  239. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  240. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  241. package/components/toast/lib/models/toast.d.ts +10 -0
  242. package/components/toast/lib/models/toast.options.d.ts +4 -0
  243. package/components/toast/lib/toast.config.d.ts +3 -0
  244. package/components/toast/lib/toast.module.d.ts +9 -0
  245. package/components/toast/lib/toast.service.d.ts +16 -0
  246. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +5 -2
  247. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +11 -2
  248. package/components/tooltip/README.md +3 -0
  249. package/components/tooltip/index.d.ts +3 -0
  250. package/components/tooltip/lib/helpers/index.d.ts +1 -0
  251. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +2 -0
  252. package/components/tooltip/lib/models/index.d.ts +3 -0
  253. package/components/tooltip/lib/models/tooltip-options.d.ts +10 -0
  254. package/components/tooltip/lib/models/tooltip-size.d.ts +7 -0
  255. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -0
  256. package/components/tooltip/lib/tooltip.component.d.ts +13 -0
  257. package/components/tooltip/lib/tooltip.directive.d.ts +33 -0
  258. package/esm2020/animations/index.mjs +2 -1
  259. package/esm2020/animations/lib/expand.mjs +6 -4
  260. package/esm2020/animations/lib/fade.mjs +2 -5
  261. package/esm2020/animations/lib/wait-for-child-animations.mjs +3 -0
  262. package/esm2020/cdk/a11y/index.mjs +3 -0
  263. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  264. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  265. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  266. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +26 -0
  267. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  268. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  269. package/esm2020/cdk/active-indicator/index.mjs +3 -0
  270. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +128 -0
  271. package/esm2020/cdk/active-indicator/lib/models/active-indicator-direction.mjs +5 -0
  272. package/esm2020/cdk/active-indicator/lib/models/active-indicator-position.mjs +6 -0
  273. package/esm2020/cdk/active-indicator/lib/models/index.mjs +3 -0
  274. package/esm2020/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +5 -0
  275. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +21 -19
  276. package/esm2020/cdk/connected-overlay/index.mjs +4 -0
  277. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +116 -0
  278. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +25 -0
  279. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +55 -0
  280. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +2 -0
  281. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +12 -0
  282. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +15 -0
  283. package/esm2020/cdk/connected-overlay/lib/models/index.mjs +3 -0
  284. package/esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +5 -0
  285. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  286. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +35 -59
  287. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  288. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +24 -10
  289. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +11 -9
  290. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
  291. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  292. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
  293. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +29 -8
  294. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +12 -6
  295. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  296. package/esm2020/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +10 -0
  297. package/esm2020/cdk/dynamic-view/lib/tokens/index.mjs +2 -1
  298. package/esm2020/cdk/expandable/index.mjs +2 -1
  299. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  300. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  301. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  302. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  303. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  304. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  305. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +12 -12
  306. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
  307. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  308. package/esm2020/components/accordion/lib/accordion.component.mjs +7 -7
  309. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  310. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  311. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  312. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  313. package/esm2020/components/area-header/area-header.component.mjs +6 -5
  314. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  315. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  316. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  317. package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
  318. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  319. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  320. package/esm2020/components/badge/lib/badge.component.mjs +18 -65
  321. package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
  322. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  323. package/esm2020/components/bar/index.mjs +6 -0
  324. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  325. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  326. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +38 -0
  327. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  328. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  329. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  330. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  331. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  332. package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
  333. package/esm2020/components/button/lib/button.component.mjs +12 -18
  334. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  335. package/esm2020/components/checkbox/index.mjs +3 -1
  336. package/esm2020/components/checkbox/lib/checkbox.component.mjs +8 -7
  337. package/esm2020/components/checkbox/lib/checkbox.module.mjs +19 -0
  338. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +28 -0
  339. package/esm2020/components/chip/index.mjs +3 -0
  340. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  341. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  342. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  343. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  344. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  345. package/esm2020/components/circular-progress/index.mjs +3 -0
  346. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +98 -0
  347. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  348. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  349. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  350. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  351. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  352. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  353. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  354. package/esm2020/components/dropdown/index.mjs +6 -0
  355. package/esm2020/components/dropdown/lib/dropdown.component.mjs +40 -0
  356. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +157 -0
  357. package/esm2020/components/dropdown/lib/dropdown.module.mjs +18 -0
  358. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  359. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  360. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  361. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +8 -0
  362. package/esm2020/components/dropdown/lib/models/index.mjs +3 -0
  363. package/esm2020/components/dropdown/odx-angular-components-dropdown.mjs +5 -0
  364. package/esm2020/components/form-field/index.mjs +2 -1
  365. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  366. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +11 -13
  367. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +22 -15
  368. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  369. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  370. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  371. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  372. package/esm2020/components/form-field/lib/form-field.component.mjs +31 -13
  373. package/esm2020/components/form-field/lib/form-field.config.mjs +4 -4
  374. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
  375. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  376. package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
  377. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
  378. package/esm2020/components/form-field/lib/models/index.mjs +2 -1
  379. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
  380. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  381. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  382. package/esm2020/components/header/lib/header.component.mjs +5 -6
  383. package/esm2020/components/header/lib/header.module.mjs +7 -11
  384. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  385. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  386. package/esm2020/components/inline-message/index.mjs +3 -0
  387. package/esm2020/components/inline-message/lib/inline-message.component.mjs +42 -0
  388. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  389. package/esm2020/components/inline-message/lib/models/inline-message-variant.mjs +7 -0
  390. package/esm2020/components/inline-message/odx-angular-components-inline-message.mjs +5 -0
  391. package/esm2020/components/launch-tile/index.mjs +4 -0
  392. package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
  393. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +13 -0
  394. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +13 -0
  395. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +56 -0
  396. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +23 -0
  397. package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +5 -0
  398. package/esm2020/components/link/link.directive.mjs +7 -14
  399. package/esm2020/components/list/index.mjs +4 -0
  400. package/esm2020/components/list/lib/components/index.mjs +2 -0
  401. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  402. package/esm2020/components/list/lib/list.component.mjs +21 -0
  403. package/esm2020/components/list/lib/list.module.mjs +19 -0
  404. package/esm2020/components/list/odx-angular-components-list.mjs +5 -0
  405. package/esm2020/components/loading-spinner/index.mjs +4 -0
  406. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  407. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +98 -0
  408. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  409. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  410. package/esm2020/components/logo/logo.directive.mjs +8 -6
  411. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  412. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +30 -17
  413. package/esm2020/components/main-menu/lib/main-menu.component.mjs +12 -11
  414. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  415. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  416. package/esm2020/components/menu/index.mjs +5 -0
  417. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  418. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +37 -0
  419. package/esm2020/components/menu/lib/menu.component.mjs +46 -0
  420. package/esm2020/components/menu/lib/menu.directive.mjs +54 -0
  421. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  422. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  423. package/esm2020/components/modal/index.mjs +1 -2
  424. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  425. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  426. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  427. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
  428. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  429. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  430. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  431. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  432. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  433. package/esm2020/components/modal/lib/modal.component.mjs +43 -20
  434. package/esm2020/components/modal/lib/modal.config.mjs +5 -3
  435. package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
  436. package/esm2020/components/modal/lib/modal.module.mjs +33 -15
  437. package/esm2020/components/modal/lib/modal.service.mjs +47 -40
  438. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  439. package/esm2020/components/modal/lib/models/index.mjs +4 -1
  440. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  441. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  442. package/esm2020/components/modal/lib/models/modal-ref.mjs +25 -10
  443. package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
  444. package/esm2020/components/modal/lib/models/modal-variant.mjs +5 -0
  445. package/esm2020/components/progress/index.mjs +2 -0
  446. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  447. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  448. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  449. package/esm2020/components/radio-group/lib/radio-group.component.mjs +9 -9
  450. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  451. package/esm2020/components/rail-navigation/index.mjs +4 -0
  452. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +38 -0
  453. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +47 -0
  454. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +19 -0
  455. package/esm2020/components/rail-navigation/odx-angular-components-rail-navigation.mjs +5 -0
  456. package/esm2020/components/select/index.mjs +8 -0
  457. package/esm2020/components/select/lib/abstract/index.mjs +3 -0
  458. package/esm2020/components/select/lib/abstract/select-control-option.mjs +2 -0
  459. package/esm2020/components/select/lib/abstract/select-control.mjs +2 -0
  460. package/esm2020/components/select/lib/components/index.mjs +2 -0
  461. package/esm2020/components/select/lib/components/option/option.component.mjs +96 -0
  462. package/esm2020/components/select/lib/directives/index.mjs +2 -0
  463. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +47 -0
  464. package/esm2020/components/select/lib/pipes/index.mjs +2 -0
  465. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +51 -0
  466. package/esm2020/components/select/lib/select.component.mjs +219 -0
  467. package/esm2020/components/select/lib/select.module.mjs +21 -0
  468. package/esm2020/components/select/lib/select.tokens.mjs +3 -0
  469. package/esm2020/components/select/odx-angular-components-select.mjs +5 -0
  470. package/esm2020/components/slider/index.mjs +2 -0
  471. package/esm2020/components/slider/lib/slider.directive.mjs +42 -0
  472. package/esm2020/components/slider/odx-angular-components-slider.mjs +5 -0
  473. package/esm2020/components/spinbox/index.mjs +2 -0
  474. package/esm2020/components/spinbox/lib/spinbox.component.mjs +91 -0
  475. package/esm2020/components/spinbox/odx-angular-components-spinbox.mjs +5 -0
  476. package/esm2020/components/switch/index.mjs +3 -1
  477. package/esm2020/components/switch/lib/switch.component.mjs +8 -7
  478. package/esm2020/components/switch/lib/switch.module.mjs +19 -0
  479. package/esm2020/components/switch/lib/switch.validator.mjs +28 -0
  480. package/esm2020/components/tab-bar/index.mjs +5 -0
  481. package/esm2020/components/tab-bar/lib/components/index.mjs +2 -0
  482. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +79 -0
  483. package/esm2020/components/tab-bar/lib/models/index.mjs +2 -0
  484. package/esm2020/components/tab-bar/lib/models/tab-change-event.mjs +2 -0
  485. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +115 -0
  486. package/esm2020/components/tab-bar/lib/tab-bar.config.mjs +3 -0
  487. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +19 -0
  488. package/esm2020/components/tab-bar/odx-angular-components-tab-bar.mjs +5 -0
  489. package/esm2020/components/toast/index.mjs +6 -0
  490. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  491. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  492. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +75 -0
  493. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  494. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  495. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  496. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  497. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  498. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  499. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  500. package/esm2020/components/toast/lib/toast.module.mjs +18 -0
  501. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  502. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  503. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +14 -12
  504. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +41 -13
  505. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  506. package/esm2020/components/tooltip/index.mjs +4 -0
  507. package/esm2020/components/tooltip/lib/helpers/index.mjs +2 -0
  508. package/esm2020/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +9 -0
  509. package/esm2020/components/tooltip/lib/models/index.mjs +4 -0
  510. package/esm2020/components/tooltip/lib/models/tooltip-options.mjs +10 -0
  511. package/esm2020/components/tooltip/lib/models/tooltip-size.mjs +7 -0
  512. package/esm2020/components/tooltip/lib/models/tooltip-trigger.mjs +2 -0
  513. package/esm2020/components/tooltip/lib/tooltip.component.mjs +39 -0
  514. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +132 -0
  515. package/esm2020/components/tooltip/odx-angular-components-tooltip.mjs +5 -0
  516. package/esm2020/index.mjs +2 -1
  517. package/esm2020/internal/decorators/css-component.mjs +3 -8
  518. package/esm2020/internal/decorators/css-modifier.mjs +21 -18
  519. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  520. package/esm2020/internal/helpers/index.mjs +2 -1
  521. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
  522. package/esm2020/lib/controllers/controller.mjs +16 -14
  523. package/esm2020/lib/controllers/disabled.controller.mjs +29 -43
  524. package/esm2020/lib/controllers/readonly.controller.mjs +33 -23
  525. package/esm2020/lib/core.module.mjs +7 -6
  526. package/esm2020/lib/directives/click-outside.directive.mjs +17 -13
  527. package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
  528. package/esm2020/lib/directives/index.mjs +4 -1
  529. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  530. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  531. package/esm2020/lib/services/window-ref.mjs +18 -7
  532. package/esm2020/lib/tokens/identity-matcher.mjs +7 -0
  533. package/esm2020/lib/tokens/index.mjs +4 -0
  534. package/esm2020/lib/tokens/string-search-handler.mjs +9 -0
  535. package/esm2020/lib/tokens/stringify.mjs +8 -0
  536. package/esm2020/rxjs/index.mjs +4 -2
  537. package/esm2020/rxjs/lib/delay-until.mjs +5 -0
  538. package/esm2020/rxjs/lib/form-query-list.mjs +5 -0
  539. package/esm2020/rxjs/lib/from-element-resize.mjs +14 -0
  540. package/esm2020/utils/lib/decorators/index.mjs +2 -1
  541. package/esm2020/utils/lib/decorators/pure.mjs +37 -0
  542. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  543. package/esm2020/utils/lib/helpers/angular.mjs +5 -2
  544. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  545. package/esm2020/utils/lib/helpers/defer-fn.mjs +4 -0
  546. package/esm2020/utils/lib/helpers/dom.mjs +32 -2
  547. package/esm2020/utils/lib/helpers/event-manager.mjs +30 -0
  548. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  549. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  550. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  551. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  552. package/esm2020/utils/lib/helpers/index.mjs +10 -2
  553. package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
  554. package/esm2020/utils/lib/helpers/queue.mjs +49 -0
  555. package/esm2020/utils/lib/types/axis.mjs +5 -0
  556. package/esm2020/utils/lib/types/index.mjs +4 -1
  557. package/esm2020/utils/lib/types/position.mjs +15 -0
  558. package/esm2020/utils/lib/types/side.mjs +7 -0
  559. package/fesm2015/odx-angular-animations.mjs +10 -6
  560. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  561. package/fesm2015/odx-angular-cdk-a11y.mjs +131 -0
  562. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  563. package/fesm2015/odx-angular-cdk-active-indicator.mjs +145 -0
  564. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -0
  565. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +21 -19
  566. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  567. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +222 -0
  568. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  569. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +39 -63
  570. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  571. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +109 -42
  572. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  573. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  574. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  575. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +27 -24
  576. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  577. package/fesm2015/odx-angular-components-accordion.mjs +20 -18
  578. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  579. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  580. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  581. package/fesm2015/odx-angular-components-area-header.mjs +15 -14
  582. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  583. package/fesm2015/odx-angular-components-avatar.mjs +18 -7
  584. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  585. package/fesm2015/odx-angular-components-badge.mjs +63 -97
  586. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  587. package/fesm2015/odx-angular-components-bar.mjs +95 -0
  588. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  589. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  590. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  591. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  592. package/fesm2015/odx-angular-components-button.mjs +11 -18
  593. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  594. package/fesm2015/odx-angular-components-checkbox.mjs +49 -8
  595. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  596. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  597. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  598. package/fesm2015/odx-angular-components-circular-progress.mjs +110 -0
  599. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  600. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  601. package/fesm2015/odx-angular-components-dropdown.mjs +223 -0
  602. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -0
  603. package/fesm2015/odx-angular-components-form-field.mjs +96 -78
  604. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  605. package/fesm2015/odx-angular-components-header.mjs +25 -23
  606. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  607. package/fesm2015/odx-angular-components-icon.mjs +4 -3
  608. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  609. package/fesm2015/odx-angular-components-inline-message.mjs +54 -0
  610. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -0
  611. package/fesm2015/odx-angular-components-launch-tile.mjs +100 -0
  612. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -0
  613. package/fesm2015/odx-angular-components-link.mjs +6 -14
  614. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  615. package/fesm2015/odx-angular-components-list.mjs +76 -0
  616. package/fesm2015/odx-angular-components-list.mjs.map +1 -0
  617. package/fesm2015/odx-angular-components-loading-spinner.mjs +171 -0
  618. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  619. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  620. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  621. package/fesm2015/odx-angular-components-main-menu.mjs +64 -53
  622. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  623. package/fesm2015/odx-angular-components-menu.mjs +140 -0
  624. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  625. package/fesm2015/odx-angular-components-modal.mjs +265 -155
  626. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  627. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  628. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  629. package/fesm2015/odx-angular-components-radio-group.mjs +18 -19
  630. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  631. package/fesm2015/odx-angular-components-rail-navigation.mjs +97 -0
  632. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -0
  633. package/fesm2015/odx-angular-components-select.mjs +416 -0
  634. package/fesm2015/odx-angular-components-select.mjs.map +1 -0
  635. package/fesm2015/odx-angular-components-slider.mjs +48 -0
  636. package/fesm2015/odx-angular-components-slider.mjs.map +1 -0
  637. package/fesm2015/odx-angular-components-spinbox.mjs +100 -0
  638. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -0
  639. package/fesm2015/odx-angular-components-switch.mjs +49 -8
  640. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  641. package/fesm2015/odx-angular-components-tab-bar.mjs +209 -0
  642. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -0
  643. package/fesm2015/odx-angular-components-toast.mjs +216 -0
  644. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  645. package/fesm2015/odx-angular-components-toggle-button-group.mjs +58 -26
  646. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  647. package/fesm2015/odx-angular-components-tooltip.mjs +187 -0
  648. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -0
  649. package/fesm2015/odx-angular-internal.mjs +63 -54
  650. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  651. package/fesm2015/odx-angular-rxjs.mjs +23 -6
  652. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  653. package/fesm2015/odx-angular-utils.mjs +242 -15
  654. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  655. package/fesm2015/odx-angular.mjs +231 -98
  656. package/fesm2015/odx-angular.mjs.map +1 -1
  657. package/fesm2020/odx-angular-animations.mjs +10 -9
  658. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  659. package/fesm2020/odx-angular-cdk-a11y.mjs +127 -0
  660. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  661. package/fesm2020/odx-angular-cdk-active-indicator.mjs +143 -0
  662. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -0
  663. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +21 -19
  664. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  665. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +218 -0
  666. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  667. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +37 -61
  668. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  669. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +102 -37
  670. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  671. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  672. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  673. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +27 -24
  674. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  675. package/fesm2020/odx-angular-components-accordion.mjs +20 -18
  676. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  677. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  678. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  679. package/fesm2020/odx-angular-components-area-header.mjs +15 -14
  680. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  681. package/fesm2020/odx-angular-components-avatar.mjs +18 -7
  682. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  683. package/fesm2020/odx-angular-components-badge.mjs +60 -90
  684. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  685. package/fesm2020/odx-angular-components-bar.mjs +95 -0
  686. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  687. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  688. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  689. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  690. package/fesm2020/odx-angular-components-button.mjs +11 -17
  691. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  692. package/fesm2020/odx-angular-components-checkbox.mjs +49 -8
  693. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  694. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  695. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  696. package/fesm2020/odx-angular-components-circular-progress.mjs +110 -0
  697. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  698. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  699. package/fesm2020/odx-angular-components-dropdown.mjs +226 -0
  700. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -0
  701. package/fesm2020/odx-angular-components-form-field.mjs +95 -78
  702. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  703. package/fesm2020/odx-angular-components-header.mjs +25 -23
  704. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  705. package/fesm2020/odx-angular-components-icon.mjs +4 -3
  706. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  707. package/fesm2020/odx-angular-components-inline-message.mjs +54 -0
  708. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -0
  709. package/fesm2020/odx-angular-components-launch-tile.mjs +99 -0
  710. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -0
  711. package/fesm2020/odx-angular-components-link.mjs +6 -13
  712. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  713. package/fesm2020/odx-angular-components-list.mjs +76 -0
  714. package/fesm2020/odx-angular-components-list.mjs.map +1 -0
  715. package/fesm2020/odx-angular-components-loading-spinner.mjs +169 -0
  716. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  717. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  718. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  719. package/fesm2020/odx-angular-components-main-menu.mjs +63 -52
  720. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  721. package/fesm2020/odx-angular-components-menu.mjs +142 -0
  722. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  723. package/fesm2020/odx-angular-components-modal.mjs +268 -152
  724. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  725. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  726. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  727. package/fesm2020/odx-angular-components-radio-group.mjs +18 -19
  728. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  729. package/fesm2020/odx-angular-components-rail-navigation.mjs +97 -0
  730. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -0
  731. package/fesm2020/odx-angular-components-select.mjs +409 -0
  732. package/fesm2020/odx-angular-components-select.mjs.map +1 -0
  733. package/fesm2020/odx-angular-components-slider.mjs +48 -0
  734. package/fesm2020/odx-angular-components-slider.mjs.map +1 -0
  735. package/fesm2020/odx-angular-components-spinbox.mjs +97 -0
  736. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -0
  737. package/fesm2020/odx-angular-components-switch.mjs +49 -8
  738. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  739. package/fesm2020/odx-angular-components-tab-bar.mjs +203 -0
  740. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -0
  741. package/fesm2020/odx-angular-components-toast.mjs +215 -0
  742. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  743. package/fesm2020/odx-angular-components-toggle-button-group.mjs +55 -26
  744. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  745. package/fesm2020/odx-angular-components-tooltip.mjs +192 -0
  746. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -0
  747. package/fesm2020/odx-angular-internal.mjs +61 -52
  748. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  749. package/fesm2020/odx-angular-rxjs.mjs +23 -6
  750. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  751. package/fesm2020/odx-angular-utils.mjs +236 -15
  752. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  753. package/fesm2020/odx-angular.mjs +225 -95
  754. package/fesm2020/odx-angular.mjs.map +1 -1
  755. package/index.d.ts +1 -0
  756. package/internal/decorators/css-component.d.ts +1 -2
  757. package/internal/decorators/css-modifier.d.ts +0 -1
  758. package/internal/helpers/decorator-property-name.d.ts +1 -0
  759. package/internal/helpers/index.d.ts +1 -0
  760. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  761. package/lib/controllers/controller.d.ts +2 -3
  762. package/lib/controllers/disabled.controller.d.ts +5 -7
  763. package/lib/controllers/readonly.controller.d.ts +5 -2
  764. package/lib/core.module.d.ts +2 -1
  765. package/lib/directives/click-outside.directive.d.ts +3 -4
  766. package/lib/directives/delegate-focus.directive.d.ts +11 -0
  767. package/lib/directives/index.d.ts +3 -0
  768. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  769. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  770. package/lib/services/window-ref.d.ts +5 -0
  771. package/lib/tokens/identity-matcher.d.ts +3 -0
  772. package/lib/tokens/index.d.ts +3 -0
  773. package/lib/tokens/string-search-handler.d.ts +3 -0
  774. package/lib/tokens/stringify.d.ts +3 -0
  775. package/package.json +181 -12
  776. package/rxjs/index.d.ts +3 -1
  777. package/rxjs/lib/delay-until.d.ts +2 -0
  778. package/rxjs/lib/form-query-list.d.ts +3 -0
  779. package/rxjs/lib/from-element-resize.d.ts +2 -0
  780. package/utils/lib/decorators/index.d.ts +1 -0
  781. package/utils/lib/decorators/pure.d.ts +1 -0
  782. package/utils/lib/decorators/transform.d.ts +2 -2
  783. package/utils/lib/helpers/angular.d.ts +2 -1
  784. package/utils/lib/helpers/build-url.d.ts +1 -0
  785. package/utils/lib/helpers/defer-fn.d.ts +1 -0
  786. package/utils/lib/helpers/dom.d.ts +6 -1
  787. package/utils/lib/helpers/event-manager.d.ts +12 -0
  788. package/utils/lib/helpers/get-axis.d.ts +2 -0
  789. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  790. package/utils/lib/helpers/get-side.d.ts +2 -0
  791. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  792. package/utils/lib/helpers/index.d.ts +9 -1
  793. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  794. package/utils/lib/helpers/provide-config.d.ts +12 -0
  795. package/utils/lib/helpers/queue.d.ts +22 -0
  796. package/utils/lib/types/axis.d.ts +5 -0
  797. package/utils/lib/types/get-properties.d.ts +2 -2
  798. package/utils/lib/types/index.d.ts +3 -0
  799. package/utils/lib/types/position.d.ts +15 -0
  800. package/utils/lib/types/side.d.ts +7 -0
  801. package/components/badge/lib/badge.config.d.ts +0 -3
  802. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  803. package/components/badge/lib/facade/index.d.ts +0 -1
  804. package/components/badge/lib/models/badge-position.d.ts +0 -5
  805. package/components/modal/lib/services/index.d.ts +0 -1
  806. package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
  807. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  808. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  809. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  810. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  811. package/esm2020/components/modal/lib/services/index.mjs +0 -2
  812. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
  813. package/esm2020/rxjs/lib/mark-for-check.mjs +0 -5
  814. package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
  815. package/rxjs/lib/mark-for-check.d.ts +0 -3
  816. package/utils/lib/helpers/provide-module-config.d.ts +0 -12
@@ -0,0 +1,416 @@
1
+ import { __decorate, __metadata } from 'tslib';
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
+ import * as i0 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';
5
+ import * as i2 from '@odx/angular';
6
+ import { DisabledController, ReadonlyController, detectControllerChanges, CoreModule, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, ODX_IDENTITY_MATCHER } from '@odx/angular';
7
+ import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
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';
13
+ import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
14
+ import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
15
+ import { DropdownDirective } from '@odx/angular/components/dropdown';
16
+ import { IconComponent } from '@odx/angular/components/icon';
17
+ import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
18
+ import { fromQueryList } from '@odx/angular/rxjs';
19
+
20
+ const SELECT_CONTROL = new InjectionToken('@odx/angular/components/select::SelectControl');
21
+
22
+ let OptionComponent = class OptionComponent {
23
+ get disabled() {
24
+ var _a, _b;
25
+ return !!((_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled) || !!((_b = this.readonlyController) === null || _b === void 0 ? void 0 : _b.readonly);
26
+ }
27
+ constructor() {
28
+ this.disabledController = DisabledController.inject();
29
+ this.readonlyController = ReadonlyController.inject();
30
+ this.takeUntilDestroyed = untilDestroyed();
31
+ this.cdr = inject(ChangeDetectorRef);
32
+ this.selectControl = inject(SELECT_CONTROL);
33
+ this.isActive = false;
34
+ this.element = injectElement();
35
+ this.isSelected = false;
36
+ this.value = null;
37
+ this.notFoundMessage = false;
38
+ if (!this.selectControl.multiple) {
39
+ detectControllerChanges(this.selectControl)
40
+ .pipe(this.takeUntilDestroyed())
41
+ .subscribe(() => {
42
+ this.isSelected = this.selectControl.isOptionSelected(this);
43
+ });
44
+ }
45
+ }
46
+ ngOnInit() {
47
+ this.isSelected = this.selectControl.isOptionSelected(this);
48
+ }
49
+ getLabel() {
50
+ var _a;
51
+ return (_a = this.element.nativeElement.textContent) !== null && _a !== void 0 ? _a : '';
52
+ }
53
+ setActiveStyles() {
54
+ if (this.disabled)
55
+ return;
56
+ this.isActive = true;
57
+ if (this.selectControl.isOpen) {
58
+ this.selectControl.scrollOptionIntoView(this);
59
+ }
60
+ else {
61
+ this.selectControl.selectOption(this);
62
+ }
63
+ }
64
+ setInactiveStyles() {
65
+ this.isActive = false;
66
+ }
67
+ switchCheckbox() {
68
+ if (this.selectControl.multiple) {
69
+ this.isSelected = !this.isSelected;
70
+ this.cdr.markForCheck();
71
+ }
72
+ }
73
+ select(event) {
74
+ event.stopPropagation();
75
+ event.preventDefault();
76
+ this.selectControl.selectOption(this);
77
+ }
78
+ };
79
+ OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
+ OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", 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(), ReadonlyController.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 });
81
+ __decorate([
82
+ Transform(coerceBooleanProperty),
83
+ __metadata("design:type", Object)
84
+ ], OptionComponent.prototype, "notFoundMessage", void 0);
85
+ OptionComponent = __decorate([
86
+ CSSComponent('option'),
87
+ __metadata("design:paramtypes", [])
88
+ ], OptionComponent);
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OptionComponent, decorators: [{
90
+ type: Component,
91
+ args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
92
+ '[attr.aria-selected]': 'isSelected',
93
+ '[attr.aria-disabled]': 'disabled || null',
94
+ '[class.is-disabled]': 'disabled',
95
+ '[class.is-selected]': 'isSelected',
96
+ '[class.is-active]': 'isActive',
97
+ role: 'option',
98
+ }, 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" }]
99
+ }], ctorParameters: function () { return []; }, propDecorators: { value: [{
100
+ type: Input
101
+ }], notFoundMessage: [{
102
+ type: Input
103
+ }], select: [{
104
+ type: HostListener,
105
+ args: ['click', ['$event']]
106
+ }] } });
107
+
108
+ let SelectSearchFieldDirective = class SelectSearchFieldDirective {
109
+ constructor() {
110
+ this.takeUntilDestroyed = untilDestroyed();
111
+ this.element = injectElement();
112
+ // eslint-disable-next-line @angular-eslint/no-input-rename
113
+ this.notFoundContent = null;
114
+ this.valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(map(() => this.getValue()), distinctUntilChanged(), this.takeUntilDestroyed());
115
+ }
116
+ reset() {
117
+ this.element.nativeElement.value = '';
118
+ }
119
+ focus() {
120
+ this.element.nativeElement.focus();
121
+ }
122
+ getValue() {
123
+ return this.element.nativeElement.value;
124
+ }
125
+ };
126
+ SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
+ SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", 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 });
128
+ SelectSearchFieldDirective = __decorate([
129
+ CSSComponent('select__search')
130
+ ], SelectSearchFieldDirective);
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
132
+ type: Directive,
133
+ args: [{
134
+ standalone: true,
135
+ selector: 'input[odxSelectSearchField]',
136
+ host: {
137
+ '[class.odx-form-field-control]': 'true',
138
+ },
139
+ }]
140
+ }], propDecorators: { notFoundContent: [{
141
+ type: Input,
142
+ args: ['odxSelectSearchField']
143
+ }], reset: [{
144
+ type: HostListener,
145
+ args: ['keydown.delete']
146
+ }] } });
147
+
148
+ class SelectSearchFilterPipe {
149
+ constructor() {
150
+ this.searchController = inject(SELECT_CONTROL, { optional: true });
151
+ this.stringify = inject(ODX_STRINGIFY);
152
+ this.stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);
153
+ }
154
+ get searchField() {
155
+ var _a;
156
+ return (_a = this.searchController) === null || _a === void 0 ? void 0 : _a.searchField;
157
+ }
158
+ transform(items, searchHandler) {
159
+ if (this.searchField) {
160
+ return this.filter(items, this.searchField.getValue(), searchHandler);
161
+ }
162
+ return items;
163
+ }
164
+ filter(items, query, searchHandler) {
165
+ var _a, _b;
166
+ if (!items) {
167
+ return null;
168
+ }
169
+ query = query.trim();
170
+ if (query === '') {
171
+ return items;
172
+ }
173
+ const search = searchHandler !== null && searchHandler !== void 0 ? searchHandler : this.stringSearchHandler;
174
+ const stringify = (_b = (_a = this.searchController) === null || _a === void 0 ? void 0 : _a.stringify) !== null && _b !== void 0 ? _b : this.stringify;
175
+ return items.filter((item) => search(stringify(item), query));
176
+ }
177
+ }
178
+ SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
179
+ SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
180
+ __decorate([
181
+ Pure,
182
+ __metadata("design:type", Function),
183
+ __metadata("design:paramtypes", [Object, String, Function]),
184
+ __metadata("design:returntype", Object)
185
+ ], SelectSearchFilterPipe.prototype, "filter", null);
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
187
+ type: Pipe,
188
+ args: [{
189
+ pure: false,
190
+ name: 'odxSelectSearchFilter',
191
+ standalone: true,
192
+ }]
193
+ }], propDecorators: { filter: [] } });
194
+
195
+ var SelectComponent_1;
196
+ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFormControl {
197
+ get hasOptions() {
198
+ return !!this.options && this.options.length > 0;
199
+ }
200
+ get isOpen() {
201
+ var _a;
202
+ return !!((_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.isOpen);
203
+ }
204
+ get selectedOptionContent() {
205
+ var _a;
206
+ return this.selectedOption ? (_a = this.selectedOptionTemplate) !== null && _a !== void 0 ? _a : this.selectedOptionText : null;
207
+ }
208
+ constructor() {
209
+ super(null);
210
+ this.searchFieldEnabled = false;
211
+ this.smoothScrollEnabled = false;
212
+ this.selectedOption = null;
213
+ this.selectedOptionText = null;
214
+ this.element = injectElement();
215
+ this.placeholder = '';
216
+ this.isLoading = false;
217
+ this.multiple = false;
218
+ this.selectedOptionTemplate = null;
219
+ this.identityMatcher = inject(ODX_IDENTITY_MATCHER);
220
+ this.change = new EventEmitter();
221
+ detectControllerChanges(this).subscribe();
222
+ }
223
+ ngAfterViewInit() {
224
+ var _a;
225
+ if (!this.options)
226
+ return;
227
+ this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);
228
+ fromQueryList(this.options).subscribe(() => {
229
+ this.updateSelectedOption();
230
+ if (this.isOpen) {
231
+ deferFn(() => this.activateSelectedOption());
232
+ }
233
+ });
234
+ (_a = this.searchField) === null || _a === void 0 ? void 0 : _a.valueChange$.subscribe(() => this.triggerControllerChange());
235
+ }
236
+ registerOnChange(fn) {
237
+ super.registerOnChange((value) => {
238
+ this.updateSelectedOption();
239
+ fn(value);
240
+ });
241
+ }
242
+ selectOption(option) {
243
+ var _a, _b;
244
+ if (option && !option.disabled) {
245
+ option.switchCheckbox();
246
+ const value = this.multiple
247
+ ? (_a = this.options) === null || _a === void 0 ? void 0 : _a.toArray().filter(({ isSelected }) => isSelected).map(({ value }) => value)
248
+ : option.value;
249
+ this.updateValue(value !== null && value !== void 0 ? value : null);
250
+ }
251
+ !this.multiple && ((_b = this.dropdown) === null || _b === void 0 ? void 0 : _b.close());
252
+ }
253
+ isOptionSelected(option) {
254
+ if (option && !option.disabled) {
255
+ if (this.multiple && Array.isArray(this.value)) {
256
+ return this.value.includes(option.value);
257
+ }
258
+ return this.identityMatcher(option.value, this.value);
259
+ }
260
+ return false;
261
+ }
262
+ scrollOptionIntoView({ element }) {
263
+ const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;
264
+ element.nativeElement.scrollIntoView({ block: 'center', behavior });
265
+ }
266
+ openDropdown(event) {
267
+ var _a, _b;
268
+ if (this.isLoading)
269
+ return;
270
+ if (this.isOpen && this.hasOptions) {
271
+ if (event.key === 'Enter' || event.key === 'Tab') {
272
+ event.preventDefault();
273
+ event.stopImmediatePropagation();
274
+ this.selectOption((_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.activeItem);
275
+ return;
276
+ }
277
+ }
278
+ (_b = this.keyManager) === null || _b === void 0 ? void 0 : _b.onKeydown(event);
279
+ }
280
+ handleFocusOut() {
281
+ this.onTouched();
282
+ }
283
+ activateSelectedOption() {
284
+ var _a, _b, _c, _d;
285
+ let activeIndex = (_a = this.options) === null || _a === void 0 ? void 0 : _a.toArray().findIndex((option) => option.isSelected && !option.disabled);
286
+ if (!activeIndex || activeIndex === -1) {
287
+ activeIndex = (_c = (_b = this.options) === null || _b === void 0 ? void 0 : _b.toArray().findIndex((option) => !option.disabled)) !== null && _c !== void 0 ? _c : -1;
288
+ }
289
+ (_d = this.keyManager) === null || _d === void 0 ? void 0 : _d.setActiveItem(activeIndex);
290
+ }
291
+ onDropdownOpen() {
292
+ this.activateSelectedOption();
293
+ if (!this.searchFieldEnabled) {
294
+ this.searchFieldEnabled = !!this.searchField;
295
+ deferFn(() => { var _a; return (_a = this.searchField) === null || _a === void 0 ? void 0 : _a.focus(); });
296
+ }
297
+ }
298
+ onDropdownClose() {
299
+ var _a;
300
+ this.disableSmoothScroll();
301
+ if (this.searchFieldEnabled) {
302
+ this.searchFieldEnabled = false;
303
+ (_a = this.element.nativeElement) === null || _a === void 0 ? void 0 : _a.focus();
304
+ }
305
+ }
306
+ onDropdownClosed() {
307
+ var _a;
308
+ (_a = this.searchField) === null || _a === void 0 ? void 0 : _a.reset();
309
+ }
310
+ disableSmoothScroll() {
311
+ this.smoothScrollEnabled = false;
312
+ }
313
+ enableSmoothScroll() {
314
+ this.smoothScrollEnabled = true;
315
+ }
316
+ updateSelectedOption() {
317
+ var _a, _b, _c, _d, _e, _f;
318
+ const options = (_a = this.options) === null || _a === void 0 ? void 0 : _a.toArray();
319
+ this.selectedOption = (_b = options === null || options === void 0 ? void 0 : options.find((option) => option.isSelected)) !== null && _b !== void 0 ? _b : null;
320
+ if (this.multiple) {
321
+ this.selectedOptionText =
322
+ (_c = options === null || options === void 0 ? void 0 : options.filter(({ isSelected }) => isSelected).map((option) => { var _a, _b; return (_b = (_a = this.stringify) === null || _a === void 0 ? void 0 : _a.call(this, option.value)) !== null && _b !== void 0 ? _b : option.getLabel(); }).join(', ')) !== null && _c !== void 0 ? _c : null;
323
+ this.triggerControllerChange();
324
+ return;
325
+ }
326
+ this.selectedOptionText = this.selectedOption ? (_f = (_d = this.stringify) === null || _d === void 0 ? void 0 : _d.call(this, (_e = this.selectedOption) === null || _e === void 0 ? void 0 : _e.value)) !== null && _f !== void 0 ? _f : this.selectedOption.getLabel() : null;
327
+ this.triggerControllerChange();
328
+ }
329
+ };
330
+ SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
331
+ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", 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()" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled || isDisabled ? -1 : 0", "attr.aria-multiselectable": "multiple" } }, providers: [
332
+ {
333
+ provide: SELECT_CONTROL,
334
+ useExisting: forwardRef(() => SelectComponent_1),
335
+ },
336
+ ], 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 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"] }, { 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 });
337
+ __decorate([
338
+ Transform(coerceBooleanProperty),
339
+ __metadata("design:type", Object)
340
+ ], SelectComponent.prototype, "isLoading", void 0);
341
+ __decorate([
342
+ CSSModifier(),
343
+ Transform(coerceBooleanProperty),
344
+ __metadata("design:type", Object)
345
+ ], SelectComponent.prototype, "multiple", void 0);
346
+ SelectComponent = SelectComponent_1 = __decorate([
347
+ CSSComponent('select'),
348
+ __metadata("design:paramtypes", [])
349
+ ], SelectComponent);
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectComponent, decorators: [{
351
+ type: Component,
352
+ args: [{ standalone: true, selector: 'odx-select', imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
353
+ {
354
+ provide: SELECT_CONTROL,
355
+ useExisting: forwardRef(() => SelectComponent),
356
+ },
357
+ ], host: {
358
+ '[attr.aria-disabled]': 'isDisabled || null',
359
+ '[class.is-open]': 'isOpen',
360
+ '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',
361
+ '[attr.aria-multiselectable]': 'multiple',
362
+ }, 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 notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n" }]
363
+ }], ctorParameters: function () { return []; }, propDecorators: { options: [{
364
+ type: ContentChildren,
365
+ args: [OptionComponent, { descendants: true, emitDistinctChangesOnly: true }]
366
+ }], dropdown: [{
367
+ type: ViewChild,
368
+ args: [DropdownDirective]
369
+ }], placeholder: [{
370
+ type: Input
371
+ }], isLoading: [{
372
+ type: Input
373
+ }], multiple: [{
374
+ type: Input
375
+ }], selectedOptionTemplate: [{
376
+ type: Input
377
+ }], stringify: [{
378
+ type: Input
379
+ }], identityMatcher: [{
380
+ type: Input
381
+ }], change: [{
382
+ type: Output
383
+ }], searchField: [{
384
+ type: ContentChild,
385
+ args: [SelectSearchFieldDirective]
386
+ }], openDropdown: [{
387
+ type: HostListener,
388
+ args: ['click', ['$event']]
389
+ }, {
390
+ type: HostListener,
391
+ args: ['keydown', ['$event']]
392
+ }], handleFocusOut: [{
393
+ type: HostListener,
394
+ args: ['focusout']
395
+ }] } });
396
+
397
+ const modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];
398
+ class SelectModule {
399
+ }
400
+ SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
401
+ SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
402
+ SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectModule, decorators: [{
404
+ type: NgModule,
405
+ args: [{
406
+ imports: modules,
407
+ exports: [CoreModule, ...modules],
408
+ }]
409
+ }] });
410
+
411
+ /**
412
+ * Generated bundle index. Do not edit.
413
+ */
414
+
415
+ export { OptionComponent, SELECT_CONTROL, SelectComponent, SelectModule, SelectSearchFieldDirective, SelectSearchFilterPipe };
416
+ //# sourceMappingURL=odx-angular-components-select.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odx-angular-components-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectControl } from './abstract';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectControl>('@odx/angular/components/select::SelectControl');\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { SelectControlOption } from '../../abstract';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('option')\n@Component({\n standalone: true,\n selector: 'odx-option',\n imports: [CoreModule, DynamicViewDirective, CheckboxComponent],\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-disabled]': 'disabled',\n '[class.is-selected]': 'isSelected',\n '[class.is-active]': 'isActive',\n role: 'option',\n },\n})\nexport class OptionComponent<T = unknown> implements OnInit, SelectControlOption<T> {\n public static ngAcceptInputType_notFoundMessage: BooleanInput;\n\n private readonly disabledController = DisabledController.inject();\n private readonly readonlyController = ReadonlyController.inject();\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n protected isActive = false;\n\n public readonly element = injectElement();\n public isSelected = false;\n\n @Input()\n public value: T | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input()\n public notFoundMessage = false;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled || !!this.readonlyController?.readonly;\n }\n\n constructor() {\n if (!this.selectControl.multiple) {\n detectControllerChanges(this.selectControl)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public getLabel(): string {\n return this.element.nativeElement.textContent ?? '';\n }\n\n public setActiveStyles(): void {\n if (this.disabled) return;\n this.isActive = true;\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n\n public switchCheckbox(): void {\n if (this.selectControl.multiple) {\n this.isSelected = !this.isSelected;\n this.cdr.markForCheck();\n }\n }\n\n @HostListener('click', ['$event'])\n protected select(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.selectControl.selectOption(this);\n }\n}\n","<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","import { Directive, HostListener, Input } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { distinctUntilChanged, fromEvent, map } from 'rxjs';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n host: {\n '[class.odx-form-field-control]': 'true',\n },\n})\nexport class SelectSearchFieldDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLInputElement>();\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n public valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(\n map(() => this.getValue()),\n distinctUntilChanged(),\n this.takeUntilDestroyed()\n );\n\n @HostListener('keydown.delete')\n public reset(): void {\n this.element.nativeElement.value = '';\n }\n\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n public getValue(): string {\n return this.element.nativeElement.value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, StringSearchHandler } from '@odx/angular';\nimport { Pure } from '@odx/angular/utils';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe implements PipeTransform {\n private readonly searchController = inject(SELECT_CONTROL, { optional: true });\n private readonly stringify = inject(ODX_STRINGIFY);\n private readonly stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);\n\n private get searchField(): SelectSearchFieldDirective | undefined {\n return this.searchController?.searchField;\n }\n\n public transform<T>(items: T[] | null, searchHandler?: StringSearchHandler): T[] | null {\n if (this.searchField) {\n return this.filter(items, this.searchField.getValue(), searchHandler);\n }\n return items;\n }\n\n @Pure\n private filter<T>(items: T[] | null, query: string, searchHandler?: StringSearchHandler): T[] | null {\n if (!items) {\n return null;\n }\n query = query.trim();\n if (query === '') {\n return items;\n }\n const search = searchHandler ?? this.stringSearchHandler;\n const stringify = this.searchController?.stringify ?? this.stringify;\n\n return items.filter((item) => search(stringify(item), query));\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, detectControllerChanges, IdentityMatcher, ODX_IDENTITY_MATCHER, StringifyFn } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromQueryList } from '@odx/angular/rxjs';\nimport { deferFn, injectElement, Transform } from '@odx/angular/utils';\nimport { SelectControl, SelectControlOption } from './abstract';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: SELECT_CONTROL,\n useExisting: forwardRef(() => SelectComponent),\n },\n ],\n host: {\n '[attr.aria-disabled]': 'isDisabled || null',\n '[class.is-open]': 'isOpen',\n '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',\n '[attr.aria-multiselectable]': 'multiple',\n },\n})\nexport class SelectComponent<T = unknown | unknown[]> extends CustomFormControl<T | null> implements AfterViewInit, SelectControl<T> {\n public static ngAcceptInputType_isLoading: BooleanInput;\n public static ngAcceptInputType_multiple: BooleanInput;\n\n private keyManager?: ActiveDescendantKeyManager<OptionComponent<T>>;\n\n protected searchFieldEnabled = false;\n protected smoothScrollEnabled = false;\n protected selectedOption: OptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n @ContentChildren(OptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<OptionComponent<T>>;\n\n @ViewChild(DropdownDirective)\n protected dropdown?: DropdownDirective;\n\n public get hasOptions(): boolean {\n return !!this.options && this.options.length > 0;\n }\n\n public readonly element = injectElement();\n\n public get isOpen(): boolean {\n return !!this.dropdown?.isOpen;\n }\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isLoading = false;\n\n @CSSModifier()\n @Transform(coerceBooleanProperty)\n @Input()\n public multiple = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public stringify?: StringifyFn<T | null>;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<void>();\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n constructor() {\n super(null);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n if (!this.options) return;\n this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n fromQueryList(this.options).subscribe(() => {\n this.updateSelectedOption();\n if (this.isOpen) {\n deferFn(() => this.activateSelectedOption());\n }\n });\n this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectControlOption<T | T[]> | null): void {\n if (option && !option.disabled) {\n option.switchCheckbox();\n const value = this.multiple\n ? this.options\n ?.toArray()\n .filter(({ isSelected }) => isSelected)\n .map(({ value }) => value)\n : option.value;\n this.updateValue((value as T) ?? null);\n }\n\n !this.multiple && this.dropdown?.close();\n }\n\n public isOptionSelected(option: SelectControlOption<T | T[]>): boolean {\n if (option && !option.disabled) {\n if (this.multiple && Array.isArray(this.value)) {\n return (this.value as T[]).includes(option.value as T);\n }\n return this.identityMatcher(option.value as T, this.value);\n }\n return false;\n }\n\n public scrollOptionIntoView({ element }: SelectControlOption<T>): void {\n const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;\n element.nativeElement.scrollIntoView({ block: 'center', behavior });\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected openDropdown(event: KeyboardEvent) {\n if (this.isLoading) return;\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n @HostListener('focusout')\n protected handleFocusOut(): void {\n this.onTouched();\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n protected disableSmoothScroll(): void {\n this.smoothScrollEnabled = false;\n }\n\n protected enableSmoothScroll(): void {\n this.smoothScrollEnabled = true;\n }\n\n private updateSelectedOption(): void {\n const options = this.options?.toArray();\n this.selectedOption = options?.find((option) => option.isSelected) ?? null;\n if (this.multiple) {\n this.selectedOptionText =\n options\n ?.filter(({ isSelected }) => isSelected)\n .map((option) => this.stringify?.(option.value) ?? option.getLabel())\n .join(', ') ?? null;\n\n this.triggerControllerChange();\n return;\n }\n this.selectedOptionText = this.selectedOption ? this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel() : null;\n this.triggerControllerChange();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { __decorate } from 'tslib';
2
+ import * as i0 from '@angular/core';
3
+ import { Directive, HostBinding } from '@angular/core';
4
+ import * as i1 from '@odx/angular';
5
+ import { WithDisabledState } from '@odx/angular';
6
+ import { CSSComponent } from '@odx/angular/internal';
7
+ import { injectElement } from '@odx/angular/utils';
8
+
9
+ let SliderDirective = class SliderDirective {
10
+ constructor() {
11
+ this.element = injectElement();
12
+ }
13
+ get value() {
14
+ return Number(this.element.nativeElement.value);
15
+ }
16
+ get max() {
17
+ return Number(this.element.nativeElement.max) || 100;
18
+ }
19
+ get min() {
20
+ return Number(this.element.nativeElement.min);
21
+ }
22
+ get valuePercentage() {
23
+ return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
24
+ }
25
+ };
26
+ SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
+ SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "style.--odx-slider-filled.%": "this.valuePercentage" } }, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0 });
28
+ SliderDirective = __decorate([
29
+ CSSComponent('slider')
30
+ ], SliderDirective);
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SliderDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ standalone: true,
35
+ selector: 'input[type=range][odxSlider]',
36
+ hostDirectives: [WithDisabledState],
37
+ }]
38
+ }], propDecorators: { valuePercentage: [{
39
+ type: HostBinding,
40
+ args: [`style.--odx-slider-filled.%`]
41
+ }] } });
42
+
43
+ /**
44
+ * Generated bundle index. Do not edit.
45
+ */
46
+
47
+ export { SliderDirective };
48
+ //# sourceMappingURL=odx-angular-components-slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odx-angular-components-slider.mjs","sources":["../../../../libs/angular/components/slider/src/lib/slider.directive.ts","../../../../libs/angular/components/slider/src/odx-angular-components-slider.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding } from '@angular/core';\nimport { WithDisabledState } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('slider')\n@Directive({\n standalone: true,\n selector: 'input[type=range][odxSlider]',\n hostDirectives: [WithDisabledState],\n})\nexport class SliderDirective {\n public readonly element: ElementRef<HTMLInputElement> = injectElement();\n\n public get value(): number {\n return Number(this.element.nativeElement.value);\n }\n public get max(): number {\n return Number(this.element.nativeElement.max) || 100;\n }\n public get min(): number {\n return Number(this.element.nativeElement.min);\n }\n\n @HostBinding(`style.--odx-slider-filled.%`)\n public get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min) || 0;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAWa,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;AACW,QAAA,IAAO,CAAA,OAAA,GAAiC,aAAa,EAAE,CAAC;KAgBzE;AAdC,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACjD;AACD,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;KACtD;AACD,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KAC/C;AAED,IAAA,IACW,eAAe,GAAA;QACxB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrE;;4GAhBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAf,eAAe,GAAA,UAAA,CAAA;IAN3B,YAAY,CAAC,QAAQ,CAAC;CAMV,EAAA,eAAe,CAiB3B,CAAA;2FAjBY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,8BAA8B;oBACxC,cAAc,EAAE,CAAC,iBAAiB,CAAC;iBACpC,CAAA;8BAeY,eAAe,EAAA,CAAA;sBADzB,WAAW;uBAAC,CAAA,2BAAA,CAA6B,CAAA;;;ACxB5C;;AAEG;;;;"}