@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,43 @@ 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
+ return this.isDisabled || !!this.parentController?.disabled;
56
61
  }
57
62
  static inject() {
58
63
  return inject(DISABLED_CONTROLLER, { optional: true });
59
64
  }
60
65
  static connect() {
61
- return {
62
- provide: DISABLED_CONTROLLER,
63
- useFactory: Controller.setup,
64
- deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],
65
- };
66
+ return [
67
+ {
68
+ provide: DISABLED_INTERNAL_CONTROLLER,
69
+ useFactory: (hostController) => hostController ?? new DisabledController(),
70
+ deps: [[new Optional(), new Host(), DisabledController]],
71
+ },
72
+ {
73
+ provide: DISABLED_CONTROLLER,
74
+ useFactory: Controller.setup,
75
+ deps: [[new Optional(), new Host(), DISABLED_INTERNAL_CONTROLLER], ChangeDetectorRef],
76
+ },
77
+ ];
66
78
  }
67
79
  setDisabledState(state) {
68
80
  if (this.disabled !== state) {
@@ -71,18 +83,14 @@ class DisabledController extends Controller {
71
83
  }
72
84
  }
73
85
  }
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: [
86
+ DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
87
+ DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
76
88
  {
77
89
  provide: DISABLED_INTERNAL_CONTROLLER,
78
90
  useExisting: forwardRef(() => DisabledController),
79
91
  },
80
92
  ], 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: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DisabledController, decorators: [{
86
94
  type: Directive,
87
95
  args: [{
88
96
  standalone: true,
@@ -104,17 +112,8 @@ const ELEMENTS_WITH_READONLY_ATTRIBUTE = {
104
112
  select: true,
105
113
  };
106
114
  const READONLY_CONTROLLER = new InjectionToken('@odx/angular::ReadonlyWatchedController');
107
- const READONLY_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::ReadonlyController', {
108
- factory: () => new ReadonlyController(null),
109
- });
115
+ const READONLY_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::ReadonlyController');
110
116
  class ReadonlyController extends Controller {
111
- constructor(element) {
112
- super();
113
- this.isReadonly = false;
114
- this.hasReadonlyAttribute = false;
115
- this.isReadonly$ = this.change$.pipe(map(() => this.isReadonly), distinctUntilChanged(), shareReplay({ refCount: true }));
116
- this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';
117
- }
118
117
  set readonly(value) {
119
118
  const coercedValue = coerceBooleanProperty(value);
120
119
  if (this.isReadonly !== coercedValue) {
@@ -123,27 +122,45 @@ class ReadonlyController extends Controller {
123
122
  }
124
123
  }
125
124
  get readonly() {
126
- return this.isReadonly;
125
+ return this.isReadonly || !!this.parentController?.readonly;
126
+ }
127
+ constructor(element) {
128
+ super();
129
+ this.parentController = inject(READONLY_CONTROLLER, { optional: true, skipSelf: true });
130
+ this.isReadonly = false;
131
+ this.hasReadonlyAttribute = false;
132
+ this.isReadonly$ = this.change$.pipe(map(() => this.isReadonly), distinctUntilChanged(), shareReplay({ refCount: true }));
133
+ this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';
127
134
  }
128
135
  static inject() {
129
136
  return inject(READONLY_CONTROLLER, { optional: true });
130
137
  }
131
138
  static connect() {
132
- return {
133
- provide: READONLY_CONTROLLER,
134
- useFactory: Controller.setup,
135
- deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],
136
- };
139
+ return [
140
+ {
141
+ provide: READONLY_INTERNAL_CONTROLLER,
142
+ useFactory: (hostController, elementRef) => hostController ?? new ReadonlyController(elementRef),
143
+ deps: [
144
+ [new Optional(), new Host(), ReadonlyController],
145
+ [new Optional(), ElementRef],
146
+ ],
147
+ },
148
+ {
149
+ provide: READONLY_CONTROLLER,
150
+ useFactory: Controller.setup,
151
+ deps: [[new Optional(), new Host(), READONLY_INTERNAL_CONTROLLER], ChangeDetectorRef],
152
+ },
153
+ ];
137
154
  }
138
155
  }
139
- ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
140
- 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: [
156
+ ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
157
+ 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: [
141
158
  {
142
159
  provide: READONLY_INTERNAL_CONTROLLER,
143
160
  useExisting: forwardRef(() => ReadonlyController),
144
161
  },
145
162
  ], usesInheritance: true, ngImport: i0 });
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ReadonlyController, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ReadonlyController, decorators: [{
147
164
  type: Directive,
148
165
  args: [{
149
166
  standalone: true,
@@ -204,9 +221,9 @@ class ClickOutsideDirective {
204
221
  });
205
222
  }
206
223
  }
207
- 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 });
208
- 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 });
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ClickOutsideDirective, decorators: [{
224
+ 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 });
225
+ 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 });
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
210
227
  type: Directive,
