@odx/angular 1.0.0-rc.23 → 1.0.0-rc.24

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 (297) hide show
  1. package/components/modal/lib/models/modal-ref.d.ts +1 -1
  2. package/esm2020/animations/lib/expand.mjs +3 -3
  3. package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
  4. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  5. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  6. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  7. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  8. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
  9. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  10. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +5 -5
  11. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  12. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  13. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  14. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  15. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  16. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +2 -2
  17. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +2 -2
  18. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  19. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  20. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  21. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  22. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
  23. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  24. package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
  25. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  26. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +5 -5
  27. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  28. package/esm2020/components/action-group/action-group.component.mjs +3 -3
  29. package/esm2020/components/area-header/area-header.component.mjs +3 -3
  30. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  31. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  32. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  33. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  34. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  35. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  36. package/esm2020/components/bar/lib/bar.component.mjs +3 -3
  37. package/esm2020/components/bar/lib/bar.module.mjs +4 -4
  38. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +3 -3
  39. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  40. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  41. package/esm2020/components/button/lib/button.component.mjs +3 -3
  42. package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +3 -3
  43. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  44. package/esm2020/components/card/lib/card.component.mjs +5 -5
  45. package/esm2020/components/card/lib/card.module.mjs +4 -4
  46. package/esm2020/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
  47. package/esm2020/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
  48. package/esm2020/components/card/lib/directives/card-content.directive.mjs +3 -3
  49. package/esm2020/components/card/lib/directives/card-title.directive.mjs +3 -3
  50. package/esm2020/components/checkbox/lib/checkbox.component.mjs +5 -5
  51. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  52. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  53. package/esm2020/components/chip/lib/chip.component.mjs +5 -5
  54. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +3 -3
  55. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  56. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  57. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  58. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  59. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  60. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +3 -3
  61. package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
  62. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  63. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  64. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  65. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  66. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  67. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  68. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  69. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  70. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  71. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  72. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  73. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  74. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  75. package/esm2020/components/header/lib/header.component.mjs +3 -3
  76. package/esm2020/components/header/lib/header.module.mjs +4 -4
  77. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  78. package/esm2020/components/inline-message/lib/inline-message.component.mjs +6 -6
  79. package/esm2020/components/link/link.directive.mjs +3 -3
  80. package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +5 -5
  81. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  82. package/esm2020/components/list/lib/list.component.mjs +3 -3
  83. package/esm2020/components/list/lib/list.module.mjs +4 -4
  84. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  85. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
  86. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  87. package/esm2020/components/logo/logo.directive.mjs +3 -3
  88. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  89. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
  90. package/esm2020/components/main-menu/lib/main-menu.component.mjs +5 -5
  91. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  92. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  93. package/esm2020/components/mainfilter-group/lib/mainfilter-group.component.mjs +3 -3
  94. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  95. package/esm2020/components/menu/lib/menu.component.mjs +3 -3
  96. package/esm2020/components/menu/lib/menu.directive.mjs +3 -3
  97. package/esm2020/components/menu/lib/menu.module.mjs +4 -4
  98. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  99. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  100. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +5 -5
  101. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +5 -5
  102. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  103. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  104. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  105. package/esm2020/components/modal/lib/modal.component.mjs +3 -3
  106. package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
  107. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  108. package/esm2020/components/modal/lib/modal.service.mjs +5 -5
  109. package/esm2020/components/modal/lib/models/modal-ref.mjs +4 -4
  110. package/esm2020/components/navigation-back/lib/navigation-back.component.mjs +5 -5
  111. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  112. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  113. package/esm2020/components/radio-group/lib/radio-group.component.mjs +3 -3
  114. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  115. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +5 -5
  116. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  117. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  118. package/esm2020/components/select/lib/components/option/option.component.mjs +3 -3
  119. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
  120. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  121. package/esm2020/components/select/lib/select.component.mjs +6 -6
  122. package/esm2020/components/select/lib/select.module.mjs +4 -4
  123. package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
  124. package/esm2020/components/spinbox/lib/spinbox.component.mjs +5 -5
  125. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  126. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  127. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  128. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +5 -5
  129. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +5 -5
  130. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  131. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  132. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +6 -6
  133. package/esm2020/components/toast/lib/toast.module.mjs +4 -4
  134. package/esm2020/components/toast/lib/toast.service.mjs +5 -5
  135. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  136. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
  137. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  138. package/esm2020/components/tooltip/lib/tooltip.component.mjs +3 -3
  139. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +5 -6
  140. package/esm2020/internal/helpers/deepmerge.mjs +6 -0
  141. package/esm2020/internal/helpers/index.mjs +2 -1
  142. package/esm2020/lib/controllers/controller.mjs +3 -3
  143. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  144. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  145. package/esm2020/lib/core.module.mjs +4 -4
  146. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  147. package/esm2020/lib/directives/delegate-focus.directive.mjs +3 -3
  148. package/esm2020/lib/directives/with-disabled-state.directive.mjs +3 -3
  149. package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
  150. package/esm2020/lib/services/window-ref.mjs +3 -3
  151. package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
  152. package/esm2020/utils/lib/helpers/provide-config.mjs +3 -7
  153. package/fesm2015/odx-angular-animations.mjs +2 -2
  154. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  155. package/fesm2015/odx-angular-cdk-a11y.mjs +13 -13
  156. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  157. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
  158. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +7 -8
  159. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  160. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  161. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +10 -10
  162. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  163. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  164. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +10 -10
  165. package/fesm2015/odx-angular-components-accordion.mjs +14 -14
  166. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  167. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  168. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  169. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  170. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  171. package/fesm2015/odx-angular-components-bar.mjs +13 -13
  172. package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
  173. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  174. package/fesm2015/odx-angular-components-button.mjs +6 -6
  175. package/fesm2015/odx-angular-components-card.mjs +20 -20
  176. package/fesm2015/odx-angular-components-card.mjs.map +1 -1
  177. package/fesm2015/odx-angular-components-checkbox.mjs +11 -11
  178. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  179. package/fesm2015/odx-angular-components-chip.mjs +4 -4
  180. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  181. package/fesm2015/odx-angular-components-circular-progress.mjs +3 -3
  182. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  183. package/fesm2015/odx-angular-components-dropdown.mjs +10 -10
  184. package/fesm2015/odx-angular-components-form-field.mjs +34 -34
  185. package/fesm2015/odx-angular-components-header.mjs +13 -13
  186. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  187. package/fesm2015/odx-angular-components-inline-message.mjs +5 -5
  188. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  189. package/fesm2015/odx-angular-components-link.mjs +3 -3
  190. package/fesm2015/odx-angular-components-list.mjs +14 -14
  191. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  192. package/fesm2015/odx-angular-components-loading-spinner.mjs +10 -10
  193. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  194. package/fesm2015/odx-angular-components-main-menu.mjs +17 -17
  195. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  196. package/fesm2015/odx-angular-components-mainfilter-group.mjs +3 -3
  197. package/fesm2015/odx-angular-components-menu.mjs +13 -13
  198. package/fesm2015/odx-angular-components-modal.mjs +39 -40
  199. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  200. package/fesm2015/odx-angular-components-navigation-back.mjs +4 -4
  201. package/fesm2015/odx-angular-components-navigation-back.mjs.map +1 -1
  202. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  203. package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
  204. package/fesm2015/odx-angular-components-rail-navigation.mjs +11 -11
  205. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  206. package/fesm2015/odx-angular-components-select.mjs +18 -18
  207. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  208. package/fesm2015/odx-angular-components-slider.mjs +3 -3
  209. package/fesm2015/odx-angular-components-spinbox.mjs +4 -4
  210. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  211. package/fesm2015/odx-angular-components-switch.mjs +10 -10
  212. package/fesm2015/odx-angular-components-tab-bar.mjs +12 -12
  213. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  214. package/fesm2015/odx-angular-components-toast.mjs +16 -17
  215. package/fesm2015/odx-angular-components-toast.mjs.map +1 -1
  216. package/fesm2015/odx-angular-components-toggle-button-group.mjs +10 -10
  217. package/fesm2015/odx-angular-components-tooltip.mjs +7 -8
  218. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  219. package/fesm2015/odx-angular-internal.mjs +8 -1
  220. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  221. package/fesm2015/odx-angular-utils.mjs +5 -10
  222. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  223. package/fesm2015/odx-angular.mjs +28 -28
  224. package/fesm2020/odx-angular-animations.mjs +2 -2
  225. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  226. package/fesm2020/odx-angular-cdk-a11y.mjs +13 -13
  227. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  228. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
  229. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +7 -8
  230. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  231. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  232. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +10 -10
  233. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  234. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  235. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +10 -10
  236. package/fesm2020/odx-angular-components-accordion.mjs +14 -14
  237. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  238. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  239. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  240. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  241. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  242. package/fesm2020/odx-angular-components-bar.mjs +13 -13
  243. package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
  244. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  245. package/fesm2020/odx-angular-components-button.mjs +6 -6
  246. package/fesm2020/odx-angular-components-card.mjs +20 -20
  247. package/fesm2020/odx-angular-components-card.mjs.map +1 -1
  248. package/fesm2020/odx-angular-components-checkbox.mjs +11 -11
  249. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  250. package/fesm2020/odx-angular-components-chip.mjs +4 -4
  251. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  252. package/fesm2020/odx-angular-components-circular-progress.mjs +3 -3
  253. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  254. package/fesm2020/odx-angular-components-dropdown.mjs +10 -10
  255. package/fesm2020/odx-angular-components-form-field.mjs +34 -34
  256. package/fesm2020/odx-angular-components-header.mjs +13 -13
  257. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  258. package/fesm2020/odx-angular-components-inline-message.mjs +5 -5
  259. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  260. package/fesm2020/odx-angular-components-link.mjs +3 -3
  261. package/fesm2020/odx-angular-components-list.mjs +14 -14
  262. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  263. package/fesm2020/odx-angular-components-loading-spinner.mjs +10 -10
  264. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  265. package/fesm2020/odx-angular-components-main-menu.mjs +17 -17
  266. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  267. package/fesm2020/odx-angular-components-mainfilter-group.mjs +3 -3
  268. package/fesm2020/odx-angular-components-menu.mjs +13 -13
  269. package/fesm2020/odx-angular-components-modal.mjs +39 -40
  270. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  271. package/fesm2020/odx-angular-components-navigation-back.mjs +4 -4
  272. package/fesm2020/odx-angular-components-navigation-back.mjs.map +1 -1
  273. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  274. package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
  275. package/fesm2020/odx-angular-components-rail-navigation.mjs +11 -11
  276. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  277. package/fesm2020/odx-angular-components-select.mjs +18 -18
  278. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  279. package/fesm2020/odx-angular-components-slider.mjs +3 -3
  280. package/fesm2020/odx-angular-components-spinbox.mjs +4 -4
  281. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  282. package/fesm2020/odx-angular-components-switch.mjs +10 -10
  283. package/fesm2020/odx-angular-components-tab-bar.mjs +12 -12
  284. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  285. package/fesm2020/odx-angular-components-toast.mjs +16 -17
  286. package/fesm2020/odx-angular-components-toast.mjs.map +1 -1
  287. package/fesm2020/odx-angular-components-toggle-button-group.mjs +10 -10
  288. package/fesm2020/odx-angular-components-tooltip.mjs +7 -8
  289. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  290. package/fesm2020/odx-angular-internal.mjs +8 -1
  291. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  292. package/fesm2020/odx-angular-utils.mjs +5 -10
  293. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  294. package/fesm2020/odx-angular.mjs +28 -28
  295. package/internal/helpers/deepmerge.d.ts +10 -0
  296. package/internal/helpers/index.d.ts +1 -0
  297. package/package.json +2 -2
