@odx/angular 1.0.0-rc.2 → 1.0.0-rc.21

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 (834) hide show
  1. package/README.md +6 -7
  2. package/animations/index.d.ts +1 -0
  3. package/animations/lib/wait-for-child-animations.d.ts +1 -0
  4. package/cdk/a11y/README.md +3 -0
  5. package/cdk/a11y/index.d.ts +2 -0
  6. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  7. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  8. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  9. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +10 -0
  10. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  11. package/cdk/active-indicator/README.md +3 -0
  12. package/cdk/active-indicator/index.d.ts +2 -0
  13. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +25 -0
  14. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +5 -0
  15. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +6 -0
  16. package/cdk/active-indicator/lib/models/index.d.ts +2 -0
  17. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +4 -3
  18. package/cdk/connected-overlay/README.md +3 -0
  19. package/cdk/connected-overlay/index.d.ts +3 -0
  20. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +28 -0
  21. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +10 -0
  22. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +3 -0
  23. package/cdk/connected-overlay/lib/helpers/index.d.ts +1 -0
  24. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +25 -0
  25. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +12 -0
  26. package/cdk/connected-overlay/lib/models/index.d.ts +2 -0
  27. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  28. package/cdk/custom-form-control/lib/custom-form-control.d.ts +8 -14
  29. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +4 -4
  30. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
  31. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +1 -0
  32. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  33. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +1 -0
  34. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  35. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
  36. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +2 -0
  37. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +1 -0
  38. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +7 -3
  39. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +3 -0
  40. package/cdk/dynamic-view/lib/tokens/index.d.ts +1 -0
  41. package/cdk/expandable/index.d.ts +1 -0
  42. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  43. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  44. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  45. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  46. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  47. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  48. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -2
  49. package/components/accordion/lib/accordion.component.d.ts +1 -1
  50. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  51. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  52. package/components/action-group/action-group.component.d.ts +1 -1
  53. package/components/area-header/area-header.component.d.ts +1 -1
  54. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  55. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  56. package/components/area-header/models/area-header-size.d.ts +1 -1
  57. package/components/avatar/lib/avatar.component.d.ts +3 -2
  58. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  59. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  60. package/components/avatar/lib/models/index.d.ts +1 -0
  61. package/components/badge/lib/badge.component.d.ts +7 -17
  62. package/components/badge/lib/badge.directive.d.ts +17 -13
  63. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  64. package/components/badge/lib/models/index.d.ts +0 -1
  65. package/components/bar/README.md +3 -0
  66. package/components/bar/index.d.ts +5 -0
  67. package/components/bar/lib/bar.component.d.ts +6 -0
  68. package/components/bar/lib/bar.module.d.ts +10 -0
  69. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  70. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  71. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  72. package/components/breadcrumbs/README.md +3 -0
  73. package/components/breadcrumbs/index.d.ts +1 -0
  74. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  75. package/components/button/index.d.ts +1 -0
  76. package/components/button/lib/button.component.d.ts +3 -4
  77. package/components/button/lib/directives/index.d.ts +1 -0
  78. package/components/button/lib/directives/responsive-button.directive.d.ts +6 -0
  79. package/components/button/lib/models/button-size.d.ts +1 -1
  80. package/components/button/lib/models/button-variant.d.ts +1 -1
  81. package/components/button-group/lib/button-group.component.d.ts +1 -1
  82. package/components/checkbox/index.d.ts +2 -0
  83. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  84. package/components/checkbox/lib/checkbox.module.d.ts +9 -0
  85. package/components/checkbox/lib/checkbox.validator.d.ts +6 -0
  86. package/components/chip/README.md +3 -0
  87. package/components/chip/index.d.ts +2 -0
  88. package/components/chip/lib/chip.component.d.ts +15 -0
  89. package/components/chip/lib/models/chip-size.d.ts +5 -0
  90. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  91. package/components/chip/lib/models/index.d.ts +2 -0
  92. package/components/circular-progress/README.md +3 -0
  93. package/components/circular-progress/index.d.ts +2 -0
  94. package/components/circular-progress/lib/circular-progress.component.d.ts +29 -0
  95. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  96. package/components/circular-progress/lib/models/index.d.ts +1 -0
  97. package/components/content-box/lib/content-box.component.d.ts +1 -1
  98. package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
  99. package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
  100. package/components/dropdown/README.md +3 -0
  101. package/components/dropdown/index.d.ts +5 -0
  102. package/components/dropdown/lib/dropdown.component.d.ts +12 -0
  103. package/components/dropdown/lib/dropdown.directive.d.ts +42 -0
  104. package/components/dropdown/lib/dropdown.module.d.ts +8 -0
  105. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  106. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  107. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  108. package/components/dropdown/lib/models/dropdown-options.d.ts +3 -0
  109. package/components/dropdown/lib/models/index.d.ts +2 -0
  110. package/components/form-field/index.d.ts +1 -0
  111. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  112. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -2
  113. package/components/form-field/lib/directives/form-field-control.directive.d.ts +3 -4
  114. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  115. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  116. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  117. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  118. package/components/form-field/lib/form-field.component.d.ts +8 -2
  119. package/components/form-field/lib/form-field.config.d.ts +3 -7
  120. package/components/form-field/lib/form-field.module.d.ts +0 -4
  121. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  122. package/components/form-field/lib/models/form-field-error.d.ts +1 -0
  123. package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
  124. package/components/form-field/lib/models/index.d.ts +1 -0
  125. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  126. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  127. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  128. package/components/header/lib/header.component.d.ts +1 -1
  129. package/components/header/lib/header.module.d.ts +2 -3
  130. package/components/icon/lib/icon.component.d.ts +1 -1
  131. package/components/icon/lib/models/icon-size.d.ts +2 -1
  132. package/components/inline-message/README.md +3 -0
  133. package/components/inline-message/index.d.ts +2 -0
  134. package/components/inline-message/lib/inline-message.component.d.ts +9 -0
  135. package/components/inline-message/lib/models/index.d.ts +1 -0
  136. package/components/inline-message/lib/models/inline-message-variant.d.ts +7 -0
  137. package/components/launch-tile/README.md +3 -0
  138. package/components/launch-tile/index.d.ts +3 -0
  139. package/components/launch-tile/lib/components/index.d.ts +2 -0
  140. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +5 -0
  141. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +5 -0
  142. package/components/launch-tile/lib/launch-tile.component.d.ts +17 -0
  143. package/components/launch-tile/lib/launch-tile.module.d.ts +14 -0
  144. package/components/link/link.directive.d.ts +2 -4
  145. package/components/list/README.md +3 -0
  146. package/components/list/index.d.ts +3 -0
  147. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +14 -0
  148. package/components/list/lib/components/index.d.ts +2 -0
  149. package/components/list/lib/components/list-item/list-item.component.d.ts +12 -0
  150. package/components/list/lib/list.component.d.ts +8 -0
  151. package/components/list/lib/list.module.d.ts +10 -0
  152. package/components/loading-spinner/README.md +3 -0
  153. package/components/loading-spinner/index.d.ts +3 -0
  154. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  155. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +27 -0
  156. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  157. package/components/logo/logo.directive.d.ts +1 -1
  158. package/components/logo/models/logo-size.d.ts +1 -1
  159. package/components/logo/models/logo-variant.d.ts +1 -1
  160. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  161. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +9 -4
  162. package/components/main-menu/lib/main-menu.component.d.ts +3 -1
  163. package/components/mainfilter-group/README.md +3 -0
  164. package/components/mainfilter-group/index.d.ts +1 -0
  165. package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +6 -0
  166. package/components/menu/README.md +3 -0
  167. package/components/menu/index.d.ts +4 -0
  168. package/components/menu/lib/directives/index.d.ts +1 -0
  169. package/components/menu/lib/directives/menu-item.directive.d.ts +8 -0
  170. package/components/menu/lib/menu.component.d.ts +11 -0
  171. package/components/menu/lib/menu.directive.d.ts +17 -0
  172. package/components/menu/lib/menu.module.d.ts +10 -0
  173. package/components/modal/index.d.ts +0 -1
  174. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  175. package/components/modal/lib/components/index.d.ts +2 -0
  176. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  177. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +2 -1
  178. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  179. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  180. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  181. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  182. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  183. package/components/modal/lib/modal.component.d.ts +11 -6
  184. package/components/modal/lib/modal.config.d.ts +2 -2
  185. package/components/modal/lib/modal.directive.d.ts +8 -4
  186. package/components/modal/lib/modal.module.d.ts +9 -12
  187. package/components/modal/lib/modal.service.d.ts +9 -6
  188. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  189. package/components/modal/lib/models/index.d.ts +3 -0
  190. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  191. package/components/modal/lib/models/modal-options.d.ts +3 -1
  192. package/components/modal/lib/models/modal-ref.d.ts +9 -5
  193. package/components/modal/lib/models/modal-size.d.ts +2 -1
  194. package/components/modal/lib/models/modal-type.d.ts +1 -1
  195. package/components/modal/lib/models/modal-variant.d.ts +5 -0
  196. package/components/progress/README.md +3 -0
  197. package/components/progress/index.d.ts +1 -0
  198. package/components/progress/lib/progress.component.d.ts +14 -0
  199. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  200. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  201. package/components/rail-navigation/README.md +3 -0
  202. package/components/rail-navigation/index.d.ts +3 -0
  203. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +13 -0
  204. package/components/rail-navigation/lib/rail-navigation.component.d.ts +14 -0
  205. package/components/rail-navigation/lib/rail-navigation.module.d.ts +9 -0
  206. package/components/select/README.md +3 -0
  207. package/components/select/index.d.ts +7 -0
  208. package/components/select/lib/abstract/index.d.ts +2 -0
  209. package/components/select/lib/abstract/select-control-option.d.ts +9 -0
  210. package/components/select/lib/abstract/select-control.d.ts +12 -0
  211. package/components/select/lib/components/index.d.ts +1 -0
  212. package/components/select/lib/components/option/option.component.d.ts +27 -0
  213. package/components/select/lib/directives/index.d.ts +1 -0
  214. package/components/select/lib/directives/select-search-field.directive.d.ts +13 -0
  215. package/components/select/lib/pipes/index.d.ts +1 -0
  216. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +13 -0
  217. package/components/select/lib/select.component.d.ts +53 -0
  218. package/components/select/lib/select.module.d.ts +11 -0
  219. package/components/select/lib/select.tokens.d.ts +3 -0
  220. package/components/slider/README.md +3 -0
  221. package/components/slider/index.d.ts +1 -0
  222. package/components/slider/lib/slider.directive.d.ts +12 -0
  223. package/components/spinbox/README.md +3 -0
  224. package/components/spinbox/index.d.ts +1 -0
  225. package/components/spinbox/lib/spinbox.component.d.ts +25 -0
  226. package/components/switch/index.d.ts +2 -0
  227. package/components/switch/lib/switch.component.d.ts +2 -1
  228. package/components/switch/lib/switch.module.d.ts +9 -0
  229. package/components/switch/lib/switch.validator.d.ts +6 -0
  230. package/components/tab-bar/README.md +3 -0
  231. package/components/tab-bar/index.d.ts +4 -0
  232. package/components/tab-bar/lib/components/index.d.ts +1 -0
  233. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +23 -0
  234. package/components/tab-bar/lib/models/index.d.ts +1 -0
  235. package/components/tab-bar/lib/models/tab-change-event.d.ts +5 -0
  236. package/components/tab-bar/lib/tab-bar.component.d.ts +31 -0
  237. package/components/tab-bar/lib/tab-bar.config.d.ts +3 -0
  238. package/components/tab-bar/lib/tab-bar.module.d.ts +9 -0
  239. package/components/toast/README.md +3 -0
  240. package/components/toast/index.d.ts +5 -0
  241. package/components/toast/lib/components/index.d.ts +2 -0
  242. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  243. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  244. package/components/toast/lib/models/index.d.ts +5 -0
  245. package/components/toast/lib/models/toast-action.d.ts +7 -0
  246. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  247. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  248. package/components/toast/lib/models/toast.d.ts +10 -0
  249. package/components/toast/lib/models/toast.options.d.ts +4 -0
  250. package/components/toast/lib/toast.config.d.ts +3 -0
  251. package/components/toast/lib/toast.module.d.ts +9 -0
  252. package/components/toast/lib/toast.service.d.ts +16 -0
  253. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +5 -2
  254. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +11 -2
  255. package/components/tooltip/README.md +3 -0
  256. package/components/tooltip/index.d.ts +3 -0
  257. package/components/tooltip/lib/helpers/index.d.ts +1 -0
  258. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +2 -0
  259. package/components/tooltip/lib/models/index.d.ts +3 -0
  260. package/components/tooltip/lib/models/tooltip-options.d.ts +10 -0
  261. package/components/tooltip/lib/models/tooltip-size.d.ts +7 -0
  262. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -0
  263. package/components/tooltip/lib/tooltip.component.d.ts +13 -0
  264. package/components/tooltip/lib/tooltip.directive.d.ts +33 -0
  265. package/esm2020/animations/index.mjs +2 -1
  266. package/esm2020/animations/lib/expand.mjs +6 -4
  267. package/esm2020/animations/lib/fade.mjs +2 -5
  268. package/esm2020/animations/lib/wait-for-child-animations.mjs +3 -0
  269. package/esm2020/cdk/a11y/index.mjs +3 -0
  270. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  271. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  272. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  273. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +26 -0
  274. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  275. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  276. package/esm2020/cdk/active-indicator/index.mjs +3 -0
  277. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +128 -0
  278. package/esm2020/cdk/active-indicator/lib/models/active-indicator-direction.mjs +5 -0
  279. package/esm2020/cdk/active-indicator/lib/models/active-indicator-position.mjs +6 -0
  280. package/esm2020/cdk/active-indicator/lib/models/index.mjs +3 -0
  281. package/esm2020/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +5 -0
  282. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +21 -19
  283. package/esm2020/cdk/connected-overlay/index.mjs +4 -0
  284. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +116 -0
  285. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +25 -0
  286. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +55 -0
  287. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +2 -0
  288. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +12 -0
  289. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +15 -0
  290. package/esm2020/cdk/connected-overlay/lib/models/index.mjs +3 -0
  291. package/esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +5 -0
  292. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  293. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +35 -59
  294. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  295. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +24 -10
  296. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +11 -9
  297. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
  298. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  299. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
  300. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +29 -8
  301. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +12 -6
  302. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  303. package/esm2020/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +10 -0
  304. package/esm2020/cdk/dynamic-view/lib/tokens/index.mjs +2 -1
  305. package/esm2020/cdk/expandable/index.mjs +2 -1
  306. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  307. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  308. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  309. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  310. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  311. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  312. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +12 -12
  313. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
  314. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  315. package/esm2020/components/accordion/lib/accordion.component.mjs +7 -7
  316. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  317. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  318. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  319. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  320. package/esm2020/components/area-header/area-header.component.mjs +6 -5
  321. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  322. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  323. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  324. package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
  325. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  326. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  327. package/esm2020/components/badge/lib/badge.component.mjs +18 -65
  328. package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
  329. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  330. package/esm2020/components/bar/index.mjs +6 -0
  331. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  332. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  333. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +38 -0
  334. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  335. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  336. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  337. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  338. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  339. package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
  340. package/esm2020/components/button/index.mjs +2 -1
  341. package/esm2020/components/button/lib/button.component.mjs +12 -18
  342. package/esm2020/components/button/lib/directives/index.mjs +2 -0
  343. package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +24 -0
  344. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  345. package/esm2020/components/checkbox/index.mjs +3 -1
  346. package/esm2020/components/checkbox/lib/checkbox.component.mjs +8 -7
  347. package/esm2020/components/checkbox/lib/checkbox.module.mjs +19 -0
  348. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +28 -0
  349. package/esm2020/components/chip/index.mjs +3 -0
  350. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  351. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  352. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  353. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  354. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  355. package/esm2020/components/circular-progress/index.mjs +3 -0
  356. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +98 -0
  357. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  358. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  359. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  360. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  361. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  362. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  363. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  364. package/esm2020/components/dropdown/index.mjs +6 -0
  365. package/esm2020/components/dropdown/lib/dropdown.component.mjs +40 -0
  366. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +157 -0
  367. package/esm2020/components/dropdown/lib/dropdown.module.mjs +18 -0
  368. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  369. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  370. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  371. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +8 -0
  372. package/esm2020/components/dropdown/lib/models/index.mjs +3 -0
  373. package/esm2020/components/dropdown/odx-angular-components-dropdown.mjs +5 -0
  374. package/esm2020/components/form-field/index.mjs +2 -1
  375. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  376. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +11 -13
  377. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +22 -15
  378. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  379. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  380. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  381. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  382. package/esm2020/components/form-field/lib/form-field.component.mjs +29 -11
  383. package/esm2020/components/form-field/lib/form-field.config.mjs +4 -4
  384. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
  385. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  386. package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
  387. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
  388. package/esm2020/components/form-field/lib/models/index.mjs +2 -1
  389. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
  390. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  391. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  392. package/esm2020/components/header/lib/header.component.mjs +5 -6
  393. package/esm2020/components/header/lib/header.module.mjs +7 -11
  394. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  395. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  396. package/esm2020/components/inline-message/index.mjs +3 -0
  397. package/esm2020/components/inline-message/lib/inline-message.component.mjs +42 -0
  398. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  399. package/esm2020/components/inline-message/lib/models/inline-message-variant.mjs +7 -0
  400. package/esm2020/components/inline-message/odx-angular-components-inline-message.mjs +5 -0
  401. package/esm2020/components/launch-tile/index.mjs +4 -0
  402. package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
  403. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +13 -0
  404. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +13 -0
  405. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +56 -0
  406. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +23 -0
  407. package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +5 -0
  408. package/esm2020/components/link/link.directive.mjs +7 -14
  409. package/esm2020/components/list/index.mjs +4 -0
  410. package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +49 -0
  411. package/esm2020/components/list/lib/components/index.mjs +3 -0
  412. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  413. package/esm2020/components/list/lib/list.component.mjs +32 -0
  414. package/esm2020/components/list/lib/list.module.mjs +19 -0
  415. package/esm2020/components/list/odx-angular-components-list.mjs +5 -0
  416. package/esm2020/components/loading-spinner/index.mjs +4 -0
  417. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  418. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +98 -0
  419. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  420. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  421. package/esm2020/components/logo/logo.directive.mjs +8 -6
  422. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  423. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +30 -17
  424. package/esm2020/components/main-menu/lib/main-menu.component.mjs +12 -11
  425. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  426. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  427. package/esm2020/components/mainfilter-group/index.mjs +2 -0
  428. package/esm2020/components/mainfilter-group/lib/mainfilter-group.component.mjs +21 -0
  429. package/esm2020/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +5 -0
  430. package/esm2020/components/menu/index.mjs +5 -0
  431. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  432. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +37 -0
  433. package/esm2020/components/menu/lib/menu.component.mjs +46 -0
  434. package/esm2020/components/menu/lib/menu.directive.mjs +58 -0
  435. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  436. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  437. package/esm2020/components/modal/index.mjs +1 -2
  438. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  439. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  440. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  441. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
  442. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  443. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  444. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  445. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  446. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  447. package/esm2020/components/modal/lib/modal.component.mjs +43 -20
  448. package/esm2020/components/modal/lib/modal.config.mjs +5 -3
  449. package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
  450. package/esm2020/components/modal/lib/modal.module.mjs +33 -15
  451. package/esm2020/components/modal/lib/modal.service.mjs +47 -40
  452. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  453. package/esm2020/components/modal/lib/models/index.mjs +4 -1
  454. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  455. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  456. package/esm2020/components/modal/lib/models/modal-ref.mjs +25 -10
  457. package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
  458. package/esm2020/components/modal/lib/models/modal-variant.mjs +5 -0
  459. package/esm2020/components/progress/index.mjs +2 -0
  460. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  461. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  462. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  463. package/esm2020/components/radio-group/lib/radio-group.component.mjs +9 -9
  464. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  465. package/esm2020/components/rail-navigation/index.mjs +4 -0
  466. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +38 -0
  467. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +47 -0
  468. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +19 -0
  469. package/esm2020/components/rail-navigation/odx-angular-components-rail-navigation.mjs +5 -0
  470. package/esm2020/components/select/index.mjs +8 -0
  471. package/esm2020/components/select/lib/abstract/index.mjs +3 -0
  472. package/esm2020/components/select/lib/abstract/select-control-option.mjs +2 -0
  473. package/esm2020/components/select/lib/abstract/select-control.mjs +2 -0
  474. package/esm2020/components/select/lib/components/index.mjs +2 -0
  475. package/esm2020/components/select/lib/components/option/option.component.mjs +96 -0
  476. package/esm2020/components/select/lib/directives/index.mjs +2 -0
  477. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +47 -0
  478. package/esm2020/components/select/lib/pipes/index.mjs +2 -0
  479. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +51 -0
  480. package/esm2020/components/select/lib/select.component.mjs +223 -0
  481. package/esm2020/components/select/lib/select.module.mjs +21 -0
  482. package/esm2020/components/select/lib/select.tokens.mjs +3 -0
  483. package/esm2020/components/select/odx-angular-components-select.mjs +5 -0
  484. package/esm2020/components/slider/index.mjs +2 -0
  485. package/esm2020/components/slider/lib/slider.directive.mjs +42 -0
  486. package/esm2020/components/slider/odx-angular-components-slider.mjs +5 -0
  487. package/esm2020/components/spinbox/index.mjs +2 -0
  488. package/esm2020/components/spinbox/lib/spinbox.component.mjs +91 -0
  489. package/esm2020/components/spinbox/odx-angular-components-spinbox.mjs +5 -0
  490. package/esm2020/components/switch/index.mjs +3 -1
  491. package/esm2020/components/switch/lib/switch.component.mjs +8 -7
  492. package/esm2020/components/switch/lib/switch.module.mjs +19 -0
  493. package/esm2020/components/switch/lib/switch.validator.mjs +28 -0
  494. package/esm2020/components/tab-bar/index.mjs +5 -0
  495. package/esm2020/components/tab-bar/lib/components/index.mjs +2 -0
  496. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +79 -0
  497. package/esm2020/components/tab-bar/lib/models/index.mjs +2 -0
  498. package/esm2020/components/tab-bar/lib/models/tab-change-event.mjs +2 -0
  499. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +115 -0
  500. package/esm2020/components/tab-bar/lib/tab-bar.config.mjs +3 -0
  501. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +19 -0
  502. package/esm2020/components/tab-bar/odx-angular-components-tab-bar.mjs +5 -0
  503. package/esm2020/components/toast/index.mjs +6 -0
  504. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  505. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  506. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +75 -0
  507. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  508. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  509. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  510. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  511. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  512. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  513. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  514. package/esm2020/components/toast/lib/toast.module.mjs +18 -0
  515. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  516. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  517. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +14 -12
  518. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +41 -13
  519. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  520. package/esm2020/components/tooltip/index.mjs +4 -0
  521. package/esm2020/components/tooltip/lib/helpers/index.mjs +2 -0
  522. package/esm2020/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +9 -0
  523. package/esm2020/components/tooltip/lib/models/index.mjs +4 -0
  524. package/esm2020/components/tooltip/lib/models/tooltip-options.mjs +10 -0
  525. package/esm2020/components/tooltip/lib/models/tooltip-size.mjs +7 -0
  526. package/esm2020/components/tooltip/lib/models/tooltip-trigger.mjs +2 -0
  527. package/esm2020/components/tooltip/lib/tooltip.component.mjs +39 -0
  528. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +132 -0
  529. package/esm2020/components/tooltip/odx-angular-components-tooltip.mjs +5 -0
  530. package/esm2020/index.mjs +2 -1
  531. package/esm2020/internal/decorators/css-component.mjs +3 -8
  532. package/esm2020/internal/decorators/css-modifier.mjs +21 -18
  533. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  534. package/esm2020/internal/helpers/index.mjs +2 -1
  535. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
  536. package/esm2020/lib/controllers/controller.mjs +16 -14
  537. package/esm2020/lib/controllers/disabled.controller.mjs +29 -43
  538. package/esm2020/lib/controllers/readonly.controller.mjs +33 -23
  539. package/esm2020/lib/core.module.mjs +7 -6
  540. package/esm2020/lib/directives/click-outside.directive.mjs +17 -13
  541. package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
  542. package/esm2020/lib/directives/index.mjs +4 -1
  543. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  544. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  545. package/esm2020/lib/services/window-ref.mjs +18 -7
  546. package/esm2020/lib/tokens/identity-matcher.mjs +7 -0
  547. package/esm2020/lib/tokens/index.mjs +4 -0
  548. package/esm2020/lib/tokens/string-search-handler.mjs +9 -0
  549. package/esm2020/lib/tokens/stringify.mjs +8 -0
  550. package/esm2020/rxjs/index.mjs +4 -2
  551. package/esm2020/rxjs/lib/delay-until.mjs +5 -0
  552. package/esm2020/rxjs/lib/form-query-list.mjs +5 -0
  553. package/esm2020/rxjs/lib/from-element-resize.mjs +14 -0
  554. package/esm2020/utils/lib/decorators/index.mjs +2 -1
  555. package/esm2020/utils/lib/decorators/pure.mjs +37 -0
  556. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  557. package/esm2020/utils/lib/helpers/angular.mjs +5 -2
  558. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  559. package/esm2020/utils/lib/helpers/defer-fn.mjs +4 -0
  560. package/esm2020/utils/lib/helpers/dom.mjs +32 -2
  561. package/esm2020/utils/lib/helpers/event-manager.mjs +30 -0
  562. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  563. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  564. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  565. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  566. package/esm2020/utils/lib/helpers/index.mjs +10 -2
  567. package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
  568. package/esm2020/utils/lib/helpers/queue.mjs +49 -0
  569. package/esm2020/utils/lib/types/axis.mjs +5 -0
  570. package/esm2020/utils/lib/types/index.mjs +4 -1
  571. package/esm2020/utils/lib/types/position.mjs +15 -0
  572. package/esm2020/utils/lib/types/side.mjs +7 -0
  573. package/fesm2015/odx-angular-animations.mjs +10 -6
  574. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  575. package/fesm2015/odx-angular-cdk-a11y.mjs +131 -0
  576. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  577. package/fesm2015/odx-angular-cdk-active-indicator.mjs +145 -0
  578. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -0
  579. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +21 -19
  580. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  581. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +222 -0
  582. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  583. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +39 -63
  584. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  585. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +109 -42
  586. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  587. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  588. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  589. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +27 -24
  590. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  591. package/fesm2015/odx-angular-components-accordion.mjs +20 -18
  592. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  593. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  594. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  595. package/fesm2015/odx-angular-components-area-header.mjs +15 -14
  596. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  597. package/fesm2015/odx-angular-components-avatar.mjs +18 -7
  598. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  599. package/fesm2015/odx-angular-components-badge.mjs +63 -97
  600. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  601. package/fesm2015/odx-angular-components-bar.mjs +95 -0
  602. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  603. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  604. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  605. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  606. package/fesm2015/odx-angular-components-button.mjs +35 -20
  607. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  608. package/fesm2015/odx-angular-components-checkbox.mjs +49 -8
  609. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  610. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  611. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  612. package/fesm2015/odx-angular-components-circular-progress.mjs +110 -0
  613. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  614. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  615. package/fesm2015/odx-angular-components-dropdown.mjs +223 -0
  616. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -0
  617. package/fesm2015/odx-angular-components-form-field.mjs +95 -77
  618. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  619. package/fesm2015/odx-angular-components-header.mjs +25 -23
  620. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  621. package/fesm2015/odx-angular-components-icon.mjs +4 -3
  622. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  623. package/fesm2015/odx-angular-components-inline-message.mjs +54 -0
  624. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -0
  625. package/fesm2015/odx-angular-components-launch-tile.mjs +100 -0
  626. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -0
  627. package/fesm2015/odx-angular-components-link.mjs +6 -14
  628. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  629. package/fesm2015/odx-angular-components-list.mjs +126 -0
  630. package/fesm2015/odx-angular-components-list.mjs.map +1 -0
  631. package/fesm2015/odx-angular-components-loading-spinner.mjs +171 -0
  632. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  633. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  634. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  635. package/fesm2015/odx-angular-components-main-menu.mjs +64 -53
  636. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  637. package/fesm2015/odx-angular-components-mainfilter-group.mjs +27 -0
  638. package/fesm2015/odx-angular-components-mainfilter-group.mjs.map +1 -0
  639. package/fesm2015/odx-angular-components-menu.mjs +144 -0
  640. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  641. package/fesm2015/odx-angular-components-modal.mjs +265 -155
  642. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  643. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  644. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  645. package/fesm2015/odx-angular-components-radio-group.mjs +18 -19
  646. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  647. package/fesm2015/odx-angular-components-rail-navigation.mjs +97 -0
  648. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -0
  649. package/fesm2015/odx-angular-components-select.mjs +420 -0
  650. package/fesm2015/odx-angular-components-select.mjs.map +1 -0
  651. package/fesm2015/odx-angular-components-slider.mjs +48 -0
  652. package/fesm2015/odx-angular-components-slider.mjs.map +1 -0
  653. package/fesm2015/odx-angular-components-spinbox.mjs +100 -0
  654. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -0
  655. package/fesm2015/odx-angular-components-switch.mjs +49 -8
  656. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  657. package/fesm2015/odx-angular-components-tab-bar.mjs +209 -0
  658. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -0
  659. package/fesm2015/odx-angular-components-toast.mjs +216 -0
  660. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  661. package/fesm2015/odx-angular-components-toggle-button-group.mjs +58 -26
  662. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  663. package/fesm2015/odx-angular-components-tooltip.mjs +187 -0
  664. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -0
  665. package/fesm2015/odx-angular-internal.mjs +63 -54
  666. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  667. package/fesm2015/odx-angular-rxjs.mjs +23 -6
  668. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  669. package/fesm2015/odx-angular-utils.mjs +242 -15
  670. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  671. package/fesm2015/odx-angular.mjs +231 -98
  672. package/fesm2015/odx-angular.mjs.map +1 -1
  673. package/fesm2020/odx-angular-animations.mjs +10 -9
  674. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  675. package/fesm2020/odx-angular-cdk-a11y.mjs +127 -0
  676. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  677. package/fesm2020/odx-angular-cdk-active-indicator.mjs +143 -0
  678. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -0
  679. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +21 -19
  680. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  681. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +218 -0
  682. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  683. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +37 -61
  684. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  685. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +102 -37
  686. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  687. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  688. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  689. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +27 -24
  690. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  691. package/fesm2020/odx-angular-components-accordion.mjs +20 -18
  692. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  693. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  694. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  695. package/fesm2020/odx-angular-components-area-header.mjs +15 -14
  696. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  697. package/fesm2020/odx-angular-components-avatar.mjs +18 -7
  698. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  699. package/fesm2020/odx-angular-components-badge.mjs +60 -90
  700. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  701. package/fesm2020/odx-angular-components-bar.mjs +95 -0
  702. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  703. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  704. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  705. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  706. package/fesm2020/odx-angular-components-button.mjs +35 -19
  707. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  708. package/fesm2020/odx-angular-components-checkbox.mjs +49 -8
  709. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  710. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  711. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  712. package/fesm2020/odx-angular-components-circular-progress.mjs +110 -0
  713. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  714. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  715. package/fesm2020/odx-angular-components-dropdown.mjs +226 -0
  716. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -0
  717. package/fesm2020/odx-angular-components-form-field.mjs +94 -77
  718. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  719. package/fesm2020/odx-angular-components-header.mjs +25 -23
  720. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  721. package/fesm2020/odx-angular-components-icon.mjs +4 -3
  722. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  723. package/fesm2020/odx-angular-components-inline-message.mjs +54 -0
  724. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -0
  725. package/fesm2020/odx-angular-components-launch-tile.mjs +99 -0
  726. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -0
  727. package/fesm2020/odx-angular-components-link.mjs +6 -13
  728. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  729. package/fesm2020/odx-angular-components-list.mjs +125 -0
  730. package/fesm2020/odx-angular-components-list.mjs.map +1 -0
  731. package/fesm2020/odx-angular-components-loading-spinner.mjs +169 -0
  732. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  733. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  734. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  735. package/fesm2020/odx-angular-components-main-menu.mjs +63 -52
  736. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  737. package/fesm2020/odx-angular-components-mainfilter-group.mjs +27 -0
  738. package/fesm2020/odx-angular-components-mainfilter-group.mjs.map +1 -0
  739. package/fesm2020/odx-angular-components-menu.mjs +146 -0
  740. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  741. package/fesm2020/odx-angular-components-modal.mjs +268 -152
  742. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  743. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  744. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  745. package/fesm2020/odx-angular-components-radio-group.mjs +18 -19
  746. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  747. package/fesm2020/odx-angular-components-rail-navigation.mjs +97 -0
  748. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -0
  749. package/fesm2020/odx-angular-components-select.mjs +413 -0
  750. package/fesm2020/odx-angular-components-select.mjs.map +1 -0
  751. package/fesm2020/odx-angular-components-slider.mjs +48 -0
  752. package/fesm2020/odx-angular-components-slider.mjs.map +1 -0
  753. package/fesm2020/odx-angular-components-spinbox.mjs +97 -0
  754. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -0
  755. package/fesm2020/odx-angular-components-switch.mjs +49 -8
  756. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  757. package/fesm2020/odx-angular-components-tab-bar.mjs +203 -0
  758. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -0
  759. package/fesm2020/odx-angular-components-toast.mjs +215 -0
  760. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  761. package/fesm2020/odx-angular-components-toggle-button-group.mjs +55 -26
  762. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  763. package/fesm2020/odx-angular-components-tooltip.mjs +192 -0
  764. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -0
  765. package/fesm2020/odx-angular-internal.mjs +61 -52
  766. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  767. package/fesm2020/odx-angular-rxjs.mjs +23 -6
  768. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  769. package/fesm2020/odx-angular-utils.mjs +236 -15
  770. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  771. package/fesm2020/odx-angular.mjs +225 -95
  772. package/fesm2020/odx-angular.mjs.map +1 -1
  773. package/index.d.ts +1 -0
  774. package/internal/decorators/css-component.d.ts +1 -2
  775. package/internal/decorators/css-modifier.d.ts +0 -1
  776. package/internal/helpers/decorator-property-name.d.ts +1 -0
  777. package/internal/helpers/index.d.ts +1 -0
  778. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  779. package/lib/controllers/controller.d.ts +2 -3
  780. package/lib/controllers/disabled.controller.d.ts +5 -7
  781. package/lib/controllers/readonly.controller.d.ts +5 -2
  782. package/lib/core.module.d.ts +2 -1
  783. package/lib/directives/click-outside.directive.d.ts +3 -4
  784. package/lib/directives/delegate-focus.directive.d.ts +11 -0
  785. package/lib/directives/index.d.ts +3 -0
  786. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  787. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  788. package/lib/services/window-ref.d.ts +5 -0
  789. package/lib/tokens/identity-matcher.d.ts +3 -0
  790. package/lib/tokens/index.d.ts +3 -0
  791. package/lib/tokens/string-search-handler.d.ts +3 -0
  792. package/lib/tokens/stringify.d.ts +3 -0
  793. package/package.json +189 -12
  794. package/rxjs/index.d.ts +3 -1
  795. package/rxjs/lib/delay-until.d.ts +2 -0
  796. package/rxjs/lib/form-query-list.d.ts +3 -0
  797. package/rxjs/lib/from-element-resize.d.ts +2 -0
  798. package/utils/lib/decorators/index.d.ts +1 -0
  799. package/utils/lib/decorators/pure.d.ts +1 -0
  800. package/utils/lib/decorators/transform.d.ts +2 -2
  801. package/utils/lib/helpers/angular.d.ts +2 -1
  802. package/utils/lib/helpers/build-url.d.ts +1 -0
  803. package/utils/lib/helpers/defer-fn.d.ts +1 -0
  804. package/utils/lib/helpers/dom.d.ts +6 -1
  805. package/utils/lib/helpers/event-manager.d.ts +12 -0
  806. package/utils/lib/helpers/get-axis.d.ts +2 -0
  807. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  808. package/utils/lib/helpers/get-side.d.ts +2 -0
  809. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  810. package/utils/lib/helpers/index.d.ts +9 -1
  811. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  812. package/utils/lib/helpers/provide-config.d.ts +12 -0
  813. package/utils/lib/helpers/queue.d.ts +22 -0
  814. package/utils/lib/types/axis.d.ts +5 -0
  815. package/utils/lib/types/get-properties.d.ts +2 -2
  816. package/utils/lib/types/index.d.ts +3 -0
  817. package/utils/lib/types/position.d.ts +15 -0
  818. package/utils/lib/types/side.d.ts +7 -0
  819. package/components/badge/lib/badge.config.d.ts +0 -3
  820. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  821. package/components/badge/lib/facade/index.d.ts +0 -1
  822. package/components/badge/lib/models/badge-position.d.ts +0 -5
  823. package/components/modal/lib/services/index.d.ts +0 -1
  824. package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
  825. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  826. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  827. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  828. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  829. package/esm2020/components/modal/lib/services/index.mjs +0 -2
  830. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
  831. package/esm2020/rxjs/lib/mark-for-check.mjs +0 -5
  832. package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
  833. package/rxjs/lib/mark-for-check.d.ts +0 -3
  834. package/utils/lib/helpers/provide-module-config.d.ts +0 -12
