@odx/angular 1.0.0-rc.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/cdk/a11y/lib/directives/interactive.directive.d.ts +2 -2
  2. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +1 -2
  3. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +1 -1
  4. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +1 -1
  5. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -1
  6. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +2 -2
  7. package/cdk/connected-overlay/lib/helpers/index.d.ts +0 -2
  8. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +3 -2
  9. package/cdk/custom-form-control/lib/custom-form-control.d.ts +5 -1
  10. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  11. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
  12. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +2 -1
  13. package/components/action-group/action-group.component.d.ts +1 -1
  14. package/components/area-header/area-header.component.d.ts +1 -1
  15. package/components/area-header/models/area-header-size.d.ts +1 -1
  16. package/components/avatar/lib/avatar.component.d.ts +3 -2
  17. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  18. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  19. package/components/avatar/lib/models/index.d.ts +1 -0
  20. package/components/badge/lib/badge.component.d.ts +7 -17
  21. package/components/badge/lib/badge.directive.d.ts +16 -12
  22. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  23. package/components/badge/lib/models/index.d.ts +0 -1
  24. package/components/bar/lib/models/bar-button-variant.d.ts +1 -1
  25. package/components/button/index.d.ts +1 -0
  26. package/components/button/lib/directives/index.d.ts +1 -0
  27. package/components/button/lib/directives/responsive-button.directive.d.ts +6 -0
  28. package/components/button/lib/models/button-size.d.ts +1 -1
  29. package/components/button/lib/models/button-variant.d.ts +1 -1
  30. package/components/card/README.md +3 -0
  31. package/components/card/index.d.ts +5 -0
  32. package/components/card/lib/card.component.d.ts +20 -0
  33. package/components/card/lib/card.module.d.ts +16 -0
  34. package/components/card/lib/components/card-footer/card-footer.component.d.ts +5 -0
  35. package/components/card/lib/components/index.d.ts +2 -0
  36. package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +5 -0
  37. package/components/card/lib/directives/card-content.directive.d.ts +5 -0
  38. package/components/card/lib/directives/card-title.directive.d.ts +5 -0
  39. package/components/card/lib/directives/index.d.ts +2 -0
  40. package/components/card/lib/models/card-variant.d.ts +6 -0
  41. package/components/card/lib/models/index.d.ts +1 -0
  42. package/components/chip/lib/models/chip-size.d.ts +1 -1
  43. package/components/chip/lib/models/chip-variant.d.ts +1 -1
  44. package/components/circular-progress/lib/circular-progress.component.d.ts +2 -1
  45. package/components/circular-progress/lib/models/circular-progress-size.d.ts +1 -1
  46. package/components/content-box/lib/content-box.module.d.ts +2 -2
  47. package/components/content-box/lib/directives/index.d.ts +2 -2
  48. package/components/dropdown/lib/dropdown.directive.d.ts +3 -2
  49. package/components/dropdown/lib/models/dropdown-options.d.ts +1 -1
  50. package/components/form-field/index.d.ts +1 -0
  51. package/components/form-field/lib/form-field.component.d.ts +8 -3
  52. package/components/form-field/lib/form-field.config.d.ts +3 -2
  53. package/components/form-field/lib/form-field.module.d.ts +0 -4
  54. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  55. package/components/form-field/lib/models/form-field-error.d.ts +1 -0
  56. package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
  57. package/components/form-field/lib/models/index.d.ts +1 -0
  58. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  59. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  60. package/components/header/lib/header.component.d.ts +1 -1
  61. package/components/icon/index.d.ts +1 -0
  62. package/components/icon/lib/icon.component.d.ts +3 -5
  63. package/components/icon/lib/icon.config.d.ts +4 -0
  64. package/components/icon/lib/models/icon-size.d.ts +1 -1
  65. package/components/inline-message/lib/models/inline-message-variant.d.ts +1 -1
  66. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +14 -0
  67. package/components/list/lib/components/index.d.ts +1 -0
  68. package/components/list/lib/list.component.d.ts +4 -2
  69. package/components/list/lib/list.module.d.ts +3 -2
  70. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +3 -1
  71. package/components/logo/models/logo-size.d.ts +1 -1
  72. package/components/logo/models/logo-variant.d.ts +1 -1
  73. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -0
  74. package/components/mainfilter-group/README.md +3 -0
  75. package/components/mainfilter-group/index.d.ts +1 -0
  76. package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +6 -0
  77. package/components/menu/lib/directives/menu-item.directive.d.ts +1 -2
  78. package/components/menu/lib/menu.component.d.ts +4 -1
  79. package/components/menu/lib/menu.directive.d.ts +5 -4
  80. package/components/modal/index.d.ts +1 -1
  81. package/components/modal/lib/modal.config.d.ts +2 -2
  82. package/components/modal/lib/modal.module.d.ts +0 -4
  83. package/components/modal/lib/modal.service.d.ts +7 -3
  84. package/components/modal/lib/models/basic-modal-options.d.ts +1 -1
  85. package/components/modal/lib/models/modal-hero-variant.d.ts +1 -1
  86. package/components/modal/lib/models/modal-options.d.ts +2 -1
  87. package/components/modal/lib/models/modal-ref.d.ts +6 -4
  88. package/components/modal/lib/models/modal-size.d.ts +2 -1
  89. package/components/modal/lib/models/modal-type.d.ts +1 -1
  90. package/components/modal/lib/models/modal-variant.d.ts +1 -1
  91. package/components/navigation-back/README.md +3 -0
  92. package/components/navigation-back/index.d.ts +1 -0
  93. package/components/navigation-back/lib/navigation-back.component.d.ts +6 -0
  94. package/components/select/lib/abstract/select-control-option.d.ts +2 -0
  95. package/components/select/lib/abstract/select-control.d.ts +1 -0
  96. package/components/select/lib/components/option/option.component.d.ts +6 -2
  97. package/components/select/lib/select.component.d.ts +10 -5
  98. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +5 -2
  99. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +1 -1
  100. package/components/toast/lib/models/toast-variant.d.ts +1 -1
  101. package/components/toast/lib/toast.config.d.ts +2 -2
  102. package/components/toast/lib/toast.module.d.ts +0 -4
  103. package/components/toast/lib/toast.service.d.ts +1 -1
  104. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +4 -1
  105. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +8 -3
  106. package/components/tooltip/lib/models/tooltip-size.d.ts +1 -1
  107. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -1
  108. package/components/tooltip/lib/tooltip.component.d.ts +3 -2
  109. package/components/tooltip/lib/tooltip.directive.d.ts +3 -3
  110. package/esm2020/animations/lib/expand.mjs +3 -3
  111. package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
  112. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +4 -4
  113. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +5 -7
  114. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  115. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  116. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +16 -12
  117. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +8 -8
  118. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +5 -5
  119. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +4 -6
  120. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +1 -3
  121. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +3 -2
  122. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  123. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +44 -20
  124. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  125. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +7 -5
  126. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  127. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +15 -4
  128. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +2 -2
  129. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  130. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  131. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  132. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +10 -10
  133. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
  134. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  135. package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
  136. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  137. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +5 -5
  138. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  139. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  140. package/esm2020/components/area-header/area-header.component.mjs +7 -6
  141. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  142. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  143. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  144. package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
  145. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  146. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  147. package/esm2020/components/badge/lib/badge.component.mjs +18 -65
  148. package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
  149. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  150. package/esm2020/components/bar/lib/bar.component.mjs +3 -3
  151. package/esm2020/components/bar/lib/bar.module.mjs +4 -4
  152. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +6 -7
  153. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  154. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  155. package/esm2020/components/button/index.mjs +2 -1
  156. package/esm2020/components/button/lib/button.component.mjs +8 -10
  157. package/esm2020/components/button/lib/directives/index.mjs +2 -0
  158. package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +24 -0
  159. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  160. package/esm2020/components/card/index.mjs +6 -0
  161. package/esm2020/components/card/lib/card.component.mjs +67 -0
  162. package/esm2020/components/card/lib/card.module.mjs +53 -0
  163. package/esm2020/components/card/lib/components/card-footer/card-footer.component.mjs +13 -0
  164. package/esm2020/components/card/lib/components/index.mjs +3 -0
  165. package/esm2020/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +13 -0
  166. package/esm2020/components/card/lib/directives/card-content.directive.mjs +17 -0
  167. package/esm2020/components/card/lib/directives/card-title.directive.mjs +17 -0
  168. package/esm2020/components/card/lib/directives/index.mjs +3 -0
  169. package/esm2020/components/card/lib/models/card-variant.mjs +6 -0
  170. package/esm2020/components/card/lib/models/index.mjs +2 -0
  171. package/esm2020/components/card/odx-angular-components-card.mjs +5 -0
  172. package/esm2020/components/checkbox/lib/checkbox.component.mjs +5 -5
  173. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  174. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  175. package/esm2020/components/chip/lib/chip.component.mjs +5 -5
  176. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +8 -6
  177. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  178. package/esm2020/components/content-box/lib/content-box.module.mjs +7 -7
  179. package/esm2020/components/content-box/lib/directives/{content-box-footer-directive.mjs → content-box-footer.directive.mjs} +4 -4
  180. package/esm2020/components/content-box/lib/directives/{content-box-header-directive.mjs → content-box-header.directive.mjs} +4 -4
  181. package/esm2020/components/content-box/lib/directives/index.mjs +3 -3
  182. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  183. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +10 -7
  184. package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
  185. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +3 -2
  186. package/esm2020/components/form-field/index.mjs +2 -1
  187. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  188. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  189. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +6 -6
  190. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  191. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  192. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  193. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  194. package/esm2020/components/form-field/lib/form-field.component.mjs +32 -15
  195. package/esm2020/components/form-field/lib/form-field.config.mjs +4 -3
  196. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
  197. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  198. package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
  199. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
  200. package/esm2020/components/form-field/lib/models/index.mjs +2 -1
  201. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
  202. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  203. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  204. package/esm2020/components/header/lib/header.component.mjs +5 -5
  205. package/esm2020/components/header/lib/header.module.mjs +4 -4
  206. package/esm2020/components/icon/index.mjs +2 -1
  207. package/esm2020/components/icon/lib/icon.component.mjs +12 -21
  208. package/esm2020/components/icon/lib/icon.config.mjs +5 -0
  209. package/esm2020/components/inline-message/lib/inline-message.component.mjs +8 -9
  210. package/esm2020/components/link/link.directive.mjs +3 -3
  211. package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +49 -0
  212. package/esm2020/components/list/lib/components/index.mjs +2 -1
  213. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  214. package/esm2020/components/list/lib/list.component.mjs +22 -11
  215. package/esm2020/components/list/lib/list.module.mjs +7 -7
  216. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  217. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +13 -6
  218. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  219. package/esm2020/components/logo/logo.directive.mjs +8 -6
  220. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  221. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +13 -5
  222. package/esm2020/components/main-menu/lib/main-menu.component.mjs +5 -5
  223. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  224. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  225. package/esm2020/components/mainfilter-group/index.mjs +2 -0
  226. package/esm2020/components/mainfilter-group/lib/mainfilter-group.component.mjs +21 -0
  227. package/esm2020/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +5 -0
  228. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +6 -8
  229. package/esm2020/components/menu/lib/menu.component.mjs +22 -11
  230. package/esm2020/components/menu/lib/menu.directive.mjs +11 -4
  231. package/esm2020/components/menu/lib/menu.module.mjs +4 -4
  232. package/esm2020/components/modal/index.mjs +2 -2
  233. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  234. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  235. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +5 -5
  236. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +5 -5
  237. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  238. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  239. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  240. package/esm2020/components/modal/lib/modal.component.mjs +5 -5
  241. package/esm2020/components/modal/lib/modal.config.mjs +4 -3
  242. package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
  243. package/esm2020/components/modal/lib/modal.module.mjs +5 -13
  244. package/esm2020/components/modal/lib/modal.service.mjs +37 -26
  245. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  246. package/esm2020/components/modal/lib/models/modal-ref.mjs +20 -12
  247. package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
  248. package/esm2020/components/navigation-back/index.mjs +2 -0
  249. package/esm2020/components/navigation-back/lib/navigation-back.component.mjs +22 -0
  250. package/esm2020/components/navigation-back/odx-angular-components-navigation-back.mjs +5 -0
  251. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  252. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  253. package/esm2020/components/radio-group/lib/radio-group.component.mjs +7 -7
  254. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  255. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +5 -5
  256. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  257. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  258. package/esm2020/components/select/lib/abstract/select-control-option.mjs +1 -1
  259. package/esm2020/components/select/lib/abstract/select-control.mjs +1 -1
  260. package/esm2020/components/select/lib/components/option/option.component.mjs +37 -20
  261. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
  262. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  263. package/esm2020/components/select/lib/select.component.mjs +82 -35
  264. package/esm2020/components/select/lib/select.module.mjs +4 -4
  265. package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
  266. package/esm2020/components/spinbox/lib/spinbox.component.mjs +8 -8
  267. package/esm2020/components/switch/lib/switch.component.mjs +5 -5
  268. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  269. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  270. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +15 -6
  271. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +7 -7
  272. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  273. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  274. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +9 -8
  275. package/esm2020/components/toast/lib/toast.config.mjs +3 -3
  276. package/esm2020/components/toast/lib/toast.module.mjs +5 -13
  277. package/esm2020/components/toast/lib/toast.service.mjs +7 -7
  278. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +13 -7
  279. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +23 -12
  280. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  281. package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
  282. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +11 -12
  283. package/esm2020/internal/decorators/css-component.mjs +3 -8
  284. package/esm2020/internal/decorators/css-modifier.mjs +21 -18
  285. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  286. package/esm2020/internal/helpers/deepmerge.mjs +6 -0
  287. package/esm2020/internal/helpers/index.mjs +3 -1
  288. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
  289. package/esm2020/lib/controllers/controller.mjs +3 -3
  290. package/esm2020/lib/controllers/disabled.controller.mjs +26 -20
  291. package/esm2020/lib/controllers/readonly.controller.mjs +30 -21
  292. package/esm2020/lib/core.module.mjs +9 -8
  293. package/esm2020/lib/directives/click-outside.directive.mjs +15 -12
  294. package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
  295. package/esm2020/lib/directives/index.mjs +2 -2
  296. package/esm2020/lib/directives/with-disabled-state.directive.mjs +9 -9
  297. package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
  298. package/esm2020/lib/services/window-ref.mjs +13 -6
  299. package/esm2020/theming/index.mjs +5 -0
  300. package/esm2020/theming/lib/helpers/index.mjs +4 -0
  301. package/esm2020/theming/lib/helpers/prefers-dark-theme.mjs +4 -0
  302. package/esm2020/theming/lib/helpers/resolve-theme.mjs +5 -0
  303. package/esm2020/theming/lib/helpers/theme-storage.mjs +19 -0
  304. package/esm2020/theming/lib/models/index.mjs +2 -0
  305. package/esm2020/theming/lib/models/theme.mjs +6 -0
  306. package/esm2020/theming/lib/theming.config.mjs +21 -0
  307. package/esm2020/theming/lib/theming.service.mjs +42 -0
  308. package/esm2020/theming/odx-angular-theming.mjs +5 -0
  309. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  310. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  311. package/esm2020/utils/lib/helpers/dom.mjs +2 -2
  312. package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
  313. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  314. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  315. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  316. package/esm2020/utils/lib/helpers/index.mjs +6 -2
  317. package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
  318. package/esm2020/utils/lib/helpers/queue.mjs +36 -11
  319. package/esm2020/utils/lib/types/axis.mjs +5 -0
  320. package/esm2020/utils/lib/types/index.mjs +4 -1
  321. package/esm2020/utils/lib/types/position.mjs +15 -0
  322. package/esm2020/utils/lib/types/side.mjs +7 -0
  323. package/fesm2015/odx-angular-animations.mjs +2 -2
  324. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  325. package/fesm2015/odx-angular-cdk-a11y.mjs +13 -14
  326. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -1
  327. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  328. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +16 -12
  329. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  330. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +13 -31
  331. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  332. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +47 -24
  333. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  334. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +26 -12
  335. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  336. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  337. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +26 -23
  338. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  339. package/fesm2015/odx-angular-components-accordion.mjs +16 -16
  340. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  341. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  342. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  343. package/fesm2015/odx-angular-components-area-header.mjs +16 -15
  344. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  345. package/fesm2015/odx-angular-components-avatar.mjs +18 -7
  346. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  347. package/fesm2015/odx-angular-components-badge.mjs +63 -97
  348. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  349. package/fesm2015/odx-angular-components-bar.mjs +15 -16
  350. package/fesm2015/odx-angular-components-bar.mjs.map +1 -1
  351. package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
  352. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  353. package/fesm2015/odx-angular-components-button.mjs +31 -11
  354. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  355. package/fesm2015/odx-angular-components-card.mjs +174 -0
  356. package/fesm2015/odx-angular-components-card.mjs.map +1 -0
  357. package/fesm2015/odx-angular-components-checkbox.mjs +11 -11
  358. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  359. package/fesm2015/odx-angular-components-chip.mjs +4 -4
  360. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  361. package/fesm2015/odx-angular-components-circular-progress.mjs +7 -5
  362. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  363. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  364. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  365. package/fesm2015/odx-angular-components-dropdown.mjs +18 -14
  366. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  367. package/fesm2015/odx-angular-components-form-field.mjs +80 -64
  368. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  369. package/fesm2015/odx-angular-components-header.mjs +23 -17
  370. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  371. package/fesm2015/odx-angular-components-icon.mjs +16 -22
  372. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  373. package/fesm2015/odx-angular-components-inline-message.mjs +7 -8
  374. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  375. package/fesm2015/odx-angular-components-link.mjs +3 -3
  376. package/fesm2015/odx-angular-components-list.mjs +70 -20
  377. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  378. package/fesm2015/odx-angular-components-loading-spinner.mjs +21 -13
  379. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  380. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  381. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  382. package/fesm2015/odx-angular-components-main-menu.mjs +57 -49
  383. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  384. package/fesm2015/odx-angular-components-mainfilter-group.mjs +27 -0
  385. package/fesm2015/odx-angular-components-mainfilter-group.mjs.map +1 -0
  386. package/fesm2015/odx-angular-components-menu.mjs +41 -24
  387. package/fesm2015/odx-angular-components-menu.mjs.map +1 -1
  388. package/fesm2015/odx-angular-components-modal.mjs +91 -118
  389. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  390. package/fesm2015/odx-angular-components-navigation-back.mjs +28 -0
  391. package/fesm2015/odx-angular-components-navigation-back.mjs.map +1 -0
  392. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  393. package/fesm2015/odx-angular-components-radio-group.mjs +13 -13
  394. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  395. package/fesm2015/odx-angular-components-rail-navigation.mjs +11 -11
  396. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  397. package/fesm2015/odx-angular-components-select.mjs +126 -68
  398. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  399. package/fesm2015/odx-angular-components-slider.mjs +3 -3
  400. package/fesm2015/odx-angular-components-spinbox.mjs +8 -8
  401. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  402. package/fesm2015/odx-angular-components-switch.mjs +11 -11
  403. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  404. package/fesm2015/odx-angular-components-tab-bar.mjs +25 -16
  405. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  406. package/fesm2015/odx-angular-components-toast.mjs +23 -29
  407. package/fesm2015/odx-angular-components-toast.mjs.map +1 -1
  408. package/fesm2015/odx-angular-components-toggle-button-group.mjs +40 -20
  409. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  410. package/fesm2015/odx-angular-components-tooltip.mjs +13 -14
  411. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  412. package/fesm2015/odx-angular-internal.mjs +69 -53
  413. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  414. package/fesm2015/odx-angular-theming.mjs +99 -0
  415. package/fesm2015/odx-angular-theming.mjs.map +1 -0
  416. package/fesm2015/odx-angular-utils.mjs +119 -25
  417. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  418. package/fesm2015/odx-angular.mjs +134 -102
  419. package/fesm2015/odx-angular.mjs.map +1 -1
  420. package/fesm2020/odx-angular-animations.mjs +2 -2
  421. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  422. package/fesm2020/odx-angular-cdk-a11y.mjs +13 -14
  423. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -1
  424. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  425. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +16 -12
  426. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  427. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +13 -31
  428. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  429. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +47 -24
  430. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  431. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +25 -12
  432. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  433. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  434. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +26 -23
  435. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  436. package/fesm2020/odx-angular-components-accordion.mjs +16 -16
  437. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  438. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  439. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  440. package/fesm2020/odx-angular-components-area-header.mjs +16 -15
  441. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  442. package/fesm2020/odx-angular-components-avatar.mjs +18 -7
  443. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  444. package/fesm2020/odx-angular-components-badge.mjs +60 -90
  445. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  446. package/fesm2020/odx-angular-components-bar.mjs +15 -16
  447. package/fesm2020/odx-angular-components-bar.mjs.map +1 -1
  448. package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
  449. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  450. package/fesm2020/odx-angular-components-button.mjs +31 -11
  451. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  452. package/fesm2020/odx-angular-components-card.mjs +173 -0
  453. package/fesm2020/odx-angular-components-card.mjs.map +1 -0
  454. package/fesm2020/odx-angular-components-checkbox.mjs +11 -11
  455. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  456. package/fesm2020/odx-angular-components-chip.mjs +4 -4
  457. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  458. package/fesm2020/odx-angular-components-circular-progress.mjs +7 -5
  459. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  460. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  461. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  462. package/fesm2020/odx-angular-components-dropdown.mjs +18 -14
  463. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  464. package/fesm2020/odx-angular-components-form-field.mjs +79 -64
  465. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  466. package/fesm2020/odx-angular-components-header.mjs +23 -17
  467. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  468. package/fesm2020/odx-angular-components-icon.mjs +16 -22
  469. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  470. package/fesm2020/odx-angular-components-inline-message.mjs +7 -8
  471. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  472. package/fesm2020/odx-angular-components-link.mjs +3 -3
  473. package/fesm2020/odx-angular-components-list.mjs +69 -20
  474. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  475. package/fesm2020/odx-angular-components-loading-spinner.mjs +20 -13
  476. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  477. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  478. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  479. package/fesm2020/odx-angular-components-main-menu.mjs +56 -49
  480. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  481. package/fesm2020/odx-angular-components-mainfilter-group.mjs +27 -0
  482. package/fesm2020/odx-angular-components-mainfilter-group.mjs.map +1 -0
  483. package/fesm2020/odx-angular-components-menu.mjs +41 -24
  484. package/fesm2020/odx-angular-components-menu.mjs.map +1 -1
  485. package/fesm2020/odx-angular-components-modal.mjs +90 -116
  486. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  487. package/fesm2020/odx-angular-components-navigation-back.mjs +28 -0
  488. package/fesm2020/odx-angular-components-navigation-back.mjs.map +1 -0
  489. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  490. package/fesm2020/odx-angular-components-radio-group.mjs +13 -13
  491. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  492. package/fesm2020/odx-angular-components-rail-navigation.mjs +11 -11
  493. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  494. package/fesm2020/odx-angular-components-select.mjs +126 -62
  495. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  496. package/fesm2020/odx-angular-components-slider.mjs +3 -3
  497. package/fesm2020/odx-angular-components-spinbox.mjs +7 -7
  498. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  499. package/fesm2020/odx-angular-components-switch.mjs +11 -11
  500. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  501. package/fesm2020/odx-angular-components-tab-bar.mjs +24 -16
  502. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  503. package/fesm2020/odx-angular-components-toast.mjs +23 -29
  504. package/fesm2020/odx-angular-components-toast.mjs.map +1 -1
  505. package/fesm2020/odx-angular-components-toggle-button-group.mjs +37 -20
  506. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  507. package/fesm2020/odx-angular-components-tooltip.mjs +13 -14
  508. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  509. package/fesm2020/odx-angular-internal.mjs +67 -51
  510. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  511. package/fesm2020/odx-angular-theming.mjs +96 -0
  512. package/fesm2020/odx-angular-theming.mjs.map +1 -0
  513. package/fesm2020/odx-angular-utils.mjs +115 -27
  514. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  515. package/fesm2020/odx-angular.mjs +129 -98
  516. package/fesm2020/odx-angular.mjs.map +1 -1
  517. package/internal/decorators/css-component.d.ts +1 -2
  518. package/internal/decorators/css-modifier.d.ts +0 -1
  519. package/internal/helpers/decorator-property-name.d.ts +1 -0
  520. package/internal/helpers/deepmerge.d.ts +10 -0
  521. package/internal/helpers/index.d.ts +2 -0
  522. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  523. package/lib/controllers/disabled.controller.d.ts +5 -2
  524. package/lib/controllers/readonly.controller.d.ts +1 -0
  525. package/lib/core.module.d.ts +3 -3
  526. package/lib/directives/click-outside.directive.d.ts +2 -3
  527. package/lib/directives/delegate-focus.directive.d.ts +11 -0
  528. package/lib/directives/index.d.ts +1 -1
  529. package/lib/services/window-ref.d.ts +3 -0
  530. package/lib/tokens/identity-matcher.d.ts +1 -1
  531. package/lib/tokens/string-search-handler.d.ts +1 -1
  532. package/lib/tokens/stringify.d.ts +1 -1
  533. package/package.json +37 -11
  534. package/theming/README.md +3 -0
  535. package/theming/index.d.ts +4 -0
  536. package/theming/lib/helpers/index.d.ts +3 -0
  537. package/theming/lib/helpers/prefers-dark-theme.d.ts +1 -0
  538. package/theming/lib/helpers/resolve-theme.d.ts +2 -0
  539. package/theming/lib/helpers/theme-storage.d.ts +4 -0
  540. package/theming/lib/models/index.d.ts +1 -0
  541. package/theming/lib/models/theme.d.ts +6 -0
  542. package/theming/lib/theming.config.d.ts +10 -0
  543. package/theming/lib/theming.service.d.ts +16 -0
  544. package/utils/lib/decorators/transform.d.ts +2 -2
  545. package/utils/lib/helpers/build-url.d.ts +1 -0
  546. package/utils/lib/helpers/get-axis.d.ts +2 -0
  547. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  548. package/utils/lib/helpers/get-side.d.ts +2 -0
  549. package/utils/lib/helpers/index.d.ts +5 -1
  550. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  551. package/utils/lib/helpers/provide-config.d.ts +12 -0
  552. package/utils/lib/helpers/queue.d.ts +13 -2
  553. package/utils/lib/types/axis.d.ts +5 -0
  554. package/utils/lib/types/get-properties.d.ts +2 -2
  555. package/utils/lib/types/index.d.ts +3 -0
  556. package/utils/lib/types/position.d.ts +15 -0
  557. package/utils/lib/types/side.d.ts +7 -0
  558. package/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.d.ts +0 -2
  559. package/cdk/connected-overlay/lib/helpers/get-overlay-side.d.ts +0 -2
  560. package/components/badge/lib/badge.config.d.ts +0 -3
  561. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  562. package/components/badge/lib/facade/index.d.ts +0 -1
  563. package/components/badge/lib/models/badge-position.d.ts +0 -5
  564. package/components/launch-tile/README.md +0 -3
  565. package/components/launch-tile/index.d.ts +0 -3
  566. package/components/launch-tile/lib/components/index.d.ts +0 -2
  567. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +0 -5
  568. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +0 -5
  569. package/components/launch-tile/lib/launch-tile.component.d.ts +0 -13
  570. package/components/launch-tile/lib/launch-tile.module.d.ts +0 -14
  571. package/components/modal/lib/services/index.d.ts +0 -1
  572. package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
  573. package/esm2020/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.mjs +0 -13
  574. package/esm2020/cdk/connected-overlay/lib/helpers/get-overlay-side.mjs +0 -4
  575. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  576. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  577. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  578. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  579. package/esm2020/components/launch-tile/index.mjs +0 -4
  580. package/esm2020/components/launch-tile/lib/components/index.mjs +0 -3
  581. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +0 -13
  582. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +0 -13
  583. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +0 -51
  584. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +0 -23
  585. package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +0 -5
  586. package/esm2020/components/modal/lib/services/index.mjs +0 -2
  587. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
  588. package/esm2020/lib/directives/let.directive.mjs +0 -36
  589. package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
  590. package/fesm2015/odx-angular-components-launch-tile.mjs +0 -95
  591. package/fesm2015/odx-angular-components-launch-tile.mjs.map +0 -1
  592. package/fesm2020/odx-angular-components-launch-tile.mjs +0 -94
  593. package/fesm2020/odx-angular-components-launch-tile.mjs.map +0 -1
  594. package/lib/directives/let.directive.d.ts +0 -17
  595. package/utils/lib/helpers/provide-module-config.d.ts +0 -12
  596. /package/components/content-box/lib/directives/{content-box-footer-directive.d.ts → content-box-footer.directive.d.ts} +0 -0
  597. /package/components/content-box/lib/directives/{content-box-header-directive.d.ts → content-box-header.directive.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, ChangeDetectorRef, EventEmitter, Directive, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, HostListener, NgModule } from '@angular/core';
