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

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 (292) hide show
  1. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +1 -2
  2. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
  3. package/components/action-group/action-group.component.d.ts +1 -1
  4. package/components/header/lib/header.component.d.ts +1 -1
  5. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +3 -1
  6. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -0
  7. package/components/menu/lib/directives/menu-item.directive.d.ts +1 -2
  8. package/components/menu/lib/menu.component.d.ts +4 -1
  9. package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
  10. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  11. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +5 -7
  12. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  13. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  14. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
  15. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  16. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  17. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  18. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  19. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  20. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  21. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  22. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +14 -3
  23. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  24. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  25. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  26. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  27. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +7 -7
  28. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  29. package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
  30. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  31. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  32. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  33. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  34. package/esm2020/components/area-header/area-header.component.mjs +3 -3
  35. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  36. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  37. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  38. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  39. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  40. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  41. package/esm2020/components/bar/lib/bar.component.mjs +3 -3
  42. package/esm2020/components/bar/lib/bar.module.mjs +4 -4
  43. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +3 -3
  44. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  45. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  46. package/esm2020/components/button/lib/button.component.mjs +3 -3
  47. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  48. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  49. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  50. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  51. package/esm2020/components/chip/lib/chip.component.mjs +3 -3
  52. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +3 -3
  53. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  54. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  55. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  56. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  57. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  58. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +6 -5
  59. package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
  60. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  61. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  62. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  63. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  64. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  65. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  66. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  67. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  68. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  69. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  70. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  71. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  72. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  73. package/esm2020/components/header/lib/header.component.mjs +5 -5
  74. package/esm2020/components/header/lib/header.module.mjs +4 -4
  75. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  76. package/esm2020/components/inline-message/lib/inline-message.component.mjs +3 -3
  77. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +3 -3
  78. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +3 -3
  79. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +3 -3
  80. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +4 -4
  81. package/esm2020/components/link/link.directive.mjs +3 -3
  82. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  83. package/esm2020/components/list/lib/list.component.mjs +3 -3
  84. package/esm2020/components/list/lib/list.module.mjs +4 -4
  85. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  86. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +10 -6
  87. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  88. package/esm2020/components/logo/logo.directive.mjs +3 -3
  89. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  90. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +13 -5
  91. package/esm2020/components/main-menu/lib/main-menu.component.mjs +3 -3
  92. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  93. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  94. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +5 -7
  95. package/esm2020/components/menu/lib/menu.component.mjs +22 -11
  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 +3 -3
  101. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
  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 +5 -5
  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 +3 -3
  109. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  110. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  111. package/esm2020/components/radio-group/lib/radio-group.component.mjs +7 -7
  112. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  113. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +3 -3
  114. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  115. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  116. package/esm2020/components/select/lib/components/option/option.component.mjs +3 -3
  117. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
  118. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  119. package/esm2020/components/select/lib/select.component.mjs +8 -7
  120. package/esm2020/components/select/lib/select.module.mjs +4 -4
  121. package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
  122. package/esm2020/components/spinbox/lib/spinbox.component.mjs +3 -3
  123. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  124. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  125. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  126. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
  127. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +6 -6
  128. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  129. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  130. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
  131. package/esm2020/components/toast/lib/toast.module.mjs +4 -4
  132. package/esm2020/components/toast/lib/toast.service.mjs +3 -3
  133. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  134. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +7 -7
  135. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  136. package/esm2020/components/tooltip/lib/tooltip.component.mjs +3 -3
  137. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +3 -3
  138. package/esm2020/internal/decorators/css-component.mjs +5 -7
  139. package/esm2020/internal/decorators/css-modifier.mjs +13 -8
  140. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +18 -11
  141. package/esm2020/lib/controllers/controller.mjs +3 -3
  142. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  143. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  144. package/esm2020/lib/core.module.mjs +4 -4
  145. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  146. package/esm2020/lib/directives/let.directive.mjs +3 -3
  147. package/esm2020/lib/directives/with-disabled-state.directive.mjs +3 -3
  148. package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
  149. package/esm2020/lib/services/window-ref.mjs +9 -5
  150. package/esm2020/utils/lib/decorators/transform.mjs +2 -2
  151. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  152. package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
  153. package/esm2020/utils/lib/helpers/index.mjs +2 -1
  154. package/fesm2015/odx-angular-cdk-a11y.mjs +13 -14
  155. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -1
  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 +6 -6
  159. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  160. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +22 -10
  161. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  162. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  163. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +13 -13
  164. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  165. package/fesm2015/odx-angular-components-accordion.mjs +15 -15
  166. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  167. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  168. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  169. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  170. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  171. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  172. package/fesm2015/odx-angular-components-bar.mjs +13 -13
  173. package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
  174. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  175. package/fesm2015/odx-angular-components-button.mjs +3 -3
  176. package/fesm2015/odx-angular-components-checkbox.mjs +10 -10
  177. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  178. package/fesm2015/odx-angular-components-circular-progress.mjs +3 -3
  179. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  180. package/fesm2015/odx-angular-components-dropdown.mjs +12 -11
  181. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  182. package/fesm2015/odx-angular-components-form-field.mjs +34 -34
  183. package/fesm2015/odx-angular-components-header.mjs +14 -14
  184. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  185. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  186. package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
  187. package/fesm2015/odx-angular-components-launch-tile.mjs +13 -13
  188. package/fesm2015/odx-angular-components-link.mjs +3 -3
  189. package/fesm2015/odx-angular-components-list.mjs +10 -10
  190. package/fesm2015/odx-angular-components-loading-spinner.mjs +17 -12
  191. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  192. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  193. package/fesm2015/odx-angular-components-main-menu.mjs +56 -48
  194. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  195. package/fesm2015/odx-angular-components-menu.mjs +33 -23
  196. package/fesm2015/odx-angular-components-menu.mjs.map +1 -1
  197. package/fesm2015/odx-angular-components-modal.mjs +35 -35
  198. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  199. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  200. package/fesm2015/odx-angular-components-radio-group.mjs +13 -13
  201. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  202. package/fesm2015/odx-angular-components-rail-navigation.mjs +10 -10
  203. package/fesm2015/odx-angular-components-select.mjs +20 -19
  204. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  205. package/fesm2015/odx-angular-components-slider.mjs +3 -3
  206. package/fesm2015/odx-angular-components-spinbox.mjs +3 -3
  207. package/fesm2015/odx-angular-components-switch.mjs +10 -10
  208. package/fesm2015/odx-angular-components-tab-bar.mjs +12 -12
  209. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  210. package/fesm2015/odx-angular-components-toast.mjs +13 -13
  211. package/fesm2015/odx-angular-components-toggle-button-group.mjs +13 -13
  212. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  213. package/fesm2015/odx-angular-components-tooltip.mjs +6 -6
  214. package/fesm2015/odx-angular-internal.mjs +35 -24
  215. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  216. package/fesm2015/odx-angular-utils.mjs +9 -5
  217. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  218. package/fesm2015/odx-angular.mjs +34 -30
  219. package/fesm2015/odx-angular.mjs.map +1 -1
  220. package/fesm2020/odx-angular-cdk-a11y.mjs +13 -14
  221. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -1
  222. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  223. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
  224. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +6 -6
  225. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  226. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +21 -10
  227. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  228. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  229. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +13 -13
  230. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  231. package/fesm2020/odx-angular-components-accordion.mjs +15 -15
  232. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  233. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  234. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  235. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  236. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  237. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  238. package/fesm2020/odx-angular-components-bar.mjs +13 -13
  239. package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
  240. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  241. package/fesm2020/odx-angular-components-button.mjs +3 -3
  242. package/fesm2020/odx-angular-components-checkbox.mjs +10 -10
  243. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  244. package/fesm2020/odx-angular-components-circular-progress.mjs +3 -3
  245. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  246. package/fesm2020/odx-angular-components-dropdown.mjs +12 -11
  247. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  248. package/fesm2020/odx-angular-components-form-field.mjs +34 -34
  249. package/fesm2020/odx-angular-components-header.mjs +14 -14
  250. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  251. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  252. package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
  253. package/fesm2020/odx-angular-components-launch-tile.mjs +13 -13
  254. package/fesm2020/odx-angular-components-link.mjs +3 -3
  255. package/fesm2020/odx-angular-components-list.mjs +10 -10
  256. package/fesm2020/odx-angular-components-loading-spinner.mjs +16 -12
  257. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  258. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  259. package/fesm2020/odx-angular-components-main-menu.mjs +55 -48
  260. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  261. package/fesm2020/odx-angular-components-menu.mjs +33 -23
  262. package/fesm2020/odx-angular-components-menu.mjs.map +1 -1
  263. package/fesm2020/odx-angular-components-modal.mjs +35 -35
  264. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  265. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  266. package/fesm2020/odx-angular-components-radio-group.mjs +13 -13
  267. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  268. package/fesm2020/odx-angular-components-rail-navigation.mjs +10 -10
  269. package/fesm2020/odx-angular-components-select.mjs +20 -19
  270. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  271. package/fesm2020/odx-angular-components-slider.mjs +3 -3
  272. package/fesm2020/odx-angular-components-spinbox.mjs +3 -3
  273. package/fesm2020/odx-angular-components-switch.mjs +10 -10
  274. package/fesm2020/odx-angular-components-tab-bar.mjs +12 -12
  275. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  276. package/fesm2020/odx-angular-components-toast.mjs +13 -13
  277. package/fesm2020/odx-angular-components-toggle-button-group.mjs +13 -13
  278. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  279. package/fesm2020/odx-angular-components-tooltip.mjs +6 -6
  280. package/fesm2020/odx-angular-internal.mjs +33 -23
  281. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  282. package/fesm2020/odx-angular-utils.mjs +9 -5
  283. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  284. package/fesm2020/odx-angular.mjs +33 -29
  285. package/fesm2020/odx-angular.mjs.map +1 -1
  286. package/internal/decorators/css-component.d.ts +2 -2
  287. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  288. package/lib/services/window-ref.d.ts +2 -0
  289. package/package.json +2 -2
  290. package/utils/lib/decorators/transform.d.ts +1 -1
  291. package/utils/lib/helpers/build-url.d.ts +1 -0
  292. package/utils/lib/helpers/index.d.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, NgModule } from '@angular/core';
