@odx/angular 1.0.0-rc.5 → 1.0.0-rc.7

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 (358) hide show
  1. package/cdk/connected-overlay/README.md +3 -0
  2. package/cdk/connected-overlay/index.d.ts +3 -0
  3. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +28 -0
  4. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +10 -0
  5. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +3 -0
  6. package/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.d.ts +2 -0
  7. package/cdk/connected-overlay/lib/helpers/get-overlay-side.d.ts +2 -0
  8. package/cdk/connected-overlay/lib/helpers/index.d.ts +3 -0
  9. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +23 -0
  10. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +12 -0
  11. package/cdk/connected-overlay/lib/models/index.d.ts +2 -0
  12. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +1 -1
  13. package/components/circular-progress/lib/circular-progress.component.d.ts +1 -0
  14. package/components/dropdown/README.md +3 -0
  15. package/components/dropdown/index.d.ts +3 -0
  16. package/components/dropdown/lib/dropdown.component.d.ts +11 -0
  17. package/components/dropdown/lib/dropdown.directive.d.ts +32 -0
  18. package/components/dropdown/lib/dropdown.module.d.ts +8 -0
  19. package/components/dropdown/lib/models/dropdown-options.d.ts +3 -0
  20. package/components/dropdown/lib/models/index.d.ts +1 -0
  21. package/components/inline-message/README.md +3 -0
  22. package/components/inline-message/index.d.ts +2 -0
  23. package/components/inline-message/lib/inline-message.component.d.ts +9 -0
  24. package/components/inline-message/lib/models/inline-message-variant.d.ts +7 -0
  25. package/components/loading-spinner/lib/loading-spinner.component.d.ts +2 -2
  26. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +6 -7
  27. package/components/rail-navigation/lib/rail-navigation.component.d.ts +3 -1
  28. package/components/select/README.md +3 -0
  29. package/components/select/index.d.ts +7 -0
  30. package/components/select/lib/abstract/index.d.ts +2 -0
  31. package/components/select/lib/abstract/select-control-option.d.ts +7 -0
  32. package/components/select/lib/abstract/select-control.d.ts +11 -0
  33. package/components/select/lib/components/index.d.ts +1 -0
  34. package/components/select/lib/components/option/option.component.d.ts +22 -0
  35. package/components/select/lib/directives/index.d.ts +1 -0
  36. package/components/select/lib/directives/select-search-field.directive.d.ts +13 -0
  37. package/components/select/lib/pipes/index.d.ts +1 -0
  38. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +13 -0
  39. package/components/select/lib/select.component.d.ts +50 -0
  40. package/components/select/lib/select.module.d.ts +11 -0
  41. package/components/select/lib/select.tokens.d.ts +3 -0
  42. package/components/slider/README.md +3 -0
  43. package/components/slider/index.d.ts +1 -0
  44. package/components/slider/lib/slider.directive.d.ts +13 -0
  45. package/components/spinbox/README.md +3 -0
  46. package/components/spinbox/index.d.ts +1 -0
  47. package/components/spinbox/lib/spinbox.component.d.ts +25 -0
  48. package/components/tooltip/README.md +3 -0
  49. package/components/tooltip/index.d.ts +3 -0
  50. package/components/tooltip/lib/helpers/index.d.ts +1 -0
  51. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +2 -0
  52. package/components/tooltip/lib/models/index.d.ts +3 -0
  53. package/components/tooltip/lib/models/tooltip-options.d.ts +10 -0
  54. package/components/tooltip/lib/models/tooltip-size.d.ts +7 -0
  55. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -0
  56. package/components/tooltip/lib/tooltip.component.d.ts +12 -0
  57. package/components/tooltip/lib/tooltip.directive.d.ts +33 -0
  58. package/esm2020/animations/lib/expand.mjs +4 -4
  59. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  60. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
  61. package/esm2020/cdk/connected-overlay/index.mjs +4 -0
  62. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +112 -0
  63. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +25 -0
  64. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +57 -0
  65. package/esm2020/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.mjs +13 -0
  66. package/esm2020/cdk/connected-overlay/lib/helpers/get-overlay-side.mjs +4 -0
  67. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +4 -0
  68. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +10 -0
  69. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +15 -0
  70. package/esm2020/cdk/connected-overlay/lib/models/index.mjs +3 -0
  71. package/esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +5 -0
  72. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  73. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  74. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  75. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  76. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  77. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +5 -3
  78. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +4 -2
  79. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  80. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  81. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  82. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  83. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  84. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  85. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  86. package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
  87. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  88. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +5 -5
  89. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  90. package/esm2020/components/action-group/action-group.component.mjs +3 -3
  91. package/esm2020/components/area-header/area-header.component.mjs +5 -5
  92. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  93. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  94. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  95. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  96. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  97. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  98. package/esm2020/components/button/lib/button.component.mjs +3 -3
  99. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  100. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  101. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  102. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  103. package/esm2020/components/chip/lib/chip.component.mjs +3 -3
  104. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +14 -7
  105. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  106. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  107. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  108. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  109. package/esm2020/components/dropdown/index.mjs +4 -0
  110. package/esm2020/components/dropdown/lib/dropdown.component.mjs +31 -0
  111. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +123 -0
  112. package/esm2020/components/dropdown/lib/dropdown.module.mjs +18 -0
  113. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +7 -0
  114. package/esm2020/components/dropdown/lib/models/index.mjs +2 -0
  115. package/esm2020/components/dropdown/odx-angular-components-dropdown.mjs +5 -0
  116. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  117. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  118. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  119. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  120. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  121. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  122. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  123. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  124. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  125. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  126. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  127. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  128. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  129. package/esm2020/components/header/lib/header.component.mjs +3 -3
  130. package/esm2020/components/header/lib/header.module.mjs +4 -4
  131. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  132. package/esm2020/components/inline-message/index.mjs +3 -0
  133. package/esm2020/components/inline-message/lib/inline-message.component.mjs +43 -0
  134. package/esm2020/components/inline-message/lib/models/inline-message-variant.mjs +7 -0
  135. package/esm2020/components/inline-message/odx-angular-components-inline-message.mjs +5 -0
  136. package/esm2020/components/link/link.directive.mjs +3 -3
  137. package/esm2020/components/list/lib/components/list-item.component.mjs +5 -5
  138. package/esm2020/components/list/lib/list.component.mjs +3 -3
  139. package/esm2020/components/list/lib/list.module.mjs +4 -4
  140. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +10 -10
  141. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +30 -26
  142. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  143. package/esm2020/components/logo/logo.directive.mjs +3 -3
  144. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  145. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
  146. package/esm2020/components/main-menu/lib/main-menu.component.mjs +5 -5
  147. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  148. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  149. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  150. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
  151. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  152. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  153. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  154. package/esm2020/components/modal/lib/modal.component.mjs +3 -3
  155. package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
  156. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  157. package/esm2020/components/modal/lib/modal.service.mjs +3 -3
  158. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +3 -3
  159. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  160. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  161. package/esm2020/components/radio-group/lib/radio-group.component.mjs +3 -3
  162. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  163. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +3 -3
  164. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +11 -5
  165. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  166. package/esm2020/components/select/index.mjs +8 -0
  167. package/esm2020/components/select/lib/abstract/index.mjs +3 -0
  168. package/esm2020/components/select/lib/abstract/select-control-option.mjs +2 -0
  169. package/esm2020/components/select/lib/abstract/select-control.mjs +2 -0
  170. package/esm2020/components/select/lib/components/index.mjs +2 -0
  171. package/esm2020/components/select/lib/components/option/option.component.mjs +78 -0
  172. package/esm2020/components/select/lib/directives/index.mjs +2 -0
  173. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +47 -0
  174. package/esm2020/components/select/lib/pipes/index.mjs +2 -0
  175. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +51 -0
  176. package/esm2020/components/select/lib/select.component.mjs +190 -0
  177. package/esm2020/components/select/lib/select.module.mjs +21 -0
  178. package/esm2020/components/select/lib/select.tokens.mjs +3 -0
  179. package/esm2020/components/select/odx-angular-components-select.mjs +5 -0
  180. package/esm2020/components/slider/index.mjs +2 -0
  181. package/esm2020/components/slider/lib/slider.directive.mjs +45 -0
  182. package/esm2020/components/slider/odx-angular-components-slider.mjs +5 -0
  183. package/esm2020/components/spinbox/index.mjs +2 -0
  184. package/esm2020/components/spinbox/lib/spinbox.component.mjs +91 -0
  185. package/esm2020/components/spinbox/odx-angular-components-spinbox.mjs +5 -0
  186. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  187. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  188. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  189. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  190. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +6 -6
  191. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  192. package/esm2020/components/tooltip/index.mjs +4 -0
  193. package/esm2020/components/tooltip/lib/helpers/index.mjs +2 -0
  194. package/esm2020/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +9 -0
  195. package/esm2020/components/tooltip/lib/models/index.mjs +4 -0
  196. package/esm2020/components/tooltip/lib/models/tooltip-options.mjs +10 -0
  197. package/esm2020/components/tooltip/lib/models/tooltip-size.mjs +7 -0
  198. package/esm2020/components/tooltip/lib/models/tooltip-trigger.mjs +2 -0
  199. package/esm2020/components/tooltip/lib/tooltip.component.mjs +39 -0
  200. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +132 -0
  201. package/esm2020/components/tooltip/odx-angular-components-tooltip.mjs +5 -0
  202. package/esm2020/index.mjs +2 -1
  203. package/esm2020/lib/controllers/controller.mjs +3 -3
  204. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  205. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  206. package/esm2020/lib/core.module.mjs +4 -4
  207. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  208. package/esm2020/lib/services/window-ref.mjs +3 -3
  209. package/esm2020/lib/tokens/identity-matcher.mjs +7 -0
  210. package/esm2020/lib/tokens/index.mjs +4 -0
  211. package/esm2020/lib/tokens/string-search-handler.mjs +9 -0
  212. package/esm2020/lib/tokens/stringify.mjs +8 -0
  213. package/esm2020/rxjs/index.mjs +2 -1
  214. package/esm2020/rxjs/lib/delay-until.mjs +5 -0
  215. package/esm2020/utils/lib/decorators/index.mjs +2 -1
  216. package/esm2020/utils/lib/decorators/pure.mjs +37 -0
  217. package/esm2020/utils/lib/helpers/defer-fn.mjs +4 -0
  218. package/esm2020/utils/lib/helpers/event-manager.mjs +30 -0
  219. package/esm2020/utils/lib/helpers/index.mjs +3 -1
  220. package/fesm2015/odx-angular-animations.mjs +3 -3
  221. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  222. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  223. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
  224. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +234 -0
  225. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  226. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  227. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +15 -12
  228. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  229. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  230. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +10 -10
  231. package/fesm2015/odx-angular-components-accordion.mjs +14 -14
  232. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  233. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  234. package/fesm2015/odx-angular-components-area-header.mjs +14 -14
  235. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  236. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  237. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  238. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  239. package/fesm2015/odx-angular-components-button.mjs +3 -3
  240. package/fesm2015/odx-angular-components-checkbox.mjs +10 -10
  241. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  242. package/fesm2015/odx-angular-components-circular-progress.mjs +13 -6
  243. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  244. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  245. package/fesm2015/odx-angular-components-dropdown.mjs +168 -0
  246. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -0
  247. package/fesm2015/odx-angular-components-form-field.mjs +34 -34
  248. package/fesm2015/odx-angular-components-header.mjs +13 -13
  249. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  250. package/fesm2015/odx-angular-components-inline-message.mjs +55 -0
  251. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -0
  252. package/fesm2015/odx-angular-components-link.mjs +3 -3
  253. package/fesm2015/odx-angular-components-list.mjs +11 -11
  254. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  255. package/fesm2015/odx-angular-components-loading-spinner.mjs +81 -91
  256. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  257. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  258. package/fesm2015/odx-angular-components-main-menu.mjs +17 -17
  259. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  260. package/fesm2015/odx-angular-components-modal.mjs +31 -31
  261. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  262. package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
  263. package/fesm2015/odx-angular-components-rail-navigation.mjs +17 -11
  264. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  265. package/fesm2015/odx-angular-components-select.mjs +375 -0
  266. package/fesm2015/odx-angular-components-select.mjs.map +1 -0
  267. package/fesm2015/odx-angular-components-slider.mjs +51 -0
  268. package/fesm2015/odx-angular-components-slider.mjs.map +1 -0
  269. package/fesm2015/odx-angular-components-spinbox.mjs +100 -0
  270. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -0
  271. package/fesm2015/odx-angular-components-switch.mjs +10 -10
  272. package/fesm2015/odx-angular-components-toggle-button-group.mjs +12 -12
  273. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  274. package/fesm2015/odx-angular-components-tooltip.mjs +187 -0
  275. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -0
  276. package/fesm2015/odx-angular-rxjs.mjs +6 -2
  277. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  278. package/fesm2015/odx-angular-utils.mjs +72 -2
  279. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  280. package/fesm2015/odx-angular.mjs +40 -20
  281. package/fesm2015/odx-angular.mjs.map +1 -1
  282. package/fesm2020/odx-angular-animations.mjs +3 -3
  283. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  284. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  285. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
  286. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +230 -0
  287. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  288. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  289. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +15 -12
  290. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  291. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  292. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +10 -10
  293. package/fesm2020/odx-angular-components-accordion.mjs +14 -14
  294. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  295. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  296. package/fesm2020/odx-angular-components-area-header.mjs +14 -14
  297. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  298. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  299. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  300. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  301. package/fesm2020/odx-angular-components-button.mjs +3 -3
  302. package/fesm2020/odx-angular-components-checkbox.mjs +10 -10
  303. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  304. package/fesm2020/odx-angular-components-circular-progress.mjs +13 -6
  305. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  306. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  307. package/fesm2020/odx-angular-components-dropdown.mjs +172 -0
  308. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -0
  309. package/fesm2020/odx-angular-components-form-field.mjs +34 -34
  310. package/fesm2020/odx-angular-components-header.mjs +13 -13
  311. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  312. package/fesm2020/odx-angular-components-inline-message.mjs +55 -0
  313. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -0
  314. package/fesm2020/odx-angular-components-link.mjs +3 -3
  315. package/fesm2020/odx-angular-components-list.mjs +11 -11
  316. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  317. package/fesm2020/odx-angular-components-loading-spinner.mjs +80 -90
  318. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  319. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  320. package/fesm2020/odx-angular-components-main-menu.mjs +17 -17
  321. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  322. package/fesm2020/odx-angular-components-modal.mjs +31 -31
  323. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  324. package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
  325. package/fesm2020/odx-angular-components-rail-navigation.mjs +17 -11
  326. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  327. package/fesm2020/odx-angular-components-select.mjs +362 -0
  328. package/fesm2020/odx-angular-components-select.mjs.map +1 -0
  329. package/fesm2020/odx-angular-components-slider.mjs +51 -0
  330. package/fesm2020/odx-angular-components-slider.mjs.map +1 -0
  331. package/fesm2020/odx-angular-components-spinbox.mjs +97 -0
  332. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -0
  333. package/fesm2020/odx-angular-components-switch.mjs +10 -10
  334. package/fesm2020/odx-angular-components-toggle-button-group.mjs +12 -12
  335. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  336. package/fesm2020/odx-angular-components-tooltip.mjs +192 -0
  337. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -0
  338. package/fesm2020/odx-angular-rxjs.mjs +6 -2
  339. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  340. package/fesm2020/odx-angular-utils.mjs +71 -2
  341. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  342. package/fesm2020/odx-angular.mjs +40 -20
  343. package/fesm2020/odx-angular.mjs.map +1 -1
  344. package/index.d.ts +1 -0
  345. package/lib/tokens/identity-matcher.d.ts +3 -0
  346. package/lib/tokens/index.d.ts +3 -0
  347. package/lib/tokens/string-search-handler.d.ts +3 -0
  348. package/lib/tokens/stringify.d.ts +3 -0
  349. package/package.json +58 -2
  350. package/rxjs/index.d.ts +1 -0
  351. package/rxjs/lib/delay-until.d.ts +2 -0
  352. package/utils/lib/decorators/index.d.ts +1 -0
  353. package/utils/lib/decorators/pure.d.ts +1 -0
  354. package/utils/lib/helpers/defer-fn.d.ts +1 -0
  355. package/utils/lib/helpers/event-manager.d.ts +12 -0
  356. package/utils/lib/helpers/index.d.ts +2 -0
  357. package/components/loading-spinner/lib/loading-spinner.service.d.ts +0 -9
  358. package/esm2020/components/loading-spinner/lib/loading-spinner.service.mjs +0 -17
