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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/README.md +6 -6
  2. package/cdk/a11y/README.md +3 -0
  3. package/cdk/a11y/index.d.ts +2 -0
  4. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  5. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  6. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  7. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +11 -0
  8. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  9. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +2 -2
  10. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +1 -1
  11. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +1 -1
  12. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +1 -0
  13. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  14. package/cdk/custom-form-control/lib/custom-form-control.d.ts +1 -1
  15. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +1 -1
  16. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +1 -1
  17. package/cdk/expandable/index.d.ts +1 -0
  18. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  19. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  20. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  21. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  22. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  23. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  24. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +1 -1
  25. package/components/accordion/lib/accordion.component.d.ts +1 -1
  26. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  27. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  28. package/components/action-group/action-group.component.d.ts +1 -1
  29. package/components/area-header/area-header.component.d.ts +1 -1
  30. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  31. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  32. package/components/avatar/lib/avatar.component.d.ts +1 -1
  33. package/components/badge/lib/badge.component.d.ts +1 -1
  34. package/components/badge/lib/badge.directive.d.ts +1 -1
  35. package/components/bar/README.md +3 -0
  36. package/components/bar/index.d.ts +5 -0
  37. package/components/bar/lib/bar.component.d.ts +6 -0
  38. package/components/bar/lib/bar.module.d.ts +10 -0
  39. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  40. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  41. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  42. package/components/breadcrumbs/README.md +3 -0
  43. package/components/breadcrumbs/index.d.ts +1 -0
  44. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  45. package/components/button/lib/button.component.d.ts +3 -4
  46. package/components/button-group/lib/button-group.component.d.ts +1 -1
  47. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  48. package/components/checkbox/lib/checkbox.validator.d.ts +1 -1
  49. package/components/chip/lib/chip.component.d.ts +1 -1
  50. package/components/circular-progress/lib/circular-progress.component.d.ts +1 -1
  51. package/components/content-box/lib/content-box.component.d.ts +1 -1
  52. package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
  53. package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
  54. package/components/dropdown/index.d.ts +1 -0
  55. package/components/dropdown/lib/dropdown.component.d.ts +2 -1
  56. package/components/dropdown/lib/dropdown.directive.d.ts +9 -4
  57. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  58. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  59. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  60. package/components/dropdown/lib/models/index.d.ts +1 -0
  61. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  62. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -1
  63. package/components/form-field/lib/directives/form-field-control.directive.d.ts +1 -1
  64. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  65. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  66. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  67. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  68. package/components/form-field/lib/form-field.component.d.ts +2 -1
  69. package/components/header/lib/directives/header-avatar.directive.d.ts +1 -1
  70. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  71. package/components/header/lib/header.component.d.ts +1 -1
  72. package/components/header/lib/header.module.d.ts +2 -3
  73. package/components/icon/lib/icon.component.d.ts +1 -1
  74. package/components/icon/lib/models/icon-size.d.ts +2 -1
  75. package/components/inline-message/index.d.ts +1 -1
  76. package/components/inline-message/lib/inline-message.component.d.ts +2 -2
  77. package/components/inline-message/lib/models/index.d.ts +1 -0
  78. package/components/launch-tile/index.d.ts +1 -3
  79. package/components/launch-tile/lib/components/index.d.ts +2 -0
  80. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +1 -1
  81. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +1 -1
  82. package/components/launch-tile/lib/launch-tile.component.d.ts +9 -7
  83. package/components/launch-tile/lib/launch-tile.module.d.ts +8 -10
  84. package/components/link/link.directive.d.ts +2 -4
  85. package/components/list/lib/components/index.d.ts +1 -1
  86. package/components/list/lib/components/{list-item.component.d.ts → list-item/list-item.component.d.ts} +2 -4
  87. package/components/list/lib/list.component.d.ts +2 -1
  88. package/components/list/lib/list.module.d.ts +1 -1
  89. package/components/loading-spinner/lib/loading-spinner.component.d.ts +1 -1
  90. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +2 -2
  91. package/components/logo/logo.directive.d.ts +1 -1
  92. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  93. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -4
  94. package/components/main-menu/lib/main-menu.component.d.ts +1 -1
  95. package/components/menu/README.md +3 -0
  96. package/components/menu/index.d.ts +4 -0
  97. package/components/menu/lib/directives/index.d.ts +1 -0
  98. package/components/menu/lib/directives/menu-item.directive.d.ts +9 -0
  99. package/components/menu/lib/menu.component.d.ts +8 -0
  100. package/components/menu/lib/menu.directive.d.ts +16 -0
  101. package/components/menu/lib/menu.module.d.ts +10 -0
  102. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  103. package/components/modal/lib/components/index.d.ts +2 -0
  104. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  105. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -1
  106. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  107. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  108. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  109. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  110. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  111. package/components/modal/lib/modal.component.d.ts +7 -3
  112. package/components/modal/lib/modal.directive.d.ts +1 -1
  113. package/components/modal/lib/modal.module.d.ts +9 -8
  114. package/components/modal/lib/modal.service.d.ts +2 -1
  115. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  116. package/components/modal/lib/models/index.d.ts +2 -0
  117. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  118. package/components/progress/lib/progress.component.d.ts +2 -2
  119. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  120. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  121. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +2 -4
  122. package/components/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  123. package/components/select/lib/components/option/option.component.d.ts +1 -1
  124. package/components/select/lib/directives/select-search-field.directive.d.ts +1 -1
  125. package/components/select/lib/select.component.d.ts +4 -4
  126. package/components/slider/lib/slider.directive.d.ts +2 -3
  127. package/components/spinbox/lib/spinbox.component.d.ts +2 -2
  128. package/components/switch/lib/switch.component.d.ts +2 -1
  129. package/components/switch/lib/switch.validator.d.ts +1 -1
  130. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +1 -1
  131. package/components/tab-bar/lib/tab-bar.component.d.ts +3 -3
  132. package/components/toast/README.md +3 -0
  133. package/components/toast/index.d.ts +5 -0
  134. package/components/toast/lib/components/index.d.ts +2 -0
  135. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  136. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  137. package/components/toast/lib/models/index.d.ts +5 -0
  138. package/components/toast/lib/models/toast-action.d.ts +7 -0
  139. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  140. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  141. package/components/toast/lib/models/toast.d.ts +10 -0
  142. package/components/toast/lib/models/toast.options.d.ts +4 -0
  143. package/components/toast/lib/toast.config.d.ts +3 -0
  144. package/components/toast/lib/toast.module.d.ts +13 -0
  145. package/components/toast/lib/toast.service.d.ts +16 -0
  146. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +1 -1
  147. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +2 -2
  148. package/components/tooltip/lib/tooltip.component.d.ts +1 -1
  149. package/components/tooltip/lib/tooltip.directive.d.ts +1 -1
  150. package/esm2020/animations/lib/expand.mjs +6 -4
  151. package/esm2020/cdk/a11y/index.mjs +3 -0
  152. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  153. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  154. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  155. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +28 -0
  156. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  157. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  158. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +4 -4
  159. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -4
  160. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +8 -4
  161. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +4 -4
  162. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +3 -3
  163. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +2 -1
  164. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
  165. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +4 -4
  166. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  167. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -4
  168. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  169. package/esm2020/cdk/expandable/index.mjs +2 -1
  170. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  171. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  172. package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
  173. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  174. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  175. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  176. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +4 -4
  177. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +4 -4
  178. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
  179. package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
  180. package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
  181. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  182. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
  183. package/esm2020/components/action-group/action-group.component.mjs +4 -4
  184. package/esm2020/components/area-header/area-header.component.mjs +4 -4
  185. package/esm2020/components/area-header/area-header.module.mjs +5 -5
  186. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
  187. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
  188. package/esm2020/components/avatar/lib/avatar.component.mjs +4 -4
  189. package/esm2020/components/badge/lib/badge.component.mjs +4 -4
  190. package/esm2020/components/badge/lib/badge.directive.mjs +4 -4
  191. package/esm2020/components/bar/index.mjs +6 -0
  192. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  193. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  194. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +39 -0
  195. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  196. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  197. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  198. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  199. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  200. package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
  201. package/esm2020/components/button/lib/button.component.mjs +8 -12
  202. package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
  203. package/esm2020/components/checkbox/lib/checkbox.component.mjs +7 -6
  204. package/esm2020/components/checkbox/lib/checkbox.module.mjs +5 -5
  205. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +4 -4
  206. package/esm2020/components/chip/lib/chip.component.mjs +4 -4
  207. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +5 -5
  208. package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
  209. package/esm2020/components/content-box/lib/content-box.module.mjs +5 -5
  210. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -4
  211. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -4
  212. package/esm2020/components/dropdown/index.mjs +2 -1
  213. package/esm2020/components/dropdown/lib/dropdown.component.mjs +15 -6
  214. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +33 -16
  215. package/esm2020/components/dropdown/lib/dropdown.module.mjs +5 -5
  216. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  217. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  218. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  219. package/esm2020/components/dropdown/lib/models/index.mjs +2 -1
  220. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
  221. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +4 -4
  222. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +4 -4
  223. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
  224. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  225. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
  226. package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
  227. package/esm2020/components/form-field/lib/form-field.component.mjs +8 -7
  228. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -5
  229. package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
  230. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +4 -4
  231. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +4 -4
  232. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
  233. package/esm2020/components/header/lib/header.component.mjs +5 -6
  234. package/esm2020/components/header/lib/header.module.mjs +7 -11
  235. package/esm2020/components/icon/lib/icon.component.mjs +4 -4
  236. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  237. package/esm2020/components/inline-message/index.mjs +2 -2
  238. package/esm2020/components/inline-message/lib/inline-message.component.mjs +5 -5
  239. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  240. package/esm2020/components/launch-tile/index.mjs +2 -4
  241. package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
  242. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +4 -4
  243. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +4 -4
  244. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +32 -21
  245. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +9 -45
  246. package/esm2020/components/link/link.directive.mjs +7 -14
  247. package/esm2020/components/list/lib/components/index.mjs +2 -2
  248. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  249. package/esm2020/components/list/lib/list.component.mjs +17 -9
  250. package/esm2020/components/list/lib/list.module.mjs +6 -6
  251. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +4 -4
  252. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +9 -9
  253. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +5 -5
  254. package/esm2020/components/logo/logo.directive.mjs +4 -4
  255. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
  256. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +7 -13
  257. package/esm2020/components/main-menu/lib/main-menu.component.mjs +8 -8
  258. package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
  259. package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
  260. package/esm2020/components/menu/index.mjs +5 -0
  261. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  262. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +39 -0
  263. package/esm2020/components/menu/lib/menu.component.mjs +35 -0
  264. package/esm2020/components/menu/lib/menu.directive.mjs +51 -0
  265. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  266. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  267. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  268. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  269. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
  270. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +4 -4
  271. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  272. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  273. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
  274. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
  275. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  276. package/esm2020/components/modal/lib/modal.component.mjs +19 -9
  277. package/esm2020/components/modal/lib/modal.directive.mjs +4 -4
  278. package/esm2020/components/modal/lib/modal.module.mjs +33 -7
  279. package/esm2020/components/modal/lib/modal.service.mjs +14 -5
  280. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  281. package/esm2020/components/modal/lib/models/index.mjs +3 -1
  282. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  283. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +4 -4
  284. package/esm2020/components/progress/lib/progress.component.mjs +6 -6
  285. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  286. package/esm2020/components/radio-group/lib/radio-group.component.mjs +6 -6
  287. package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
  288. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +7 -12
  289. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +4 -4
  290. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +5 -5
  291. package/esm2020/components/select/lib/components/option/option.component.mjs +5 -5
  292. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +4 -4
  293. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +4 -4
  294. package/esm2020/components/select/lib/select.component.mjs +13 -17
  295. package/esm2020/components/select/lib/select.module.mjs +5 -5
  296. package/esm2020/components/slider/lib/slider.directive.mjs +7 -10
  297. package/esm2020/components/spinbox/lib/spinbox.component.mjs +5 -5
  298. package/esm2020/components/switch/lib/switch.component.mjs +7 -6
  299. package/esm2020/components/switch/lib/switch.module.mjs +5 -5
  300. package/esm2020/components/switch/lib/switch.validator.mjs +4 -4
  301. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +8 -8
  302. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +7 -8
  303. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +5 -5
  304. package/esm2020/components/toast/index.mjs +6 -0
  305. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  306. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  307. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +74 -0
  308. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  309. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  310. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  311. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  312. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  313. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  314. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  315. package/esm2020/components/toast/lib/toast.module.mjs +26 -0
  316. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  317. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  318. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +6 -10
  319. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +15 -7
  320. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
  321. package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
  322. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +4 -4
  323. package/esm2020/lib/controllers/controller.mjs +6 -6
  324. package/esm2020/lib/controllers/disabled.controller.mjs +21 -42
  325. package/esm2020/lib/controllers/readonly.controller.mjs +6 -6
  326. package/esm2020/lib/core.module.mjs +7 -7
  327. package/esm2020/lib/directives/click-outside.directive.mjs +7 -6
  328. package/esm2020/lib/directives/index.mjs +4 -1
  329. package/esm2020/lib/directives/let.directive.mjs +36 -0
  330. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  331. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  332. package/esm2020/lib/services/window-ref.mjs +9 -5
  333. package/esm2020/utils/lib/helpers/dom.mjs +8 -1
  334. package/esm2020/utils/lib/helpers/event-manager.mjs +4 -4
  335. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  336. package/esm2020/utils/lib/helpers/index.mjs +3 -1
  337. package/esm2020/utils/lib/helpers/provide-module-config.mjs +1 -1
  338. package/esm2020/utils/lib/helpers/queue.mjs +24 -0
  339. package/fesm2015/odx-angular-animations.mjs +5 -3
  340. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  341. package/fesm2015/odx-angular-cdk-a11y.mjs +132 -0
  342. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  343. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  344. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -1
  345. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
  346. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  347. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +13 -8
  348. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  349. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  350. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  351. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +9 -9
  352. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  353. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  354. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  355. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +10 -10
  356. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  357. package/fesm2015/odx-angular-components-accordion.mjs +19 -17
  358. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  359. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  360. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  361. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  362. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  363. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  364. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  365. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  366. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  367. package/fesm2015/odx-angular-components-bar.mjs +96 -0
  368. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  369. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  370. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  371. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  372. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
  373. package/fesm2015/odx-angular-components-button.mjs +7 -11
  374. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  375. package/fesm2015/odx-angular-components-checkbox.mjs +13 -12
  376. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  377. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  378. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  379. package/fesm2015/odx-angular-components-circular-progress.mjs +4 -4
  380. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  381. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  382. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  383. package/fesm2015/odx-angular-components-dropdown.mjs +60 -25
  384. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  385. package/fesm2015/odx-angular-components-form-field.mjs +37 -36
  386. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  387. package/fesm2015/odx-angular-components-header.mjs +16 -20
  388. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  389. package/fesm2015/odx-angular-components-icon.mjs +4 -3
  390. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  391. package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
  392. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  393. package/fesm2015/odx-angular-components-launch-tile.mjs +45 -83
  394. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -1
  395. package/fesm2015/odx-angular-components-link.mjs +6 -14
  396. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  397. package/fesm2015/odx-angular-components-list.mjs +22 -25
  398. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  399. package/fesm2015/odx-angular-components-loading-spinner.mjs +15 -15
  400. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  401. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  402. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  403. package/fesm2015/odx-angular-components-main-menu.mjs +22 -30
  404. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  405. package/fesm2015/odx-angular-components-menu.mjs +127 -0
  406. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  407. package/fesm2015/odx-angular-components-modal.mjs +161 -55
  408. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  409. package/fesm2015/odx-angular-components-progress.mjs +5 -5
  410. package/fesm2015/odx-angular-components-progress.mjs.map +1 -1
  411. package/fesm2015/odx-angular-components-radio-group.mjs +15 -16
  412. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  413. package/fesm2015/odx-angular-components-rail-navigation.mjs +13 -19
  414. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  415. package/fesm2015/odx-angular-components-select.mjs +26 -30
  416. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  417. package/fesm2015/odx-angular-components-slider.mjs +6 -9
  418. package/fesm2015/odx-angular-components-slider.mjs.map +1 -1
  419. package/fesm2015/odx-angular-components-spinbox.mjs +5 -5
  420. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  421. package/fesm2015/odx-angular-components-switch.mjs +13 -12
  422. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  423. package/fesm2015/odx-angular-components-tab-bar.mjs +17 -18
  424. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  425. package/fesm2015/odx-angular-components-toast.mjs +221 -0
  426. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  427. package/fesm2015/odx-angular-components-toggle-button-group.mjs +23 -19
  428. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  429. package/fesm2015/odx-angular-components-tooltip.mjs +6 -6
  430. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  431. package/fesm2015/odx-angular-utils.mjs +41 -5
  432. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  433. package/fesm2015/odx-angular.mjs +140 -64
  434. package/fesm2015/odx-angular.mjs.map +1 -1
  435. package/fesm2020/odx-angular-animations.mjs +5 -3
  436. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  437. package/fesm2020/odx-angular-cdk-a11y.mjs +128 -0
  438. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  439. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  440. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -1
  441. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
  442. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  443. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +13 -8
  444. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  445. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  446. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  447. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +9 -9
  448. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  449. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  450. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  451. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +10 -10
  452. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  453. package/fesm2020/odx-angular-components-accordion.mjs +19 -17
  454. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  455. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  456. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  457. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  458. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  459. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  460. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  461. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  462. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  463. package/fesm2020/odx-angular-components-bar.mjs +96 -0
  464. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  465. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  466. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  467. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  468. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
  469. package/fesm2020/odx-angular-components-button.mjs +7 -11
  470. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  471. package/fesm2020/odx-angular-components-checkbox.mjs +13 -12
  472. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  473. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  474. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  475. package/fesm2020/odx-angular-components-circular-progress.mjs +4 -4
  476. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  477. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  478. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  479. package/fesm2020/odx-angular-components-dropdown.mjs +60 -24
  480. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  481. package/fesm2020/odx-angular-components-form-field.mjs +37 -36
  482. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  483. package/fesm2020/odx-angular-components-header.mjs +16 -20
  484. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  485. package/fesm2020/odx-angular-components-icon.mjs +4 -3
  486. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  487. package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
  488. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  489. package/fesm2020/odx-angular-components-launch-tile.mjs +44 -82
  490. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -1
  491. package/fesm2020/odx-angular-components-link.mjs +6 -13
  492. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  493. package/fesm2020/odx-angular-components-list.mjs +22 -24
  494. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  495. package/fesm2020/odx-angular-components-loading-spinner.mjs +15 -15
  496. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  497. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  498. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  499. package/fesm2020/odx-angular-components-main-menu.mjs +22 -29
  500. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  501. package/fesm2020/odx-angular-components-menu.mjs +129 -0
  502. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  503. package/fesm2020/odx-angular-components-modal.mjs +166 -55
  504. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  505. package/fesm2020/odx-angular-components-progress.mjs +5 -5
  506. package/fesm2020/odx-angular-components-progress.mjs.map +1 -1
  507. package/fesm2020/odx-angular-components-radio-group.mjs +15 -16
  508. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  509. package/fesm2020/odx-angular-components-rail-navigation.mjs +13 -18
  510. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  511. package/fesm2020/odx-angular-components-select.mjs +26 -30
  512. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  513. package/fesm2020/odx-angular-components-slider.mjs +6 -9
  514. package/fesm2020/odx-angular-components-slider.mjs.map +1 -1
  515. package/fesm2020/odx-angular-components-spinbox.mjs +5 -5
  516. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  517. package/fesm2020/odx-angular-components-switch.mjs +13 -12
  518. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  519. package/fesm2020/odx-angular-components-tab-bar.mjs +16 -17
  520. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  521. package/fesm2020/odx-angular-components-toast.mjs +220 -0
  522. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  523. package/fesm2020/odx-angular-components-toggle-button-group.mjs +23 -19
  524. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  525. package/fesm2020/odx-angular-components-tooltip.mjs +6 -6
  526. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  527. package/fesm2020/odx-angular-utils.mjs +42 -5
  528. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  529. package/fesm2020/odx-angular.mjs +137 -63
  530. package/fesm2020/odx-angular.mjs.map +1 -1
  531. package/lib/controllers/controller.d.ts +1 -1
  532. package/lib/controllers/disabled.controller.d.ts +4 -9
  533. package/lib/controllers/readonly.controller.d.ts +4 -2
  534. package/lib/core.module.d.ts +3 -2
  535. package/lib/directives/click-outside.directive.d.ts +1 -1
  536. package/lib/directives/index.d.ts +3 -0
  537. package/lib/directives/let.directive.d.ts +17 -0
  538. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  539. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  540. package/lib/services/window-ref.d.ts +2 -0
  541. package/package.json +51 -11
  542. package/utils/lib/helpers/dom.d.ts +1 -0
  543. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  544. package/utils/lib/helpers/index.d.ts +2 -0
  545. package/utils/lib/helpers/provide-module-config.d.ts +1 -1
  546. package/utils/lib/helpers/queue.d.ts +11 -0
  547. package/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.d.ts +0 -5
  548. package/esm2020/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.mjs +0 -17
  549. package/esm2020/components/list/lib/components/list-item.component.mjs +0 -46
