@odx/angular 1.0.0-rc.12 → 1.0.0-rc.14

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 (347) hide show
  1. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +1 -1
  2. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +1 -1
  3. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  4. package/components/area-header/models/area-header-size.d.ts +1 -1
  5. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  6. package/components/avatar/lib/models/avatar-variant.d.ts +1 -1
  7. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  8. package/components/bar/lib/models/bar-button-variant.d.ts +1 -1
  9. package/components/button/lib/models/button-size.d.ts +1 -1
  10. package/components/button/lib/models/button-variant.d.ts +1 -1
  11. package/components/chip/lib/models/chip-size.d.ts +1 -1
  12. package/components/chip/lib/models/chip-variant.d.ts +1 -1
  13. package/components/circular-progress/lib/models/circular-progress-size.d.ts +1 -1
  14. package/components/dropdown/lib/models/dropdown-options.d.ts +1 -1
  15. package/components/form-field/lib/form-field.component.d.ts +1 -2
  16. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  17. package/components/icon/lib/models/icon-size.d.ts +1 -1
  18. package/components/inline-message/lib/models/inline-message-variant.d.ts +1 -1
  19. package/components/logo/models/logo-size.d.ts +1 -1
  20. package/components/logo/models/logo-variant.d.ts +1 -1
  21. package/components/modal/lib/modal.config.d.ts +1 -1
  22. package/components/modal/lib/models/basic-modal-options.d.ts +1 -1
  23. package/components/modal/lib/models/modal-hero-variant.d.ts +1 -1
  24. package/components/modal/lib/models/modal-options.d.ts +1 -1
  25. package/components/modal/lib/models/modal-size.d.ts +1 -1
  26. package/components/modal/lib/models/modal-type.d.ts +1 -1
  27. package/components/modal/lib/models/modal-variant.d.ts +1 -1
  28. package/components/select/lib/abstract/select-control-option.d.ts +2 -0
  29. package/components/select/lib/abstract/select-control.d.ts +1 -0
  30. package/components/select/lib/components/option/option.component.d.ts +6 -1
  31. package/components/select/lib/select.component.d.ts +7 -5
  32. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +1 -1
  33. package/components/toast/lib/models/toast-variant.d.ts +1 -1
  34. package/components/toast/lib/toast.config.d.ts +1 -1
  35. package/components/tooltip/lib/models/tooltip-size.d.ts +1 -1
  36. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -1
  37. package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
  38. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  39. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  40. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  41. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  42. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +11 -11
  43. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  44. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  45. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  46. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +18 -18
  47. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  48. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  49. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  50. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  51. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  52. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  53. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +10 -10
  54. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  55. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  56. package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
  57. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  58. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  59. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  60. package/esm2020/components/action-group/action-group.component.mjs +3 -3
  61. package/esm2020/components/area-header/area-header.component.mjs +6 -5
  62. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  63. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  64. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  65. package/esm2020/components/avatar/lib/avatar.component.mjs +8 -10
  66. package/esm2020/components/badge/lib/badge.component.mjs +6 -5
  67. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  68. package/esm2020/components/bar/lib/bar.component.mjs +3 -3
  69. package/esm2020/components/bar/lib/bar.module.mjs +4 -4
  70. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +6 -7
  71. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  72. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  73. package/esm2020/components/button/lib/button.component.mjs +8 -10
  74. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  75. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  76. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  77. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  78. package/esm2020/components/chip/lib/chip.component.mjs +3 -3
  79. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +3 -3
  80. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  81. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  82. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  83. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  84. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  85. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +3 -3
  86. package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
  87. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +2 -2
  88. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  89. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  90. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  91. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  92. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  93. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  94. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  95. package/esm2020/components/form-field/lib/form-field.component.mjs +13 -14
  96. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  97. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  98. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  99. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  100. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  101. package/esm2020/components/header/lib/header.component.mjs +3 -3
  102. package/esm2020/components/header/lib/header.module.mjs +4 -4
  103. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  104. package/esm2020/components/inline-message/lib/inline-message.component.mjs +6 -7
  105. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +3 -3
  106. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +3 -3
  107. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +5 -5
  108. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +4 -4
  109. package/esm2020/components/link/link.directive.mjs +3 -3
  110. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  111. package/esm2020/components/list/lib/list.component.mjs +3 -3
  112. package/esm2020/components/list/lib/list.module.mjs +4 -4
  113. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  114. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
  115. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  116. package/esm2020/components/logo/logo.directive.mjs +8 -6
  117. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  118. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
  119. package/esm2020/components/main-menu/lib/main-menu.component.mjs +5 -5
  120. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  121. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  122. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  123. package/esm2020/components/menu/lib/menu.component.mjs +3 -3
  124. package/esm2020/components/menu/lib/menu.directive.mjs +3 -3
  125. package/esm2020/components/menu/lib/menu.module.mjs +4 -4
  126. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  127. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  128. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
  129. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
  130. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  131. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  132. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  133. package/esm2020/components/modal/lib/modal.component.mjs +3 -3
  134. package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
  135. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  136. package/esm2020/components/modal/lib/modal.service.mjs +3 -3
  137. package/esm2020/components/modal/lib/models/modal-ref.mjs +11 -11
  138. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  139. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  140. package/esm2020/components/radio-group/lib/radio-group.component.mjs +3 -3
  141. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  142. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +3 -3
  143. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  144. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  145. package/esm2020/components/select/lib/abstract/select-control-option.mjs +1 -1
  146. package/esm2020/components/select/lib/abstract/select-control.mjs +1 -1
  147. package/esm2020/components/select/lib/components/option/option.component.mjs +36 -17
  148. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
  149. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  150. package/esm2020/components/select/lib/select.component.mjs +51 -24
  151. package/esm2020/components/select/lib/select.module.mjs +4 -4
  152. package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
  153. package/esm2020/components/spinbox/lib/spinbox.component.mjs +7 -7
  154. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  155. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  156. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  157. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
  158. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +3 -3
  159. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  160. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  161. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +7 -6
  162. package/esm2020/components/toast/lib/toast.module.mjs +4 -4
  163. package/esm2020/components/toast/lib/toast.service.mjs +3 -3
  164. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  165. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  166. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  167. package/esm2020/components/tooltip/lib/tooltip.component.mjs +3 -3
  168. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +10 -10
  169. package/esm2020/internal/decorators/css-component.mjs +3 -6
  170. package/esm2020/internal/decorators/css-modifier.mjs +14 -16
  171. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  172. package/esm2020/internal/helpers/index.mjs +2 -1
  173. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +10 -8
  174. package/esm2020/lib/controllers/controller.mjs +3 -3
  175. package/esm2020/lib/controllers/disabled.controller.mjs +26 -20
  176. package/esm2020/lib/controllers/readonly.controller.mjs +30 -21
  177. package/esm2020/lib/core.module.mjs +9 -8
  178. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  179. package/esm2020/lib/directives/index.mjs +1 -2
  180. package/esm2020/lib/directives/with-disabled-state.directive.mjs +9 -9
  181. package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
  182. package/esm2020/lib/services/window-ref.mjs +8 -5
  183. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  184. package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
  185. package/fesm2015/odx-angular-cdk-a11y.mjs +13 -13
  186. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  187. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +11 -11
  188. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  189. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +6 -6
  190. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +21 -21
  191. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  192. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +9 -9
  193. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  194. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +16 -16
  195. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  196. package/fesm2015/odx-angular-components-accordion.mjs +13 -13
  197. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  198. package/fesm2015/odx-angular-components-area-header.mjs +15 -14
  199. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  200. package/fesm2015/odx-angular-components-avatar.mjs +7 -9
  201. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  202. package/fesm2015/odx-angular-components-badge.mjs +8 -7
  203. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  204. package/fesm2015/odx-angular-components-bar.mjs +15 -16
  205. package/fesm2015/odx-angular-components-bar.mjs.map +1 -1
  206. package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
  207. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  208. package/fesm2015/odx-angular-components-button.mjs +7 -9
  209. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  210. package/fesm2015/odx-angular-components-checkbox.mjs +10 -10
  211. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  212. package/fesm2015/odx-angular-components-circular-progress.mjs +3 -3
  213. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  214. package/fesm2015/odx-angular-components-dropdown.mjs +11 -11
  215. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  216. package/fesm2015/odx-angular-components-form-field.mjs +42 -43
  217. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  218. package/fesm2015/odx-angular-components-header.mjs +13 -13
  219. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  220. package/fesm2015/odx-angular-components-inline-message.mjs +5 -6
  221. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  222. package/fesm2015/odx-angular-components-launch-tile.mjs +14 -14
  223. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -1
  224. package/fesm2015/odx-angular-components-link.mjs +3 -3
  225. package/fesm2015/odx-angular-components-list.mjs +10 -10
  226. package/fesm2015/odx-angular-components-loading-spinner.mjs +10 -10
  227. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  228. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  229. package/fesm2015/odx-angular-components-main-menu.mjs +17 -17
  230. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  231. package/fesm2015/odx-angular-components-menu.mjs +13 -13
  232. package/fesm2015/odx-angular-components-modal.mjs +44 -44
  233. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  234. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  235. package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
  236. package/fesm2015/odx-angular-components-rail-navigation.mjs +10 -10
  237. package/fesm2015/odx-angular-components-select.mjs +92 -54
  238. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  239. package/fesm2015/odx-angular-components-slider.mjs +3 -3
  240. package/fesm2015/odx-angular-components-spinbox.mjs +7 -7
  241. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  242. package/fesm2015/odx-angular-components-switch.mjs +10 -10
  243. package/fesm2015/odx-angular-components-tab-bar.mjs +10 -10
  244. package/fesm2015/odx-angular-components-toast.mjs +16 -15
  245. package/fesm2015/odx-angular-components-toast.mjs.map +1 -1
  246. package/fesm2015/odx-angular-components-toggle-button-group.mjs +10 -10
  247. package/fesm2015/odx-angular-components-tooltip.mjs +12 -12
  248. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  249. package/fesm2015/odx-angular-internal.mjs +45 -47
  250. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  251. package/fesm2015/odx-angular-utils.mjs +5 -5
  252. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  253. package/fesm2015/odx-angular.mjs +90 -102
  254. package/fesm2015/odx-angular.mjs.map +1 -1
  255. package/fesm2020/odx-angular-cdk-a11y.mjs +13 -13
  256. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  257. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +11 -11
  258. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  259. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +6 -6
  260. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +21 -21
  261. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  262. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +9 -9
  263. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  264. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +16 -16
  265. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  266. package/fesm2020/odx-angular-components-accordion.mjs +13 -13
  267. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  268. package/fesm2020/odx-angular-components-area-header.mjs +15 -14
  269. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  270. package/fesm2020/odx-angular-components-avatar.mjs +7 -9
  271. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  272. package/fesm2020/odx-angular-components-badge.mjs +8 -7
  273. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  274. package/fesm2020/odx-angular-components-bar.mjs +15 -16
  275. package/fesm2020/odx-angular-components-bar.mjs.map +1 -1
  276. package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
  277. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  278. package/fesm2020/odx-angular-components-button.mjs +7 -9
  279. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  280. package/fesm2020/odx-angular-components-checkbox.mjs +10 -10
  281. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  282. package/fesm2020/odx-angular-components-circular-progress.mjs +3 -3
  283. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  284. package/fesm2020/odx-angular-components-dropdown.mjs +11 -11
  285. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  286. package/fesm2020/odx-angular-components-form-field.mjs +42 -43
  287. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  288. package/fesm2020/odx-angular-components-header.mjs +13 -13
  289. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  290. package/fesm2020/odx-angular-components-inline-message.mjs +5 -6
  291. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  292. package/fesm2020/odx-angular-components-launch-tile.mjs +14 -14
  293. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -1
  294. package/fesm2020/odx-angular-components-link.mjs +3 -3
  295. package/fesm2020/odx-angular-components-list.mjs +10 -10
  296. package/fesm2020/odx-angular-components-loading-spinner.mjs +10 -10
  297. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  298. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  299. package/fesm2020/odx-angular-components-main-menu.mjs +17 -17
  300. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  301. package/fesm2020/odx-angular-components-menu.mjs +13 -13
  302. package/fesm2020/odx-angular-components-modal.mjs +44 -44
  303. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  304. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  305. package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
  306. package/fesm2020/odx-angular-components-rail-navigation.mjs +10 -10
  307. package/fesm2020/odx-angular-components-select.mjs +95 -51
  308. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  309. package/fesm2020/odx-angular-components-slider.mjs +3 -3
  310. package/fesm2020/odx-angular-components-spinbox.mjs +6 -6
  311. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  312. package/fesm2020/odx-angular-components-switch.mjs +10 -10
  313. package/fesm2020/odx-angular-components-tab-bar.mjs +10 -10
  314. package/fesm2020/odx-angular-components-toast.mjs +16 -15
  315. package/fesm2020/odx-angular-components-toast.mjs.map +1 -1
  316. package/fesm2020/odx-angular-components-toggle-button-group.mjs +10 -10
  317. package/fesm2020/odx-angular-components-tooltip.mjs +12 -12
  318. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  319. package/fesm2020/odx-angular-internal.mjs +42 -43
  320. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  321. package/fesm2020/odx-angular-utils.mjs +5 -5
  322. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  323. package/fesm2020/odx-angular.mjs +86 -100
  324. package/fesm2020/odx-angular.mjs.map +1 -1
  325. package/internal/decorators/css-component.d.ts +1 -2
  326. package/internal/decorators/css-modifier.d.ts +0 -1
  327. package/internal/helpers/decorator-property-name.d.ts +1 -0
  328. package/internal/helpers/index.d.ts +1 -0
  329. package/lib/controllers/disabled.controller.d.ts +5 -2
  330. package/lib/controllers/readonly.controller.d.ts +1 -0
  331. package/lib/core.module.d.ts +3 -3
  332. package/lib/directives/index.d.ts +0 -1
  333. package/lib/services/window-ref.d.ts +1 -0
  334. package/lib/tokens/identity-matcher.d.ts +1 -1
  335. package/lib/tokens/string-search-handler.d.ts +1 -1
  336. package/lib/tokens/stringify.d.ts +1 -1
  337. package/package.json +3 -2
  338. package/utils/lib/decorators/transform.d.ts +1 -1
  339. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  340. package/utils/lib/helpers/provide-module-config.d.ts +2 -2
  341. package/utils/lib/helpers/queue.d.ts +2 -2
  342. package/utils/lib/types/axis.d.ts +1 -1
  343. package/utils/lib/types/get-properties.d.ts +2 -2
  344. package/utils/lib/types/position.d.ts +1 -1
  345. package/utils/lib/types/side.d.ts +1 -1
  346. package/esm2020/lib/directives/let.directive.mjs +0 -36
  347. package/lib/directives/let.directive.d.ts +0 -17
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectorRef, Directive, InjectionToken, forwardRef, Input, EventEmitter, Output, NgModule, reflectComponentType, Injectable } from '@angular/core';
3
- import { pluckFromArray, isPresent, Transform, deferFn, booleanToOptionalAttributeString } from '@odx/angular/utils';
2
+ import { inject, ChangeDetectorRef, Directive, InjectionToken, Optional, Host, forwardRef, Input, ElementRef, EventEmitter, Output, NgModule, reflectComponentType, Injectable } from '@angular/core';
3
+ import { pluckFromArray, isPresent, deferFn, booleanToOptionalAttributeString } from '@odx/angular/utils';
4
4
  import { merge, EMPTY, tap, Subject, shareReplay, map, distinctUntilChanged, startWith, filter, debounceTime } from 'rxjs';