@@ -1,12 +1,51 @@
1
- import { ɵwithMultipleDescriptors } from '@odx/angular/internal';
2
- import { TemplateRef, inject, ChangeDetectorRef, ElementRef, InjectionToken } from '@angular/core';
3
- import { Subject, takeUntil, tap } from 'rxjs';
1
+ import { decoratorPropertyName, ɵwithMultipleDescriptors } from '@odx/angular/internal';
2
+ import * as i0 from '@angular/core';
3
+ import { TemplateRef, inject, ChangeDetectorRef, Injector, ElementRef, Renderer2, Injectable, InjectionToken } from '@angular/core';
4
+ import { Subject, takeUntil, tap, BehaviorSubject } from 'rxjs';
4
5
  import { deepmerge } from 'deepmerge-ts';
6
+ import { map, shareReplay } from 'rxjs/operators';
7
+
8
+ function Pure(_target, propertyKey, { get, enumerable, value }) {
9
+ if (get) {
10
+ return {
11
+ enumerable,
12
+ get() {
13
+ const value = get.call(this);
14
+ Object.defineProperty(this, propertyKey, { enumerable, value });
15
+ return value;
16
+ },
17
+ };
18
+ }
19
+ if (typeof value !== 'function') {
20
+ throw new Error('@Pure decorator can only be applied to functions or getters!');
21
+ }
22
+ const originalValue = value;
23
+ return {
24
+ enumerable,
25
+ get() {
26
+ let previousArgs = [];
27
+ let wasCalled = false;
28
+ let pureValue;
29
+ const patched = (...args) => {
30
+ const isPure = wasCalled && previousArgs.length === args.length && args.every((arg, index) => arg === previousArgs[index]);
31
+ if (isPure) {
32
+ return pureValue;
33
+ }
34
+ previousArgs = args;
35
+ pureValue = originalValue.apply(this, args);
36
+ wasCalled = true;
37
+ return pureValue;
38
+ };
39
+ Object.defineProperty(this, propertyKey, { value: patched });
40
+ return patched;
41
+ },
42
+ };
43
+ }
5
44
 