@@ -1,15 +1,24 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, EventEmitter, Directive, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { inject, ChangeDetectorRef, EventEmitter, Directive, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, HostListener, NgModule } from '@angular/core';
4
4
  import * as i1 from '@odx/angular';
5
5
  import { CoreModule } from '@odx/angular';
6
+ import { A11yModule } from '@odx/angular/cdk/a11y';
6
7
  import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
7
8
  import * as i2 from '@odx/angular/components/loading-spinner';
8
9
  import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
9
- import { CSSModifier, CSSComponent } from '@odx/angular/internal';
10
+ import { CSSComponent } from '@odx/angular/internal';
10
11
  import { EventManager, getInjector, injectElement, hasChanged, Transform } from '@odx/angular/utils';
11
12
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
12
13
  import { ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';
14
+ import * as i3 from '@angular/cdk/a11y';
15
+
16
+ class CloseDropdownEvent extends Event {
17
+ constructor() {
18
+ super(CloseDropdownEvent.TYPE, { bubbles: true });
19
+ }
20
+ }
21
+ CloseDropdownEvent.TYPE = 'odxDropdownClose';
13
22
 
14
23
  const DefaultDropdownOptions = {
15
24
  position: 'bottom',
@@ -19,8 +28,11 @@ const DefaultDropdownOptions = {
19
28
  offset: 8,
20
29
  };
21
30
 
31
+ const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];
32
+ const DEFAULT_DROPDOWN_CLOSE_TRIGGERS = ['keyup.esc'];
22
33
  let DropdownDirective = class DropdownDirective {
23
34
  constructor() {
35
+ this.changeDetector = inject(ChangeDetectorRef);
24
36
  this.connectedOverlayService = inject(ConnectedOverlayService);
25
37
  this.eventManager = inject(EventManager);
26
38
  this.injector = getInjector();
@@ -28,8 +40,8 @@ let DropdownDirective = class DropdownDirective {
28
40
  this.element = injectElement();
29
41
  this.disabled = false;
30
42
  this.showLoader = false;
31
- this.openTrigger = ['click', 'keydown.enter'];
32
- this.closeTrigger = ['keyup.esc'];
43
+ this.openTrigger = DEFAULT_DROPDOWN_OPEN_TRIGGERS;
44
+ this.closeTrigger = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;
33
45
  this.beforeOpen = new EventEmitter();
34
46
  this.afterOpen = new EventEmitter();
35
47
  this.beforeClose = new EventEmitter();
@@ -39,9 +51,12 @@ let DropdownDirective = class DropdownDirective {
39
51
  return this.overlayRef !== null;
40
52
  }
41
53
  ngAfterViewInit() {
42
- this.eventManager.register(this.openTrigger ?? [], (event) => this.open(event), this.triggerElement ?? this.referenceElement);
54
+ this.eventManager.register(this.openTrigger ?? [], (event) => this.toggle(event), this.triggerElement ?? this.referenceElement);
43
55
  this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');
44
56
  }
57
+ ngOnDestroy() {
58
+ this.close();
59
+ }
45
60
  ngOnChanges(changes) {
46
61
  if (hasChanged(changes, 'disabled') && this.disabled) {
47
62
  this.close();
@@ -50,6 +65,14 @@ let DropdownDirective = class DropdownDirective {
50
65
  this.overlayRef?.update(this.createOverlayOptions());
51
66
  }
52
67
  }
68
+ toggle(event) {
69
+ if (this.isOpen) {
70
+ this.close(event);
71
+ }
72
+ else {
73
+ this.open(event);
74
+ }
75
+ }
53
76
  open(event) {
54
77
  event?.preventDefault();
55
78
  if (this.isOpen || !this.content || this.disabled)
@@ -58,15 +81,19 @@ let DropdownDirective = class DropdownDirective {
58
81
  host: this.host === undefined ? this.referenceElement : this.host,
59
82
  injector: this.injector,
60
83
  });
84
+ this.changeDetector.markForCheck();
61
85
  }
62
- close() {
86
+ close(event) {
87
+ event?.preventDefault();
63
88
  this.overlayRef?.close();
64
89
  this.overlayRef = null;
90
+ this.changeDetector.markForCheck();
65
91
  }
66
92
  createOverlayOptions() {
67
93
  return {
68
94
  ...DefaultDropdownOptions,
69
95
  ...this.options,
96
+ fallbackAxisSideDirection: 'end',
70
97
  containerClass: [this.options?.containerClass, 'odx-dropdown-overlay'].filter(Boolean).join(' '),
71
98
  content: DropdownComponent,
72
99
  context: { content: this.content },
@@ -79,13 +106,8 @@ let DropdownDirective = class DropdownDirective {
79
106
  };
80
107
  }
81
108
  };
82
- DropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
83
- DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownDirective, isStandalone: true, selector: "[odxDropdown]", inputs: { content: ["odxDropdown", "content"], disabled: ["odxDropdownDisabled", "disabled"], showLoader: ["odxDropdownShowLoader", "showLoader"], options: ["odxDropdownOptions", "options"], referenceElement: ["odxDropdownReferenceElement", "referenceElement"], triggerElement: ["odxDropdownTriggerElement", "triggerElement"], host: ["odxDropdownHost", "host"], openTrigger: ["odxDropdownOpenTrigger", "openTrigger"], closeTrigger: ["odxDropdownCloseTrigger", "closeTrigger"] }, outputs: { beforeOpen: "odxDropdownBeforeOpen", afterOpen: "odxDropdownAfterOpen", beforeClose: "odxDropdownBeforeClose", afterClose: "odxDropdownAfterClose" }, providers: [EventManager], exportAs: ["odxDropdown"], usesOnChanges: true, ngImport: i0 });
84
- __decorate([
85
- CSSModifier(),
86
- __metadata("design:type", Boolean),
87
- __metadata("design:paramtypes", [])
88
- ], DropdownDirective.prototype, "isOpen", null);
109
+ DropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
110
+ DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: DropdownDirective, isStandalone: true, selector: "[odxDropdown]", inputs: { content: ["odxDropdown", "content"], disabled: ["odxDropdownDisabled", "disabled"], showLoader: ["odxDropdownShowLoader", "showLoader"], options: ["odxDropdownOptions", "options"], referenceElement: ["odxDropdownReferenceElement", "referenceElement"], triggerElement: ["odxDropdownTriggerElement", "triggerElement"], host: ["odxDropdownHost", "host"], openTrigger: ["odxDropdownOpenTrigger", "openTrigger"], closeTrigger: ["odxDropdownCloseTrigger", "closeTrigger"] }, outputs: { beforeOpen: "odxDropdownBeforeOpen", afterOpen: "odxDropdownAfterOpen", beforeClose: "odxDropdownBeforeClose", afterClose: "odxDropdownAfterClose" }, host: { properties: { "attr.aria-haspopup": "true", "attr.aria-expanded": "isOpen" } }, providers: [EventManager], exportAs: ["odxDropdown"], usesOnChanges: true, ngImport: i0 });
89
111
  __decorate([
90
112
  Transform(coerceBooleanProperty),
91
113
  __metadata("design:type", Object)
@@ -97,15 +119,19 @@ __decorate([
97
119
  DropdownDirective = __decorate([
98
120
  CSSComponent('dropdown-host')
99
121
  ], DropdownDirective);
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownDirective, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownDirective, decorators: [{
101
123
  type: Directive,
102
124
  args: [{
103
125
  standalone: true,
104
126
  selector: '[odxDropdown]',
105
127
  exportAs: 'odxDropdown',
106
128
  providers: [EventManager],
129
+ host: {
130
+ '[attr.aria-haspopup]': 'true',
131
+ '[attr.aria-expanded]': 'isOpen',
132
+ },
107
133
  }]
108
- }], propDecorators: { isOpen: [], content: [{
134
+ }], propDecorators: { content: [{
109
135
  type: Input,
110
136
  args: ['odxDropdown']
111
137
  }], disabled: [{
@@ -152,26 +178,32 @@ let DropdownComponent = class DropdownComponent {
152
178
  this.injector = getInjector();
153
179
  this.element = injectElement();
154
180
  }
181
+ onDropdownClose() {
182
+ this.host.close();
183
+ }
155
184
  };
156
- DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
157
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DropdownComponent, isStandalone: true, selector: "odx-dropdown", inputs: { content: "content" }, ngImport: i0, template: "<div class=\"odx-dropdown__inner\" [odxLoadingSpinner]=\"host.showLoader\" [odxClickOutsideActive]=\"true\" (odxClickOutside)=\"host.close()\">\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "directive", type: i2.LoadingSpinnerDirective, selector: "[odxLoadingSpinner]", inputs: ["odxLoadingSpinnerAutoColor", "odxLoadingSpinner", "odxLoadingSpinnerMinHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
185
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
186
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: DropdownComponent, isStandalone: true, selector: "odx-dropdown", inputs: { content: "content" }, host: { listeners: { "odxDropdownClose": "onDropdownClose()" } }, ngImport: i0, template: "<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"host.showLoader\"\n [odxClickOutsideActive]=\"true\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "directive", type: i2.LoadingSpinnerDirective, selector: "[odxLoadingSpinner]", inputs: ["odxLoadingSpinnerAutoColor", "odxLoadingSpinner", "odxLoadingSpinnerMinHeight"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
158
187
  DropdownComponent = __decorate([
159
188
  CSSComponent('dropdown')
160
189
  ], DropdownComponent);
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownComponent, decorators: [{
162
191
  type: Component,
163
- args: [{ standalone: true, selector: 'odx-dropdown', imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"odx-dropdown__inner\" [odxLoadingSpinner]=\"host.showLoader\" [odxClickOutsideActive]=\"true\" (odxClickOutside)=\"host.close()\">\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
192
+ args: [{ standalone: true, selector: 'odx-dropdown', imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"host.showLoader\"\n [odxClickOutsideActive]=\"true\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
164
193
  }], propDecorators: { content: [{
165
194
  type: Input
195
+ }], onDropdownClose: [{
196
+ type: HostListener,
197
+ args: [CloseDropdownEvent.TYPE]
166
198
  }] } });
167
199
 
168
200
  const modules = [DropdownDirective];
169
201
  class DropdownModule {
170
202
  }
171
- DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
172
- DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, imports: [DropdownDirective], exports: [CoreModule, DropdownDirective] });
173
- DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, imports: [CoreModule] });
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, decorators: [{
203
+ DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
204
+ DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: DropdownModule, imports: [DropdownDirective], exports: [CoreModule, DropdownDirective] });
205
+ DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownModule, imports: [CoreModule] });
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownModule, decorators: [{
175
207
  type: NgModule,
176
208
  args: [{
177
209
  imports: modules,
@@ -179,9 +211,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
179
211
  }]
180
212
  }] });
181
213
 
214
+ function closeCurrentDropdown(target) {
215
+ target.dispatchEvent(new CloseDropdownEvent());
216
+ }
217
+
182
218
  /**
183
219
  * Generated bundle index. Do not edit.
184
220
  */
185
221
 
186
- export { DefaultDropdownOptions, DropdownComponent, DropdownDirective, DropdownModule };
222
+ export { CloseDropdownEvent, DEFAULT_DROPDOWN_CLOSE_TRIGGERS, DEFAULT_DROPDOWN_OPEN_TRIGGERS, DefaultDropdownOptions, DropdownComponent, DropdownDirective, DropdownModule, closeCurrentDropdown };
187
223
  //# sourceMappingURL=odx-angular-components-dropdown.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-dropdown.mjs","sources":["../../../../libs/angular/components/dropdown/src/lib/models/dropdown-options.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.html","../../../../libs/angular/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular/components/dropdown/src/odx-angular-components-dropdown.ts"],"sourcesContent":["import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\n\nexport type DropdownOptions = Pick<\n ConnectedOverlayOptions,\n 'position' | 'containerClass' | 'enableFallback' | 'matchReferenceWidth' | 'minHeight' | 'offset' | 'showArrow'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 8,\n};\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterViewInit, Directive, EventEmitter, inject, Input, OnChanges, Output } from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { EventManager, getInjector, hasChanged, injectElement, NgChanges, Transform } from '@odx/angular/utils';\nimport { DropdownComponent } from './dropdown.component';\nimport { DefaultDropdownOptions, DropdownOptions } from './models';\n\n@CSSComponent('dropdown-host')\n@Directive({\n standalone: true,\n selector: '[odxDropdown]',\n exportAs: 'odxDropdown',\n providers: [EventManager],\n})\nexport class DropdownDirective implements AfterViewInit, OnChanges {\n public static ngAcceptInputType_disabled: BooleanInput;\n public static ngAcceptInputType_loading: BooleanInput;\n\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly eventManager = inject(EventManager);\n private readonly injector = getInjector();\n private overlayRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n public get isOpen(): boolean {\n return this.overlayRef !== null;\n }\n\n @Input('odxDropdown')\n public content?: DynamicContent | null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxDropdownDisabled')\n public disabled = false;\n\n @Transform(coerceBooleanProperty)\n @Input('odxDropdownShowLoader')\n public showLoader = false;\n\n @Input('odxDropdownOptions')\n public options?: Partial<DropdownOptions> | null;\n\n @Input('odxDropdownReferenceElement')\n public referenceElement?: HTMLElement | null;\n\n @Input('odxDropdownTriggerElement')\n public triggerElement?: HTMLElement | null;\n\n @Input('odxDropdownHost')\n public host?: HTMLElement | null;\n\n @Input('odxDropdownOpenTrigger')\n public openTrigger?: string[] | null = ['click', 'keydown.enter'];\n\n @Input('odxDropdownCloseTrigger')\n public closeTrigger?: string[] | null = ['keyup.esc'];\n\n @Output('odxDropdownBeforeOpen')\n public beforeOpen = new EventEmitter<void>();\n\n @Output('odxDropdownAfterOpen')\n public afterOpen = new EventEmitter<void>();\n\n @Output('odxDropdownBeforeClose')\n public beforeClose = new EventEmitter<void>();\n\n @Output('odxDropdownAfterClose')\n public afterClose = new EventEmitter<void>();\n\n public ngAfterViewInit(): void {\n this.eventManager.register(this.openTrigger ?? [], (event) => this.open(event), this.triggerElement ?? this.referenceElement);\n this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');\n }\n\n public ngOnChanges(changes: NgChanges<DropdownDirective>) {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.close();\n }\n if (hasChanged(changes, ['options', 'content', 'showLoader'])) {\n this.overlayRef?.update(this.createOverlayOptions());\n }\n }\n\n public open(event?: Event) {\n event?.preventDefault();\n if (this.isOpen || !this.content || this.disabled) return;\n this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {\n host: this.host === undefined ? this.referenceElement : this.host,\n injector: this.injector,\n });\n }\n\n public close() {\n this.overlayRef?.close();\n this.overlayRef = null;\n }\n\n private createOverlayOptions(): Partial<ConnectedOverlayOptions> {\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n containerClass: [this.options?.containerClass, 'odx-dropdown-overlay'].filter(Boolean).join(' '),\n content: DropdownComponent,\n context: { content: this.content },\n hooks: {\n beforeOpen: () => this.beforeOpen.emit(),\n afterOpen: () => this.afterOpen.emit(),\n beforeClose: () => this.beforeClose.emit(),\n afterClose: () => this.afterClose.emit(),\n },\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { getInjector, injectElement } from '@odx/angular/utils';\nimport { DropdownDirective } from './dropdown.directive';\n\n@CSSComponent('dropdown')\n@Component({\n standalone: true,\n selector: 'odx-dropdown',\n imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule],\n templateUrl: './dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n protected readonly host = inject(DropdownDirective);\n protected readonly injector = getInjector();\n public readonly element = injectElement();\n\n @Input()\n public content?: DynamicContent | null;\n}\n","<div class=\"odx-dropdown__inner\" [odxLoadingSpinner]=\"host.showLoader\" [odxClickOutsideActive]=\"true\" (odxClickOutside)=\"host.close()\">\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DropdownDirective } from './dropdown.directive';\n\nconst modules = [DropdownDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-dropdown.mjs","sources":["../../../../libs/angular/components/dropdown/src/lib/models/close-dropdown-event.ts","../../../../libs/angular/components/dropdown/src/lib/models/dropdown-options.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.html","../../../../libs/angular/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular/components/dropdown/src/lib/helpers/close-current-dropdown.ts","../../../../libs/angular/components/dropdown/src/odx-angular-components-dropdown.ts"],"sourcesContent":["export class CloseDropdownEvent extends Event {\n public static readonly TYPE = 'odxDropdownClose';\n\n constructor() {\n super(CloseDropdownEvent.TYPE, { bubbles: true });\n }\n}\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\n\nexport type DropdownOptions = Pick<\n ConnectedOverlayOptions,\n 'position' | 'containerClass' | 'enableFallback' | 'matchReferenceWidth' | 'minHeight' | 'offset' | 'showArrow'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 8,\n};\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterViewInit, ChangeDetectorRef, Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, Output } from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { EventManager, getInjector, hasChanged, injectElement, NgChanges, Transform } from '@odx/angular/utils';\nimport { DropdownComponent } from './dropdown.component';\nimport { DefaultDropdownOptions, DropdownOptions } from './models';\n\nexport const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];\nexport const DEFAULT_DROPDOWN_CLOSE_TRIGGERS = ['keyup.esc'];\n\n@CSSComponent('dropdown-host')\n@Directive({\n standalone: true,\n selector: '[odxDropdown]',\n exportAs: 'odxDropdown',\n providers: [EventManager],\n host: {\n '[attr.aria-haspopup]': 'true',\n '[attr.aria-expanded]': 'isOpen',\n },\n})\nexport class DropdownDirective implements AfterViewInit, OnChanges, OnDestroy {\n public static ngAcceptInputType_disabled: BooleanInput;\n public static ngAcceptInputType_loading: BooleanInput;\n\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly eventManager = inject(EventManager);\n private readonly injector = getInjector();\n private overlayRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n public get isOpen(): boolean {\n return this.overlayRef !== null;\n }\n\n @Input('odxDropdown')\n public content?: DynamicContent | null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxDropdownDisabled')\n public disabled = false;\n\n @Transform(coerceBooleanProperty)\n @Input('odxDropdownShowLoader')\n public showLoader = false;\n\n @Input('odxDropdownOptions')\n public options?: Partial<DropdownOptions> | null;\n\n @Input('odxDropdownReferenceElement')\n public referenceElement?: HTMLElement | null;\n\n @Input('odxDropdownTriggerElement')\n public triggerElement?: HTMLElement | null;\n\n @Input('odxDropdownHost')\n public host?: HTMLElement | null;\n\n @Input('odxDropdownOpenTrigger')\n public openTrigger?: string[] | null = DEFAULT_DROPDOWN_OPEN_TRIGGERS;\n\n @Input('odxDropdownCloseTrigger')\n public closeTrigger?: string[] | null = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;\n\n @Output('odxDropdownBeforeOpen')\n public beforeOpen = new EventEmitter<void>();\n\n @Output('odxDropdownAfterOpen')\n public afterOpen = new EventEmitter<void>();\n\n @Output('odxDropdownBeforeClose')\n public beforeClose = new EventEmitter<void>();\n\n @Output('odxDropdownAfterClose')\n public afterClose = new EventEmitter<void>();\n\n public ngAfterViewInit(): void {\n this.eventManager.register(this.openTrigger ?? [], (event) => this.toggle(event), this.triggerElement ?? this.referenceElement);\n this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');\n }\n\n public ngOnDestroy(): void {\n this.close();\n }\n\n public ngOnChanges(changes: NgChanges<DropdownDirective>) {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.close();\n }\n if (hasChanged(changes, ['options', 'content', 'showLoader'])) {\n this.overlayRef?.update(this.createOverlayOptions());\n }\n }\n\n public toggle(event?: Event): void {\n if (this.isOpen) {\n this.close(event);\n } else {\n this.open(event);\n }\n }\n\n public open(event?: Event) {\n event?.preventDefault();\n if (this.isOpen || !this.content || this.disabled) return;\n this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {\n host: this.host === undefined ? this.referenceElement : this.host,\n injector: this.injector,\n });\n this.changeDetector.markForCheck();\n }\n\n public close(event?: Event) {\n event?.preventDefault();\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetector.markForCheck();\n }\n\n private createOverlayOptions(): Partial<ConnectedOverlayOptions> {\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n fallbackAxisSideDirection: 'end',\n containerClass: [this.options?.containerClass, 'odx-dropdown-overlay'].filter(Boolean).join(' '),\n content: DropdownComponent,\n context: { content: this.content },\n hooks: {\n beforeOpen: () => this.beforeOpen.emit(),\n afterOpen: () => this.afterOpen.emit(),\n beforeClose: () => this.beforeClose.emit(),\n afterClose: () => this.afterClose.emit(),\n },\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { getInjector, injectElement } from '@odx/angular/utils';\nimport { DropdownDirective } from './dropdown.directive';\nimport { CloseDropdownEvent } from './models';\n\n@CSSComponent('dropdown')\n@Component({\n standalone: true,\n selector: 'odx-dropdown',\n imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule],\n templateUrl: './dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n protected readonly host = inject(DropdownDirective);\n protected readonly injector = getInjector();\n public readonly element = injectElement();\n\n @Input()\n public content?: DynamicContent | null;\n\n @HostListener(CloseDropdownEvent.TYPE)\n protected onDropdownClose(): void {\n this.host.close();\n }\n}\n","<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"host.showLoader\"\n [odxClickOutsideActive]=\"true\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DropdownDirective } from './dropdown.directive';\n\nconst modules = [DropdownDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DropdownModule {}\n","import { CloseDropdownEvent } from '../models';\n\nexport function closeCurrentDropdown(target: Element): void {\n target.dispatchEvent(new CloseDropdownEvent());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Directive, inject, TemplateRef, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, NgModule } from '@angular/core';
3
- import { Controller, DisabledController, ReadonlyController, CoreModule } from '@odx/angular';
3
+ import * as i1$1 from '@odx/angular';
4
+ import { Controller, DisabledController, ReadonlyController, CoreModule, WithDisabledState } from '@odx/angular';
4
5
  import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
5
6
  import { __decorate, __metadata } from 'tslib';
6
7
  import { Validators, NgControl, FormControl } from '@angular/forms';
@@ -56,9 +57,9 @@ class FormFieldService extends Controller {
56
57
  }
57
58
  }
58
59
  FormFieldService.ID = 0;
59
- FormFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
60
- FormFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldService });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldService, decorators: [{
60
+ FormFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
61
+ FormFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldService });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldService, decorators: [{
62
63
  type: Injectable
63
64
  }] });