5
- import { __decorate, __metadata } from 'tslib';
6
5
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
6
  import { CommonModule, DOCUMENT } from '@angular/common';
7
+ import { LetModule } from '@ngrx/component';
8
8
  import { Title } from '@angular/platform-browser';
9
9
  import { Router, NavigationEnd } from '@angular/router';
10
10
  import { fromEvents } from '@odx/angular/rxjs';
@@ -38,31 +38,44 @@ class Controller {
38
38
  this.change$$.next();
39
39
  }
40
40
  }
41
- Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
- Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: Controller, usesOnChanges: true, ngImport: i0 });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: Controller, decorators: [{
41
+ Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
+ Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: Controller, usesOnChanges: true, ngImport: i0 });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Controller, decorators: [{
44
44
  type: Directive
45
45
  }] });
46
46
 
47
47
  const DISABLED_CONTROLLER = new InjectionToken('@odx/angular::DisabledWatchedController');
48
- const DISABLED_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::DisabledController', {
49
- factory: () => new DisabledController(),
50
- });
48
+ const DISABLED_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::DisabledController');
51
49
  class DisabledController extends Controller {
52
50
  constructor() {
53
51
  super(...arguments);
52
+ this.parentController = inject(DISABLED_CONTROLLER, { optional: true, skipSelf: true });
53
+ this.isDisabled = false;
54
54
  this.isDisabled$ = this.change$.pipe(map(() => this.disabled), distinctUntilChanged(), shareReplay({ refCount: true }));
55
- this.disabled = false;
55
+ }
56
+ set disabled(value) {
57
+ this.isDisabled = coerceBooleanProperty(value);
58
+ }
59
+ get disabled() {
60
+ var _a;
61
+ return this.isDisabled || !!((_a = this.parentController) === null || _a === void 0 ? void 0 : _a.disabled);
56
62
  }
57
63
  static inject() {
58
64
  return inject(DISABLED_CONTROLLER, { optional: true });
59
65
  }
60
66
  static connect() {
61
- return {
62
- provide: DISABLED_CONTROLLER,
63
- useFactory: Controller.setup,
64
- deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],
65
- };
67
+ return [
68
+ {
69
+ provide: DISABLED_INTERNAL_CONTROLLER,
70
+ useFactory: (hostController) => hostController !== null && hostController !== void 0 ? hostController : new DisabledController(),
71
+ deps: [[new Optional(), new Host(), DisabledController]],
72
+ },
73
+ {
74
+ provide: DISABLED_CONTROLLER,
75
+ useFactory: Controller.setup,
76
+ deps: [[new Optional(), new Host(), DISABLED_INTERNAL_CONTROLLER], ChangeDetectorRef],
77
+ },
78
+ ];
66
79
  }