211
228
  args: [{
212
229
  standalone: true,
@@ -218,40 +235,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
218
235
  type: Output
219
236
  }] } });
220
237
 
221
- class LetContext {
222
- constructor(directive) {
223
- this.$implicit = directive.value;
224
- this.odxLet = directive.value;
225
- }
226
- }
227
- class LetDirective {
228
- constructor(viewContainer, templateRef) {
229
- this.viewRef = viewContainer.createEmbeddedView(templateRef, new LetContext(this));
230
- }
231
- static ngTemplateContextGuard(_dir, _ctx) {
232
- return true;
233
- }
234
- ngOnChanges(changes) {
235
- if (changes.value) {
236
- const value = changes.value.currentValue;
237
- this.viewRef.context.$implicit = value;
238
- this.viewRef.context.odxLet = value;
239
- }
240
- }
241
- }
242
- 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 });
243
- 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 });
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LetDirective, decorators: [{
245
- type: Directive,
246
- args: [{
247
- standalone: true,
248
- selector: 'ng-template[odxLet]',
249
- }]
250
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { value: [{
251
- type: Input,
252
- args: ['odxLet']
253
- }] } });
254
-
255
238
  const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
256
239
  button: true,
257
240
  fieldset: true,
@@ -262,21 +245,21 @@ const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
262
245
  textarea: true,
263
246
  };
264
247
  class WithDisabledState {
265
- constructor(element) {
266
- this.disabledController = DisabledController.inject();
267
- this.hasDisabledAttribute = ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];
268
- this.hasAriaRole = element.nativeElement.hasAttribute('role');
269
- }
270
248
  get isDisabled() {
271
249
  return !!this.disabledController?.disabled;
272
250
  }
273
251
  get ariaDisabled() {
274
252
  return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);
275
253
  }
254
+ constructor(element) {
255
+ this.disabledController = DisabledController.inject();
256
+ this.hasDisabledAttribute = !!ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];
257
+ this.hasAriaRole = element.nativeElement.hasAttribute('role');
258
+ }
276
259
  }
277
- WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
278
- 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 });
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithDisabledState, decorators: [{
260
+ WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
261
+ 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 });
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithDisabledState, decorators: [{
280
263
  type: Directive,
281
264
  args: [{
282
265
  standalone: true,
@@ -297,9 +280,9 @@ class WithTabIndex {
297
280
  return !!this.disabledController?.disabled;
298
281
  }
299
282
  }
300
- WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
301
- 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 });
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WithTabIndex, decorators: [{
283
+ WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
284
+ 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 });
285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WithTabIndex, decorators: [{
303
286
  type: Directive,
304
287
  args: [{
305
288
  standalone: true,
@@ -310,17 +293,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
310
293
  }] });
311
294
 
312
295
  const controllers = [DisabledController, ReadonlyController];
313
- const modules = [ClickOutsideDirective, LetDirective];
296
+ const modules = [ClickOutsideDirective];
314
297
  class CoreModule {
315
298
  }
316
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
317
- 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] });
318
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, imports: [CommonModule] });
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CoreModule, decorators: [{
299
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
300
+ 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] });
301
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, imports: [CommonModule, LetModule] });
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: CoreModule, decorators: [{
320
303
  type: NgModule,
321
304
  args: [{
322
305
  imports: [...controllers, ...modules],
323
- exports: [CommonModule, ...controllers, ...modules],
306
+ exports: [CommonModule, LetModule, ...controllers, ...modules],
324
307
  }]
325
308
  }] });
326
309
 