64
65
 
@@ -107,9 +108,9 @@ class FormFieldErrorService {
107
108
  return isFunction(getMessage) ? { message: getMessage(context) } : null;
108
109
  }
109
110
  }
110
- FormFieldErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
111
- FormFieldErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldErrorService });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldErrorService, decorators: [{
111
+ FormFieldErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
+ FormFieldErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldErrorService });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldErrorService, decorators: [{
113
114
  type: Injectable
114
115
  }] });
115
116
 
@@ -121,12 +122,12 @@ let FormDirective = class FormDirective {
121
122
  this.reset$ = fromEvent(this.element.nativeElement, 'reset').pipe(this.takeUntilDestroyed(), share());
122
123
  }
123
124
  };
124
- FormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
125
- FormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormDirective, isStandalone: true, selector: "form[odxForm]", ngImport: i0 });
125
+ FormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
126
+ FormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: FormDirective, isStandalone: true, selector: "form[odxForm]", ngImport: i0 });
126
127
  FormDirective = __decorate([
127
128
  CSSComponent('form')
128
129
  ], FormDirective);
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormDirective, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormDirective, decorators: [{
130
131
  type: Directive,
131
132
  args: [{
132
133
  standalone: true,
@@ -182,13 +183,13 @@ let FormFieldControlDirective = class FormFieldControlDirective {
182
183
  return merge(this.onFormSubmit$, this.onFormReset$).pipe(switchMap(({ type }) => (type === 'submit' ? merge(statusChanges, valueChanges).pipe(startWith(true)) : NEVER)));
183
184
  }
184
185
  };
185
- FormFieldControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
186
- FormFieldControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldControlDirective, isStandalone: true, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"], ngImport: i0 });
186
+ FormFieldControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
187
+ FormFieldControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: FormFieldControlDirective, isStandalone: true, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"], ngImport: i0 });
187
188
  FormFieldControlDirective = __decorate([
188
189
  CSSComponent('form-field-control'),
189
190
  __metadata("design:paramtypes", [])
190
191
  ], FormFieldControlDirective);
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldControlDirective, decorators: [{
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldControlDirective, decorators: [{
192
193
  type: Directive,
193
194
  args: [{
194
195
  standalone: true,
@@ -206,9 +207,9 @@ class FormFieldErrorDirective {
206
207
  this.formFieldErrorService.registerCustomError(this.key, this.template);
207
208
  }
208
209
  }
209
- FormFieldErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
210
- FormFieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldErrorDirective, isStandalone: true, selector: "[odxFormFieldError]", inputs: { key: ["odxFormFieldError", "key"] }, ngImport: i0 });
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
210
+ FormFieldErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
211
+ FormFieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: FormFieldErrorDirective, isStandalone: true, selector: "[odxFormFieldError]", inputs: { key: ["odxFormFieldError", "key"] }, ngImport: i0 });
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
212
213
  type: Directive,
213
214
  args: [{
214
215
  standalone: true,
@@ -225,9 +226,9 @@ class FormFieldHintDirective {
225
226
  reactiveAttributeBinding(inject(FormFieldService).controlHintId$, 'id');
226
227
  }
227
228
  }
228
- FormFieldHintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
229
- FormFieldHintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldHintDirective, isStandalone: true, selector: "odx-form-field-hint", host: { properties: { "class.odx-form-field__hint": "true" } }, ngImport: i0 });
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldHintDirective, decorators: [{
229
+ FormFieldHintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
230
+ FormFieldHintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: FormFieldHintDirective, isStandalone: true, selector: "odx-form-field-hint", host: { properties: { "class.odx-form-field__hint": "true" } }, ngImport: i0 });
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldHintDirective, decorators: [{
231
232
  type: Directive,
232
233
  args: [{
233
234
  standalone: true,
@@ -243,12 +244,12 @@ let FormFieldLabelDirective = class FormFieldLabelDirective {
243
244
  this.element = injectElement();
244
245
  }
245
246
  };
246
- FormFieldLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
247
- FormFieldLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldLabelDirective, isStandalone: true, selector: "odx-form-field-label", ngImport: i0 });
247
+ FormFieldLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
248
+ FormFieldLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: FormFieldLabelDirective, isStandalone: true, selector: "odx-form-field-label", ngImport: i0 });
248
249
  FormFieldLabelDirective = __decorate([
249
250
  CSSComponent('form-field-label')
250
251
  ], FormFieldLabelDirective);
251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
252
253
  type: Directive,
253
254
  args: [{
254
255
  standalone: true,
@@ -262,9 +263,9 @@ class FormFieldInfoComponent {
262
263
  this.error = null;
263
264
  }
264
265
  }
265
- FormFieldInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
266
- FormFieldInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldInfoComponent, isStandalone: true, selector: "odx-form-field-info", inputs: { error: "error" }, host: { properties: { "class.odx-form-field__info": "true" } }, ngImport: i0, template: "<span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\" *ngIf=\"error; else hint\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\"></ng-template>\n</span>\n<ng-template #hint>\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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], encapsulation: i0.ViewEncapsulation.None });
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldInfoComponent, decorators: [{
266
+ FormFieldInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
267
+ FormFieldInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: FormFieldInfoComponent, isStandalone: true, selector: "odx-form-field-info", inputs: { error: "error" }, host: { properties: { "class.odx-form-field__info": "true" } }, ngImport: i0, template: "<span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\" *ngIf=\"error; else hint\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\"></ng-template>\n</span>\n<ng-template #hint>\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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], encapsulation: i0.ViewEncapsulation.None });
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldInfoComponent, decorators: [{
268
269
  type: Component,
269
270
  args: [{ standalone: true, selector: 'odx-form-field-info', encapsulation: ViewEncapsulation.None, imports: [CoreModule, DynamicViewDirective, FormFieldHintDirective], host: {
270
271
  '[class.odx-form-field__info]': 'true',
@@ -282,12 +283,12 @@ let FormGroupComponent = class FormGroupComponent {
282
283
  this.error$ = this.formFieldErrorServices.changes.pipe(startWith(this.formFieldErrorServices), switchMap((services) => combineLatest(services.map((service) => service.error$))), map((errors) => errors.find((error) => error !== null) ?? null));
283
284
  }
284
285
  };
285
- FormGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
286
- FormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormGroupComponent, isStandalone: true, selector: "odx-form-group", providers: [FormFieldService], queries: [{ propertyName: "formFieldErrorServices", predicate: FormFieldErrorService }], ngImport: i0, template: "<div class=\"odx-form-group__content\" odxLayout=\"grid auto vertical-end\">\n <ng-content select=\"odx-form-field\"> </ng-content>\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n</odx-form-field-info>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
286
+ FormGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
287
+ FormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: FormGroupComponent, isStandalone: true, selector: "odx-form-group", providers: [FormFieldService], queries: [{ propertyName: "formFieldErrorServices", predicate: FormFieldErrorService }], ngImport: i0, template: "<div class=\"odx-form-group__content\" odxLayout=\"grid auto vertical-end\">\n <ng-content select=\"odx-form-field\"> </ng-content>\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n</odx-form-field-info>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
287
288
  FormGroupComponent = __decorate([
288
289
  CSSComponent('form-group')
289
290
  ], FormGroupComponent);
290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormGroupComponent, decorators: [{
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormGroupComponent, decorators: [{
291
292
  type: Component,
292
293
  args: [{ standalone: true, selector: 'odx-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CoreModule, FormFieldInfoComponent], providers: [FormFieldService], template: "<div class=\"odx-form-group__content\" odxLayout=\"grid auto vertical-end\">\n <ng-content select=\"odx-form-field\"> </ng-content>\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n</odx-form-field-info>\n" }]
293
294
  }], propDecorators: { formFieldErrorServices: [{
@@ -314,15 +315,15 @@ let FormFieldComponent = class FormFieldComponent {
314
315
  return !this.formGroup;
315
316
  }
316
317
  };
317
- FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
318
- FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormFieldComponent, isStandalone: true, selector: "odx-form-field", inputs: { label: "label" }, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], queries: [{ propertyName: "labelDirective", first: true, predicate: FormFieldLabelDirective, descendants: true }], ngImport: i0, template: "<label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\" *ngIf=\"hasLabel\">\n <odx-form-field-label *ngIf=\"label; else labelTemplate\">\n {{ label }}\n </odx-form-field-label>\n <ng-template #labelTemplate>\n <ng-content select=\"odx-form-field-label\"></ng-content>\n </ng-template>\n</label>\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\">\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\"></ng-content>\n </div>\n </div>\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\" *ngIf=\"!formGroup\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n </odx-form-field-info>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }, { kind: "directive", type: FormFieldLabelDirective, selector: "odx-form-field-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
318
+ FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
319
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: FormFieldComponent, isStandalone: true, selector: "odx-form-field", inputs: { label: "label" }, providers: [FormFieldService, FormFieldErrorService, ReadonlyController.connect()], queries: [{ propertyName: "labelDirective", first: true, predicate: FormFieldLabelDirective, descendants: true }], hostDirectives: [{ directive: i1$1.WithDisabledState }], ngImport: i0, template: "<label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\" *ngIf=\"hasLabel\">\n <odx-form-field-label *ngIf=\"label; else labelTemplate\">\n {{ label }}\n </odx-form-field-label>\n <ng-template #labelTemplate>\n <ng-content select=\"odx-form-field-label\"></ng-content>\n </ng-template>\n</label>\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\">\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\"></ng-content>\n </div>\n </div>\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\" *ngIf=\"!formGroup\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n </odx-form-field-info>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }, { kind: "directive", type: FormFieldLabelDirective, selector: "odx-form-field-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
319
320
  FormFieldComponent = __decorate([
320
321
  CSSComponent('form-field'),
321
322
  __metadata("design:paramtypes", [])
322
323
  ], FormFieldComponent);
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldComponent, decorators: [{
324
325
  type: Component,
325
- args: [{ standalone: true, selector: 'odx-form-field', imports: [CoreModule, FormFieldInfoComponent, FormFieldLabelDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], template: "<label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\" *ngIf=\"hasLabel\">\n <odx-form-field-label *ngIf=\"label; else labelTemplate\">\n {{ label }}\n </odx-form-field-label>\n <ng-template #labelTemplate>\n <ng-content select=\"odx-form-field-label\"></ng-content>\n </ng-template>\n</label>\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\">\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\"></ng-content>\n </div>\n </div>\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\" *ngIf=\"!formGroup\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n </odx-form-field-info>\n</div>\n" }]
326
+ args: [{ standalone: true, selector: 'odx-form-field', imports: [CoreModule, FormFieldInfoComponent, FormFieldLabelDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormFieldService, FormFieldErrorService, ReadonlyController.connect()], hostDirectives: [WithDisabledState], template: "<label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\" *ngIf=\"hasLabel\">\n <odx-form-field-label *ngIf=\"label; else labelTemplate\">\n {{ label }}\n </odx-form-field-label>\n <ng-template #labelTemplate>\n <ng-content select=\"odx-form-field-label\"></ng-content>\n </ng-template>\n</label>\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\">\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\"></ng-content>\n </div>\n </div>\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\" *ngIf=\"!formGroup\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n </odx-form-field-info>\n</div>\n" }]
326
327
  }], ctorParameters: function () { return []; }, propDecorators: { labelDirective: [{
327
328
  type: ContentChild,
328
329
  args: [FormFieldLabelDirective]
@@ -347,8 +348,8 @@ class FormFieldModule {
347
348
  };
348
349
  }
349
350
  }
350
- FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
351
- FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
351
+ FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
352
+ FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
352
353
  FormGroupComponent,
353
354
  FormDirective,
354
355
  FormFieldControlDirective,
@@ -361,9 +362,9 @@ FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
361
362
  FormFieldErrorDirective,
362
363
  FormFieldHintDirective,
363
364
  FormFieldLabelDirective] });
364
- FormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
365
+ FormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
365
366
  FormGroupComponent, CoreModule] });
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFieldModule, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldModule, decorators: [{
367
368
  type: NgModule,
368
369
  args: [{
369
370
  imports: modules,