67
80
  setDisabledState(state) {
68
81
  if (this.disabled !== state) {
@@ -71,18 +84,14 @@ class DisabledController extends Controller {
71
84
  }
72
85
  }
73
86
  }
74
- DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
75
- DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
87
+ DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
88
+ DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
76
89
  {
77
90
  provide: DISABLED_INTERNAL_CONTROLLER,
78
91
  useExisting: forwardRef(() => DisabledController),
79
92
  },
80
93
  ], usesInheritance: true, ngImport: i0 });
81
- __decorate([
82
- Transform(coerceBooleanProperty),
83
- __metadata("design:type", Object)
84
- ], DisabledController.prototype, "disabled", void 0);
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DisabledController, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DisabledController, decorators: [{
86
95
  type: Directive,
87
96
  args: [{
88
97
  standalone: true,
@@ -104,18 +113,8 @@ const ELEMENTS_WITH_READONLY_ATTRIBUTE = {
104
113
  select: true,
105
114
  };
106
115
  const READONLY_CONTROLLER = new InjectionToken('@odx/angular::ReadonlyWatchedController');
107
- const READONLY_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::ReadonlyController', {
108
- factory: () => new ReadonlyController(null),
109
- });
116
+ const READONLY_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::ReadonlyController');
110
117
  class ReadonlyController extends Controller {
111
- constructor(element) {
112
- var _a;
113
- super();
114
- this.isReadonly = false;
115
- this.hasReadonlyAttribute = false;
116
- this.isReadonly$ = this.change$.pipe(map(() => this.isReadonly), distinctUntilChanged(), shareReplay({ refCount: true }));
117
- this.nodeName = (_a = element === null || element === void 0 ? void 0 : element.nativeElement.nodeName.toLowerCase()) !== null && _a !== void 0 ? _a : '';
118
- }
119
118
  set readonly(value) {
120
119
  const coercedValue = coerceBooleanProperty(value);
121
120
  if (this.isReadonly !== coercedValue) {
@@ -124,27 +123,47 @@ class ReadonlyController extends Controller {
124
123
  }
125
124
  }
126
125
  get readonly() {
127
- return this.isReadonly;
126
+ var _a;
127
+ return this.isReadonly || !!((_a = this.parentController) === null || _a === void 0 ? void 0 : _a.readonly);
128
+ }
129
+ constructor(element) {
130
+ var _a;
131
+ super();
132
+ this.parentController = inject(READONLY_CONTROLLER, { optional: true, skipSelf: true });
133
+ this.isReadonly = false;
134
+ this.hasReadonlyAttribute = false;
135
+ this.isReadonly$ = this.change$.pipe(map(() => this.isReadonly), distinctUntilChanged(), shareReplay({ refCount: true }));
136
+ this.nodeName = (_a = element === null || element === void 0 ? void 0 : element.nativeElement.nodeName.toLowerCase()) !== null && _a !== void 0 ? _a : '';
128
137
  }
129
138
  static inject() {
130
139
  return inject(READONLY_CONTROLLER, { optional: true });
131
140
  }
132
141
  static connect() {
133
- return {
134
- provide: READONLY_CONTROLLER,
135
- useFactory: Controller.setup,
136
- deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],
137
- };
142
+ return [
143
+ {
144
+ provide: READONLY_INTERNAL_CONTROLLER,
145
+ useFactory: (hostController, elementRef) => hostController !== null && hostController !== void 0 ? hostController : new ReadonlyController(elementRef),
146
+ deps: [
147
+ [new Optional(), new Host(), ReadonlyController],
148
+ [new Optional(), ElementRef],
149
+ ],
150
+ },
151
+ {
152
+ provide: READONLY_CONTROLLER,
153
+ useFactory: Controller.setup,
154
+ deps: [[new Optional(), new Host(), READONLY_INTERNAL_CONTROLLER], ChangeDetectorRef],
155
+ },
156
+ ];
138
157
  }
139
158
  }
140
- ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
141
- ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
159
+ ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
160
+ ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
142
161
  {
143
162
  provide: READONLY_INTERNAL_CONTROLLER,
144
163
  useExisting: forwardRef(() => ReadonlyController),
145
164
  },
146
165
  ], usesInheritance: true, ngImport: i0 });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ReadonlyController, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ReadonlyController, decorators: [{
148
167
  type: Directive,
149
168
  args: [{
150
169
  standalone: true,
@@ -207,9 +226,9 @@ class ClickOutsideDirective {
207
226
  });
208
227
  }
209
228
  }
210
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
211
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ClickOutsideDirective, decorators: [{
229
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
230
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
213
232
  type: Directive,
214
233
  args: [{
215
234
  standalone: true,
@@ -221,40 +240,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
221
240
  type: Output
222
241
  }] } });