@@ -35,9 +35,9 @@ class Controller {
35
35
  this.change$$.next();
36
36
  }
37
37
  }
38
- Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
39
- Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: Controller, usesOnChanges: true, ngImport: i0 });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: Controller, decorators: [{
38
+ Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
39
+ Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: Controller, usesOnChanges: true, ngImport: i0 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Controller, decorators: [{
41
41
  type: Directive
42
42
  }] });
43
43
 
@@ -90,14 +90,14 @@ class DisabledController extends Controller {
90
90
  this.ngOnChanges();
91
91
  }
92
92
  }
93
- DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DisabledController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
94
- DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, host: { properties: { "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute || null" } }, providers: [
93
+ DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DisabledController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
94
+ DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, host: { properties: { "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute || null" } }, providers: [
95
95
  {
96
96
  provide: DISABLED_INTERNAL_CONTROLLER,
97
97
  useExisting: forwardRef(() => DisabledController),
98
98
  },
99
99
  ], usesInheritance: true, ngImport: i0 });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DisabledController, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DisabledController, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  standalone: true,
@@ -155,14 +155,14 @@ class ReadonlyController extends Controller {
155
155
  };
156
156
  }
157
157
  }
158
- ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
159
- ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
158
+ ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
159
+ ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
160
160
  {
161
161
  provide: READONLY_INTERNAL_CONTROLLER,
162
162
  useExisting: forwardRef(() => ReadonlyController),
163
163
  },