@@ -328,12 +311,15 @@ class WindowRef {
328
311
  constructor() {
329
312
  this.title = inject(Title);
330
313
  this.nativeWindow = inject(DOCUMENT).defaultView ?? window;
331
- this.isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(startWith(null), map(() => this.nativeWindow.navigator.onLine), distinctUntilChanged(), shareReplay({ refCount: true }));
314
+ this.isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(startWith(null), map(() => this.isOnline()), distinctUntilChanged(), shareReplay({ refCount: true }));
332
315
  this.pageTitle$ = (inject(Router, { optional: true })?.events ?? EMPTY).pipe(filter((event) => event instanceof NavigationEnd), startWith(null), debounceTime(0), map(() => this.title.getTitle()), shareReplay({ refCount: true }));
333
316
  }
334
317
  get location() {
335
318
  return this.nativeWindow.location;
336
319
  }
320
+ isOnline() {
321
+ return this.nativeWindow.navigator.onLine;
322
+ }
337
323
  getLanguage() {
338
324
  return this.nativeWindow.navigator.language;
339
325
  }
@@ -348,9 +334,9 @@ class WindowRef {
348
334
  return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;
349
335
  }
350
336
  }
351
- WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
352
- WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WindowRef, providedIn: 'root' });
353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: WindowRef, decorators: [{
337
+ WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
338
+ WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WindowRef, providedIn: 'root' });
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: WindowRef, decorators: [{
354
340
  type: Injectable,
355
341
  args: [{
356
342
  providedIn: 'root',
@@ -381,5 +367,5 @@ const ODX_STRINGIFY = new InjectionToken('@odx/angular::Stringify', {
381
367
  * Generated bundle index. Do not edit.
382
368
  */
383
369
 
384
- 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 };
370
+ 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 };
385
371
  //# 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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"}
@@ -1,6 +1,5 @@
1
1
  import { ElementRef, Type } from '@angular/core';
2
- export declare const CSS_COMPONENT_NAME = "__CSSComponentName__";
3
- export declare const CSS_COMPONENT_MODIFIERS = "__CSSComponentModifiers__";
2
+ export declare const CSS_COMPONENT_NAME: "__ODX_CSSComponent_name__";
4
3
  /** @internal */
5
4
  export interface CSSComponent {
6
5
  readonly element: ElementRef<unknown>;
@@ -2,7 +2,6 @@
2
2
  interface CSSModifierOptions {
3
3
  isArray?: boolean;
4
4
  withComponentPrefix?: boolean;
5
- default?: string;
6
5
  withPrefix?: boolean;
7
6
  }
8
7
  /** @internal */
@@ -0,0 +1 @@
1
+ export declare function decoratorPropertyName<D extends string, T extends string>(decoratorName: D, propertyName: T): `__ODX_${D}_${T}__`;
@@ -1,4 +1,5 @@
1
1
  export * from './camel-to-kebab-case';
2
+ export * from './decorator-property-name';
2
3
  export * from './get-css-variables';
3
4
  export * from './get-enum-values';
4
5
  export * from './with-mutiple-descriptors';
@@ -6,10 +6,13 @@ export declare const DISABLED_CONTROLLER: InjectionToken<DisabledController>;
6
6
  export declare const DISABLED_INTERNAL_CONTROLLER: InjectionToken<DisabledController | null>;
7
7
  export declare class DisabledController extends Controller {
8
8
  static ngAcceptInputType_disabled: BooleanInput;
9
+ private readonly parentController;
10
+ private isDisabled;
9
11
  readonly isDisabled$: import("rxjs").Observable<boolean>;
10
- disabled: boolean;
12
+ set disabled(value: unknown);
13
+ get disabled(): boolean;
11
14
  static inject(): DisabledController | null;
12
- static connect(): Provider;
15
+ static connect(): Provider[];
13
16
  setDisabledState(state: boolean): void;
14
17
  static ɵfac: i0.ɵɵFactoryDeclaration<DisabledController, never>;
15
18
  static ɵdir: i0.ɵɵDirectiveDeclaration<DisabledController, "[disabled]", never, { "disabled": "disabled"; }, {}, never, never, true, never>;
@@ -6,6 +6,7 @@ export declare const READONLY_CONTROLLER: InjectionToken<ReadonlyController>;
6
6
  export declare const READONLY_INTERNAL_CONTROLLER: InjectionToken<ReadonlyController | null>;
7
7
  export declare class ReadonlyController extends Controller {
8
8
  static ngAcceptInputType_readonly: BooleanInput;
9
+ private readonly parentController;
9
10
  private readonly nodeName;
10
11
  private isReadonly;
11
12
  protected hasReadonlyAttribute: boolean;
@@ -2,10 +2,10 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./controllers/disabled.controller";
3
3
  import * as i2 from "./controllers/readonly.controller";
4
4
  import * as i3 from "./directives/click-outside.directive";
5
- import * as i4 from "./directives/let.directive";
6
- import * as i5 from "@angular/common";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@ngrx/component";
7
7
  export declare class CoreModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<CoreModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<CoreModule, never, [typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective, typeof i4.LetDirective], [typeof i5.CommonModule, typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective, typeof i4.LetDirective]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CoreModule, never, [typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective], [typeof i4.CommonModule, typeof i5.LetModule, typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<CoreModule>;
11
11
  }
@@ -1,4 +1,3 @@
1
1
  export * from './click-outside.directive';
2
- export * from './let.directive';
3
2
  export * from './with-disabled-state.directive';
4
3
  export * from './with-tabindex.directive';
@@ -6,6 +6,7 @@ export declare class WindowRef {
6
6
  readonly isOnline$: import("rxjs").Observable<boolean>;
7
7
  readonly pageTitle$: import("rxjs").Observable<string>;
8
8
  get location(): Location;
9
+ isOnline(): boolean;
9
10
  getLanguage(): string;
10
11
  getOrigin(): string;
11
12
  reloadPage(): void;
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- export declare type IdentityMatcher<T> = (item1: T, item2: T) => boolean;
2
+ export type IdentityMatcher<T> = (item1: T, item2: T) => boolean;
3
3
  export declare const ODX_IDENTITY_MATCHER: InjectionToken<IdentityMatcher<unknown>>;
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- export declare type StringSearchHandler = (item: string, query: string) => boolean;
2
+ export type StringSearchHandler = (item: string, query: string) => boolean;
3
3
  export declare const ODX_STRING_SEARCH_HANDLER: InjectionToken<StringSearchHandler>;
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- export declare type StringifyFn<T> = (item: T) => string;
2
+ export type StringifyFn<T> = (item: T) => string;
3
3
  export declare const ODX_STRINGIFY: InjectionToken<StringifyFn<unknown>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/angular",
3
- "version": "1.0.0-rc.12",
3
+ "version": "1.0.0-rc.14",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -11,10 +11,11 @@
11
11
  "@angular/forms": ">=15.1.0",
12
12
  "@angular/router": ">=15.1.0",
13
13
  "rxjs": ">=7.5.0",
14
- "@odx/ui": "1.0.0-rc.12"
14
+ "@odx/ui": "1.0.0-rc.14"
15
15
  },
16
16
  "dependencies": {
17
17
  "@floating-ui/dom": "^1.2.0",
18
+ "@ngrx/component": "^15.3.0",
18
19
  "deepmerge-ts": "^4.3.0",
19
20
  "tslib": "^2.5.0"
20
21
  },
@@ -1,3 +1,3 @@
1
- declare type TransformFn<Klass = any, R = any> = (this: Klass, value: R) => R;
1
+ type TransformFn<Klass = any, R = any> = (this: Klass, value: R) => R;
2
2
  export declare function Transform(transformer: TransformFn): PropertyDecorator;
3
3
  export {};
@@ -1,5 +1,5 @@
1
1
  import { GetProperties } from '../types';
2
- export declare type NgChanges<C, Properties = GetProperties<C>> = {
2
+ export type NgChanges<C, Properties = GetProperties<C>> = {
3
3
  [Key in keyof Properties]: {
4
4
  previousValue: Properties[Key];
5
5
  currentValue: Properties[Key];
@@ -5,8 +5,8 @@ interface ModuleConfigFactoryProvider<T, D extends ModuleConfigDependencies> {
5
5
  }) => T;
6
6
  deps?: [...D];
7
7
  }
8
- export declare type ModuleConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;
9
- export declare type ModuleConfigProvider<T = unknown, D extends ModuleConfigDependencies = []> = ModuleConfigFactoryProvider<T, D> | T;
8
+ export type ModuleConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;
9
+ export type ModuleConfigProvider<T = unknown, D extends ModuleConfigDependencies = []> = ModuleConfigFactoryProvider<T, D> | T;
10
10
  export declare function provideModuleConfig<T extends object, D extends ModuleConfigDependencies = ModuleConfigDependencies>(token: InjectionToken<T> | string, config: ModuleConfigProvider<T, D>): FactoryProvider | ValueProvider;
11
11
  export declare function createModuleConfigTokens<T, N extends string>(name: N, prefix: string, defaultValue: T): Record<`${N}ModuleConfig`, InjectionToken<Partial<T>>> & Record<`${N}DefaultModuleConfig`, T> & Record<`inject${N}ModuleConfig`, () => T>;
12
12
  export {};