223
242
 
224
- class LetContext {
225
- constructor(directive) {
226
- this.$implicit = directive.value;
227
- this.odxLet = directive.value;
228
- }
229
- }
230
- class LetDirective {
231
- constructor(viewContainer, templateRef) {
232
- this.viewRef = viewContainer.createEmbeddedView(templateRef, new LetContext(this));
233
- }
234
- static ngTemplateContextGuard(_dir, _ctx) {
235
- return true;
236
- }
237
- ngOnChanges(changes) {
238
- if (changes.value) {
239
- const value = changes.value.currentValue;
240
- this.viewRef.context.$implicit = value;
241
- this.viewRef.context.odxLet = value;
242
- }
243
- }
244
- }
245
- LetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LetDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
246
- LetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: LetDirective, isStandalone: true, selector: "ng-template[odxLet]", inputs: { value: ["odxLet", "value"] }, usesOnChanges: true, ngImport: i0 });
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LetDirective, decorators: [{
248
- type: Directive,
249
- args: [{
250
- standalone: true,
251
- selector: 'ng-template[odxLet]',
252
- }]
253
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { value: [{
254
- type: Input,
255
- args: ['odxLet']
256
- }] } });
257
-
258
243
  const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
259
244
  button: true,
260
245
  fieldset: true,
@@ -265,12 +250,6 @@ const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
265
250
  textarea: true,
266
251
  };