164
164
  ], usesInheritance: true, ngImport: i0 });
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ReadonlyController, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ReadonlyController, decorators: [{
166
166
  type: Directive,
167
167
  args: [{
168
168
  standalone: true,
@@ -223,9 +223,9 @@ class ClickOutsideDirective {
223
223
  }, 0);
224
224
  }
225
225
  }
226
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
227
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ClickOutsideDirective, decorators: [{
226
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
227
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
229
229
  type: Directive,
230
230
  args: [{
231
231
  standalone: true,
@@ -241,10 +241,10 @@ const controllers = [DisabledController, ReadonlyController];
241
241
  const modules = [ClickOutsideDirective];
242
242
  class CoreModule {
243
243
  }
244
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
245
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
246
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CoreModule, imports: [CommonModule] });
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CoreModule, decorators: [{
244
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
245
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
246
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CoreModule, imports: [CommonModule] });
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CoreModule, decorators: [{
248
248
  type: NgModule,
249
249
  args: [{
250
250
  imports: [...controllers, ...modules],
@@ -270,18 +270,38 @@ class WindowRef {
270
270
  return this.location.reload();
271
271
  }
272
272
  }
273
- WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
274
- WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: WindowRef, providedIn: 'root' });
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: WindowRef, decorators: [{
273
+ WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
274
+ WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: WindowRef, providedIn: 'root' });
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: WindowRef, decorators: [{
276
276
  type: Injectable,
277
277
  args: [{
278
278
  providedIn: 'root',
279
279
  }]
280
280
  }] });
281
281
 
282
+ const ODX_DEFAULT_IDENTITY_MATCHER = (item1, item2) => item1 === item2;
283
+ const ODX_IDENTITY_MATCHER = new InjectionToken('@odx/angular::StringHandler', {
284
+ providedIn: 'root',
285
+ factory: () => ODX_DEFAULT_IDENTITY_MATCHER,
286
+ });
287
+
288
+ const ODX_DEFAULT_STRING_SEARCH_HANDLER = (item, query) => {
289
+ return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());
290
+ };
291
+ const ODX_STRING_SEARCH_HANDLER = new InjectionToken('@odx/angular::StringHandler', {
292
+ providedIn: 'root',
293
+ factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,
294
+ });
295
+
296
+ const ODX_DEFAULT_STRINGIFY = (item) => (isPresent(item) ? String(item) : '');
297
+ const ODX_STRINGIFY = new InjectionToken('@odx/angular::Stringify', {
298
+ providedIn: 'root',
299
+ factory: () => ODX_DEFAULT_STRINGIFY,
300
+ });
301
+
282
302
  /**
283
303
  * Generated bundle index. Do not edit.
284
304
  */
285
305
 
286
- export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DisabledController, ReadonlyController, WindowRef, detectControllerChanges };
306
+ export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DisabledController, ODX_IDENTITY_MATCHER, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, ReadonlyController, WindowRef, detectControllerChanges };
287
307
  //# 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/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.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 { 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 merge(...changes$);\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, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\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\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nconst DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(null),\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 host: {\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute || null',\n },\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n private readonly nodeName: string;\n private isDisabled = false;\n\n protected hasDisabledAttribute = false;\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.isDisabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set disabled(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isDisabled !== coercedValue) {\n this.isDisabled = coercedValue;\n this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];\n }\n }\n public get disabled(): boolean {\n return this.isDisabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasDisabledAttribute);\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\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 provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n this.disabled = state;\n this.ngOnChanges();\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\nconst READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nconst 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 { 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 setTimeout(() => {\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 }, 0);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\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, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\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\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","/**\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/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 { 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 merge(...changes$);\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, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\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\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nconst DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(null),\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 host: {\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute || null',\n },\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n private readonly nodeName: string;\n private isDisabled = false;\n\n protected hasDisabledAttribute = false;\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.isDisabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set disabled(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isDisabled !== coercedValue) {\n this.isDisabled = coercedValue;\n this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];\n }\n }\n public get disabled(): boolean {\n return this.isDisabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasDisabledAttribute);\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\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 provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n this.disabled = state;\n this.ngOnChanges();\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\nconst READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nconst 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 { 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 setTimeout(() => {\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 }, 0);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\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, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\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\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","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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"}