3
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, forwardRef, ContentChildren, NgModule } from '@angular/core';
4
4
  import { DisabledController, ReadonlyController, CoreModule } from '@odx/angular';
5
5
  import { RadioControlDirective, RadioGroupControlDirective, RADIO_GROUP_CONTROL } from '@odx/angular/cdk/radio-group-control';
6
6
  import { CSSComponent } from '@odx/angular/internal';
@@ -16,12 +16,12 @@ let ToggleButtonComponent = class ToggleButtonComponent extends RadioControlDire
16
16
  this.element = injectElement();
17
17
  }
18
18
  };
19
- ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
- ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: ToggleButtonComponent, isStandalone: true, selector: "odx-toggle-button", host: { attributes: { "role": "button" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-toggle-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <ng-content></ng-content>\n</label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
+ ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
+ ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ToggleButtonComponent, isStandalone: true, selector: "odx-toggle-button", host: { attributes: { "role": "button" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-toggle-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <ng-content></ng-content>\n</label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
21
  ToggleButtonComponent = __decorate([
22
22
  CSSComponent('toggle-button')
23
23
  ], ToggleButtonComponent);
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ standalone: true, selector: 'odx-toggle-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
27
27
  role: 'button',
@@ -36,11 +36,11 @@ let ToggleButtonGroupComponent = ToggleButtonGroupComponent_1 = class ToggleButt
36
36
  this.element = injectElement();
37
37
  }
38
38
  };
39
- ToggleButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
- ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: ToggleButtonGroupComponent, isStandalone: true, selector: "odx-toggle-button-group", providers: [
39
+ ToggleButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
+ ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ToggleButtonGroupComponent, isStandalone: true, selector: "odx-toggle-button-group", providers: [
41
41
  {
42
42
  provide: RADIO_GROUP_CONTROL,
43
- useExisting: ToggleButtonGroupComponent_1,
43
+ useExisting: forwardRef(() => ToggleButtonGroupComponent_1),
44
44
  multi: false,
45
45
  },
46
46
  DisabledController.connect(),
@@ -49,12 +49,12 @@ ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
49
49
  ToggleButtonGroupComponent = ToggleButtonGroupComponent_1 = __decorate([
50
50
  CSSComponent('toggle-button-group')
51
51
  ], ToggleButtonGroupComponent);
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonGroupComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonGroupComponent, decorators: [{
53
53
  type: Component,
54
54
  args: [{ standalone: true, selector: 'odx-toggle-button-group', imports: [CommonModule, ActiveIndicatorDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
55
55
  {
56
56
  provide: RADIO_GROUP_CONTROL,
57
- useExisting: ToggleButtonGroupComponent,
57
+ useExisting: forwardRef(() => ToggleButtonGroupComponent),
58
58
  multi: false,
59
59
  },
60
60
  DisabledController.connect(),
@@ -68,10 +68,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
68
68
  const modules = [ToggleButtonGroupComponent, ToggleButtonComponent];
69
69
  class ToggleButtonGroupModule {
70
70
  }
71
- ToggleButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
72
- ToggleButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonGroupModule, imports: [ToggleButtonGroupComponent, ToggleButtonComponent], exports: [CoreModule, ToggleButtonGroupComponent, ToggleButtonComponent] });
73
- ToggleButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonGroupModule, imports: [modules, CoreModule] });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToggleButtonGroupModule, decorators: [{
71
+ ToggleButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
72
+ ToggleButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonGroupModule, imports: [ToggleButtonGroupComponent, ToggleButtonComponent], exports: [CoreModule, ToggleButtonGroupComponent, ToggleButtonComponent] });
73
+ ToggleButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonGroupModule, imports: [modules, CoreModule] });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ToggleButtonGroupModule, decorators: [{
75
75
  type: NgModule,
76
76
  args: [{
77
77
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-toggle-button-group.mjs","sources":["../../../../libs/angular/components/toggle-button-group/src/lib/components/toggle-button/toggle-button.component.ts","../../../../libs/angular/components/toggle-button-group/src/lib/components/toggle-button/toggle-button.component.html","../../../../libs/angular/components/toggle-button-group/src/lib/toggle-button-group.component.ts","../../../../libs/angular/components/toggle-button-group/src/lib/toggle-button-group.component.html","../../../../libs/angular/components/toggle-button-group/src/lib/toggle-button-group.module.ts","../../../../libs/angular/components/toggle-button-group/src/odx-angular-components-toggle-button-group.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { RadioControlDirective } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('toggle-button')\n@Component({\n standalone: true,\n selector: 'odx-toggle-button',\n templateUrl: './toggle-button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n role: 'button',\n },\n})\nexport class ToggleButtonComponent<T = unknown> extends RadioControlDirective<T> {\n public readonly element = injectElement();\n}\n","<label class=\"odx-toggle-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <ng-content></ng-content>\n</label>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, QueryList, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';\nimport { RadioGroupControlDirective, RADIO_GROUP_CONTROL } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { defer, map, merge, startWith, tap } from 'rxjs';\nimport { ToggleButtonComponent } from './components';\n\n@CSSComponent('toggle-button-group')\n@Component({\n standalone: true,\n selector: 'odx-toggle-button-group',\n imports: [CommonModule, ActiveIndicatorDirective],\n templateUrl: './toggle-button-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: RADIO_GROUP_CONTROL,\n useExisting: ToggleButtonGroupComponent,\n multi: false,\n },\n DisabledController.connect(),\n ReadonlyController.connect(),\n ],\n})\nexport class ToggleButtonGroupComponent<T = unknown> extends RadioGroupControlDirective<T> {\n protected activeElement$ = defer(() => merge(this.toggleButtons.changes, this.change$)).pipe(\n startWith(undefined),\n map(() => this.toggleButtons.find((button) => button.isActive)?.element.nativeElement ?? null),\n tap((activeElement) => this.element.nativeElement.classList.toggle('is-active', !!activeElement))\n );\n\n @ContentChildren(ToggleButtonComponent)\n protected toggleButtons!: QueryList<ToggleButtonComponent>;\n\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-toggle-button\"> </ng-content>\n<div class=\"odx-toggle-button-group__indicator\" [odxActiveIndicator]=\"activeElement$ | async\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ToggleButtonComponent } from './components';\nimport { ToggleButtonGroupComponent } from './toggle-button-group.component';\n\nconst modules = [ToggleButtonGroupComponent, ToggleButtonComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class ToggleButtonGroupModule {}\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-toggle-button-group.mjs","sources":["../../../../libs/angular/components/toggle-button-group/src/lib/components/toggle-button/toggle-button.component.ts","../../../../libs/angular/components/toggle-button-group/src/lib/components/toggle-button/toggle-button.component.html","../../../../libs/angular/components/toggle-button-group/src/lib/toggle-button-group.component.ts","../../../../libs/angular/components/toggle-button-group/src/lib/toggle-button-group.component.html","../../../../libs/angular/components/toggle-button-group/src/lib/toggle-button-group.module.ts","../../../../libs/angular/components/toggle-button-group/src/odx-angular-components-toggle-button-group.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { RadioControlDirective } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('toggle-button')\n@Component({\n standalone: true,\n selector: 'odx-toggle-button',\n templateUrl: './toggle-button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n role: 'button',\n },\n})\nexport class ToggleButtonComponent<T = unknown> extends RadioControlDirective<T> {\n public readonly element = injectElement();\n}\n","<label class=\"odx-toggle-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <ng-content></ng-content>\n</label>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, QueryList, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';\nimport { RadioGroupControlDirective, RADIO_GROUP_CONTROL } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { defer, map, merge, startWith, tap } from 'rxjs';\nimport { ToggleButtonComponent } from './components';\n\n@CSSComponent('toggle-button-group')\n@Component({\n standalone: true,\n selector: 'odx-toggle-button-group',\n imports: [CommonModule, ActiveIndicatorDirective],\n templateUrl: './toggle-button-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: RADIO_GROUP_CONTROL,\n useExisting: forwardRef(() => ToggleButtonGroupComponent),\n multi: false,\n },\n DisabledController.connect(),\n ReadonlyController.connect(),\n ],\n})\nexport class ToggleButtonGroupComponent<T = unknown> extends RadioGroupControlDirective<T> {\n protected activeElement$ = defer(() => merge(this.toggleButtons.changes, this.change$)).pipe(\n startWith(undefined),\n map(() => this.toggleButtons.find((button) => button.isActive)?.element.nativeElement ?? null),\n tap((activeElement) => this.element.nativeElement.classList.toggle('is-active', !!activeElement))\n );\n\n @ContentChildren(ToggleButtonComponent)\n protected toggleButtons!: QueryList<ToggleButtonComponent>;\n\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-toggle-button\"> </ng-content>\n<div class=\"odx-toggle-button-group__indicator\" [odxActiveIndicator]=\"activeElement$ | async\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ToggleButtonComponent } from './components';\nimport { ToggleButtonGroupComponent } from './toggle-button-group.component';\n\nconst modules = [ToggleButtonGroupComponent, ToggleButtonComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class ToggleButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -43,8 +43,8 @@ let TooltipComponent = class TooltipComponent {
43
43
  this.size = TooltipSize.AUTO;
44
44
  }
45
45
  };
46
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", 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 });
46
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", 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
48
  __decorate([
49
49
  CSSModifier(),
50
50
  __metadata("design:type", String)
@@ -52,7 +52,7 @@ __decorate([
52
52
  TooltipComponent = __decorate([
53
53
  CSSComponent('tooltip')
54
54
  ], TooltipComponent);
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TooltipComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TooltipComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ standalone: true, selector: 'odx-tooltip', imports: [DynamicViewDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
58
58
  '[attr.id]': 'id',
@@ -142,8 +142,8 @@ let TooltipDirective = TooltipDirective_1 = class TooltipDirective {
142
142
  }
143
143
  };
144
144
  TooltipDirective.ID = 0;
145
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
146
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", 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 });
145
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
146
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", 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 });
147
147
  __decorate([
148
148
  Transform(coerceBooleanProperty),
149
149
  __metadata("design:type", Object)
@@ -156,7 +156,7 @@ TooltipDirective = TooltipDirective_1 = __decorate([
156
156
  CSSComponent('tooltip-host'),
157
157
  __metadata("design:paramtypes", [])
158
158
  ], TooltipDirective);
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TooltipDirective, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
160
160
  type: Directive,
161
161
  args: [{
162
162
  standalone: true,
@@ -1,5 +1,5 @@
1
- const CSS_COMPONENT_NAME = Symbol('__CSSComponentName__');
2
- const CSS_COMPONENT_MODIFIERS = Symbol('__CSSComponentModifiers__');
1
+ const CSS_COMPONENT_NAME = '__CSSComponentName__';
2
+ const CSS_COMPONENT_MODIFIERS = '__CSSComponentModifiers__';
3
3
  /** @internal */
4
4
  /* istanbul ignore next */
5
5
  function CSSComponent(name, prefix = 'odx') {
@@ -12,10 +12,8 @@ function CSSComponent(name, prefix = 'odx') {
12
12
  target.prototype.ngOnInit = function () {
13
13
  this.element.nativeElement.classList.add(cssClass);
14
14
  ngOnInit?.call(this);
15
- if (Array.isArray(this[CSS_COMPONENT_MODIFIERS])) {
16
- for (const property of this[CSS_COMPONENT_MODIFIERS]) {
17
- this[property] ?? (this[property] = null);
18
- }
15
+ for (const property of this[CSS_COMPONENT_MODIFIERS] ?? []) {
16
+ this[property] ?? (this[property] = null);
19
17
  }
20
18
  };
21
19
  })(target.prototype.ngOnInit);
@@ -72,14 +70,15 @@ function getEnumValues(e) {
72
70
  /* eslint-disable @typescript-eslint/no-explicit-any */
73
71
  /** @internal */
74
72
  /* istanbul ignore next */
75
- function ɵwithMultipleDescriptors(target, key, symbol) {
73
+ function ɵwithMultipleDescriptors(target, key, propertySymbol) {
76
74
  var _a, _b;
77
- const setters = (target[_a = `__propSetters__${target.constructor}__${key.toString()}`] ?? (target[_a] = []));
78
- const getters = (target[_b = `__propGetters__${target.constructor}__${key.toString()}`] ?? (target[_b] = []));
79
- const propertyValue = `__propValue_${String(key)}__`;
75
+ const keyName = key.toString();
76
+ const setters = (target[_a = `__propSetters__${target.constructor.name}__${keyName}`] ?? (target[_a] = []));
77
+ const getters = (target[_b = `__propGetters__${target.constructor.name}__${keyName}`] ?? (target[_b] = []));
78
+ const propertyValue = `__propValue__${keyName}__`;
80
79
  return {
81
80
  addSetter(fn) {
82
- setters.push({ fn, propertySymbol: symbol });
81
+ setters.push({ fn, propertySymbol });
83
82
  },
84
83
  addGetter(fn) {
85
84
  getters.push({ fn });
@@ -87,14 +86,20 @@ function ɵwithMultipleDescriptors(target, key, symbol) {
87
86
  init() {
88
87
  Object.defineProperty(target, key, {
89
88
  set(value) {
90
- this[propertyValue] = setters.reduce((result, { fn, propertySymbol }) => {
91
- fn.call(this, result);
92
- return this[propertySymbol];
93
- }, value);
89
+ let currentValue = value;
90
+ for (const { fn, propertySymbol } of setters) {
91
+ fn.call(this, currentValue);
92
+ currentValue = this[propertySymbol];
93
+ }
94
+ this[propertyValue] = currentValue;
94
95
  },
95
96
  get() {
96
97
  if (Array.isArray(getters)) {
97
- return getters.reduce((_, { fn }) => fn.call(this), this[propertyValue]);
98
+ let currentValue = this[propertyValue];
99
+ for (const { fn } of getters) {
100
+ currentValue = fn.call(this);
101
+ }
102
+ return currentValue;
98
103
  }
99
104
  else {
100
105
  return this[propertyValue];
@@ -111,26 +116,31 @@ function ɵwithMultipleDescriptors(target, key, symbol) {
111
116
  /* istanbul ignore next */
112
117
  function CSSModifier(options) {
113
118
  return (target, propertyKey) => {
114
- const propertySymbol = Symbol(`__CSSModifier{${propertyKey.toString()}}__`);
119
+ const propertyKeyName = propertyKey.toString();
120
+ const propertyKeyKebabCase = camelToKebabCase(propertyKeyName);
121
+ const propertySymbol = `__CSSModifier{${propertyKeyName}}__`;
115
122
  const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);
116
- const propertyKeyKebabCase = camelToKebabCase(propertyKey.toString());
117
123
  function createModifierClass(value) {
118
- value = value ?? options?.default ?? null;
124
+ value ?? (value = options?.default ?? null);
119
125
  if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {
120
126
  let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;
121
127
  if (options?.withPrefix) {
122
- modifier = [propertyKey, modifier].join('-');
128
+ modifier = `${propertyKeyName}-${modifier}`;
129
+ }
130
+ if (options?.withComponentPrefix ?? true) {
131
+ return `${this[CSS_COMPONENT_NAME]}--${modifier}`;
123
132
  }
124
- return [options?.withComponentPrefix ?? true ? this[CSS_COMPONENT_NAME] : null, modifier].filter(Boolean).join('--');
133
+ return modifier;
125
134
  }
126
135
  return null;
127
136
  }
128
137
  if (options?.default) {
129
- target[CSS_COMPONENT_MODIFIERS] = (target[CSS_COMPONENT_MODIFIERS] || []).concat(propertyKey);
138
+ target[CSS_COMPONENT_MODIFIERS] ?? (target[CSS_COMPONENT_MODIFIERS] = []);
139
+ target[CSS_COMPONENT_MODIFIERS].push(propertyKeyName);
130
140
  }
131
141
  function setter(value) {
132
142
  const values = options?.isArray ? value : [value];
133
- this[propertySymbol] = this[propertySymbol] || [];
143
+ this[propertySymbol] || (this[propertySymbol] = []);
134
144
  for (let i = 0; i < values.length; ++i) {
135
145
  const currentValue = values[i];
136
146
  if (this[propertySymbol].length < 1 || currentValue !== this[propertySymbol][i]) {
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-internal.mjs","sources":["../../../../libs/angular/internal/src/decorators/css-component.ts","../../../../libs/angular/internal/src/helpers/camel-to-kebab-case.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-modifier.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["import { ElementRef, Type } from '@angular/core';\n\nexport const CSS_COMPONENT_NAME = Symbol('__CSSComponentName__');\n\nexport const CSS_COMPONENT_MODIFIERS = Symbol('__CSSComponentModifiers__');\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 if (Array.isArray(this[CSS_COMPONENT_MODIFIERS])) {\n for (const property of this[CSS_COMPONENT_MODIFIERS]) {\n this[property] ??= null;\n }\n }\n };\n })(target.prototype.ngOnInit);\n };\n}\n","/** @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","/* 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\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, symbol: symbol): DescriptiorManager {\n const setters = (target[`__propSetters__${target.constructor}__${key.toString()}`] ??= []);\n const getters = (target[`__propGetters__${target.constructor}__${key.toString()}`] ??= []);\n const propertyValue = `__propValue_${String(key)}__`;\n return {\n addSetter(fn: (this: any, value: any) => void) {\n setters.push({ fn, propertySymbol: symbol });\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 this[propertyValue] = setters.reduce((result: any, { fn, propertySymbol }: any) => {\n fn.call(this, result);\n return this[propertySymbol];\n }, value);\n },\n get() {\n if (Array.isArray(getters)) {\n return getters.reduce((_: any, { fn }: any) => fn.call(this), this[propertyValue]);\n } else {\n return this[propertyValue];\n }\n },\n configurable: true,\n });\n },\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { camelToKebabCase, ɵwithMultipleDescriptors } from '../helpers';\nimport { CSS_COMPONENT_MODIFIERS, CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n isArray?: boolean;\n withComponentPrefix?: boolean;\n default?: string;\n withPrefix?: boolean;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = Symbol(`__CSSModifier{${propertyKey.toString()}}__`);\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n const propertyKeyKebabCase = camelToKebabCase(propertyKey.toString());\n\n function createModifierClass(this: any, value: any) {\n value = value ?? options?.default ?? null;\n\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 = [propertyKey, modifier].join('-');\n }\n return [options?.withComponentPrefix ?? true ? this[CSS_COMPONENT_NAME] : null, modifier].filter(Boolean).join('--');\n }\n return null;\n }\n\n if (options?.default) {\n target[CSS_COMPONENT_MODIFIERS] = (target[CSS_COMPONENT_MODIFIERS] || []).concat(propertyKey);\n }\n\n function setter(this: any, value: any) {\n const values = options?.isArray ? value : [value];\n this[propertySymbol] = this[propertySymbol] || [];\n for (let i = 0; i < values.length; ++i) {\n const currentValue = values[i];\n if (this[propertySymbol].length < 1 || currentValue !== this[propertySymbol][i]) {\n const currentModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n this[propertySymbol][i] = currentValue;\n const newModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (newModifierClass !== null && (typeof currentValue === 'boolean' ? currentValue : 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/decorators/css-component.ts","../../../../libs/angular/internal/src/helpers/camel-to-kebab-case.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-modifier.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["import { ElementRef, Type } from '@angular/core';\n\nexport const CSS_COMPONENT_NAME = '__CSSComponentName__';\nexport const CSS_COMPONENT_MODIFIERS = '__CSSComponentModifiers__';\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 for (const property of this[CSS_COMPONENT_MODIFIERS] ?? []) {\n this[property] ??= null;\n }\n };\n })(target.prototype.ngOnInit);\n };\n}\n","/** @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","/* 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\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 setters = (target[`__propSetters__${target.constructor.name}__${keyName}`] ??= []);\n const getters = (target[`__propGetters__${target.constructor.name}__${keyName}`] ??= []);\n const propertyValue = `__propValue__${keyName}__`;\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[propertyValue] = currentValue;\n },\n get() {\n if (Array.isArray(getters)) {\n let currentValue = this[propertyValue];\n for (const { fn } of getters) {\n currentValue = fn.call(this);\n }\n return currentValue;\n } else {\n return this[propertyValue];\n }\n },\n configurable: true,\n });\n },\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { camelToKebabCase, ɵwithMultipleDescriptors } from '../helpers';\nimport { CSS_COMPONENT_MODIFIERS, CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n isArray?: boolean;\n withComponentPrefix?: boolean;\n default?: string;\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 = `__CSSModifier{${propertyKeyName}}__`;\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function createModifierClass(this: any, value: any) {\n value ??= options?.default ?? null;\n\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 if (options?.default) {\n target[CSS_COMPONENT_MODIFIERS] ??= [];\n target[CSS_COMPONENT_MODIFIERS].push(propertyKeyName);\n }\n\n function setter(this: any, value: any) {\n const values = options?.isArray ? value : [value];\n this[propertySymbol] ||= [];\n for (let i = 0; i < values.length; ++i) {\n const currentValue = values[i];\n if (this[propertySymbol].length < 1 || currentValue !== this[propertySymbol][i]) {\n const currentModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n this[propertySymbol][i] = currentValue;\n const newModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (newModifierClass !== null && (typeof currentValue === 'boolean' ? currentValue : 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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"}
@@ -45,7 +45,7 @@ function Pure(_target, propertyKey, { get, enumerable, value }) {
45
45
  /* eslint-disable @typescript-eslint/no-explicit-any */
46
46
  function Transform(transformer) {
47
47
  return (target, propertyKey) => {
48
- const propertySymbol = Symbol(`__${propertyKey.toString()}ClassTmpl__`);
48
+ const propertySymbol = `__${propertyKey.toString()}ClassTmpl__`;
49
49
  const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);
50
50
  function setter(value) {
51
51
  this[propertySymbol] = transformer.apply(this, [value]);
@@ -178,6 +178,10 @@ function pluckFromArray(arr, key) {
178
178
  return arr.map((value) => value[key]);
179
179
  }
180
180
 
181
+ function buildUrl(...args) {
182
+ return args.join('/').replace(/(^.*)(https?:\/\/)|(\/)+/g, '$2$3');
183
+ }
184
+
181
185
  function deferFn(fn) {
182
186
  setTimeout(fn, 0);
183
187
  }
@@ -203,9 +207,9 @@ class EventManager {
203
207
  this.destroyListeners();
204
208
  }
205
209
  }
206
- EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
207
- EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventManager });
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventManager, decorators: [{
210
+ EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
211
+ EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: EventManager });
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: EventManager, decorators: [{
209
213
  type: Injectable
210
214
  }] });
211
215
 
@@ -356,5 +360,5 @@ class Queue {
356
360
  * Generated bundle index. Do not edit.
357
361
  */
358
362
 
359
- export { Axis, EventManager, Position, Pure, Queue, Side, Transform, applyStyles, booleanToAttributeString, booleanToOptionalAttributeString, containsElement, createModuleConfigTokens, createResizeObserver, cssTranslate, deferFn, disableCSSTransitions, forceLayoutReflow, getAxis, getInjector, getOppositeSide, getSide, getUniqueId, hasChanged, injectElement, isBoolean, isComponent, isFunction, isNonEmptyString, isNumber, isPresent, isString, isTemplateRef, isViewContainer, pluckFromArray, provideModuleConfig, px, reactiveAttributeBinding, reactiveClassBinding, setAttribute, untilDestroyed };
363
+ export { Axis, EventManager, Position, Pure, Queue, Side, Transform, applyStyles, booleanToAttributeString, booleanToOptionalAttributeString, buildUrl, containsElement, createModuleConfigTokens, createResizeObserver, cssTranslate, deferFn, disableCSSTransitions, forceLayoutReflow, getAxis, getInjector, getOppositeSide, getSide, getUniqueId, hasChanged, injectElement, isBoolean, isComponent, isFunction, isNonEmptyString, isNumber, isPresent, isString, isTemplateRef, isViewContainer, pluckFromArray, provideModuleConfig, px, reactiveAttributeBinding, reactiveClassBinding, setAttribute, untilDestroyed };
360
364
  //# sourceMappingURL=odx-angular-utils.mjs.map
@@ -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/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-module-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 { ɵwithMultipleDescriptors } from '@odx/angular/internal';\n\ntype TransformFn<Klass = any, R = any> = (this: Klass, value: R) => R;\n\nexport function Transform(transformer: TransformFn) {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = Symbol(`__${propertyKey.toString()}ClassTmpl__`);\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 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 { deepmerge } from 'deepmerge-ts';\n\ninterface ModuleConfigFactoryProvider<T, D extends ModuleConfigDependencies> {\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 ModuleConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;\nexport type ModuleConfigProvider<T = unknown, D extends ModuleConfigDependencies = []> = ModuleConfigFactoryProvider<T, D> | T;\n\nexport function provideModuleConfig<T extends object, D extends ModuleConfigDependencies = ModuleConfigDependencies>(\n token: InjectionToken<T> | string,\n config: ModuleConfigProvider<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 createModuleConfigTokens<T, N extends string>(name: N, prefix: string, defaultValue: T) {\n const moduleConfig = `${name}ModuleConfig` as const;\n const defaultModuleConfig = `${name}DefaultModuleConfig` as const;\n const injectModuleConfig = `inject${name}ModuleConfig` as const;\n const tokenName = `${prefix}::${moduleConfig}`;\n const token = new InjectionToken<Partial<T>>(tokenName, { providedIn: 'root', factory: () => defaultValue });\n\n return {\n [moduleConfig]: token,\n [defaultModuleConfig]: defaultValue,\n [injectModuleConfig]: () => deepmerge(defaultValue, inject(token)),\n } as Record<typeof moduleConfig, InjectionToken<Partial<T>>> & Record<typeof defaultModuleConfig, T> & Record<typeof injectModuleConfig, () => T>;\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-module-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 { ɵ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 = `__${propertyKey.toString()}ClassTmpl__`;\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 { deepmerge } from 'deepmerge-ts';\n\ninterface ModuleConfigFactoryProvider<T, D extends ModuleConfigDependencies> {\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 ModuleConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;\nexport type ModuleConfigProvider<T = unknown, D extends ModuleConfigDependencies = []> = ModuleConfigFactoryProvider<T, D> | T;\n\nexport function provideModuleConfig<T extends object, D extends ModuleConfigDependencies = ModuleConfigDependencies>(\n token: InjectionToken<T> | string,\n config: ModuleConfigProvider<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 createModuleConfigTokens<T, N extends string>(name: N, prefix: string, defaultValue: T) {\n const moduleConfig = `${name}ModuleConfig` as const;\n const defaultModuleConfig = `${name}DefaultModuleConfig` as const;\n const injectModuleConfig = `inject${name}ModuleConfig` as const;\n const tokenName = `${prefix}::${moduleConfig}`;\n const token = new InjectionToken<Partial<T>>(tokenName, { providedIn: 'root', factory: () => defaultValue });\n\n return {\n [moduleConfig]: token,\n [defaultModuleConfig]: defaultValue,\n [injectModuleConfig]: () => deepmerge(defaultValue, inject(token)),\n } as Record<typeof moduleConfig, InjectionToken<Partial<T>>> & Record<typeof defaultModuleConfig, T> & Record<typeof injectModuleConfig, () => T>;\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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"}