267
252
  class WithDisabledState {
268
- constructor(element) {
269
- var _a;
270
- this.disabledController = DisabledController.inject();
271
- this.hasDisabledAttribute = ELEMENTS_WITH_DISABLED_ATTRIBUTE[(_a = element.nativeElement.nodeName.toLowerCase()) !== null && _a !== void 0 ? _a : ''];
272
- this.hasAriaRole = element.nativeElement.hasAttribute('role');
273
- }
274
253
  get isDisabled() {
275
254
  var _a;
276
255
  return !!((_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled);
@@ -278,10 +257,16 @@ class WithDisabledState {
278
257
  get ariaDisabled() {
279
258
  return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);
280
259
  }
260
+ constructor(element) {
261
+ var _a;
262
+ this.disabledController = DisabledController.inject();
263
+ this.hasDisabledAttribute = !!ELEMENTS_WITH_DISABLED_ATTRIBUTE[(_a = element.nativeElement.nodeName.toLowerCase()) !== null && _a !== void 0 ? _a : ''];
264
+ this.hasAriaRole = element.nativeElement.hasAttribute('role');
265
+ }
281
266
  }
282
- WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
283
- WithDisabledState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 });
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithDisabledState, decorators: [{
267
+ WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
268
+ WithDisabledState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 });
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithDisabledState, decorators: [{
285
270
  type: Directive,
286
271
  args: [{
287
272
  standalone: true,
@@ -303,9 +288,9 @@ class WithTabIndex {
303
288
  return !!((_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled);
304
289
  }
305
290
  }
306
- WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
307
- WithTabIndex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: WithTabIndex, isStandalone: true, host: { properties: { "attr.tabindex": "isDisabled ? -1 : 0" } }, ngImport: i0 });
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithTabIndex, decorators: [{
291
+ WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
292
+ WithTabIndex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: WithTabIndex, isStandalone: true, host: { properties: { "attr.tabindex": "isDisabled ? -1 : 0" } }, ngImport: i0 });
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithTabIndex, decorators: [{
309
294
  type: Directive,
310
295
  args: [{
311
296
  standalone: true,
@@ -316,17 +301,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
316
301
  }] });
317
302
 
318
303
  const controllers = [DisabledController, ReadonlyController];
319
- const modules = [ClickOutsideDirective, LetDirective];
304
+ const modules = [ClickOutsideDirective];
320
305
  class CoreModule {
321
306
  }
322
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
323
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective, LetDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective, LetDirective] });
324
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, imports: [CommonModule] });
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, decorators: [{
307
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
308
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, LetModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
309
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, imports: [CommonModule, LetModule] });
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, decorators: [{
326
311
  type: NgModule,
327
312
  args: [{
328
313
  imports: [...controllers, ...modules],
329
- exports: [CommonModule, ...controllers, ...modules],
314
+ exports: [CommonModule, LetModule, ...controllers, ...modules],
330
315
  }]
331
316
  }] });
332
317
 
@@ -335,12 +320,15 @@ class WindowRef {
335
320
  var _a, _b, _c;
336
321
  this.title = inject(Title);
337
322
  this.nativeWindow = (_a = inject(DOCUMENT).defaultView) !== null && _a !== void 0 ? _a : window;
338
- this.isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(startWith(null), map(() => this.nativeWindow.navigator.onLine), distinctUntilChanged(), shareReplay({ refCount: true }));
323
+ this.isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(startWith(null), map(() => this.isOnline()), distinctUntilChanged(), shareReplay({ refCount: true }));
339
324
  this.pageTitle$ = ((_c = (_b = inject(Router, { optional: true })) === null || _b === void 0 ? void 0 : _b.events) !== null && _c !== void 0 ? _c : EMPTY).pipe(filter((event) => event instanceof NavigationEnd), startWith(null), debounceTime(0), map(() => this.title.getTitle()), shareReplay({ refCount: true }));
340
325
  }
341
326
  get location() {
342
327
  return this.nativeWindow.location;
343
328
  }
329
+ isOnline() {
330
+ return this.nativeWindow.navigator.onLine;
331
+ }
344
332
  getLanguage() {
345
333
  return this.nativeWindow.navigator.language;
346
334
  }
@@ -355,9 +343,9 @@ class WindowRef {
355
343
  return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;
356
344
  }
357
345
  }