package/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './lib/controllers';
2
2
  export * from './lib/core.module';
3
3
  export * from './lib/directives';
4
4
  export * from './lib/services';
5
+ export * from './lib/tokens';
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare type IdentityMatcher<T> = (item1: T, item2: T) => boolean;
3
+ export declare const ODX_IDENTITY_MATCHER: InjectionToken<IdentityMatcher<unknown>>;
@@ -0,0 +1,3 @@
1
+ export * from './identity-matcher';
2
+ export * from './string-search-handler';
3
+ export * from './stringify';
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare type StringSearchHandler = (item: string, query: string) => boolean;
3
+ export declare const ODX_STRING_SEARCH_HANDLER: InjectionToken<StringSearchHandler>;
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare type StringifyFn<T> = (item: T) => string;
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.5",
3
+ "version": "1.0.0-rc.7",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -11,7 +11,7 @@
11
11
  "@angular/forms": ">=14.2.0",
12
12
  "@angular/router": ">=14.2.0",
13
13
  "rxjs": ">=7.5.0",
14
- "@odx/ui": "1.0.0-rc.5"
14
+ "@odx/ui": "1.0.0-rc.7"
15
15
  },
16
16
  "dependencies": {
17
17
  "@floating-ui/dom": "^1.0.1",
@@ -63,6 +63,14 @@
63
63
  "node": "./fesm2015/odx-angular-cdk-checkbox-control.mjs",
64
64
  "default": "./fesm2020/odx-angular-cdk-checkbox-control.mjs"
65
65
  },