6
45
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
46
  function Transform(transformer) {
8
47
  return (target, propertyKey) => {
9
- const propertySymbol = Symbol(`__${propertyKey.toString()}ClassTmpl__`);
48
+ const propertySymbol = decoratorPropertyName('Transform', propertyKey.toString());
10
49
  const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);
11
50
  function setter(value) {
12
51
  this[propertySymbol] = transformer.apply(this, [value]);
@@ -55,7 +94,22 @@ function booleanToOptionalAttributeString(state) {
55
94
  return state ? 'true' : null;
56
95
  }
57
96
  function px(value) {
58
- return isNumber(value) ? `${Math.round(value)}px` : '0px';
97
+ return isNumber(value) ? `${value}px` : '0px';
98
+ }
99
+ function cssTranslate(x, y) {
100
+ return `translate3d(${x}, ${y}, 0)`;
101
+ }
102
+ function disableCSSTransitions(element, disabled) {
103
+ if (disabled) {
104
+ applyStyles(element, { transition: 'none' });
105
+ }
106
+ else {
107
+ forceLayoutReflow(element);
108
+ applyStyles(element, { transition: null });
109
+ }
110
+ }
111
+ function forceLayoutReflow(element) {
112
+ element.offsetHeight;
59
113
  }
60
114
  function setAttribute(element, attribute, value) {
61
115
  if (isString(value)) {
@@ -65,6 +119,21 @@ function setAttribute(element, attribute, value) {
65
119
  element.toggleAttribute(attribute, !!value);
66
120
  }
67
121
  }
122
+ function createResizeObserver(callback) {
123
+ try {
124
+ return new ResizeObserver(callback);
125
+ }
126
+ catch (_a) {
127
+ return { observe: () => void 0, disconnect: () => void 0, unobserve: () => void 0 };
128
+ }
129
+ }
130
+ function containsElement(parent, other, inclusive = true) {
131
+ if (!parent || !other)
132
+ return false;
133
+ if (!inclusive && parent === other)
134
+ return false;
135
+ return parent.contains(other);
136
+ }
68
137
 
69
138
  function untilDestroyed() {
70
139
  const destroyed$$ = new Subject();
@@ -99,6 +168,9 @@ function reactiveAttributeBinding(source$, ...attributes) {
99
168
  .subscribe();
100
169
  }
101
170
  }
171
+ function getInjector() {
172
+ return inject(Injector);
173
+ }
102
174
  function injectElement() {
103
175
  return inject(ElementRef);
104
176
  }
@@ -107,6 +179,106 @@ function pluckFromArray(arr, key) {
107
179
  return arr.map((value) => value[key]);
108
180
  }
109
181
 
182
+ function buildUrl(...args) {
183
+ return args.join('/').replace(/(^.*)(https?:\/\/)|(\/)+/g, '$2$3');
184
+ }
185
+
186
+ function deferFn(fn) {
187
+ setTimeout(fn, 0);
188
+ }
189
+
190
+ class EventManager {
191
+ constructor() {
192
+ this.element = injectElement();
193
+ this.renderer = inject(Renderer2);
194
+ this.listeners = [];
195
+ }
196
+ destroyListeners() {
197
+ var _a;
198
+ while (this.listeners.length)
199
+ (_a = this.listeners.pop()) === null || _a === void 0 ? void 0 : _a();
200
+ }
201
+ register(eventNames, callback, target) {
202
+ for (const eventName of eventNames) {
203
+ if (eventName) {
204
+ this.listeners.push(this.renderer.listen(target !== null && target !== void 0 ? target : this.element.nativeElement, eventName, (event) => callback(event)));
205
+ }
206
+ }
207
+ }
208
+ ngOnDestroy() {
209
+ this.destroyListeners();
210
+ }
211
+ }
212
+ EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
213
+ EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventManager });
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: EventManager, decorators: [{
215
+ type: Injectable
216
+ }] });
217
+
218
+ const Axis = {
219
+ X: 'x',
220
+ Y: 'y',
221
+ };
222
+
223
+ const Position = {
224
+ TOP: 'top',
225
+ TOP_START: 'top-start',
226
+ TOP_END: 'top-end',
227
+ RIGHT: 'right',
228
+ RIGHT_START: 'right-start',
229
+ RIGHT_END: 'right-end',
230
+ BOTTOM: 'bottom',
231
+ BOTTOM_START: 'bottom-start',
232
+ BOTTOM_END: 'bottom-end',
233
+ LEFT: 'left',
234
+ LEFT_START: 'left-start',
235
+ LEFT_END: 'left-end',
236
+ };
237
+
238
+ const Side = {
239
+ TOP: 'top',
240
+ RIGHT: 'right',
241
+ BOTTOM: 'bottom',
242
+ LEFT: 'left',
243
+ };
244
+
245
+ function getSide(position) {
246
+ return position.split('-')[0];
247
+ }
248
+
249
+ function getAxis(position) {
250
+ const side = getSide(position);
251
+ switch (side) {
252
+ case Side.TOP:
253
+ case Side.BOTTOM:
254
+ return Axis.Y;
255
+ case Side.LEFT:
256
+ case Side.RIGHT:
257
+ return Axis.X;
258
+ }
259
+ }
260
+
261
+ function getOppositeSide(position) {
262
+ switch (getSide(position)) {
263
+ case Side.TOP:
264
+ return Side.BOTTOM;
265
+ case Side.RIGHT:
266
+ return Side.LEFT;
267
+ case Side.BOTTOM:
268
+ return Side.TOP;
269
+ case Side.LEFT:
270
+ return Side.RIGHT;
271
+ }
272
+ }
273
+
274
+ const uniqueIdCache = {};
275
+ function getUniqueId(key = '') {
276
+ var _a;
277
+ const n = ((_a = uniqueIdCache[key]) !== null && _a !== void 0 ? _a : 0) + 1;
278
+ uniqueIdCache[key] = n;
279
+ return `${key}-${n}`;
280
+ }
281
+
110
282
  function hasChanged(changes, keyOrKeys, ignoreFirstChange = true) {
111
283
  if (Array.isArray(keyOrKeys)) {
112
284
  for (const key of keyOrKeys) {
@@ -121,28 +293,83 @@ function hasChanged(changes, keyOrKeys, ignoreFirstChange = true) {
121
293
  }
122
294
  }
123
295
 
124
- function provideModuleConfig(token, config) {
296
+ function provideConfig(token, config) {
125
297
  if ('useFactory' in config) {
126
298
  return { provide: token, useFactory: config.useFactory, deps: config.deps };
127
299
  }
128
300
  return { provide: token, useValue: config };
129
301
  }
130
- function createModuleConfigTokens(name, prefix, defaultValue) {
131
- const moduleConfig = `${name}ModuleConfig`;
132
- const defaultModuleConfig = `${name}DefaultModuleConfig`;
133
- const injectModuleConfig = `inject${name}ModuleConfig`;
134
- const tokenName = `${prefix}::${moduleConfig}`;
302
+ function createConfigTokens(name, prefix, defaultValue) {
303
+ const configName = `${name}Config`;
304
+ const defaultConfigName = `${name}DefaultConfig`;
305
+ const injectConfigName = `inject${name}Config`;
306
+ const provideConfigName = `provide${name}Config`;
307
+ const tokenName = `${prefix}::${configName}`;
135
308
  const token = new InjectionToken(tokenName, { providedIn: 'root', factory: () => defaultValue });
136
309
  return {
137
- [moduleConfig]: token,
138
- [defaultModuleConfig]: defaultValue,
139
- [injectModuleConfig]: () => deepmerge(defaultValue, inject(token)),
310
+ [configName]: token,
311
+ [defaultConfigName]: defaultValue,
312
+ [injectConfigName]: () => deepmerge(defaultValue, inject(token)),
313
+ [provideConfigName]: (config) => {
314
+ return provideConfig(token, config);
315
+ },
140
316
  };
141
317
  }
142
318
 
319
+ class Queue {
320
+ constructor() {
321
+ this.queue = new Map();
322
+ this.update$$ = new BehaviorSubject(undefined);
323
+ this.values = [];
324
+ this.firstItem = null;
325
+ this.lastItem = null;
326
+ this.value$ = this.update$$.pipe(map(() => this.values), shareReplay({ bufferSize: 1, refCount: true }));
327
+ }
328
+ get size() {
329
+ return this.queue.size;
330
+ }
331
+ isFirst({ id }) {
332
+ var _a;
333
+ return ((_a = this.firstItem) === null || _a === void 0 ? void 0 : _a.id) === id;
334
+ }
335
+ isLast({ id }) {
336
+ var _a;
337
+ return ((_a = this.lastItem) === null || _a === void 0 ? void 0 : _a.id) === id;
338
+ }
339
+ get(id) {
340
+ var _a;
341
+ return (_a = this.queue.get(id.toString())) !== null && _a !== void 0 ? _a : null;
342
+ }
343
+ add(item) {
344
+ this.remove(item);
345
+ this.queue.set(item.id.toString(), item);
346
+ this.notify();
347
+ return item;
348
+ }
349
+ remove(item) {
350
+ this.queue.delete(item.id.toString());
351
+ this.notify();
352
+ return item;
353
+ }
354
+ clear() {
355
+ this.queue.clear();
356
+ this.notify();
357
+ }
358
+ toArray() {
359
+ return this.values;
360
+ }
361
+ notify() {
362
+ var _a, _b;
363
+ this.values = Array.from(this.queue, ([_, item]) => item).reverse();
364
+ this.firstItem = (_a = this.values[0]) !== null && _a !== void 0 ? _a : null;
365
+ this.lastItem = (_b = this.values[this.values.length - 1]) !== null && _b !== void 0 ? _b : null;
366
+ this.update$$.next(undefined);
367
+ }
368
+ }
369
+
143
370
  /**
144
371
  * Generated bundle index. Do not edit.
145
372
  */
146
373
 
147
- export { Transform, applyStyles, booleanToAttributeString, booleanToOptionalAttributeString, createModuleConfigTokens, hasChanged, injectElement, isBoolean, isComponent, isFunction, isNonEmptyString, isNumber, isPresent, isString, isTemplateRef, isViewContainer, pluckFromArray, provideModuleConfig, px, reactiveAttributeBinding, reactiveClassBinding, setAttribute, untilDestroyed };
374
+ export { Axis, EventManager, Position, Pure, Queue, Side, Transform, applyStyles, booleanToAttributeString, booleanToOptionalAttributeString, buildUrl, containsElement, createConfigTokens, createResizeObserver, cssTranslate, deferFn, disableCSSTransitions, forceLayoutReflow, getAxis, getInjector, getOppositeSide, getSide, getUniqueId, hasChanged, injectElement, isBoolean, isComponent, isFunction, isNonEmptyString, isNumber, isPresent, isString, isTemplateRef, isViewContainer, pluckFromArray, provideConfig, px, reactiveAttributeBinding, reactiveClassBinding, setAttribute, untilDestroyed };
148
375
  //# sourceMappingURL=odx-angular-utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-utils.mjs","sources":["../../../../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/ng-changes.ts","../../../../libs/angular/utils/src/lib/helpers/provide-module-config.ts","../../../../libs/angular/utils/src/odx-angular-utils.ts"],"sourcesContent":["/* 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): string {\n return isNumber(value) ? `${Math.round(value)}px` : '0px';\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","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 } 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 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","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, 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-utils.mjs","sources":["../../../../libs/angular/utils/src/lib/decorators/pure.ts","../../../../libs/angular/utils/src/lib/decorators/transform.ts","../../../../libs/angular/utils/src/lib/helpers/type-guards.ts","../../../../libs/angular/utils/src/lib/helpers/dom.ts","../../../../libs/angular/utils/src/lib/helpers/until-destroyed.ts","../../../../libs/angular/utils/src/lib/helpers/angular.ts","../../../../libs/angular/utils/src/lib/helpers/array.ts","../../../../libs/angular/utils/src/lib/helpers/build-url.ts","../../../../libs/angular/utils/src/lib/helpers/defer-fn.ts","../../../../libs/angular/utils/src/lib/helpers/event-manager.ts","../../../../libs/angular/utils/src/lib/types/axis.ts","../../../../libs/angular/utils/src/lib/types/position.ts","../../../../libs/angular/utils/src/lib/types/side.ts","../../../../libs/angular/utils/src/lib/helpers/get-side.ts","../../../../libs/angular/utils/src/lib/helpers/get-axis.ts","../../../../libs/angular/utils/src/lib/helpers/get-opposite-side.ts","../../../../libs/angular/utils/src/lib/helpers/get-unique-id.ts","../../../../libs/angular/utils/src/lib/helpers/ng-changes.ts","../../../../libs/angular/utils/src/lib/helpers/provide-config.ts","../../../../libs/angular/utils/src/lib/helpers/queue.ts","../../../../libs/angular/utils/src/odx-angular-utils.ts"],"sourcesContent":["export function Pure<T>(_target: object, propertyKey: string, { get, enumerable, value }: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, { enumerable, value });\n\n return value;\n },\n };\n }\n\n if (typeof value !== 'function') {\n throw new Error('@Pure decorator can only be applied to functions or getters!');\n }\n\n const originalValue = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let wasCalled = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure = wasCalled && previousArgs.length === args.length && args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = originalValue.apply(this, args);\n wasCalled = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, { value: patched });\n\n return patched as unknown as T;\n },\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { decoratorPropertyName, ɵwithMultipleDescriptors } from '@odx/angular/internal';\n\ntype TransformFn<Klass = any, R = any> = (this: Klass, value: R) => R;\n\nexport function Transform(transformer: TransformFn): PropertyDecorator {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = decoratorPropertyName('Transform', propertyKey.toString());\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function setter(this: any, value: any) {\n this[propertySymbol] = transformer.apply(this, [value]);\n }\n\n descriptors.addSetter(setter);\n descriptors.init();\n };\n}\n","import { TemplateRef, Type, ViewContainerRef } from '@angular/core';\n\nexport function isViewContainer(value: unknown): value is ViewContainerRef {\n return isFunction((value as ViewContainerRef)?.createComponent);\n}\n\nexport function isTemplateRef<T = unknown>(value: unknown): value is TemplateRef<T> {\n return value instanceof TemplateRef;\n}\n\nexport function isComponent<T = unknown>(value: unknown): value is Type<T> {\n return isFunction(value);\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNonEmptyString(value: unknown): value is string {\n return isString(value) && value.length > 0;\n}\n\nexport function isBoolean(value: unknown): value is boolean {\n return value === true || value === false;\n}\n\nexport function isFunction(value: unknown): value is CallableFunction {\n return typeof value === 'function';\n}\n\nexport function isPresent<T>(value: T | null | undefined): value is NonNullable<T> {\n return value !== null && value !== undefined;\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import { isNumber, isString } from './type-guards';\n\nexport function applyStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration | Record<keyof CSSStyleDeclaration, string | null>>): void {\n Object.assign(element.style, styles);\n}\n\nexport function booleanToAttributeString(state: boolean): string {\n return booleanToOptionalAttributeString(state) ?? 'false';\n}\n\nexport function booleanToOptionalAttributeString(state: boolean): string | null {\n return state ? 'true' : null;\n}\n\nexport function px(value: unknown): `${number}px` {\n return isNumber(value) ? `${value}px` : '0px';\n}\n\nexport function cssTranslate(x: string | 0, y: string | 0): `translate3d(${string | 0}, ${string | 0}, 0)` {\n return `translate3d(${x}, ${y}, 0)`;\n}\n\nexport function disableCSSTransitions(element: HTMLElement, disabled: boolean): void {\n if (disabled) {\n applyStyles(element, { transition: 'none' });\n } else {\n forceLayoutReflow(element);\n applyStyles(element, { transition: null });\n }\n}\n\nexport function forceLayoutReflow(element: HTMLElement): void {\n element.offsetHeight;\n}\n\nexport function setAttribute(element: HTMLElement, attribute: string, value?: unknown) {\n if (isString(value)) {\n element.setAttribute(attribute, value);\n } else {\n element.toggleAttribute(attribute, !!value);\n }\n}\n\nexport function createResizeObserver(callback: ResizeObserverCallback): ResizeObserver {\n try {\n return new ResizeObserver(callback);\n } catch {\n return { observe: () => void 0, disconnect: () => void 0, unobserve: () => void 0 };\n }\n}\n\nexport function containsElement(parent?: Element | null, other?: Element | null, inclusive = true): boolean {\n if (!parent || !other) return false;\n if (!inclusive && parent === other) return false;\n return parent.contains(other);\n}\n","import { ChangeDetectorRef, inject, ViewRef } from '@angular/core';\nimport { MonoTypeOperatorFunction, Subject, takeUntil } from 'rxjs';\n\nexport function untilDestroyed(): <T>() => MonoTypeOperatorFunction<T> {\n const destroyed$$ = new Subject<void>();\n const viewRef = inject(ChangeDetectorRef) as ViewRef;\n\n function onDestroy() {\n destroyed$$.next();\n destroyed$$.complete();\n }\n\n Promise.resolve().then(() => (viewRef.destroyed ? onDestroy() : viewRef.onDestroy(onDestroy)));\n\n return <T>() => takeUntil<T>(destroyed$$.asObservable());\n}\n","import { ElementRef, inject, Injector } from '@angular/core';\nimport { MonoTypeOperatorFunction, Observable, tap } from 'rxjs';\nimport { setAttribute } from './dom';\nimport { untilDestroyed } from './until-destroyed';\n\nfunction reactiveBinding<T>(updateFn: (state: unknown) => void): MonoTypeOperatorFunction<T> {\n const takeUntilDestroyed = untilDestroyed();\n\n return (source$: Observable<T>) =>\n source$.pipe(\n tap((state) => updateFn(state)),\n takeUntilDestroyed()\n );\n}\n\nexport function reactiveClassBinding<T>(source$: Observable<T> | null | undefined, cssClass: string): void {\n const { nativeElement } = injectElement();\n\n if (source$) {\n source$.pipe(reactiveBinding((state) => nativeElement.classList.toggle(cssClass, !!state))).subscribe();\n }\n}\n\nexport function reactiveAttributeBinding<T>(source$: Observable<T> | null | undefined, ...attributes: string[]): void {\n const { nativeElement } = injectElement();\n\n if (source$) {\n source$\n .pipe(\n reactiveBinding((value) => {\n for (const attribute of attributes) {\n setAttribute(nativeElement, attribute, value);\n }\n })\n )\n .subscribe();\n }\n}\n\nexport function getInjector(): Injector {\n return inject(Injector);\n}\n\nexport function injectElement<T = HTMLElement>(): ElementRef<T> {\n return inject<ElementRef<T>>(ElementRef);\n}\n","export function pluckFromArray<T, K extends keyof T>(arr: T[], key: K): Array<T[K]> {\n return arr.map((value) => value[key]);\n}\n","export function buildUrl(...args: Array<string | number | symbol | null | undefined>): string {\n return args.join('/').replace(/(^.*)(https?:\\/\\/)|(\\/)+/g, '$2$3');\n}\n","export function deferFn(fn: () => void): void {\n setTimeout(fn, 0);\n}\n","import { inject, Injectable, OnDestroy, Renderer2 } from '@angular/core';\nimport { injectElement } from './angular';\n\n@Injectable()\nexport class EventManager implements OnDestroy {\n private readonly element = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly listeners: Array<() => void> = [];\n\n public destroyListeners(): void {\n while (this.listeners.length) this.listeners.pop()?.();\n }\n\n public register<T extends Event = Event>(\n eventNames: Array<string | null>,\n callback: (event?: T) => void,\n target?: 'document' | 'window' | EventTarget | null\n ): void {\n for (const eventName of eventNames) {\n if (eventName) {\n this.listeners.push(this.renderer.listen(target ?? this.element.nativeElement, eventName, (event) => callback(event)));\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroyListeners();\n }\n}\n","export type Axis = (typeof Axis)[keyof typeof Axis];\n\nexport const Axis = {\n X: 'x',\n Y: 'y',\n} as const;\n","export type Position = (typeof Position)[keyof typeof Position];\n\nexport const Position = {\n TOP: 'top',\n TOP_START: 'top-start',\n TOP_END: 'top-end',\n\n RIGHT: 'right',\n RIGHT_START: 'right-start',\n RIGHT_END: 'right-end',\n\n BOTTOM: 'bottom',\n BOTTOM_START: 'bottom-start',\n BOTTOM_END: 'bottom-end',\n\n LEFT: 'left',\n LEFT_START: 'left-start',\n LEFT_END: 'left-end',\n} as const;\n","export type Side = (typeof Side)[keyof typeof Side];\n\nexport const Side = {\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n} as const;\n","import { Position, Side } from '../types';\n\nexport function getSide(position: Position): Side {\n return position.split('-')[0] as Side;\n}\n","import { Axis, Position, Side } from '../types';\nimport { getSide } from './get-side';\n\nexport function getAxis(position: Position): Axis {\n const side = getSide(position);\n\n switch (side) {\n case Side.TOP:\n case Side.BOTTOM:\n return Axis.Y;\n case Side.LEFT:\n case Side.RIGHT:\n return Axis.X;\n }\n}\n","import { Position, Side } from '../types';\nimport { getSide } from './get-side';\n\nexport function getOppositeSide(position: Position): Side {\n switch (getSide(position)) {\n case Side.TOP:\n return Side.BOTTOM;\n case Side.RIGHT:\n return Side.LEFT;\n case Side.BOTTOM:\n return Side.TOP;\n case Side.LEFT:\n return Side.RIGHT;\n }\n}\n","const uniqueIdCache: { [key: string]: number } = {};\n\nexport function getUniqueId(key: string = ''): string {\n const n = (uniqueIdCache[key] ?? 0) + 1;\n uniqueIdCache[key] = n;\n\n return `${key}-${n}`;\n}\n","import { GetProperties } from '../types';\n\nexport type NgChanges<C, Properties = GetProperties<C>> = {\n [Key in keyof Properties]: {\n previousValue: Properties[Key];\n currentValue: Properties[Key];\n firstChange: boolean;\n isFirstChange(): boolean;\n };\n};\n\nexport function hasChanged<U extends Record<string, unknown>, T extends NgChanges<U>, K extends keyof T>(\n changes: T,\n keyOrKeys: K | K[],\n ignoreFirstChange = true\n): boolean {\n if (Array.isArray(keyOrKeys)) {\n for (const key of keyOrKeys) {\n if (hasChanged(changes, key, ignoreFirstChange)) {\n return true;\n }\n }\n return false;\n } else {\n return keyOrKeys in changes && (!ignoreFirstChange || !changes[keyOrKeys].isFirstChange());\n }\n}\n","import { FactoryProvider, inject, InjectionToken, Type, ValueProvider } from '@angular/core';\nimport { deepmerge } from 'deepmerge-ts';\n\ninterface ConfigFactoryProvider<T, D extends ConfigDependencies> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useFactory: (...args: { [I in keyof D]: D[I] extends Type<unknown> ? InstanceType<D[I]> : D[I] extends InjectionToken<unknown> ? any : never }) => T;\n deps?: [...D];\n}\n\nexport type ConfigDependencies<T = unknown> = ReadonlyArray<Type<T> | InjectionToken<T>>;\nexport type ConfigProvider<T = unknown, D extends ConfigDependencies = []> = ConfigFactoryProvider<T, D> | T;\n\nexport function provideConfig<T extends object, D extends ConfigDependencies = ConfigDependencies>(\n token: InjectionToken<T> | string,\n config: ConfigProvider<T, D>\n): FactoryProvider | ValueProvider {\n if ('useFactory' in config) {\n return { provide: token, useFactory: config.useFactory, deps: config.deps };\n }\n return { provide: token, useValue: config };\n}\n\nexport function createConfigTokens<T, N extends string>(name: N, prefix: string, defaultValue: T) {\n type ConfigProviderFn = <D extends ConfigDependencies = ConfigDependencies<T>>(config: ConfigProvider<Partial<T>, D>) => FactoryProvider | ValueProvider;\n\n const configName = `${name}Config` as const;\n const defaultConfigName = `${name}DefaultConfig` as const;\n const injectConfigName = `inject${name}Config` as const;\n const provideConfigName = `provide${name}Config` as const;\n const tokenName = `${prefix}::${configName}`;\n const token = new InjectionToken<Partial<T>>(tokenName, { providedIn: 'root', factory: () => defaultValue });\n\n return {\n [configName]: token,\n [defaultConfigName]: defaultValue,\n [injectConfigName]: () => deepmerge(defaultValue, inject(token)),\n [provideConfigName]: (config: ConfigProvider<T>) => {\n return provideConfig(token, config);\n },\n } as Record<typeof configName, InjectionToken<Partial<T>>> &\n Record<typeof defaultConfigName, T> &\n Record<typeof injectConfigName, () => T> &\n Record<typeof provideConfigName, ConfigProviderFn>;\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\ntype QueueItemId = string | number;\ntype QueueItem<T> = T & { id: QueueItemId };\n\nexport class Queue<T> {\n private readonly queue = new Map<string, QueueItem<T>>();\n private readonly update$$ = new BehaviorSubject<void>(undefined);\n private values: QueueItem<T>[] = [];\n private firstItem: QueueItem<T> | null = null;\n private lastItem: QueueItem<T> | null = null;\n\n public readonly value$ = this.update$$.pipe(\n map(() => this.values),\n shareReplay({ bufferSize: 1, refCount: true })\n );\n\n public get size(): number {\n return this.queue.size;\n }\n\n public isFirst({ id }: QueueItem<T>): boolean {\n return this.firstItem?.id === id;\n }\n\n public isLast({ id }: QueueItem<T>): boolean {\n return this.lastItem?.id === id;\n }\n\n public get(id: QueueItemId): QueueItem<T> | null {\n return this.queue.get(id.toString()) ?? null;\n }\n\n public add(item: QueueItem<T>): QueueItem<T> {\n this.remove(item);\n this.queue.set(item.id.toString(), item);\n this.notify();\n\n return item;\n }\n\n public remove(item: QueueItem<T>): QueueItem<T> {\n this.queue.delete(item.id.toString());\n this.notify();\n\n return item;\n }\n\n public clear(): void {\n this.queue.clear();\n this.notify();\n }\n\n public toArray(): QueueItem<T>[] {\n return this.values;\n }\n\n private notify(): void {\n this.values = Array.from(this.queue, ([_, item]) => item).reverse();\n this.firstItem = this.values[0] ?? null;\n this.lastItem = this.values[this.values.length - 1] ?? null;\n this.update$$.next(undefined);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}