358
- WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
359
- WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WindowRef, providedIn: 'root' });
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WindowRef, decorators: [{
346
+ WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
347
+ WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WindowRef, providedIn: 'root' });
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WindowRef, decorators: [{
361
349
  type: Injectable,
362
350
  args: [{
363
351
  providedIn: 'root',
@@ -388,5 +376,5 @@ const ODX_STRINGIFY = new InjectionToken('@odx/angular::Stringify', {
388
376
  * Generated bundle index. Do not edit.
389
377
  */
390
378
 
391
- export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DISABLED_INTERNAL_CONTROLLER, DisabledController, LetContext, LetDirective, ODX_IDENTITY_MATCHER, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, READONLY_CONTROLLER, READONLY_INTERNAL_CONTROLLER, ReadonlyController, WindowRef, WithDisabledState, WithTabIndex, detectControllerChanges };
379
+ export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DISABLED_INTERNAL_CONTROLLER, DisabledController, ODX_IDENTITY_MATCHER, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, READONLY_CONTROLLER, READONLY_INTERNAL_CONTROLLER, ReadonlyController, WindowRef, WithDisabledState, WithTabIndex, detectControllerChanges };
392
380
  //# sourceMappingURL=odx-angular.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/directives/let.directive.ts","../../../../libs/angular/src/lib/directives/with-disabled-state.directive.ts","../../../../libs/angular/src/lib/directives/with-tabindex.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/lib/tokens/identity-matcher.ts","../../../../libs/angular/src/lib/tokens/string-search-handler.ts","../../../../libs/angular/src/lib/tokens/stringify.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { EMPTY, merge, Observable, shareReplay, Subject, tap } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return changes$.length > 0 ? merge(...changes$) : EMPTY;\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(tap(() => changeDetector.markForCheck()));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller])\n .pipe(tap(() => changeDetector.markForCheck()))\n .subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { Transform } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nexport const DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(),\n});\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.disabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Transform(coerceBooleanProperty)\n @Input()\n public disabled = false;\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n if (this.disabled !== state) {\n this.disabled = state;\n this.ngOnChanges();\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nexport const READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nexport const READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController', {\n factory: () => new ReadonlyController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n public static ngAcceptInputType_readonly: BooleanInput;\n\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set readonly(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isReadonly !== coercedValue) {\n this.isReadonly = coercedValue;\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n }\n public get readonly(): boolean {\n return this.isReadonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { deferFn, NgChanges } from '@odx/angular/utils';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: () => void;\n\n @Input()\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<MouseEvent>();\n\n constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n this.odxClickOutsideActive = true;\n }\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges({ odxClickOutsideActive: clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n if (clickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n deferFn(() => {\n this.listener ??= this.renderer.listen('document', 'click', (event) => {\n if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n this.odxClickOutside.emit(event);\n }\n });\n });\n }\n}\n","import { Directive, EmbeddedViewRef, Input, OnChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { NgChanges } from '@odx/angular/utils';\n\nexport class LetContext<T> {\n public $implicit: T;\n public odxLet: T;\n\n constructor(directive: LetDirective<T>) {\n this.$implicit = directive.value;\n this.odxLet = directive.value;\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'ng-template[odxLet]',\n})\nexport class LetDirective<T> implements OnChanges {\n private readonly viewRef: EmbeddedViewRef<LetContext<T>>;\n\n @Input('odxLet')\n public value!: T;\n\n constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n this.viewRef = viewContainer.createEmbeddedView(templateRef, new LetContext<T>(this));\n }\n\n public static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: unknown): _ctx is LetContext<T> {\n return true;\n }\n\n public ngOnChanges(changes: NgChanges<LetDirective<unknown>>) {\n if (changes.value) {\n const value = changes.value.currentValue as T;\n this.viewRef.context.$implicit = value;\n this.viewRef.context.odxLet = value;\n }\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { DisabledController } from '../controllers';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\n@Directive({\n standalone: true,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute && isDisabled || null',\n },\n})\nexport class WithDisabledState {\n protected readonly hasAriaRole: boolean;\n protected readonly hasDisabledAttribute: boolean;\n protected readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);\n }\n\n constructor(element: ElementRef<HTMLElement>) {\n this.hasDisabledAttribute = ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];\n this.hasAriaRole = element.nativeElement.hasAttribute('role');\n }\n}\n","import { Directive } from '@angular/core';\nimport { DisabledController } from '../controllers';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'isDisabled ? -1 : 0',\n },\n})\nexport class WithTabIndex {\n private readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective, LetDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective, LetDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, reflectComponentType, Type } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { debounceTime, distinctUntilChanged, EMPTY, filter, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n private readonly title = inject(Title);\n public readonly nativeWindow = inject(DOCUMENT).defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.nativeWindow.navigator.onLine),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n public readonly pageTitle$ = (inject(Router, { optional: true })?.events ?? EMPTY).pipe(\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n debounceTime(0),\n map(() => this.title.getTitle()),\n shareReplay({ refCount: true })\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public getLanguage(): string {\n return this.nativeWindow.navigator.language;\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n\n public queryByComponent<T>(type: Type<T>): HTMLElement | null {\n const componentType = reflectComponentType(type);\n\n return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type IdentityMatcher<T> = (item1: T, item2: T) => boolean;\n\nconst ODX_DEFAULT_IDENTITY_MATCHER: IdentityMatcher<unknown> = (item1, item2) => item1 === item2;\n\nexport const ODX_IDENTITY_MATCHER = new InjectionToken<IdentityMatcher<unknown>>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_IDENTITY_MATCHER,\n});\n","import { InjectionToken } from '@angular/core';\n\nexport type StringSearchHandler = (item: string, query: string) => boolean;\n\nconst ODX_DEFAULT_STRING_SEARCH_HANDLER: StringSearchHandler = (item, query) => {\n return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n};\n\nexport const ODX_STRING_SEARCH_HANDLER = new InjectionToken<StringSearchHandler>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,\n});\n","import { InjectionToken } from '@angular/core';\nimport { isPresent } from '@odx/angular/utils';\n\nexport type StringifyFn<T> = (item: T) => string;\n\nconst ODX_DEFAULT_STRINGIFY: StringifyFn<unknown> = (item) => (isPresent(item) ? String(item) : '');\n\nexport const ODX_STRINGIFY = new InjectionToken<StringifyFn<unknown>>('@odx/angular::Stringify', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRINGIFY,\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.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/directives/with-disabled-state.directive.ts","../../../../libs/angular/src/lib/directives/with-tabindex.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/lib/tokens/identity-matcher.ts","../../../../libs/angular/src/lib/tokens/string-search-handler.ts","../../../../libs/angular/src/lib/tokens/stringify.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { EMPTY, merge, Observable, shareReplay, Subject, tap } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return changes$.length > 0 ? merge(...changes$) : EMPTY;\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(tap(() => changeDetector.markForCheck()));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller])\n .pipe(tap(() => changeDetector.markForCheck()))\n .subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, forwardRef, Host, inject, InjectionToken, Input, Optional, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nexport const DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController');\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n private readonly parentController = inject(DISABLED_CONTROLLER, { optional: true, skipSelf: true });\n private isDisabled = false;\n\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.disabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set disabled(value: unknown) {\n this.isDisabled = coerceBooleanProperty(value);\n }\n\n public get disabled(): boolean {\n return this.isDisabled || !!this.parentController?.disabled;\n }\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider[] {\n return [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useFactory: (hostController: DisabledController | null) => hostController ?? new DisabledController(),\n deps: [[new Optional(), new Host(), DisabledController]],\n },\n {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [[new Optional(), new Host(), DISABLED_INTERNAL_CONTROLLER], ChangeDetectorRef],\n },\n ];\n }\n\n public setDisabledState(state: boolean): void {\n if (this.disabled !== state) {\n this.disabled = state;\n this.ngOnChanges();\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, Host, inject, InjectionToken, Input, Optional, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nexport const READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nexport const READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController');\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n public static ngAcceptInputType_readonly: BooleanInput;\n\n private readonly parentController = inject(READONLY_CONTROLLER, { optional: true, skipSelf: true });\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set readonly(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isReadonly !== coercedValue) {\n this.isReadonly = coercedValue;\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n }\n public get readonly(): boolean {\n return this.isReadonly || !!this.parentController?.readonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useFactory: (hostController: ReadonlyController | null, elementRef: ElementRef | null) => hostController ?? new ReadonlyController(elementRef),\n deps: [\n [new Optional(), new Host(), ReadonlyController],\n [new Optional(), ElementRef],\n ],\n },\n {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [[new Optional(), new Host(), READONLY_INTERNAL_CONTROLLER], ChangeDetectorRef],\n },\n ];\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { deferFn, NgChanges } from '@odx/angular/utils';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: () => void;\n\n @Input()\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<MouseEvent>();\n\n constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n this.odxClickOutsideActive = true;\n }\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges({ odxClickOutsideActive: clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n if (clickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n deferFn(() => {\n this.listener ??= this.renderer.listen('document', 'click', (event) => {\n if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n this.odxClickOutside.emit(event);\n }\n });\n });\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { DisabledController } from '../controllers';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\n@Directive({\n standalone: true,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute && isDisabled || null',\n },\n})\nexport class WithDisabledState {\n protected readonly hasAriaRole: boolean;\n protected readonly hasDisabledAttribute: boolean;\n protected readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);\n }\n\n constructor(element: ElementRef<HTMLElement>) {\n this.hasDisabledAttribute = !!ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];\n this.hasAriaRole = element.nativeElement.hasAttribute('role');\n }\n}\n","import { Directive } from '@angular/core';\nimport { DisabledController } from '../controllers';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'isDisabled ? -1 : 0',\n },\n})\nexport class WithTabIndex {\n private readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LetModule } from '@ngrx/component';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, LetModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, reflectComponentType, Type } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { debounceTime, distinctUntilChanged, EMPTY, filter, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n private readonly title = inject(Title);\n public readonly nativeWindow = inject(DOCUMENT).defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.isOnline()),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n public readonly pageTitle$ = (inject(Router, { optional: true })?.events ?? EMPTY).pipe(\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n debounceTime(0),\n map(() => this.title.getTitle()),\n shareReplay({ refCount: true })\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public isOnline(): boolean {\n return this.nativeWindow.navigator.onLine;\n }\n\n public getLanguage(): string {\n return this.nativeWindow.navigator.language;\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n\n public queryByComponent<T>(type: Type<T>): HTMLElement | null {\n const componentType = reflectComponentType(type);\n\n return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type IdentityMatcher<T> = (item1: T, item2: T) => boolean;\n\nconst ODX_DEFAULT_IDENTITY_MATCHER: IdentityMatcher<unknown> = (item1, item2) => item1 === item2;\n\nexport const ODX_IDENTITY_MATCHER = new InjectionToken<IdentityMatcher<unknown>>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_IDENTITY_MATCHER,\n});\n","import { InjectionToken } from '@angular/core';\n\nexport type StringSearchHandler = (item: string, query: string) => boolean;\n\nconst ODX_DEFAULT_STRING_SEARCH_HANDLER: StringSearchHandler = (item, query) => {\n return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n};\n\nexport const ODX_STRING_SEARCH_HANDLER = new InjectionToken<StringSearchHandler>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,\n});\n","import { InjectionToken } from '@angular/core';\nimport { isPresent } from '@odx/angular/utils';\n\nexport type StringifyFn<T> = (item: T) => string;\n\nconst ODX_DEFAULT_STRINGIFY: StringifyFn<unknown> = (item) => (isPresent(item) ? String(item) : '');\n\nexport const ODX_STRINGIFY = new InjectionToken<StringifyFn<unknown>>('@odx/angular::Stringify', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRINGIFY,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,12 +19,12 @@ let InteractiveDirective = class InteractiveDirective {
19
19
  }
20
20
  }
21
21
  };
22
- InteractiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: InteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
- InteractiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: InteractiveDirective, isStandalone: true, selector: "[odxCdkInteractive]", outputs: { interact: "odxCdkInteractive" }, host: { attributes: { "role": "button" }, listeners: { "click": "handleEvents($event)", "keyup.enter": "handleEvents($event)", "keyup.space": "handleEvents($event)" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 });
22
+ InteractiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: InteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
+ InteractiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: InteractiveDirective, isStandalone: true, selector: "[odxCdkInteractive]", outputs: { interact: "odxCdkInteractive" }, host: { attributes: { "role": "button" }, listeners: { "click": "handleEvents($event)", "keyup.enter": "handleEvents($event)", "keyup.space": "handleEvents($event)" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 });
24
24
  InteractiveDirective = __decorate([
25
25
  CSSComponent('cdk-interactive')
26
26
  ], InteractiveDirective);
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: InteractiveDirective, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: InteractiveDirective, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: '[odxCdkInteractive]',
@@ -60,9 +60,9 @@ class ListFocusManagerOptionDirective {
60
60
  this.element.nativeElement.focus();
61
61
  }
62
62
  }