66
+ "./cdk/connected-overlay": {
67
+ "types": "./cdk/connected-overlay/index.d.ts",
68
+ "esm2020": "./esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs",
69
+ "es2020": "./fesm2020/odx-angular-cdk-connected-overlay.mjs",
70
+ "es2015": "./fesm2015/odx-angular-cdk-connected-overlay.mjs",
71
+ "node": "./fesm2015/odx-angular-cdk-connected-overlay.mjs",
72
+ "default": "./fesm2020/odx-angular-cdk-connected-overlay.mjs"
73
+ },
66
74
  "./cdk/custom-form-control": {
67
75
  "types": "./cdk/custom-form-control/index.d.ts",
68
76
  "esm2020": "./esm2020/cdk/custom-form-control/odx-angular-cdk-custom-form-control.mjs",
@@ -183,6 +191,14 @@
183
191
  "node": "./fesm2015/odx-angular-components-content-box.mjs",
184
192
  "default": "./fesm2020/odx-angular-components-content-box.mjs"
185
193
  },
194
+ "./components/dropdown": {
195
+ "types": "./components/dropdown/index.d.ts",
196
+ "esm2020": "./esm2020/components/dropdown/odx-angular-components-dropdown.mjs",
197
+ "es2020": "./fesm2020/odx-angular-components-dropdown.mjs",
198
+ "es2015": "./fesm2015/odx-angular-components-dropdown.mjs",
199
+ "node": "./fesm2015/odx-angular-components-dropdown.mjs",
200
+ "default": "./fesm2020/odx-angular-components-dropdown.mjs"
201
+ },
186
202
  "./components/form-field": {
187
203
  "types": "./components/form-field/index.d.ts",
188
204
  "esm2020": "./esm2020/components/form-field/odx-angular-components-form-field.mjs",
@@ -207,6 +223,14 @@
207
223
  "node": "./fesm2015/odx-angular-components-icon.mjs",
208
224
  "default": "./fesm2020/odx-angular-components-icon.mjs"
209
225
  },