3
+ import { inject, ChangeDetectorRef, ViewContainerRef, 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
6
  import { A11yModule } from '@odx/angular/cdk/a11y';
@@ -25,7 +25,8 @@ const DefaultDropdownOptions = {
25
25
  matchReferenceWidth: false,
26
26
  enableFallback: true,
27
27
  minHeight: 0,
28
- offset: 8,
28
+ offset: 6,
29
+ outerPadding: 12,
29
30
  };
30
31
 
31
32
  const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];
@@ -35,11 +36,13 @@ let DropdownDirective = class DropdownDirective {
35
36
  this.changeDetector = inject(ChangeDetectorRef);
36
37
  this.connectedOverlayService = inject(ConnectedOverlayService);
37
38
  this.eventManager = inject(EventManager);
39
+ this.viewContainer = inject(ViewContainerRef);
38
40
  this.injector = getInjector();
39
41
  this.overlayRef = null;
40
42
  this.element = injectElement();
41
43
  this.disabled = false;
42
44
  this.showLoader = false;
45
+ this.host = this.viewContainer;
43
46
  this.openTrigger = DEFAULT_DROPDOWN_OPEN_TRIGGERS;
44
47
  this.closeTrigger = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;
45
48
  this.beforeOpen = new EventEmitter();
@@ -78,7 +81,7 @@ let DropdownDirective = class DropdownDirective {
78
81
  if (this.isOpen || !this.content || this.disabled)
79
82
  return;
80
83
  this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {
81
- host: this.host === undefined ? this.referenceElement : this.host,
84
+ host: this.referenceElement || this.host,
82
85
  injector: this.injector,
83
86
  });
84
87
  this.changeDetector.markForCheck();
@@ -90,11 +93,12 @@ let DropdownDirective = class DropdownDirective {
90
93
  this.changeDetector.markForCheck();
91
94
  }
92
95
  createOverlayOptions() {
96
+ const containerClass = ['odx-dropdown-overlay', this.options?.containerClass].filter(Boolean).join(' ');
93
97
  return {
94
98
  ...DefaultDropdownOptions,
95
99
  ...this.options,
96
100
  fallbackAxisSideDirection: 'end',
97
- containerClass: [this.options?.containerClass, 'odx-dropdown-overlay'].filter(Boolean).join(' '),
101
+ containerClass,
98
102
  content: DropdownComponent,
99
103
  context: { content: this.content },
100
104
  hooks: {
@@ -106,8 +110,8 @@ let DropdownDirective = class DropdownDirective {
106
110
  };
107
111
  }
108
112
  };
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 });
113
+ DropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
114
+ DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", 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 });
111
115
  __decorate([
112
116
  Transform(coerceBooleanProperty),
113
117
  __metadata("design:type", Object)
@@ -119,7 +123,7 @@ __decorate([
119
123
  DropdownDirective = __decorate([
120
124
  CSSComponent('dropdown-host')
121
125
  ], DropdownDirective);
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownDirective, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownDirective, decorators: [{
123
127
  type: Directive,
124
128
  args: [{
125
129
  standalone: true,
@@ -182,12 +186,12 @@ let DropdownComponent = class DropdownComponent {
182
186
  this.host.close();
183
187
  }
184
188
  };
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 });
189
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
190
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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 });
187
191
  DropdownComponent = __decorate([
188
192
  CSSComponent('dropdown')
189
193
  ], DropdownComponent);
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DropdownComponent, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownComponent, decorators: [{
191
195
  type: Component,
192
196
  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" }]
193
197
  }], propDecorators: { content: [{
@@ -200,10 +204,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
200
204
  const modules = [DropdownDirective];
201
205
  class DropdownModule {
202
206
  }
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: [{
207
+ DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
208
+ DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: DropdownModule, imports: [DropdownDirective], exports: [CoreModule, DropdownDirective] });
209
+ DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownModule, imports: [CoreModule] });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownModule, decorators: [{
207
211
  type: NgModule,
208
212
  args: [{
209
213
  imports: modules,
@@ -1 +1 @@
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
+ {"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' | 'outerPadding'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 6,\n outerPadding: 12,\n};\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterViewInit, ChangeDetectorRef, Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, ViewContainerRef } 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 viewContainer = inject(ViewContainerRef);\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 | ViewContainerRef | null = this.viewContainer;\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.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 const containerClass = ['odx-dropdown-overlay', this.options?.containerClass].filter(Boolean).join(' ');\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n fallbackAxisSideDirection: 'end',\n containerClass,\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":";;;;;;;;;;;;;;;AAAM,MAAO,kBAAmB,SAAQ,KAAK,CAAA;AAG3C,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACnD;;AAJsB,kBAAI,CAAA,IAAA,GAAG,kBAAkB;;ACMrC,MAAA,sBAAsB,GAAoB;AACrD,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,YAAY,EAAE,EAAE;;;MCJL,8BAA8B,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE;AAC5D,MAAA,+BAA+B,GAAG,CAAC,WAAW,EAAE;AAahD,IAAA,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzC,IAAQ,CAAA,QAAA,GAAG,WAAW,EAAE,CAAC;QAClC,IAAU,CAAA,UAAA,GAA+B,IAAI,CAAC;QAEtC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;QAWnC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAIjB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAYnB,QAAA,IAAA,CAAA,IAAI,GAA2C,IAAI,CAAC,aAAa,CAAC;QAGlE,IAAW,CAAA,WAAA,GAAqB,8BAA8B,CAAC;QAG/D,IAAY,CAAA,YAAA,GAAqB,+BAA+B,CAAC;AAGjE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGtC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGrC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGvC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AA8D9C,KAAA;AAzGC,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;KACjC;IA2CM,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;KACrF;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;AAEM,IAAA,WAAW,CAAC,OAAqC,EAAA;QACtD,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,SAAA;AACD,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE;YAC7D,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtD,SAAA;KACF;AAEM,IAAA,MAAM,CAAC,KAAa,EAAA;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClB,SAAA;KACF;AAEM,IAAA,IAAI,CAAC,KAAa,EAAA;QACvB,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAC7I,YAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KACpC;AAEM,IAAA,KAAK,CAAC,KAAa,EAAA;QACxB,KAAK,EAAE,cAAc,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KACpC;IAEO,oBAAoB,GAAA;QAC1B,MAAM,cAAc,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxG,OAAO;AACL,YAAA,GAAG,sBAAsB;YACzB,GAAG,IAAI,CAAC,OAAO;AACf,YAAA,yBAAyB,EAAE,KAAK;YAChC,cAAc;AACd,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AAClC,YAAA,KAAK,EAAE;gBACL,UAAU,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACxC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gBACtC,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;gBAC1C,UAAU,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AACzC,aAAA;SACF,CAAC;KACH;;8GArHU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,EAAA,UAAA,CAAA,EAAA,UAAA,EAAA,CAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,SAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,6BAAA,EAAA,kBAAA,CAAA,EAAA,cAAA,EAAA,CAAA,2BAAA,EAAA,gBAAA,CAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,EAAA,WAAA,EAAA,CAAA,wBAAA,EAAA,aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EANjB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AA0BzB,UAAA,CAAA;IAAC,SAAS,CAAC,qBAAqB,CAAC;;AAET,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAExB,UAAA,CAAA;IAAC,SAAS,CAAC,qBAAqB,CAAC;;AAEP,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AA1Bf,iBAAiB,GAAA,UAAA,CAAA;IAX7B,YAAY,CAAC,eAAe,CAAC;AAWjB,CAAA,EAAA,iBAAiB,CAsH7B,CAAA;2FAtHY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,YAAY,CAAC;AACzB,oBAAA,IAAI,EAAE;AACJ,wBAAA,sBAAsB,EAAE,MAAM;AAC9B,wBAAA,sBAAsB,EAAE,QAAQ;AACjC,qBAAA;AACF,iBAAA,CAAA;8BAmBQ,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,aAAa,CAAA;gBAKb,QAAQ,EAAA,CAAA;sBADd,KAAK;uBAAC,qBAAqB,CAAA;gBAKrB,UAAU,EAAA,CAAA;sBADhB,KAAK;uBAAC,uBAAuB,CAAA;gBAIvB,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,oBAAoB,CAAA;gBAIpB,gBAAgB,EAAA,CAAA;sBADtB,KAAK;uBAAC,6BAA6B,CAAA;gBAI7B,cAAc,EAAA,CAAA;sBADpB,KAAK;uBAAC,2BAA2B,CAAA;gBAI3B,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,iBAAiB,CAAA;gBAIjB,WAAW,EAAA,CAAA;sBADjB,KAAK;uBAAC,wBAAwB,CAAA;gBAIxB,YAAY,EAAA,CAAA;sBADlB,KAAK;uBAAC,yBAAyB,CAAA;gBAIzB,UAAU,EAAA,CAAA;sBADhB,MAAM;uBAAC,uBAAuB,CAAA;gBAIxB,SAAS,EAAA,CAAA;sBADf,MAAM;uBAAC,sBAAsB,CAAA;gBAIvB,WAAW,EAAA,CAAA;sBADjB,MAAM;uBAAC,wBAAwB,CAAA;gBAIzB,UAAU,EAAA,CAAA;sBADhB,MAAM;uBAAC,uBAAuB,CAAA;;;AC3DpB,IAAA,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;AACc,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjC,IAAQ,CAAA,QAAA,GAAG,WAAW,EAAE,CAAC;QAC5B,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAS3C,KAAA;IAHW,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACnB;;8GAXU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB9B,sTAUA,EDIY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,sLAAE,oBAAoB,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,4BAAA,EAAA,mBAAA,EAAA,4BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAKjE,iBAAiB,GAAA,UAAA,CAAA;IAT7B,YAAY,CAAC,UAAU,CAAC;AASZ,CAAA,EAAA,iBAAiB,CAY7B,CAAA;2FAZY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,cAAc,EAAA,OAAA,EACf,CAAC,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,CAAC,iBAE9D,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sTAAA,EAAA,CAAA;8BAQxC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAII,eAAe,EAAA,CAAA;sBADxB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,CAAC,IAAI,CAAA;;;AEvBvC,MAAM,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;MAMvB,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EANV,OAAA,EAAA,CAAA,iBAAiB,CAItB,EAAA,OAAA,EAAA,CAAA,UAAU,EAJL,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAMrB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAFf,UAAU,CAAA,EAAA,CAAA,CAAA;2FAET,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA,CAAA;;;ACPK,SAAU,oBAAoB,CAAC,MAAe,EAAA;AAClD,IAAA,MAAM,CAAC,aAAa,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;AACjD;;ACJA;;AAEG;;;;"}
@@ -1,17 +1,18 @@
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 * as i1$1 from '@odx/angular';
4
- import { Controller, DisabledController, ReadonlyController, CoreModule, WithDisabledState } from '@odx/angular';
3
+ import { Controller, DisabledController, ReadonlyController, CoreModule } from '@odx/angular';
5
4
  import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
6
5
  import { __decorate, __metadata } from 'tslib';
7
6
  import { Validators, NgControl, FormControl } from '@angular/forms';
8
- import { CSSComponent } from '@odx/angular/internal';
9
- import { createModuleConfigTokens, isTemplateRef, isFunction, untilDestroyed, injectElement, reactiveAttributeBinding, booleanToOptionalAttributeString, reactiveClassBinding, provideModuleConfig } from '@odx/angular/utils';
7
+ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
8
+ import { createConfigTokens, isTemplateRef, untilDestroyed, injectElement, reactiveAttributeBinding, booleanToOptionalAttributeString, reactiveClassBinding } from '@odx/angular/utils';
10
9
  import { BehaviorSubject, shareReplay, map, switchMap, merge, of, distinctUntilChanged, tap, EMPTY, startWith, combineLatest, fromEvent, share, NEVER } from 'rxjs';
11
10
  import * as i1 from '@angular/common';
11
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
12
12
 
13
- const { FormFieldDefaultModuleConfig, FormFieldModuleConfig, injectFormFieldModuleConfig } = createModuleConfigTokens('FormField', '@odx/angular/components/form-field', {
13
+ const { FormFieldDefaultConfig, FormFieldConfig, injectFormFieldConfig, provideFormFieldConfig } = createConfigTokens('FormField', '@odx/angular/components/form-field', {
14
14
  errors: {},
15
+ ignoreErrors: [],
15
16
  updateOn: ['blur'],
16
17
  });
17
18
 
@@ -57,16 +58,17 @@ class FormFieldService extends Controller {
57
58
  }
58
59
  }
59
60
  FormFieldService.ID = 0;
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: [{
61
+ FormFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
62
+ FormFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldService });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldService, decorators: [{
63
64
  type: Injectable
64
65
  }] });
65
66
 
66
67
  const DEFAULT_CUSTOM_FORM_FIELD_ERROR = '@odx/angular/form-field/default-error';
68
+ const DEFAULT_ERROR_RESOLVER = () => '';
67
69
  class FormFieldErrorService {
68
70
  constructor() {
69
- this.config = injectFormFieldModuleConfig();
71
+ this.config = injectFormFieldConfig();
70
72
  this.fieldError$$ = new BehaviorSubject(null);
71
73
  this.customErrors$$ = new BehaviorSubject({});
72
74
  this.error$ = combineLatest([this.fieldError$$, this.customErrors$$]).pipe(map(([error, customErrors]) => this.resolveError(error, customErrors)), distinctUntilChanged(), shareReplay({ refCount: true }));
@@ -82,17 +84,15 @@ class FormFieldErrorService {
82
84
  this.customErrors$$.complete();
83
85
  }
84
86
  setError(errors) {
85
- if (!errors) {
86
- this.fieldError$$.next(null);
87
- }
88
- else {
89
- const [key, context] = Object.entries(errors)[0];
90
- this.fieldError$$.next({ key, context });
91
- }
87
+ this.fieldError$$.next(this.getFirstError(errors ?? {}));
92
88
  }
93
89
  registerCustomError(key, template) {
94
90
  this.customErrors$$.next({ ...this.customErrors$$.getValue(), [key || DEFAULT_CUSTOM_FORM_FIELD_ERROR]: template });
95
91
  }
92
+ getFirstError(errors) {
93
+ const [key, context] = Object.entries(errors ?? {}).find(([errorKey]) => !this.config.ignoreErrors.includes(errorKey)) ?? [];
94
+ return key ? { key, context } : null;
95
+ }
96
96
  resolveError(error, customErrors) {
97
97
  if (!error)
98
98
  return null;
@@ -100,17 +100,18 @@ class FormFieldErrorService {
100
100
  const message = customErrors[key] ?? customErrors[DEFAULT_CUSTOM_FORM_FIELD_ERROR];
101
101
  if (isTemplateRef(message)) {
102
102
  return {
103
+ key,
103
104
  message,
104
105
  context: { $implicit: context },
105
106
  };
106
107
  }
107
- const getMessage = this.config.errors[key] ?? null;
108
- return isFunction(getMessage) ? { message: getMessage(context) } : null;
108
+ const getMessage = this.config.errors[key] ?? DEFAULT_ERROR_RESOLVER;
109
+ return { key, message: getMessage(context) };
109
110
  }
110
111
  }
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: [{
112
+ FormFieldErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
113
+ FormFieldErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldErrorService });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldErrorService, decorators: [{
114
115
  type: Injectable
115
116
  }] });
116
117
 
@@ -122,12 +123,12 @@ let FormDirective = class FormDirective {
122
123
  this.reset$ = fromEvent(this.element.nativeElement, 'reset').pipe(this.takeUntilDestroyed(), share());
123
124
  }
124
125
  };
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
+ FormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
127
+ FormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: FormDirective, isStandalone: true, selector: "form[odxForm]", ngImport: i0 });
127
128
  FormDirective = __decorate([
128
129
  CSSComponent('form')
129
130
  ], FormDirective);
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormDirective, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormDirective, decorators: [{
131
132
  type: Directive,
132
133
  args: [{
133
134
  standalone: true,
@@ -137,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
137
138
 
138
139
  let FormFieldControlDirective = class FormFieldControlDirective {
139
140
  constructor() {
140
- this.config = injectFormFieldModuleConfig();
141
+ this.config = injectFormFieldConfig();
141
142
  this.ngControl = inject(NgControl, { optional: true, self: true });
142
143
  this.form = inject(FormDirective, { optional: true, skipSelf: true });
143
144
  this.onFormReset$ = this.form?.reset$ ?? EMPTY;
@@ -183,13 +184,13 @@ let FormFieldControlDirective = class FormFieldControlDirective {
183
184
  return merge(this.onFormSubmit$, this.onFormReset$).pipe(switchMap(({ type }) => (type === 'submit' ? merge(statusChanges, valueChanges).pipe(startWith(true)) : NEVER)));
184
185
  }
185
186
  };
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
+ FormFieldControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
188
+ FormFieldControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldControlDirective, isStandalone: true, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"], ngImport: i0 });
188
189
  FormFieldControlDirective = __decorate([
189
190
  CSSComponent('form-field-control'),
190
191
  __metadata("design:paramtypes", [])
191
192
  ], FormFieldControlDirective);
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldControlDirective, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldControlDirective, decorators: [{
193
194
  type: Directive,
194
195
  args: [{
195
196
  standalone: true,
@@ -207,9 +208,9 @@ class FormFieldErrorDirective {
207
208
  this.formFieldErrorService.registerCustomError(this.key, this.template);
208
209
  }
209
210
  }
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: [{
211
+ FormFieldErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
212
+ FormFieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldErrorDirective, isStandalone: true, selector: "[odxFormFieldError]", inputs: { key: ["odxFormFieldError", "key"] }, ngImport: i0 });
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
213
214
  type: Directive,
214
215
  args: [{
215
216
  standalone: true,
@@ -226,9 +227,9 @@ class FormFieldHintDirective {
226
227
  reactiveAttributeBinding(inject(FormFieldService).controlHintId$, 'id');
227
228
  }
228
229
  }
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: [{
230
+ FormFieldHintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
231
+ FormFieldHintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldHintDirective, isStandalone: true, selector: "odx-form-field-hint", host: { properties: { "class.odx-form-field__hint": "true" } }, ngImport: i0 });
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldHintDirective, decorators: [{
232
233
  type: Directive,
233
234
  args: [{
234
235
  standalone: true,
@@ -244,12 +245,12 @@ let FormFieldLabelDirective = class FormFieldLabelDirective {
244
245
  this.element = injectElement();
245
246
  }
246
247
  };
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
+ FormFieldLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
249
+ FormFieldLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldLabelDirective, isStandalone: true, selector: "odx-form-field-label", ngImport: i0 });
249
250
  FormFieldLabelDirective = __decorate([
250
251
  CSSComponent('form-field-label')
251
252
  ], FormFieldLabelDirective);
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
253
254
  type: Directive,
254
255
  args: [{
255
256
  standalone: true,
@@ -263,9 +264,9 @@ class FormFieldInfoComponent {
263
264
  this.error = null;
264
265
  }
265
266
  }
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: [{
267
+ FormFieldInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
268
+ FormFieldInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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 });
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldInfoComponent, decorators: [{
269
270
  type: Component,
270
271
  args: [{ standalone: true, selector: 'odx-form-field-info', encapsulation: ViewEncapsulation.None, imports: [CoreModule, DynamicViewDirective, FormFieldHintDirective], host: {
271
272
  '[class.odx-form-field__info]': 'true',
@@ -283,12 +284,12 @@ let FormGroupComponent = class FormGroupComponent {
283
284
  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));
284
285
  }
285
286
  };
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
+ FormGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
288
+ FormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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 });
288
289
  FormGroupComponent = __decorate([
289
290
  CSSComponent('form-group')
290
291
  ], FormGroupComponent);
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormGroupComponent, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormGroupComponent, decorators: [{
292
293
  type: Component,
293
294
  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" }]
294
295
  }], propDecorators: { formFieldErrorServices: [{
@@ -296,39 +297,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
296
297
  args: [FormFieldErrorService, { descendants: false }]
297
298
  }] } });
298
299
 
300
+ const FormFieldVariant = {
301
+ FULL: 'full',
302
+ SIMPLE: 'simple',
303
+ };
304
+
299
305
  let FormFieldComponent = class FormFieldComponent {
306
+ set hasWarning(value) {
307
+ this.hasWarning$$.next(coerceBooleanProperty(value));
308
+ }
309
+ get hasWarning() {
310
+ return this.hasWarning$$.getValue();
311
+ }
312
+ get hasLabel() {
313
+ return !!(this.labelDirective || this.label);
314
+ }
300
315
  constructor() {
316
+ this.hasWarning$$ = new BehaviorSubject(false);
301
317
  this.formGroup = inject(FormGroupComponent, { optional: true, host: true });
302
318
  this.formFieldService = inject(FormFieldService, { self: true });
303
319
  this.formFieldErrorService = inject(FormFieldErrorService, { self: true });
304
320
  this.element = injectElement();
305
321
  this.label = null;
322
+ this.variant = FormFieldVariant.FULL;
323
+ const hasWarning$ = combineLatest([this.formFieldErrorService.error$, this.hasWarning$$]).pipe(map(([hasError, hasWarning]) => hasError && hasWarning));
306
324
  reactiveClassBinding(this.formFieldService.isRequired$, 'odx-form-field--required');
307
325
  reactiveClassBinding(this.formFieldService.isDisabled$, 'is-disabled');
308
326
  reactiveClassBinding(this.formFieldService.isReadonly$, 'is-readonly');
309
327
  reactiveClassBinding(this.formFieldErrorService.hasError$, 'has-error');
310
- }
311
- get hasLabel() {
312
- return !!(this.labelDirective || this.label);
313
- }
314
- get isStandalone() {
315
- return !this.formGroup;
328
+ reactiveClassBinding(hasWarning$, 'has-warning');
316
329
  }
317
330
  };
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 });
331
+ FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
332
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldComponent, isStandalone: true, selector: "odx-form-field", inputs: { label: "label", hasWarning: "hasWarning", variant: "variant" }, 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 });
333
+ __decorate([
334
+ CSSModifier(),
335
+ __metadata("design:type", Object)
336
+ ], FormFieldComponent.prototype, "variant", void 0);
320
337
  FormFieldComponent = __decorate([
321
338
  CSSComponent('form-field'),
322
339
  __metadata("design:paramtypes", [])
323
340
  ], FormFieldComponent);
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldComponent, decorators: [{
341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldComponent, decorators: [{
325
342
  type: Component,
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" }]
343
+ 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" }]
327
344
  }], ctorParameters: function () { return []; }, propDecorators: { labelDirective: [{
328
345
  type: ContentChild,
329
346
  args: [FormFieldLabelDirective]
330
347
  }], label: [{
331
348
  type: Input
349
+ }], hasWarning: [{
350
+ type: Input
351
+ }], variant: [{
352
+ type: Input
332
353
  }] } });
333
354
 
334
355
  const modules = [
@@ -341,15 +362,9 @@ const modules = [
341
362
  FormFieldLabelDirective,
342
363
  ];
343
364
  class FormFieldModule {
344
- static forRoot(config) {
345
- return {
346
- ngModule: FormFieldModule,
347
- providers: [provideModuleConfig(FormFieldModuleConfig, config)],
348
- };
349
- }
350
365
  }
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,
366
+ FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
367
+ FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
353
368
  FormGroupComponent,
354
369
  FormDirective,
355
370
  FormFieldControlDirective,
@@ -362,9 +377,9 @@ FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
362
377
  FormFieldErrorDirective,
363
378
  FormFieldHintDirective,
364
379
  FormFieldLabelDirective] });
365
- FormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
380
+ FormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
366
381
  FormGroupComponent, CoreModule] });
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FormFieldModule, decorators: [{
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldModule, decorators: [{
368
383
  type: NgModule,
369
384
  args: [{
370
385
  imports: modules,
@@ -376,5 +391,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
376
391
  * Generated bundle index. Do not edit.
377
392
  */
378
393
 
379
- export { FormDirective, FormFieldComponent, FormFieldControlDirective, FormFieldErrorDirective, FormFieldErrorService, FormFieldHintDirective, FormFieldInfoComponent, FormFieldLabelDirective, FormFieldModule, FormGroupComponent };
394
+ export { FormDirective, FormFieldComponent, FormFieldConfig, FormFieldControlDirective, FormFieldDefaultConfig, FormFieldErrorDirective, FormFieldErrorService, FormFieldHintDirective, FormFieldInfoComponent, FormFieldLabelDirective, FormFieldModule, FormFieldVariant, FormGroupComponent, injectFormFieldConfig, provideFormFieldConfig };
380
395
  //# sourceMappingURL=odx-angular-components-form-field.mjs.map