63
- ListFocusManagerOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListFocusManagerOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
64
- ListFocusManagerOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ListFocusManagerOptionDirective, isStandalone: true, selector: "[odxListFocusManager]", ngImport: i0 });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListFocusManagerOptionDirective, decorators: [{
63
+ ListFocusManagerOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListFocusManagerOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
64
+ ListFocusManagerOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ListFocusManagerOptionDirective, isStandalone: true, selector: "[odxListFocusManager]", ngImport: i0 });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListFocusManagerOptionDirective, decorators: [{
66
66
  type: Directive,
67
67
  args: [{
68
68
  selector: '[odxListFocusManager]',
@@ -89,9 +89,9 @@ class ListFocusManagerDirective {
89
89
  this.keyManager?.onKeydown(event);
90
90
  }
91
91
  }
92
- ListFocusManagerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListFocusManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
93
- ListFocusManagerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ListFocusManagerDirective, isStandalone: true, selector: "[odxListFocusManager]", host: { listeners: { "keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "options", predicate: ListFocusManagerOptionDirective }], ngImport: i0 });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListFocusManagerDirective, decorators: [{
92
+ ListFocusManagerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListFocusManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
93
+ ListFocusManagerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ListFocusManagerDirective, isStandalone: true, selector: "[odxListFocusManager]", host: { listeners: { "keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "options", predicate: ListFocusManagerOptionDirective }], ngImport: i0 });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListFocusManagerDirective, decorators: [{
95
95
  type: Directive,
96
96
  args: [{
97
97
  selector: '[odxListFocusManager]',
@@ -108,10 +108,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
108
108
  const modules = [ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective];
109
109
  class A11yModule {
110
110
  }
111
- A11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
112
- A11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: A11yModule, imports: [A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective], exports: [CoreModule, A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective] });
113
- A11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: A11yModule, imports: [A11yModule$1, CoreModule, A11yModule$1] });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: A11yModule, decorators: [{
111
+ A11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
112
+ A11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: A11yModule, imports: [A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective], exports: [CoreModule, A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective] });
113
+ A11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: A11yModule, imports: [A11yModule$1, CoreModule, A11yModule$1] });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: A11yModule, decorators: [{
115
115
  type: NgModule,
116
116
  args: [{
117
117
  imports: [A11yModule$1, ...modules],
@@ -102,8 +102,8 @@ let ActiveIndicatorDirective = class ActiveIndicatorDirective {
102
102
  }
103
103
  }
104
104
  };
105
- ActiveIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ActiveIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
106
- ActiveIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ActiveIndicatorDirective, isStandalone: true, selector: "[odxActiveIndicator]", inputs: { activeElement: ["odxActiveIndicator", "activeElement"], parent: ["odxActiveIndicatorParent", "parent"], direction: ["odxActiveIndicatorDirection", "direction"], position: ["odxActiveIndicatorPosition", "position"] }, usesOnChanges: true, ngImport: i0 });
105
+ ActiveIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ActiveIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
106
+ ActiveIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: ActiveIndicatorDirective, isStandalone: true, selector: "[odxActiveIndicator]", inputs: { activeElement: ["odxActiveIndicator", "activeElement"], parent: ["odxActiveIndicatorParent", "parent"], direction: ["odxActiveIndicatorDirection", "direction"], position: ["odxActiveIndicatorPosition", "position"] }, usesOnChanges: true, ngImport: i0 });
107
107
  __decorate([
108
108
  CSSModifier(),
109
109
  __metadata("design:type", Object)
@@ -115,7 +115,7 @@ __decorate([
115
115
  ActiveIndicatorDirective = __decorate([
116
116
  CSSComponent('cdk-active-indicator')
117
117
  ], ActiveIndicatorDirective);
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ActiveIndicatorDirective, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ActiveIndicatorDirective, decorators: [{
119
119
  type: Directive,
120
120
  args: [{
121
121
  standalone: true,
@@ -2,16 +2,9 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, Input } from '@angular/core';
3
3
  import { detectControllerChanges } from '@odx/angular';
4
4
  import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
5
- import { injectElement, booleanToAttributeString } from '@odx/angular/utils';
5
+ import { booleanToAttributeString, injectElement } from '@odx/angular/utils';
6
6
 
7
7
  class CheckBoxControl extends CustomFormControl {
8
- constructor() {
9
- super(false);
10
- this.element = injectElement();
11
- // eslint-disable-next-line @angular-eslint/no-input-rename
12
- this.controlValue = null;
13
- detectControllerChanges(this).subscribe();
14
- }
15
8
  set checked(value) {
16
9
  this.value = value;
17
10
  }
@@ -21,14 +14,21 @@ class CheckBoxControl extends CustomFormControl {
21
14
  get ariaChecked() {
22
15
  return booleanToAttributeString(this.checked);
23
16
  }
17
+ constructor() {
18
+ super(false);
19
+ this.element = injectElement();
20
+ // eslint-disable-next-line @angular-eslint/no-input-rename
21
+ this.controlValue = null;
22
+ detectControllerChanges(this).subscribe();
23
+ }
24
24
  onChanged(event) {
25
25
  event.stopPropagation();
26
26
  super.updateValue(event.target.checked);
27
27
  }
28
28
  }
29
- CheckBoxControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CheckBoxControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
30
- CheckBoxControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: CheckBoxControl, selector: "[odxCheckBoxControl]", inputs: { checked: "checked", controlValue: ["value", "controlValue"] }, usesInheritance: true, ngImport: i0 });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CheckBoxControl, decorators: [{
29
+ CheckBoxControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CheckBoxControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
30
+ CheckBoxControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: CheckBoxControl, selector: "[odxCheckBoxControl]", inputs: { checked: "checked", controlValue: ["value", "controlValue"] }, usesInheritance: true, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CheckBoxControl, decorators: [{
32
32
  type: Directive,
33
33
  args: [{
34
34
  selector: '[odxCheckBoxControl]',
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-cdk-checkbox-control.mjs","sources":["../../../../libs/angular/cdk/checkbox-control/src/lib/checkbox-control.directive.ts","../../../../libs/angular/cdk/checkbox-control/src/odx-angular-cdk-checkbox-control.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, Input } from '@angular/core';\nimport { detectControllerChanges } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { booleanToAttributeString, injectElement } from '@odx/angular/utils';\n\n@Directive({\n selector: '[odxCheckBoxControl]',\n})\nexport class CheckBoxControl extends CustomFormControl<boolean> {\n public static ngAcceptInputType_checked: BooleanInput;\n\n public readonly element = injectElement();\n\n @Input()\n public set checked(value: boolean) {\n this.value = value;\n }\n public get checked(): boolean {\n return this.value;\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value')\n public controlValue: string | null = null;\n\n public get ariaChecked(): string {\n return booleanToAttributeString(this.checked);\n }\n\n constructor() {\n super(false);\n detectControllerChanges(this).subscribe();\n }\n\n public onChanged(event: Event): void {\n event.stopPropagation();\n super.updateValue((event.target as HTMLInputElement).checked);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AASM,MAAO,eAAgB,SAAQ,iBAA0B,CAAA;AAqB7D,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QAnBC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;;QAYnC,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;AAQxC,QAAA,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;KAC3C;IAnBD,IACW,OAAO,CAAC,KAAc,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;AACD,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;AAMD,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/C;AAOM,IAAA,SAAS,CAAC,KAAY,EAAA;QAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,WAAW,CAAE,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC,CAAC;KAC/D;;4GA7BU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,OAAA,EAAA,cAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA,CAAA;0EAOY,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAUC,YAAY,EAAA,CAAA;sBADlB,KAAK;uBAAC,OAAO,CAAA;;;ACvBhB;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-cdk-checkbox-control.mjs","sources":["../../../../libs/angular/cdk/checkbox-control/src/lib/checkbox-control.directive.ts","../../../../libs/angular/cdk/checkbox-control/src/odx-angular-cdk-checkbox-control.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, Input } from '@angular/core';\nimport { detectControllerChanges } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { booleanToAttributeString, injectElement } from '@odx/angular/utils';\n\n@Directive({\n selector: '[odxCheckBoxControl]',\n})\nexport class CheckBoxControl extends CustomFormControl<boolean> {\n public static ngAcceptInputType_checked: BooleanInput;\n\n public readonly element = injectElement();\n\n @Input()\n public set checked(value: boolean) {\n this.value = value;\n }\n public get checked(): boolean {\n return this.value;\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value')\n public controlValue: string | null = null;\n\n public get ariaChecked(): string {\n return booleanToAttributeString(this.checked);\n }\n\n constructor() {\n super(false);\n detectControllerChanges(this).subscribe();\n }\n\n public onChanged(event: Event): void {\n event.stopPropagation();\n super.updateValue((event.target as HTMLInputElement).checked);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AASM,MAAO,eAAgB,SAAQ,iBAA0B,CAAA;IAK7D,IACW,OAAO,CAAC,KAAc,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;AACD,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;AAMD,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QAnBC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;;QAYnC,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;AAQxC,QAAA,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;KAC3C;AAEM,IAAA,SAAS,CAAC,KAAY,EAAA;QAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,WAAW,CAAE,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC,CAAC;KAC/D;;4GA7BU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,OAAA,EAAA,cAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA,CAAA;0EAOY,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAUC,YAAY,EAAA,CAAA;sBADlB,KAAK;uBAAC,OAAO,CAAA;;;ACvBhB;;AAEG;;;;"}