226
+ "./components/inline-message": {
227
+ "types": "./components/inline-message/index.d.ts",
228
+ "esm2020": "./esm2020/components/inline-message/odx-angular-components-inline-message.mjs",
229
+ "es2020": "./fesm2020/odx-angular-components-inline-message.mjs",
230
+ "es2015": "./fesm2015/odx-angular-components-inline-message.mjs",
231
+ "node": "./fesm2015/odx-angular-components-inline-message.mjs",
232
+ "default": "./fesm2020/odx-angular-components-inline-message.mjs"
233
+ },
210
234
  "./components/link": {
211
235
  "types": "./components/link/index.d.ts",
212
236
  "esm2020": "./esm2020/components/link/odx-angular-components-link.mjs",
@@ -279,6 +303,30 @@
279
303
  "node": "./fesm2015/odx-angular-components-rail-navigation.mjs",
280
304
  "default": "./fesm2020/odx-angular-components-rail-navigation.mjs"
281
305
  },
306
+ "./components/select": {
307
+ "types": "./components/select/index.d.ts",
308
+ "esm2020": "./esm2020/components/select/odx-angular-components-select.mjs",
309
+ "es2020": "./fesm2020/odx-angular-components-select.mjs",
310
+ "es2015": "./fesm2015/odx-angular-components-select.mjs",
311
+ "node": "./fesm2015/odx-angular-components-select.mjs",
312
+ "default": "./fesm2020/odx-angular-components-select.mjs"
313
+ },
314
+ "./components/slider": {
315
+ "types": "./components/slider/index.d.ts",
316
+ "esm2020": "./esm2020/components/slider/odx-angular-components-slider.mjs",
317
+ "es2020": "./fesm2020/odx-angular-components-slider.mjs",
318
+ "es2015": "./fesm2015/odx-angular-components-slider.mjs",
319
+ "node": "./fesm2015/odx-angular-components-slider.mjs",
320
+ "default": "./fesm2020/odx-angular-components-slider.mjs"
321
+ },
322
+ "./components/spinbox": {
323
+ "types": "./components/spinbox/index.d.ts",
324
+ "esm2020": "./esm2020/components/spinbox/odx-angular-components-spinbox.mjs",
325
+ "es2020": "./fesm2020/odx-angular-components-spinbox.mjs",
326
+ "es2015": "./fesm2015/odx-angular-components-spinbox.mjs",
327
+ "node": "./fesm2015/odx-angular-components-spinbox.mjs",
328
+ "default": "./fesm2020/odx-angular-components-spinbox.mjs"
329
+ },
282
330
  "./components/switch": {
283
331
  "types": "./components/switch/index.d.ts",
284
332
  "esm2020": "./esm2020/components/switch/odx-angular-components-switch.mjs",
@@ -295,6 +343,14 @@
295
343
  "node": "./fesm2015/odx-angular-components-toggle-button-group.mjs",
296
344
  "default": "./fesm2020/odx-angular-components-toggle-button-group.mjs"
297
345
  },