@@ -3,10 +3,9 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, inject, Directive } from '@angular/core';
5
5
  import { ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';
6
- import { CSSModifier, CSSComponent } from '@odx/angular/internal';
6
+ import { CSSModifier, CSSComponent, deepmerge } from '@odx/angular/internal';
7
7
  import { delayUntil } from '@odx/angular/rxjs';
8
8
  import { getInjector, injectElement, EventManager, untilDestroyed, hasChanged, Transform } from '@odx/angular/utils';
9
- import { deepmerge } from 'deepmerge-ts';
10
9
  import { Subject, filter, tap, merge } from 'rxjs';
11
10
  import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
12
11
 
@@ -43,8 +42,8 @@ let TooltipComponent = class TooltipComponent {
43
42
  this.size = TooltipSize.AUTO;
44
43
  }
45
44
  };
46
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: TooltipComponent, isStandalone: true, selector: "odx-tooltip", inputs: { id: "id", content: "content", size: "size" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "id" } }, ngImport: i0, template: "<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n", dependencies: [{ kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TooltipComponent, isStandalone: true, selector: "odx-tooltip", inputs: { id: "id", content: "content", size: "size" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "id" } }, ngImport: i0, template: "<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n", dependencies: [{ kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
48
47
  __decorate([
49
48
  CSSModifier(),
50
49
  __metadata("design:type", String)
@@ -52,7 +51,7 @@ __decorate([
52
51
  TooltipComponent = __decorate([
53
52
  CSSComponent('tooltip')
54
53
  ], TooltipComponent);
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TooltipComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipComponent, decorators: [{
56
55
  type: Component,
57
56
  args: [{ standalone: true, selector: 'odx-tooltip', imports: [DynamicViewDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
58
57
  '[attr.id]': 'id',
@@ -137,8 +136,8 @@ let TooltipDirective = TooltipDirective_1 = class TooltipDirective {
137
136
  }
138
137
  };
139
138
  TooltipDirective.ID = 0;
140
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
141
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: TooltipDirective, isStandalone: true, selector: "[odxTooltip]", inputs: { content: ["odxTooltip", "content"], disabled: ["odxTooltipDisabled", "disabled"], options: ["odxTooltipOptions", "options"], size: ["odxTooltipSize", "size"], visible: ["odxTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "tooltipId" } }, providers: [EventManager], exportAs: ["odxTooltip"], usesOnChanges: true, ngImport: i0 });
139
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
140
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TooltipDirective, isStandalone: true, selector: "[odxTooltip]", inputs: { content: ["odxTooltip", "content"], disabled: ["odxTooltipDisabled", "disabled"], options: ["odxTooltipOptions", "options"], size: ["odxTooltipSize", "size"], visible: ["odxTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "tooltipId" } }, providers: [EventManager], exportAs: ["odxTooltip"], usesOnChanges: true, ngImport: i0 });
142
141
  __decorate([
143
142
  Transform(coerceBooleanProperty),
144
143
  __metadata("design:type", Object)
@@ -151,7 +150,7 @@ TooltipDirective = TooltipDirective_1 = __decorate([
151
150
  CSSComponent('tooltip-host'),
152
151
  __metadata("design:paramtypes", [])
153
152
  ], TooltipDirective);
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TooltipDirective, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipDirective, decorators: [{
155
154
  type: Directive,
156
155
  args: [{
157
156
  standalone: true,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-tooltip.mjs","sources":["../../../../libs/angular/components/tooltip/src/lib/helpers/resolve-tooltip-trigger-events.ts","../../../../libs/angular/components/tooltip/src/lib/models/tooltip-size.ts","../../../../libs/angular/components/tooltip/src/lib/models/tooltip-options.ts","../../../../libs/angular/components/tooltip/src/lib/tooltip.component.ts","../../../../libs/angular/components/tooltip/src/lib/tooltip.component.html","../../../../libs/angular/components/tooltip/src/lib/tooltip.directive.ts","../../../../libs/angular/components/tooltip/src/odx-angular-components-tooltip.ts"],"sourcesContent":["import { TooltipTrigger } from '../models';\n\nexport function resolveTooltipTriggerEvents(trigger: TooltipTrigger): [string, string | null] {\n if (trigger === 'click') {\n return ['click', null];\n } else {\n return ['mouseenter', 'mouseleave'];\n }\n}\n","export type TooltipSize = typeof TooltipSize[keyof typeof TooltipSize];\n\nexport const TooltipSize = {\n AUTO: 'auto',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\nimport { TooltipSize } from './tooltip-size';\nimport { TooltipTrigger } from './tooltip-trigger';\n\nexport interface TooltipOptions extends Pick<ConnectedOverlayOptions, 'position' | 'matchReferenceWidth'> {\n trigger: TooltipTrigger;\n delayIn: number;\n delayOut: number;\n size: TooltipSize;\n}\n\nexport const DefaultTooltipOptions: TooltipOptions = {\n matchReferenceWidth: false,\n size: TooltipSize.AUTO,\n trigger: 'hover',\n position: 'top',\n delayIn: 0,\n delayOut: 0,\n};\n","import { ChangeDetectionStrategy, Component, Input, Type, ViewEncapsulation } from '@angular/core';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { getInjector, injectElement } from '@odx/angular/utils';\nimport { TooltipSize } from './models';\n\n@CSSComponent('tooltip')\n@Component({\n standalone: true,\n selector: 'odx-tooltip',\n imports: [DynamicViewDirective],\n templateUrl: './tooltip.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.id]': 'id',\n role: 'tooltip',\n },\n})\nexport class TooltipComponent {\n protected readonly injector = getInjector();\n public readonly element = injectElement();\n\n @Input()\n public id: string | null = null;\n\n @Input()\n public content?: Exclude<DynamicContent, Type<unknown>> | null;\n\n @CSSModifier()\n @Input()\n public size: TooltipSize = TooltipSize.AUTO;\n}\n","<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, inject, Input, OnChanges, OnInit, Type } from '@angular/core';\nimport { ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { delayUntil } from '@odx/angular/rxjs';\nimport { EventManager, hasChanged, injectElement, NgChanges, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { deepmerge } from 'deepmerge-ts';\nimport { filter, merge, Subject, tap } from 'rxjs';\nimport { resolveTooltipTriggerEvents } from './helpers';\nimport { DefaultTooltipOptions, TooltipOptions, TooltipSize } from './models';\nimport { TooltipComponent } from './tooltip.component';\n\n@CSSComponent('tooltip-host')\n@Directive({\n standalone: true,\n selector: '[odxTooltip]',\n exportAs: 'odxTooltip',\n providers: [EventManager],\n host: {\n '[attr.aria-describedby]': 'tooltipId',\n },\n})\nexport class TooltipDirective implements OnInit, OnChanges {\n private static ID = 0;\n\n public static ngAcceptInputType_disabled: BooleanInput;\n public static ngAcceptInputType_visible: BooleanInput;\n\n private readonly eventManager = inject(EventManager);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly showTrigger$$ = new Subject<void>();\n private readonly hideTrigger$$ = new Subject<void>();\n private connectedOverlayRef: ConnectedOverlayRef | null = null;\n private tooltipOptions = DefaultTooltipOptions;\n\n protected tooltipId: string | null = null;\n public readonly element = injectElement();\n\n @Input('odxTooltip')\n public content?: Exclude<DynamicContent, Type<unknown>> | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxTooltipDisabled')\n public disabled = false;\n\n @Input('odxTooltipOptions')\n public set options(value: Partial<TooltipOptions> | null | undefined) {\n this.tooltipOptions = deepmerge(DefaultTooltipOptions, value) as TooltipOptions;\n }\n\n @Input('odxTooltipSize')\n public size?: TooltipSize | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxTooltipVisible')\n public visible = false;\n\n public get isOpen(): boolean {\n return this.connectedOverlayRef !== null;\n }\n\n constructor() {\n const takeUntilDestroyed = untilDestroyed();\n const show$ = this.showTrigger$$.pipe(\n filter(() => !this.isOpen),\n delayUntil(() => this.tooltipOptions.delayIn, this.hideTrigger$$),\n tap(() => this.show())\n );\n const hide$ = this.hideTrigger$$.pipe(\n filter(() => this.isOpen),\n delayUntil(() => this.tooltipOptions.delayOut, this.showTrigger$$),\n tap(() => this.hide())\n );\n merge(show$, hide$).pipe(takeUntilDestroyed()).subscribe();\n }\n\n public ngOnInit(): void {\n this.registerEvents();\n }\n\n public ngOnChanges(changes: NgChanges<TooltipDirective>): void {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.hide();\n }\n if (hasChanged(changes, ['content', 'size'])) {\n this.connectedOverlayRef?.update({ context: { content: this.content, size: this.size } });\n }\n if (hasChanged(changes, 'options')) {\n this.connectedOverlayRef?.update(this.tooltipOptions);\n this.registerEvents();\n }\n if (this.visible && !this.disabled) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n public show(): void {\n if (this.isOpen || this.disabled) return;\n this.tooltipId = `odx-tooltip-${TooltipDirective.ID++}`;\n this.connectedOverlayRef = this.connectedOverlayService.createOverlay(this.element.nativeElement, {\n ...this.tooltipOptions,\n containerClass: 'odx-tooltip-overlay',\n content: TooltipComponent,\n context: { content: this.content, size: this.size, id: this.tooltipId },\n showArrow: true,\n enableFallback: true,\n });\n }\n\n public hide(): void {\n if (!this.isOpen || (this.visible && !this.disabled)) return;\n this.connectedOverlayRef?.close();\n this.connectedOverlayRef = null;\n this.tooltipId = null;\n }\n\n private registerEvents(): void {\n const [openEvent, closeEvent] = resolveTooltipTriggerEvents(this.tooltipOptions.trigger);\n this.eventManager.destroyListeners();\n this.eventManager.register([openEvent, 'focusin'], () => this.showTrigger$$.next());\n this.eventManager.register([closeEvent, 'focusout'], () => this.hideTrigger$$.next());\n this.eventManager.register(['keyup.esc'], () => this.hideTrigger$$.next(), 'document');\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-components-tooltip.mjs","sources":["../../../../libs/angular/components/tooltip/src/lib/helpers/resolve-tooltip-trigger-events.ts","../../../../libs/angular/components/tooltip/src/lib/models/tooltip-size.ts","../../../../libs/angular/components/tooltip/src/lib/models/tooltip-options.ts","../../../../libs/angular/components/tooltip/src/lib/tooltip.component.ts","../../../../libs/angular/components/tooltip/src/lib/tooltip.component.html","../../../../libs/angular/components/tooltip/src/lib/tooltip.directive.ts","../../../../libs/angular/components/tooltip/src/odx-angular-components-tooltip.ts"],"sourcesContent":["import { TooltipTrigger } from '../models';\n\nexport function resolveTooltipTriggerEvents(trigger: TooltipTrigger): [string, string | null] {\n if (trigger === 'click') {\n return ['click', null];\n } else {\n return ['mouseenter', 'mouseleave'];\n }\n}\n","export type TooltipSize = typeof TooltipSize[keyof typeof TooltipSize];\n\nexport const TooltipSize = {\n AUTO: 'auto',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\nimport { TooltipSize } from './tooltip-size';\nimport { TooltipTrigger } from './tooltip-trigger';\n\nexport interface TooltipOptions extends Pick<ConnectedOverlayOptions, 'position' | 'matchReferenceWidth'> {\n trigger: TooltipTrigger;\n delayIn: number;\n delayOut: number;\n size: TooltipSize;\n}\n\nexport const DefaultTooltipOptions: TooltipOptions = {\n matchReferenceWidth: false,\n size: TooltipSize.AUTO,\n trigger: 'hover',\n position: 'top',\n delayIn: 0,\n delayOut: 0,\n};\n","import { ChangeDetectionStrategy, Component, Input, Type, ViewEncapsulation } from '@angular/core';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { getInjector, injectElement } from '@odx/angular/utils';\nimport { TooltipSize } from './models';\n\n@CSSComponent('tooltip')\n@Component({\n standalone: true,\n selector: 'odx-tooltip',\n imports: [DynamicViewDirective],\n templateUrl: './tooltip.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.id]': 'id',\n role: 'tooltip',\n },\n})\nexport class TooltipComponent {\n protected readonly injector = getInjector();\n public readonly element = injectElement();\n\n @Input()\n public id: string | null = null;\n\n @Input()\n public content?: Exclude<DynamicContent, Type<unknown>> | null;\n\n @CSSModifier()\n @Input()\n public size: TooltipSize = TooltipSize.AUTO;\n}\n","<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, inject, Input, OnChanges, OnInit, Type } from '@angular/core';\nimport { ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent, deepmerge } from '@odx/angular/internal';\nimport { delayUntil } from '@odx/angular/rxjs';\nimport { EventManager, hasChanged, injectElement, NgChanges, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { filter, merge, Subject, tap } from 'rxjs';\nimport { resolveTooltipTriggerEvents } from './helpers';\nimport { DefaultTooltipOptions, TooltipOptions, TooltipSize } from './models';\nimport { TooltipComponent } from './tooltip.component';\n\n@CSSComponent('tooltip-host')\n@Directive({\n standalone: true,\n selector: '[odxTooltip]',\n exportAs: 'odxTooltip',\n providers: [EventManager],\n host: {\n '[attr.aria-describedby]': 'tooltipId',\n },\n})\nexport class TooltipDirective implements OnInit, OnChanges {\n private static ID = 0;\n\n public static ngAcceptInputType_disabled: BooleanInput;\n public static ngAcceptInputType_visible: BooleanInput;\n\n private readonly eventManager = inject(EventManager);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly showTrigger$$ = new Subject<void>();\n private readonly hideTrigger$$ = new Subject<void>();\n private connectedOverlayRef: ConnectedOverlayRef | null = null;\n private tooltipOptions = DefaultTooltipOptions;\n\n protected tooltipId: string | null = null;\n public readonly element = injectElement();\n\n @Input('odxTooltip')\n public content?: Exclude<DynamicContent, Type<unknown>> | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxTooltipDisabled')\n public disabled = false;\n\n @Input('odxTooltipOptions')\n public set options(value: Partial<TooltipOptions> | null | undefined) {\n this.tooltipOptions = deepmerge(DefaultTooltipOptions, value) as TooltipOptions;\n }\n\n @Input('odxTooltipSize')\n public size?: TooltipSize | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxTooltipVisible')\n public visible = false;\n\n public get isOpen(): boolean {\n return this.connectedOverlayRef !== null;\n }\n\n constructor() {\n const takeUntilDestroyed = untilDestroyed();\n const show$ = this.showTrigger$$.pipe(\n filter(() => !this.isOpen),\n delayUntil(() => this.tooltipOptions.delayIn, this.hideTrigger$$),\n tap(() => this.show())\n );\n const hide$ = this.hideTrigger$$.pipe(\n filter(() => this.isOpen),\n delayUntil(() => this.tooltipOptions.delayOut, this.showTrigger$$),\n tap(() => this.hide())\n );\n merge(show$, hide$).pipe(takeUntilDestroyed()).subscribe();\n }\n\n public ngOnInit(): void {\n this.registerEvents();\n }\n\n public ngOnChanges(changes: NgChanges<TooltipDirective>): void {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.hide();\n }\n if (hasChanged(changes, ['content', 'size'])) {\n this.connectedOverlayRef?.update({ context: { content: this.content, size: this.size } });\n }\n if (hasChanged(changes, 'options')) {\n this.connectedOverlayRef?.update(this.tooltipOptions);\n this.registerEvents();\n }\n if (this.visible && !this.disabled) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n public show(): void {\n if (this.isOpen || this.disabled) return;\n this.tooltipId = `odx-tooltip-${TooltipDirective.ID++}`;\n this.connectedOverlayRef = this.connectedOverlayService.createOverlay(this.element.nativeElement, {\n ...this.tooltipOptions,\n containerClass: 'odx-tooltip-overlay',\n content: TooltipComponent,\n context: { content: this.content, size: this.size, id: this.tooltipId },\n showArrow: true,\n enableFallback: true,\n });\n }\n\n public hide(): void {\n if (!this.isOpen || (this.visible && !this.disabled)) return;\n this.connectedOverlayRef?.close();\n this.connectedOverlayRef = null;\n this.tooltipId = null;\n }\n\n private registerEvents(): void {\n const [openEvent, closeEvent] = resolveTooltipTriggerEvents(this.tooltipOptions.trigger);\n this.eventManager.destroyListeners();\n this.eventManager.register([openEvent, 'focusin'], () => this.showTrigger$$.next());\n this.eventManager.register([closeEvent, 'focusout'], () => this.hideTrigger$$.next());\n this.eventManager.register(['keyup.esc'], () => this.hideTrigger$$.next(), 'document');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { deepmergeCustom } from 'deepmerge-ts';
2
+
1
3
  /** @internal */
2
4
  /* istanbul ignore next */
3
5
  function camelToKebabCase(value) {
@@ -14,6 +16,11 @@ function decoratorPropertyName(decoratorName, propertyName) {
14
16
  return `__ODX_${decoratorName}_${propertyName}__`;
15
17
  }
16
18
 
19
+ const deepmerge = deepmergeCustom({
20
+ mergeArrays: false,
21
+ mergeSets: false,
22
+ });
23
+
17
24
  /* istanbul ignore next */
18
25
  function isSameDomain(styleSheet) {
19
26
  if (!styleSheet.href) {
@@ -172,5 +179,5 @@ function CSSModifier(options) {
172
179
  * Generated bundle index. Do not edit.
173
180
  */
174
181
 
175
- export { CSSComponent, CSSModifier, CSS_COMPONENT_NAME, camelToKebabCase, decoratorPropertyName, getCSSVariables, getEnumValues, ɵwithMultipleDescriptors };
182
+ export { CSSComponent, CSSModifier, CSS_COMPONENT_NAME, camelToKebabCase, decoratorPropertyName, deepmerge, getCSSVariables, getEnumValues, ɵwithMultipleDescriptors };
176
183
  //# sourceMappingURL=odx-angular-internal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-internal.mjs","sources":["../../../../libs/angular/internal/src/helpers/camel-to-kebab-case.ts","../../../../libs/angular/internal/src/helpers/decorator-property-name.ts","../../../../libs/angular/internal/src/helpers/get-css-variables.ts","../../../../libs/angular/internal/src/helpers/get-enum-values.ts","../../../../libs/angular/internal/src/helpers/with-mutiple-descriptors.ts","../../../../libs/angular/internal/src/decorators/css-component.ts","../../../../libs/angular/internal/src/decorators/css-modifier.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["/** @internal */\n/* istanbul ignore next */\nexport function camelToKebabCase(value: string): string {\n if (value !== value.toLowerCase()) {\n return value.replace(/[A-Z]/g, (match, index) => {\n const char = match.toLowerCase();\n\n return index === 0 ? char : `-${char}`;\n });\n }\n return value;\n}\n","export function decoratorPropertyName<D extends string, T extends string>(decoratorName: D, propertyName: T): `__ODX_${D}_${T}__` {\n return `__ODX_${decoratorName}_${propertyName}__`;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\ninterface ColorDefinition {\n name: string;\n variableName: string;\n value: string;\n}\n\n/* istanbul ignore next */\nfunction isSameDomain(styleSheet: StyleSheet): boolean {\n if (!styleSheet.href) {\n return true;\n }\n\n return styleSheet.href.indexOf(window.location.origin) === 0;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function getCSSVariables(filter: RegExp): ColorDefinition[] {\n const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);\n return stylesheets.reduce<any[]>((variables, { cssRules }) => {\n for (const { style, type } of Array.from(cssRules) as any[]) {\n if (type === 1) {\n for (const prop of Array.from(style ?? []) as string[]) {\n const name = prop.trim();\n if (name.startsWith('--') && filter.test(name)) {\n variables.push({\n name: name,\n value: style.getPropertyValue(prop).trim(),\n });\n }\n }\n }\n }\n return variables;\n }, []);\n}\n","/** @internal */\nexport function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {\n const keys = Object.keys(e) as TKeys[];\n return keys.filter((key) => e[key] !== undefined).map((key) => e[key]);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { decoratorPropertyName } from './decorator-property-name';\n\n/** @internal */\ninterface DescriptiorManager {\n addGetter: (value: any) => void;\n addSetter: (value: any) => void;\n init: () => void;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function ɵwithMultipleDescriptors(target: any, key: PropertyKey, propertySymbol: string): DescriptiorManager {\n const keyName = key.toString();\n const settersProperty = decoratorPropertyName('MultipleDescriptors', `setters_${target.constructor.name}_${keyName}`);\n const gettersProperty = decoratorPropertyName('MultipleDescriptors', `getters_${target.constructor.name}_${keyName}`);\n const valueProperty = decoratorPropertyName('MultipleDescriptors', `value_${keyName}`);\n const setters = (target[settersProperty] ??= []);\n const getters = (target[gettersProperty] ??= []);\n return {\n addSetter(fn: (this: any, value: any) => void) {\n setters.push({ fn, propertySymbol });\n },\n addGetter(fn: (this: any, value: any) => void) {\n getters.push({ fn });\n },\n init() {\n Object.defineProperty(target, key, {\n set(value) {\n let currentValue = value;\n for (const { fn, propertySymbol } of setters) {\n fn.call(this, currentValue);\n currentValue = this[propertySymbol];\n }\n this[valueProperty] = currentValue;\n },\n get() {\n if (Array.isArray(getters)) {\n let currentValue = this[valueProperty];\n for (const { fn } of getters) {\n currentValue = fn.call(this);\n }\n return currentValue;\n } else {\n return this[valueProperty];\n }\n },\n configurable: true,\n });\n },\n };\n}\n","import { ElementRef, Type } from '@angular/core';\nimport { decoratorPropertyName } from '../helpers';\n\nexport const CSS_COMPONENT_NAME = decoratorPropertyName('CSSComponent', 'name');\n\n/** @internal */\nexport interface CSSComponent {\n readonly element: ElementRef<unknown>;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSComponent(name: string, prefix = 'odx') {\n return (target: Type<CSSComponent>) => {\n const cssClass = `${prefix}-${name}`;\n Object.defineProperty(target.prototype, CSS_COMPONENT_NAME, {\n value: cssClass,\n });\n\n (function (this: unknown, ngOnInit?: () => void) {\n target.prototype.ngOnInit = function () {\n this.element.nativeElement.classList.add(cssClass);\n ngOnInit?.call(this);\n };\n })(target.prototype.ngOnInit);\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { camelToKebabCase, decoratorPropertyName, ɵwithMultipleDescriptors } from '../helpers';\nimport { CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n isArray?: boolean;\n withComponentPrefix?: boolean;\n withPrefix?: boolean;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: any, propertyKey: PropertyKey) => {\n const propertyKeyName = propertyKey.toString();\n const propertyKeyKebabCase = camelToKebabCase(propertyKeyName);\n const propertySymbol = decoratorPropertyName('CSSModifier', propertyKeyName);\n const propertyDefaultValue = decoratorPropertyName('CSSModifier', `${propertyKeyName}_default`);\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function createModifierClass(this: any, value: any) {\n if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {\n let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;\n if (options?.withPrefix) {\n modifier = `${propertyKeyName}-${modifier}`;\n }\n if (options?.withComponentPrefix ?? true) {\n return `${this[CSS_COMPONENT_NAME]}--${modifier}`;\n }\n return modifier;\n }\n return null;\n }\n\n function setter(this: any, value: any) {\n const values = options?.isArray ? value : [value];\n this[propertySymbol] ??= [];\n this[propertyDefaultValue] ??= values;\n for (let i = 0; i < values.length; ++i) {\n const nextValue = values[i] ?? this[propertyDefaultValue]?.[i] ?? null;\n const currentValue = this[propertySymbol][i] ?? null;\n if (this[propertySymbol].length < 1 || nextValue !== currentValue) {\n const currentModifierClass = createModifierClass.apply(this, [currentValue]);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n this[propertySymbol][i] = nextValue;\n const newModifierClass = createModifierClass.apply(this, [nextValue]);\n if (newModifierClass !== null && (typeof nextValue === 'boolean' ? nextValue : true)) {\n this.element.nativeElement.classList.add(newModifierClass);\n }\n }\n }\n }\n\n function getter(this: any) {\n return options?.isArray ? this[propertySymbol] : this[propertySymbol]?.[0];\n }\n\n descriptors.addSetter(setter);\n descriptors.addGetter(getter);\n descriptors.init();\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-internal.mjs","sources":["../../../../libs/angular/internal/src/helpers/camel-to-kebab-case.ts","../../../../libs/angular/internal/src/helpers/decorator-property-name.ts","../../../../libs/angular/internal/src/helpers/deepmerge.ts","../../../../libs/angular/internal/src/helpers/get-css-variables.ts","../../../../libs/angular/internal/src/helpers/get-enum-values.ts","../../../../libs/angular/internal/src/helpers/with-mutiple-descriptors.ts","../../../../libs/angular/internal/src/decorators/css-component.ts","../../../../libs/angular/internal/src/decorators/css-modifier.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["/** @internal */\n/* istanbul ignore next */\nexport function camelToKebabCase(value: string): string {\n if (value !== value.toLowerCase()) {\n return value.replace(/[A-Z]/g, (match, index) => {\n const char = match.toLowerCase();\n\n return index === 0 ? char : `-${char}`;\n });\n }\n return value;\n}\n","export function decoratorPropertyName<D extends string, T extends string>(decoratorName: D, propertyName: T): `__ODX_${D}_${T}__` {\n return `__ODX_${decoratorName}_${propertyName}__`;\n}\n","import { deepmergeCustom, DeepMergeLeafURI } from 'deepmerge-ts';\n\nexport const deepmerge = deepmergeCustom<{ DeepMergeArraysURI: DeepMergeLeafURI }>({\n mergeArrays: false,\n mergeSets: false,\n});\n","/* eslint-disable @typescript-eslint/no-explicit-any */\ninterface ColorDefinition {\n name: string;\n variableName: string;\n value: string;\n}\n\n/* istanbul ignore next */\nfunction isSameDomain(styleSheet: StyleSheet): boolean {\n if (!styleSheet.href) {\n return true;\n }\n\n return styleSheet.href.indexOf(window.location.origin) === 0;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function getCSSVariables(filter: RegExp): ColorDefinition[] {\n const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);\n return stylesheets.reduce<any[]>((variables, { cssRules }) => {\n for (const { style, type } of Array.from(cssRules) as any[]) {\n if (type === 1) {\n for (const prop of Array.from(style ?? []) as string[]) {\n const name = prop.trim();\n if (name.startsWith('--') && filter.test(name)) {\n variables.push({\n name: name,\n value: style.getPropertyValue(prop).trim(),\n });\n }\n }\n }\n }\n return variables;\n }, []);\n}\n","/** @internal */\nexport function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {\n const keys = Object.keys(e) as TKeys[];\n return keys.filter((key) => e[key] !== undefined).map((key) => e[key]);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { decoratorPropertyName } from './decorator-property-name';\n\n/** @internal */\ninterface DescriptiorManager {\n addGetter: (value: any) => void;\n addSetter: (value: any) => void;\n init: () => void;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function ɵwithMultipleDescriptors(target: any, key: PropertyKey, propertySymbol: string): DescriptiorManager {\n const keyName = key.toString();\n const settersProperty = decoratorPropertyName('MultipleDescriptors', `setters_${target.constructor.name}_${keyName}`);\n const gettersProperty = decoratorPropertyName('MultipleDescriptors', `getters_${target.constructor.name}_${keyName}`);\n const valueProperty = decoratorPropertyName('MultipleDescriptors', `value_${keyName}`);\n const setters = (target[settersProperty] ??= []);\n const getters = (target[gettersProperty] ??= []);\n return {\n addSetter(fn: (this: any, value: any) => void) {\n setters.push({ fn, propertySymbol });\n },\n addGetter(fn: (this: any, value: any) => void) {\n getters.push({ fn });\n },\n init() {\n Object.defineProperty(target, key, {\n set(value) {\n let currentValue = value;\n for (const { fn, propertySymbol } of setters) {\n fn.call(this, currentValue);\n currentValue = this[propertySymbol];\n }\n this[valueProperty] = currentValue;\n },\n get() {\n if (Array.isArray(getters)) {\n let currentValue = this[valueProperty];\n for (const { fn } of getters) {\n currentValue = fn.call(this);\n }\n return currentValue;\n } else {\n return this[valueProperty];\n }\n },\n configurable: true,\n });\n },\n };\n}\n","import { ElementRef, Type } from '@angular/core';\nimport { decoratorPropertyName } from '../helpers';\n\nexport const CSS_COMPONENT_NAME = decoratorPropertyName('CSSComponent', 'name');\n\n/** @internal */\nexport interface CSSComponent {\n readonly element: ElementRef<unknown>;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSComponent(name: string, prefix = 'odx') {\n return (target: Type<CSSComponent>) => {\n const cssClass = `${prefix}-${name}`;\n Object.defineProperty(target.prototype, CSS_COMPONENT_NAME, {\n value: cssClass,\n });\n\n (function (this: unknown, ngOnInit?: () => void) {\n target.prototype.ngOnInit = function () {\n this.element.nativeElement.classList.add(cssClass);\n ngOnInit?.call(this);\n };\n })(target.prototype.ngOnInit);\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { camelToKebabCase, decoratorPropertyName, ɵwithMultipleDescriptors } from '../helpers';\nimport { CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n isArray?: boolean;\n withComponentPrefix?: boolean;\n withPrefix?: boolean;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: any, propertyKey: PropertyKey) => {\n const propertyKeyName = propertyKey.toString();\n const propertyKeyKebabCase = camelToKebabCase(propertyKeyName);\n const propertySymbol = decoratorPropertyName('CSSModifier', propertyKeyName);\n const propertyDefaultValue = decoratorPropertyName('CSSModifier', `${propertyKeyName}_default`);\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function createModifierClass(this: any, value: any) {\n if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {\n let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;\n if (options?.withPrefix) {\n modifier = `${propertyKeyName}-${modifier}`;\n }\n if (options?.withComponentPrefix ?? true) {\n return `${this[CSS_COMPONENT_NAME]}--${modifier}`;\n }\n return modifier;\n }\n return null;\n }\n\n function setter(this: any, value: any) {\n const values = options?.isArray ? value : [value];\n this[propertySymbol] ??= [];\n this[propertyDefaultValue] ??= values;\n for (let i = 0; i < values.length; ++i) {\n const nextValue = values[i] ?? this[propertyDefaultValue]?.[i] ?? null;\n const currentValue = this[propertySymbol][i] ?? null;\n if (this[propertySymbol].length < 1 || nextValue !== currentValue) {\n const currentModifierClass = createModifierClass.apply(this, [currentValue]);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n this[propertySymbol][i] = nextValue;\n const newModifierClass = createModifierClass.apply(this, [nextValue]);\n if (newModifierClass !== null && (typeof nextValue === 'boolean' ? nextValue : true)) {\n this.element.nativeElement.classList.add(newModifierClass);\n }\n }\n }\n }\n\n function getter(this: any) {\n return options?.isArray ? this[propertySymbol] : this[propertySymbol]?.[0];\n }\n\n descriptors.addSetter(setter);\n descriptors.addGetter(getter);\n descriptors.init();\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { decoratorPropertyName, ɵwithMultipleDescriptors } from '@odx/angular/internal';
1
+ import { decoratorPropertyName, ɵwithMultipleDescriptors, deepmerge } from '@odx/angular/internal';
2
2
  import * as i0 from '@angular/core';
3
3
  import { TemplateRef, inject, ChangeDetectorRef, Injector, ElementRef, Renderer2, Injectable, InjectionToken } from '@angular/core';
4
4
  import { Subject, takeUntil, tap, BehaviorSubject } from 'rxjs';
5
- import { deepmergeCustom } from 'deepmerge-ts';
6
5
  import { map, shareReplay } from 'rxjs/operators';
7
6
 
8
7
  function Pure(_target, propertyKey, { get, enumerable, value }) {
@@ -209,9 +208,9 @@ class EventManager {
209
208
  this.destroyListeners();
210
209
  }
211
210
  }
212
- EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
213
- EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventManager });
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventManager, decorators: [{
211
+ EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
212
+ EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EventManager });
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EventManager, decorators: [{
215
214
  type: Injectable
216
215
  }] });
217
216
 
@@ -299,10 +298,6 @@ function provideConfig(token, config) {
299
298
  }
300
299
  return { provide: token, useValue: config };
301
300
  }
302
- const customDeepmerge = deepmergeCustom({
303
- mergeArrays: false,
304
- mergeSets: false,
305
- });
306
301
  function createConfigTokens(name, prefix, defaultValue) {
307
302
  const configName = `${name}Config`;
308
303
  const defaultConfigName = `${name}DefaultConfig`;
@@ -313,7 +308,7 @@ function createConfigTokens(name, prefix, defaultValue) {
313
308
  return {
314
309
  [configName]: token,
315
310
  [defaultConfigName]: defaultValue,
316
- [injectConfigName]: () => { var _a; return customDeepmerge(defaultValue, (_a = inject(token, { skipSelf: true, optional: true })) !== null && _a !== void 0 ? _a : {}, inject(token)); },
311
+ [injectConfigName]: () => { var _a; return deepmerge(defaultValue, (_a = inject(token, { skipSelf: true, optional: true })) !== null && _a !== void 0 ? _a : {}, inject(token)); },
317
312
  [provideConfigName]: (config) => {
318
313
  return provideConfig(token, config);
319
314
  },
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-utils.mjs","sources":["../../../../libs/angular/utils/src/lib/decorators/pure.ts","../../../../libs/angular/utils/src/lib/decorators/transform.ts","../../../../libs/angular/utils/src/lib/helpers/type-guards.ts","../../../../libs/angular/utils/src/lib/helpers/dom.ts","../../../../libs/angular/utils/src/lib/helpers/until-destroyed.ts","../../../../libs/angular/utils/src/lib/helpers/angular.ts","../../../../libs/angular/utils/src/lib/helpers/array.ts","../../../../libs/angular/utils/src/lib/helpers/build-url.ts","../../../../libs/angular/utils/src/lib/helpers/defer-fn.ts","../../../../libs/angular/utils/src/lib/helpers/event-manager.ts","../../../../libs/angular/utils/src/lib/types/axis.ts","../../../../libs/angular/utils/src/lib/types/position.ts","../../../../libs/angular/utils/src/lib/types/side.ts","../../../../libs/angular/utils/src/lib/helpers/get-side.ts","../../../../libs/angular/utils/src/lib/helpers/get-axis.ts","../../../../libs/angular/utils/src/lib/helpers/get-opposite-side.ts","../../../../libs/angular/utils/src/lib/helpers/get-unique-id.ts","../../../../libs/angular/utils/src/lib/helpers/ng-changes.ts","../../../../libs/angular/utils/src/lib/helpers/provide-config.ts","../../../../libs/angular/utils/src/lib/helpers/queue.ts","../../../../libs/angular/utils/src/odx-angular-utils.ts"],"sourcesContent":["export function Pure<T>(_target: object, propertyKey: string, { get, enumerable, value }: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, { enumerable, value });\n\n return value;\n },\n };\n }\n\n if (typeof value !== 'function') {\n throw new Error('@Pure decorator can only be applied to functions or getters!');\n }\n\n const originalValue = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let wasCalled = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure = wasCalled && previousArgs.length === args.length && args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = originalValue.apply(this, args);\n wasCalled = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, { value: patched });\n\n return patched as unknown as T;\n },\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { decoratorPropertyName, ɵwithMultipleDescriptors } from '@odx/angular/internal';\n\ntype TransformFn<Klass = any, R = any> = (this: Klass, value: R) => R;\n\nexport function Transform(transformer: TransformFn): PropertyDecorator {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = decoratorPropertyName('Transform', propertyKey.toString());\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function setter(this: any, value: any) {\n this[propertySymbol] = transformer.apply(this, [value]);\n }\n\n descriptors.addSetter(setter);\n descriptors.init();\n };\n}\n","import { TemplateRef, Type, ViewContainerRef } from '@angular/core';\n\nexport function isViewContainer(value: unknown): value is ViewContainerRef {\n return isFunction((value as ViewContainerRef)?.createComponent);\n}\n\nexport function isTemplateRef<T = unknown>(value: unknown): value is TemplateRef<T> {\n return value instanceof TemplateRef;\n}\n\nexport function isComponent<T = unknown>(value: unknown): value is Type<T> {\n return isFunction(value);\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value.length > 0;\n}\n\nexport function isBoolean(value: unknown): value is boolean {\n return value === true || value === false;\n}\n\nexport function isFunction(value: unknown): value is CallableFunction {\n return typeof value === 'function';\n}\n\nexport function isPresent<T>(value: T | null | undefined): value is NonNullable<T> {\n return value !== null && value !== undefined;\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import { isNumber, isString } from './type-guards';\n\nexport function applyStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration | Record<keyof CSSStyleDeclaration, string | null>>): void {\n Object.assign(element.style, styles);\n}\n\nexport function booleanToAttributeString(state: boolean): string {\n return booleanToOptionalAttributeString(state) ?? 'false';\n}\n\nexport function booleanToOptionalAttributeString(state: boolean): string | null {\n return state ? 'true' : null;\n}\n\nexport function px(value: unknown): `${number}px` {\n return isNumber(value) ? `${value}px` : '0px';\n}\n\nexport function cssTranslate(x: string | 0, y: string | 0): `translate3d(${string | 0}, ${string | 0}, 0)` {\n return `translate3d(${x}, ${y}, 0)`;\n}\n\nexport function disableCSSTransitions(element: HTMLElement, disabled: boolean): void {\n if (disabled) {\n applyStyles(element, { transition: 'none' });\n } else {\n forceLayoutReflow(element);\n applyStyles(element, { transition: null });\n }\n}\n\nexport function forceLayoutReflow(element: HTMLElement): void {\n element.offsetHeight;\n}\n\nexport function setAttribute(element: HTMLElement, attribute: string, value?: unknown) {\n if (isString(value)) {\n element.setAttribute(attribute, value);\n } else {\n element.toggleAttribute(attribute, !!value);\n }\n}\n\nexport function createResizeObserver(callback: ResizeObserverCallback): ResizeObserver {\n try {\n return new ResizeObserver(callback);\n } catch {\n return { observe: () => void 0, disconnect: () => void 0, unobserve: () => void 0 };\n }\n}\n\nexport function containsElement(parent?: Element | null, other?: Element | null, inclusive = true): boolean {\n if (!parent || !other) return false;\n if (!inclusive && parent === other) return false;\n return parent.contains(other);\n}\n","import { ChangeDetectorRef, inject, ViewRef } from '@angular/core';\nimport { MonoTypeOperatorFunction, Subject, takeUntil } from 'rxjs';\n\nexport function untilDestroyed(): <T>() => MonoTypeOperatorFunction<T> {\n const destroyed$$ = new Subject<void>();\n const viewRef = inject(ChangeDetectorRef) as ViewRef;\n\n function onDestroy() {\n destroyed$$.next();\n destroyed$$.complete();\n }\n\n Promise.resolve().then(() => (viewRef.destroyed ? onDestroy() : viewRef.onDestroy(onDestroy)));\n\n return <T>() => takeUntil<T>(destroyed$$.asObservable());\n}\n","import { ElementRef, inject, Injector } from '@angular/core';\nimport { MonoTypeOperatorFunction, Observable, tap } from 'rxjs';\nimport { setAttribute } from './dom';\nimport { untilDestroyed } from './until-destroyed';\n\nfunction reactiveBinding<T>(updateFn: (state: unknown) => void): MonoTypeOperatorFunction<T> {\n const takeUntilDestroyed = untilDestroyed();\n\n return (source$: Observable<T>) =>\n source$.pipe(\n tap((state) => updateFn(state)),\n takeUntilDestroyed()\n );\n}\n\nexport function reactiveClassBinding<T>(source$: Observable<T> | null | undefined, cssClass: string): void {\n const { nativeElement } = injectElement();\n\n if (source$) {\n source$.pipe(reactiveBinding((state) => nativeElement.classList.toggle(cssClass, !!state))).subscribe();\n }\n}\n\nexport function reactiveAttributeBinding<T>(source$: Observable<T> | null | undefined, ...attributes: string[]): void {\n const { nativeElement } = injectElement();\n\n if (source$) {\n source$\n .pipe(\n reactiveBinding((value) => {\n for (const attribute of attributes) {\n setAttribute(nativeElement, attribute, value);\n }\n })\n )\n .subscribe();\n }\n}\n\nexport function getInjector(): Injector {\n return inject(Injector);\n}\n\nexport function injectElement<T = HTMLElement>(): ElementRef<T> {\n return inject<ElementRef<T>>(ElementRef);\n}\n","export function pluckFromArray<T, K extends keyof T>(arr: T[], key: K): Array<T[K]> {\n return arr.map((value) => value[key]);\n}\n","export function buildUrl(...args: Array<string | number | symbol | null | undefined>): string {\n return args.join('/').replace(/(^.*)(https?:\\/\\/)|(\\/)+/g, '$2$3');\n}\n","export function deferFn(fn: () => void): void {\n setTimeout(fn, 0);\n}\n","import { inject, Injectable, OnDestroy, Renderer2 } from '@angular/core';\nimport { injectElement } from './angular';\n\n@Injectable()\nexport class EventManager implements OnDestroy {\n private readonly element = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly listeners: Array<() => void> = [];\n\n public destroyListeners(): void {\n while (this.listeners.length) this.listeners.pop()?.();\n }\n\n public register<T extends Event = Event>(\n eventNames: Array<string | null>,\n callback: (event?: T) => void,\n target?: 'document' | 'window' | EventTarget | null\n ): void {\n for (const eventName of eventNames) {\n if (eventName) {\n this.listeners.push(this.renderer.listen(target ?? this.element.nativeElement, eventName, (event) => callback(event)));\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroyListeners();\n }\n}\n","export type Axis = (typeof Axis)[keyof typeof Axis];\n\nexport const Axis = {\n X: 'x',\n Y: 'y',\n} as const;\n","export type Position = (typeof Position)[keyof typeof Position];\n\nexport const Position = {\n TOP: 'top',\n TOP_START: 'top-start',\n TOP_END: 'top-end',\n\n RIGHT: 'right',\n RIGHT_START: 'right-start',\n RIGHT_END: 'right-end',\n\n BOTTOM: 'bottom',\n BOTTOM_START: 'bottom-start',\n BOTTOM_END: 'bottom-end',\n\n LEFT: 'left',\n LEFT_START: 'left-start',\n LEFT_END: 'left-end',\n} as const;\n","export type Side = (typeof Side)[keyof typeof Side];\n\nexport const Side = {\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n} as const;\n","import { Position, Side } from '../types';\n\nexport function getSide(position: Position): Side {\n return position.split('-')[0] as Side;\n}\n","import { Axis, Position, Side } from '../types';\nimport { getSide } from './get-side';\n\nexport function getAxis(position: Position): Axis {\n const side = getSide(position);\n\n switch (side) {\n case Side.TOP:\n case Side.BOTTOM:\n return Axis.Y;\n case Side.LEFT:\n case Side.RIGHT:\n return Axis.X;\n }\n}\n","import { Position, Side } from '../types';\nimport { getSide } from './get-side';\n\nexport function getOppositeSide(position: Position): Side {\n switch (getSide(position)) {\n case Side.TOP:\n return Side.BOTTOM;\n case Side.RIGHT:\n return Side.LEFT;\n case Side.BOTTOM:\n return Side.TOP;\n case Side.LEFT:\n return Side.RIGHT;\n }\n}\n","const uniqueIdCache: { [key: string]: number } = {};\n\nexport function getUniqueId(key: string = ''): string {\n const n = (uniqueIdCache[key] ?? 0) + 1;\n uniqueIdCache[key] = n;\n\n return `${key}-${n}`;\n}\n","import { GetProperties } from '../types';\n\nexport type NgChanges<C, Properties = GetProperties<C>> = {\n [Key in keyof Properties]: {\n previousValue: Properties[Key];\n currentValue: Properties[Key];\n firstChange: boolean;\n isFirstChange(): boolean;\n };\n};\n\nexport function hasChanged<U extends Record<string, unknown>, T extends NgChanges<U>, K extends keyof T>(\n changes: T,\n keyOrKeys: K | K[],\n ignoreFirstChange = true\n): boolean {\n if (Array.isArray(keyOrKeys)) {\n for (const key of keyOrKeys) {\n if (hasChanged(changes, key, ignoreFirstChange)) {\n return true;\n }\n }\n return false;\n } else {\n return keyOrKeys in changes && (!ignoreFirstChange || !changes[keyOrKeys].isFirstChange());\n }\n}\n","import { FactoryProvider, inject, InjectionToken, Type, ValueProvider } from '@angular/core';\nimport { deepmergeCustom, DeepMergeLeafURI } from 'deepmerge-ts';\n\ninterface ConfigFactoryProvider<T, D extends ConfigDependencies> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useFactory: (...args: { [I in keyof D]: D[I] extends Type<unknown> ? InstanceType<D[I]> : D[I] extends InjectionToken<unknown> ? any : never }) => T;\n deps?: [...D];\n}\n\nexport type ConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;\nexport type ConfigProvider<T = unknown, D extends ConfigDependencies = []> = ConfigFactoryProvider<T, D> | T;\n\nexport function provideConfig<T extends object, D extends ConfigDependencies = ConfigDependencies>(\n token: InjectionToken<T> | string,\n config: ConfigProvider<T, D>\n): FactoryProvider | ValueProvider {\n if ('useFactory' in config) {\n return { provide: token, useFactory: config.useFactory, deps: config.deps };\n }\n return { provide: token, useValue: config };\n}\n\nconst customDeepmerge = deepmergeCustom<{ DeepMergeArraysURI: DeepMergeLeafURI }>({\n mergeArrays: false,\n mergeSets: false,\n});\n\nexport function createConfigTokens<T, N extends string>(name: N, prefix: string, defaultValue: T) {\n type ConfigProviderFn = <D extends ConfigDependencies = ConfigDependencies<T>>(config: ConfigProvider<Partial<T>, D>) => FactoryProvider | ValueProvider;\n\n const configName = `${name}Config` as const;\n const defaultConfigName = `${name}DefaultConfig` as const;\n const injectConfigName = `inject${name}Config` as const;\n const provideConfigName = `provide${name}Config` as const;\n const tokenName = `${prefix}::${configName}`;\n const token = new InjectionToken<Partial<T>>(tokenName, { providedIn: 'root', factory: () => defaultValue });\n\n return {\n [configName]: token,\n [defaultConfigName]: defaultValue,\n [injectConfigName]: () => customDeepmerge(defaultValue, inject(token, { skipSelf: true, optional: true }) ?? {}, inject(token)),\n [provideConfigName]: (config: ConfigProvider<T>) => {\n return provideConfig(token, config);\n },\n } as Record<typeof configName, InjectionToken<Partial<T>>> &\n Record<typeof defaultConfigName, T> &\n Record<typeof injectConfigName, () => T> &\n Record<typeof provideConfigName, ConfigProviderFn>;\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\ntype QueueItemId = string | number;\ntype QueueItem<T> = T & { id: QueueItemId };\n\nexport class Queue<T> {\n private readonly queue = new Map<string, QueueItem<T>>();\n private readonly update$$ = new BehaviorSubject<void>(undefined);\n private values: QueueItem<T>[] = [];\n private firstItem: QueueItem<T> | null = null;\n private lastItem: QueueItem<T> | null = null;\n\n public readonly value$ = this.update$$.pipe(\n map(() => this.values),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n\n public get size(): number {\n return this.queue.size;\n }\n\n public isFirst({ id }: QueueItem<T>): boolean {\n return this.firstItem?.id === id;\n }\n\n public isLast({ id }: QueueItem<T>): boolean {\n return this.lastItem?.id === id;\n }\n\n public get(id: QueueItemId): QueueItem<T> | null {\n return this.queue.get(id.toString()) ?? null;\n }\n\n public add(item: QueueItem<T>): QueueItem<T> {\n this.remove(item);\n this.queue.set(item.id.toString(), item);\n this.notify();\n\n return item;\n }\n\n public remove(item: QueueItem<T>): QueueItem<T> {\n this.queue.delete(item.id.toString());\n this.notify();\n\n return item;\n }\n\n public clear(): void {\n this.queue.clear();\n this.notify();\n }\n\n public toArray(): QueueItem<T>[] {\n return this.values;\n }\n\n private notify(): void {\n this.values = Array.from(this.queue, ([_, item]) => item).reverse();\n this.firstItem = this.values[0] ?? null;\n this.lastItem = this.values[this.values.length - 1] ?? null;\n this.update$$.next(undefined);\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-utils.mjs","sources":["../../../../libs/angular/utils/src/lib/decorators/pure.ts","../../../../libs/angular/utils/src/lib/decorators/transform.ts","../../../../libs/angular/utils/src/lib/helpers/type-guards.ts","../../../../libs/angular/utils/src/lib/helpers/dom.ts","../../../../libs/angular/utils/src/lib/helpers/until-destroyed.ts","../../../../libs/angular/utils/src/lib/helpers/angular.ts","../../../../libs/angular/utils/src/lib/helpers/array.ts","../../../../libs/angular/utils/src/lib/helpers/build-url.ts","../../../../libs/angular/utils/src/lib/helpers/defer-fn.ts","../../../../libs/angular/utils/src/lib/helpers/event-manager.ts","../../../../libs/angular/utils/src/lib/types/axis.ts","../../../../libs/angular/utils/src/lib/types/position.ts","../../../../libs/angular/utils/src/lib/types/side.ts","../../../../libs/angular/utils/src/lib/helpers/get-side.ts","../../../../libs/angular/utils/src/lib/helpers/get-axis.ts","../../../../libs/angular/utils/src/lib/helpers/get-opposite-side.ts","../../../../libs/angular/utils/src/lib/helpers/get-unique-id.ts","../../../../libs/angular/utils/src/lib/helpers/ng-changes.ts","../../../../libs/angular/utils/src/lib/helpers/provide-config.ts","../../../../libs/angular/utils/src/lib/helpers/queue.ts","../../../../libs/angular/utils/src/odx-angular-utils.ts"],"sourcesContent":["export function Pure<T>(_target: object, propertyKey: string, { get, enumerable, value }: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, { enumerable, value });\n\n return value;\n },\n };\n }\n\n if (typeof value !== 'function') {\n throw new Error('@Pure decorator can only be applied to functions or getters!');\n }\n\n const originalValue = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let wasCalled = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure = wasCalled && previousArgs.length === args.length && args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = originalValue.apply(this, args);\n wasCalled = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, { value: patched });\n\n return patched as unknown as T;\n },\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { decoratorPropertyName, ɵwithMultipleDescriptors } from '@odx/angular/internal';\n\ntype TransformFn<Klass = any, R = any> = (this: Klass, value: R) => R;\n\nexport function Transform(transformer: TransformFn): PropertyDecorator {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = decoratorPropertyName('Transform', propertyKey.toString());\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function setter(this: any, value: any) {\n this[propertySymbol] = transformer.apply(this, [value]);\n }\n\n descriptors.addSetter(setter);\n descriptors.init();\n };\n}\n","import { TemplateRef, Type, ViewContainerRef } from '@angular/core';\n\nexport function isViewContainer(value: unknown): value is ViewContainerRef {\n return isFunction((value as ViewContainerRef)?.createComponent);\n}\n\nexport function isTemplateRef<T = unknown>(value: unknown): value is TemplateRef<T> {\n return value instanceof TemplateRef;\n}\n\nexport function isComponent<T = unknown>(value: unknown): value is Type<T> {\n return isFunction(value);\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value.length > 0;\n}\n\nexport function isBoolean(value: unknown): value is boolean {\n return value === true || value === false;\n}\n\nexport function isFunction(value: unknown): value is CallableFunction {\n return typeof value === 'function';\n}\n\nexport function isPresent<T>(value: T | null | undefined): value is NonNullable<T> {\n return value !== null && value !== undefined;\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import { isNumber, isString } from './type-guards';\n\nexport function applyStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration | Record<keyof CSSStyleDeclaration, string | null>>): void {\n Object.assign(element.style, styles);\n}\n\nexport function booleanToAttributeString(state: boolean): string {\n return booleanToOptionalAttributeString(state) ?? 'false';\n}\n\nexport function booleanToOptionalAttributeString(state: boolean): string | null {\n return state ? 'true' : null;\n}\n\nexport function px(value: unknown): `${number}px` {\n return isNumber(value) ? `${value}px` : '0px';\n}\n\nexport function cssTranslate(x: string | 0, y: string | 0): `translate3d(${string | 0}, ${string | 0}, 0)` {\n return `translate3d(${x}, ${y}, 0)`;\n}\n\nexport function disableCSSTransitions(element: HTMLElement, disabled: boolean): void {\n if (disabled) {\n applyStyles(element, { transition: 'none' });\n } else {\n forceLayoutReflow(element);\n applyStyles(element, { transition: null });\n }\n}\n\nexport function forceLayoutReflow(element: HTMLElement): void {\n element.offsetHeight;\n}\n\nexport function setAttribute(element: HTMLElement, attribute: string, value?: unknown) {\n if (isString(value)) {\n element.setAttribute(attribute, value);\n } else {\n element.toggleAttribute(attribute, !!value);\n }\n}\n\nexport function createResizeObserver(callback: ResizeObserverCallback): ResizeObserver {\n try {\n return new ResizeObserver(callback);\n } catch {\n return { observe: () => void 0, disconnect: () => void 0, unobserve: () => void 0 };\n }\n}\n\nexport function containsElement(parent?: Element | null, other?: Element | null, inclusive = true): boolean {\n if (!parent || !other) return false;\n if (!inclusive && parent === other) return false;\n return parent.contains(other);\n}\n","import { ChangeDetectorRef, inject, ViewRef } from '@angular/core';\nimport { MonoTypeOperatorFunction, Subject, takeUntil } from 'rxjs';\n\nexport function untilDestroyed(): <T>() => MonoTypeOperatorFunction<T> {\n const destroyed$$ = new Subject<void>();\n const viewRef = inject(ChangeDetectorRef) as ViewRef;\n\n function onDestroy() {\n destroyed$$.next();\n destroyed$$.complete();\n }\n\n Promise.resolve().then(() => (viewRef.destroyed ? onDestroy() : viewRef.onDestroy(onDestroy)));\n\n return <T>() => takeUntil<T>(destroyed$$.asObservable());\n}\n","import { ElementRef, inject, Injector } from '@angular/core';\nimport { MonoTypeOperatorFunction, Observable, tap } from 'rxjs';\nimport { setAttribute } from './dom';\nimport { untilDestroyed } from './until-destroyed';\n\nfunction reactiveBinding<T>(updateFn: (state: unknown) => void): MonoTypeOperatorFunction<T> {\n const takeUntilDestroyed = untilDestroyed();\n\n return (source$: Observable<T>) =>\n source$.pipe(\n tap((state) => updateFn(state)),\n takeUntilDestroyed()\n );\n}\n\nexport function reactiveClassBinding<T>(source$: Observable<T> | null | undefined, cssClass: string): void {\n const { nativeElement } = injectElement();\n\n if (source$) {\n source$.pipe(reactiveBinding((state) => nativeElement.classList.toggle(cssClass, !!state))).subscribe();\n }\n}\n\nexport function reactiveAttributeBinding<T>(source$: Observable<T> | null | undefined, ...attributes: string[]): void {\n const { nativeElement } = injectElement();\n\n if (source$) {\n source$\n .pipe(\n reactiveBinding((value) => {\n for (const attribute of attributes) {\n setAttribute(nativeElement, attribute, value);\n }\n })\n )\n .subscribe();\n }\n}\n\nexport function getInjector(): Injector {\n return inject(Injector);\n}\n\nexport function injectElement<T = HTMLElement>(): ElementRef<T> {\n return inject<ElementRef<T>>(ElementRef);\n}\n","export function pluckFromArray<T, K extends keyof T>(arr: T[], key: K): Array<T[K]> {\n return arr.map((value) => value[key]);\n}\n","export function buildUrl(...args: Array<string | number | symbol | null | undefined>): string {\n return args.join('/').replace(/(^.*)(https?:\\/\\/)|(\\/)+/g, '$2$3');\n}\n","export function deferFn(fn: () => void): void {\n setTimeout(fn, 0);\n}\n","import { inject, Injectable, OnDestroy, Renderer2 } from '@angular/core';\nimport { injectElement } from './angular';\n\n@Injectable()\nexport class EventManager implements OnDestroy {\n private readonly element = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly listeners: Array<() => void> = [];\n\n public destroyListeners(): void {\n while (this.listeners.length) this.listeners.pop()?.();\n }\n\n public register<T extends Event = Event>(\n eventNames: Array<string | null>,\n callback: (event?: T) => void,\n target?: 'document' | 'window' | EventTarget | null\n ): void {\n for (const eventName of eventNames) {\n if (eventName) {\n this.listeners.push(this.renderer.listen(target ?? this.element.nativeElement, eventName, (event) => callback(event)));\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroyListeners();\n }\n}\n","export type Axis = (typeof Axis)[keyof typeof Axis];\n\nexport const Axis = {\n X: 'x',\n Y: 'y',\n} as const;\n","export type Position = (typeof Position)[keyof typeof Position];\n\nexport const Position = {\n TOP: 'top',\n TOP_START: 'top-start',\n TOP_END: 'top-end',\n\n RIGHT: 'right',\n RIGHT_START: 'right-start',\n RIGHT_END: 'right-end',\n\n BOTTOM: 'bottom',\n BOTTOM_START: 'bottom-start',\n BOTTOM_END: 'bottom-end',\n\n LEFT: 'left',\n LEFT_START: 'left-start',\n LEFT_END: 'left-end',\n} as const;\n","export type Side = (typeof Side)[keyof typeof Side];\n\nexport const Side = {\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n} as const;\n","import { Position, Side } from '../types';\n\nexport function getSide(position: Position): Side {\n return position.split('-')[0] as Side;\n}\n","import { Axis, Position, Side } from '../types';\nimport { getSide } from './get-side';\n\nexport function getAxis(position: Position): Axis {\n const side = getSide(position);\n\n switch (side) {\n case Side.TOP:\n case Side.BOTTOM:\n return Axis.Y;\n case Side.LEFT:\n case Side.RIGHT:\n return Axis.X;\n }\n}\n","import { Position, Side } from '../types';\nimport { getSide } from './get-side';\n\nexport function getOppositeSide(position: Position): Side {\n switch (getSide(position)) {\n case Side.TOP:\n return Side.BOTTOM;\n case Side.RIGHT:\n return Side.LEFT;\n case Side.BOTTOM:\n return Side.TOP;\n case Side.LEFT:\n return Side.RIGHT;\n }\n}\n","const uniqueIdCache: { [key: string]: number } = {};\n\nexport function getUniqueId(key: string = ''): string {\n const n = (uniqueIdCache[key] ?? 0) + 1;\n uniqueIdCache[key] = n;\n\n return `${key}-${n}`;\n}\n","import { GetProperties } from '../types';\n\nexport type NgChanges<C, Properties = GetProperties<C>> = {\n [Key in keyof Properties]: {\n previousValue: Properties[Key];\n currentValue: Properties[Key];\n firstChange: boolean;\n isFirstChange(): boolean;\n };\n};\n\nexport function hasChanged<U extends Record<string, unknown>, T extends NgChanges<U>, K extends keyof T>(\n changes: T,\n keyOrKeys: K | K[],\n ignoreFirstChange = true\n): boolean {\n if (Array.isArray(keyOrKeys)) {\n for (const key of keyOrKeys) {\n if (hasChanged(changes, key, ignoreFirstChange)) {\n return true;\n }\n }\n return false;\n } else {\n return keyOrKeys in changes && (!ignoreFirstChange || !changes[keyOrKeys].isFirstChange());\n }\n}\n","import { FactoryProvider, inject, InjectionToken, Type, ValueProvider } from '@angular/core';\n\nimport { deepmerge } from '@odx/angular/internal';\n\ninterface ConfigFactoryProvider<T, D extends ConfigDependencies> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useFactory: (...args: { [I in keyof D]: D[I] extends Type<unknown> ? InstanceType<D[I]> : D[I] extends InjectionToken<unknown> ? any : never }) => T;\n deps?: [...D];\n}\n\nexport type ConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;\nexport type ConfigProvider<T = unknown, D extends ConfigDependencies = []> = ConfigFactoryProvider<T, D> | T;\n\nexport function provideConfig<T extends object, D extends ConfigDependencies = ConfigDependencies>(\n token: InjectionToken<T> | string,\n config: ConfigProvider<T, D>\n): FactoryProvider | ValueProvider {\n if ('useFactory' in config) {\n return { provide: token, useFactory: config.useFactory, deps: config.deps };\n }\n return { provide: token, useValue: config };\n}\n\nexport function createConfigTokens<T, N extends string>(name: N, prefix: string, defaultValue: T) {\n type ConfigProviderFn = <D extends ConfigDependencies = ConfigDependencies<T>>(config: ConfigProvider<Partial<T>, D>) => FactoryProvider | ValueProvider;\n\n const configName = `${name}Config` as const;\n const defaultConfigName = `${name}DefaultConfig` as const;\n const injectConfigName = `inject${name}Config` as const;\n const provideConfigName = `provide${name}Config` as const;\n const tokenName = `${prefix}::${configName}`;\n const token = new InjectionToken<Partial<T>>(tokenName, { providedIn: 'root', factory: () => defaultValue });\n\n return {\n [configName]: token,\n [defaultConfigName]: defaultValue,\n [injectConfigName]: () => deepmerge(defaultValue, inject(token, { skipSelf: true, optional: true }) ?? {}, inject(token)),\n [provideConfigName]: (config: ConfigProvider<T>) => {\n return provideConfig(token, config);\n },\n } as Record<typeof configName, InjectionToken<Partial<T>>> &\n Record<typeof defaultConfigName, T> &\n Record<typeof injectConfigName, () => T> &\n Record<typeof provideConfigName, ConfigProviderFn>;\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\ntype QueueItemId = string | number;\ntype QueueItem<T> = T & { id: QueueItemId };\n\nexport class Queue<T> {\n private readonly queue = new Map<string, QueueItem<T>>();\n private readonly update$$ = new BehaviorSubject<void>(undefined);\n private values: QueueItem<T>[] = [];\n private firstItem: QueueItem<T> | null = null;\n private lastItem: QueueItem<T> | null = null;\n\n public readonly value$ = this.update$$.pipe(\n map(() => this.values),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n\n public get size(): number {\n return this.queue.size;\n }\n\n public isFirst({ id }: QueueItem<T>): boolean {\n return this.firstItem?.id === id;\n }\n\n public isLast({ id }: QueueItem<T>): boolean {\n return this.lastItem?.id === id;\n }\n\n public get(id: QueueItemId): QueueItem<T> | null {\n return this.queue.get(id.toString()) ?? null;\n }\n\n public add(item: QueueItem<T>): QueueItem<T> {\n this.remove(item);\n this.queue.set(item.id.toString(), item);\n this.notify();\n\n return item;\n }\n\n public remove(item: QueueItem<T>): QueueItem<T> {\n this.queue.delete(item.id.toString());\n this.notify();\n\n return item;\n }\n\n public clear(): void {\n this.queue.clear();\n this.notify();\n }\n\n public toArray(): QueueItem<T>[] {\n return this.values;\n }\n\n private notify(): void {\n this.values = Array.from(this.queue, ([_, item]) => item).reverse();\n this.firstItem = this.values[0] ?? null;\n this.lastItem = this.values[this.values.length - 1] ?? null;\n this.update$$.next(undefined);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -38,9 +38,9 @@ class Controller {
38
38
  this.change$$.next();
39
39
  }
40
40
  }
41
- Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
- Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: Controller, usesOnChanges: true, ngImport: i0 });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: Controller, decorators: [{
41
+ Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
+ Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: Controller, usesOnChanges: true, ngImport: i0 });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: Controller, decorators: [{
44
44
  type: Directive
45
45
  }] });
46
46
 
@@ -84,14 +84,14 @@ class DisabledController extends Controller {
84
84
  }
85
85
  }
86
86
  }
87
- DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
88
- DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
87
+ DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
88
+ DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
89
89
  {
90
90
  provide: DISABLED_INTERNAL_CONTROLLER,
91
91
  useExisting: forwardRef(() => DisabledController),
92
92
  },
93
93
  ], usesInheritance: true, ngImport: i0 });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DisabledController, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DisabledController, decorators: [{
95
95
  type: Directive,
96
96
  args: [{
97
97
  standalone: true,
@@ -156,14 +156,14 @@ class ReadonlyController extends Controller {
156
156
  ];
157
157
  }
158
158
  }
159
- ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
160
- ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
159
+ ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
160
+ ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
161
161
  {
162
162
  provide: READONLY_INTERNAL_CONTROLLER,
163
163
  useExisting: forwardRef(() => ReadonlyController),
164
164
  },
165
165
  ], usesInheritance: true, ngImport: i0 });
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ReadonlyController, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ReadonlyController, decorators: [{
167
167
  type: Directive,
168
168
  args: [{
169
169
  standalone: true,
@@ -228,9 +228,9 @@ class ClickOutsideDirective {
228
228
  });
229
229
  }
230
230
  }
231
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
232
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
231
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
232
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ClickOutsideDirective, decorators: [{
234
234
  type: Directive,
235
235
  args: [{
236
236
  standalone: true,
@@ -257,9 +257,9 @@ class DelegateFocusDirective {
257
257
  this.tabindex = 0;
258
258
  }
259
259
  }
260
- DelegateFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DelegateFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
261
- DelegateFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: DelegateFocusDirective, isStandalone: true, outputs: { focused: "focused" }, host: { listeners: { "focus": "handleFocus()", "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.tabindex": "tabindex" } }, ngImport: i0 });
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DelegateFocusDirective, decorators: [{
260
+ DelegateFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DelegateFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
261
+ DelegateFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DelegateFocusDirective, isStandalone: true, outputs: { focused: "focused" }, host: { listeners: { "focus": "handleFocus()", "focusin": "handleFocusIn()", "focusout": "handleFocusOut()" }, properties: { "attr.tabindex": "tabindex" } }, ngImport: i0 });
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DelegateFocusDirective, decorators: [{
263
263
  type: Directive,
264
264
  args: [{
265
265
  standalone: true,
@@ -304,9 +304,9 @@ class WithDisabledState {
304
304
  this.hasAriaRole = element.nativeElement.hasAttribute('role');
305
305
  }
306
306
  }
307
- WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
308
- WithDisabledState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 });
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WithDisabledState, decorators: [{
307
+ WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
308
+ WithDisabledState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WithDisabledState, decorators: [{
310
310
  type: Directive,
311
311
  args: [{
312
312
  standalone: true,
@@ -328,9 +328,9 @@ class WithTabIndex {
328
328
  return !!((_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled);
329
329
  }
330
330
  }
331
- WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
332
- WithTabIndex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: WithTabIndex, isStandalone: true, host: { properties: { "attr.tabindex": "isDisabled ? -1 : 0" } }, ngImport: i0 });
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WithTabIndex, decorators: [{
331
+ WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
332
+ WithTabIndex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: WithTabIndex, isStandalone: true, host: { properties: { "attr.tabindex": "isDisabled ? -1 : 0" } }, ngImport: i0 });
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WithTabIndex, decorators: [{
334
334
  type: Directive,
335
335
  args: [{
336
336
  standalone: true,
@@ -344,10 +344,10 @@ const controllers = [DisabledController, ReadonlyController];
344
344
  const modules = [ClickOutsideDirective];
345
345
  class CoreModule {
346
346
  }
347
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
348
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, LetModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
349
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: CoreModule, imports: [CommonModule, LetModule] });
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: CoreModule, decorators: [{
347
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
348
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective], exports: [CommonModule, LetModule, DisabledController, ReadonlyController, ClickOutsideDirective] });
349
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, imports: [CommonModule, LetModule] });
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, decorators: [{
351
351
  type: NgModule,
352
352
  args: [{
353
353
  imports: [...controllers, ...modules],
@@ -383,9 +383,9 @@ class WindowRef {
383
383
  return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;
384
384
  }
385
385
  }
386
- WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
387
- WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WindowRef, providedIn: 'root' });
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: WindowRef, decorators: [{
386
+ WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
387
+ WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WindowRef, providedIn: 'root' });
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: WindowRef, decorators: [{
389
389
  type: Injectable,
390
390
  args: [{
391
391
  providedIn: 'root',
@@ -9,13 +9,13 @@ const DEFAULT_ANIMATION_PARAMS = {
9
9
  };
10
10
 
11
11
  const expand = animation([
12
- style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0 }),
12
+ style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' }),
13
13
  animate('{{duration}} {{ delay }} {{ timingFn }}', style({ height: '*', paddingTop: '*', paddingBottom: '*', opacity: 1, marginTop: '*', marginBottom: '*' })),
14
14
  ], {
15
15
  params: DEFAULT_ANIMATION_PARAMS,
16
16
  });
17
17
  const collapse = animation([
18
- animate('{{duration}} {{ delay }} {{ timingFn }}', style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0 })),
18
+ animate('{{duration}} {{ delay }} {{ timingFn }}', style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' })),
19
19
  ], {
20
20
  params: DEFAULT_ANIMATION_PARAMS,
21
21
  });