346
+ "./components/tooltip": {
347
+ "types": "./components/tooltip/index.d.ts",
348
+ "esm2020": "./esm2020/components/tooltip/odx-angular-components-tooltip.mjs",
349
+ "es2020": "./fesm2020/odx-angular-components-tooltip.mjs",
350
+ "es2015": "./fesm2015/odx-angular-components-tooltip.mjs",
351
+ "node": "./fesm2015/odx-angular-components-tooltip.mjs",
352
+ "default": "./fesm2020/odx-angular-components-tooltip.mjs"
353
+ },
298
354
  "./internal": {
299
355
  "types": "./internal/index.d.ts",
300
356
  "esm2020": "./esm2020/internal/odx-angular-internal.mjs",
package/rxjs/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './lib/delay-until';
1
2
  export * from './lib/from-element-resize';
2
3
  export * from './lib/from-events';
@@ -0,0 +1,2 @@
1
+ import { MonoTypeOperatorFunction, Observable } from 'rxjs';
2
+ export declare function delayUntil<T>(delay: () => number, notifier: Observable<unknown>): MonoTypeOperatorFunction<T>;
@@ -1 +1,2 @@
1
+ export * from './pure';
1
2
  export * from './transform';
@@ -0,0 +1 @@
1
+ export declare function Pure<T>(_target: object, propertyKey: string, { get, enumerable, value }: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T>;
@@ -0,0 +1 @@
1
+ export declare function deferFn(fn: () => void): void;
@@ -0,0 +1,12 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class EventManager implements OnDestroy {
4
+ private readonly element;
5
+ private readonly renderer;
6
+ private readonly listeners;
7
+ destroyListeners(): void;
8
+ register<T extends Event = Event>(eventNames: Array<string | null>, callback: (event?: T) => void, target?: 'document' | 'window' | EventTarget | null): void;
9
+ ngOnDestroy(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventManager, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<EventManager>;
12
+ }
@@ -1,6 +1,8 @@
1
1
  export * from './angular';
2
2
  export * from './array';
3
+ export * from './defer-fn';
3
4
  export * from './dom';
5
+ export * from './event-manager';
4
6
  export * from './ng-changes';
5
7
  export * from './provide-module-config';
6
8
  export * from './type-guards';
@@ -1,9 +0,0 @@
1
- import { OnDestroy } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class LoadingSpinnerService implements OnDestroy {
5
- readonly spinnerDestroyed$: Subject<void>;
6
- ngOnDestroy(): void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingSpinnerService, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<LoadingSpinnerService>;
9
- }
@@ -1,17 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class LoadingSpinnerService {
5
- constructor() {
6
- this.spinnerDestroyed$ = new Subject();
7
- }
8
- ngOnDestroy() {
9
- this.spinnerDestroyed$.complete();
10
- }
11
- }
12
- LoadingSpinnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LoadingSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
- LoadingSpinnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LoadingSpinnerService });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: LoadingSpinnerService, decorators: [{
15
- type: Injectable
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvc3JjL2xpYi9sb2FkaW5nLXNwaW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFFa0Isc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQUt6RDtJQUhRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O21IQUxVLHFCQUFxQjt1SEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTcGlubmVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBzcGlubmVyRGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Bpbm5lckRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19