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

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 (450) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +44 -0
  3. package/animations/index.d.ts +3 -2
  4. package/animations/{config.d.ts → lib/config.d.ts} +0 -0
  5. package/animations/lib/expand.d.ts +2 -0
  6. package/animations/{fade.d.ts → lib/fade.d.ts} +0 -0
  7. package/animations/{slide.d.ts → lib/slide.d.ts} +0 -0
  8. package/cdk/checkbox-control/README.md +3 -0
  9. package/cdk/checkbox-control/index.d.ts +1 -0
  10. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +16 -0
  11. package/cdk/custom-form-control/README.md +3 -0
  12. package/cdk/custom-form-control/index.d.ts +2 -0
  13. package/{lib/directives → cdk/custom-form-control/lib}/control.directive.d.ts +1 -3
  14. package/{lib/controls → cdk/custom-form-control/lib}/custom-form-control.d.ts +7 -8
  15. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +1 -1
  16. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +1 -1
  17. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +1 -1
  18. package/cdk/dynamic-view/lib/facade/index.d.ts +0 -1
  19. package/cdk/dynamic-view/lib/helpers/index.d.ts +0 -2
  20. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +5 -3
  21. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +1 -1
  22. package/cdk/expandable/README.md +3 -0
  23. package/cdk/expandable/index.d.ts +3 -0
  24. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +18 -0
  25. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +13 -0
  26. package/cdk/expandable/lib/directives/index.d.ts +2 -0
  27. package/cdk/expandable/lib/expandable.module.d.ts +8 -0
  28. package/cdk/expandable/lib/facade/expandable-container.d.ts +6 -0
  29. package/cdk/expandable/lib/facade/expandable-item.d.ts +7 -0
  30. package/cdk/expandable/lib/facade/index.d.ts +2 -0
  31. package/cdk/radio-group-control/README.md +3 -0
  32. package/cdk/radio-group-control/index.d.ts +3 -0
  33. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +13 -0
  34. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +10 -0
  35. package/cdk/radio-group-control/lib/radio-group-control.module.d.ts +9 -0
  36. package/components/accordion/README.md +3 -0
  37. package/components/accordion/index.d.ts +4 -0
  38. package/components/accordion/lib/accordion.component.d.ts +7 -0
  39. package/components/accordion/lib/accordion.module.d.ts +10 -0
  40. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +16 -0
  41. package/components/accordion/lib/components/index.d.ts +1 -0
  42. package/components/accordion/lib/directives/accordion-item-title.d.ts +5 -0
  43. package/components/accordion/lib/directives/index.d.ts +1 -0
  44. package/components/action-group/action-group.component.d.ts +1 -3
  45. package/components/area-header/area-header.component.d.ts +1 -3
  46. package/components/area-header/area-header.module.d.ts +2 -1
  47. package/components/avatar/lib/avatar.component.d.ts +1 -3
  48. package/components/badge/lib/badge.component.d.ts +3 -5
  49. package/components/badge/lib/badge.directive.d.ts +4 -5
  50. package/components/button/lib/button.component.d.ts +8 -16
  51. package/components/button/lib/models/button-size.d.ts +5 -0
  52. package/components/button/lib/models/index.d.ts +1 -0
  53. package/components/button-group/README.md +3 -0
  54. package/components/button-group/index.d.ts +1 -0
  55. package/components/button-group/lib/button-group.component.d.ts +15 -0
  56. package/components/checkbox/lib/checkbox.component.d.ts +5 -12
  57. package/components/form-field/README.md +3 -0
  58. package/components/form-field/index.d.ts +6 -0
  59. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +9 -0
  60. package/components/form-field/lib/components/form-group/form-group.component.d.ts +14 -0
  61. package/components/form-field/lib/components/index.d.ts +2 -0
  62. package/components/form-field/lib/directives/form-field-control.directive.d.ts +22 -0
  63. package/components/form-field/lib/directives/form-field-error.directive.d.ts +10 -0
  64. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +8 -0
  65. package/components/form-field/lib/directives/form-field-label.directive.d.ts +6 -0
  66. package/components/form-field/lib/directives/form.directive.d.ts +9 -0
  67. package/components/form-field/lib/directives/index.d.ts +5 -0
  68. package/components/form-field/lib/form-field.component.d.ts +18 -0
  69. package/components/form-field/lib/form-field.config.d.ts +19 -0
  70. package/components/form-field/lib/form-field.module.d.ts +18 -0
  71. package/components/form-field/lib/form-field.service.d.ts +30 -0
  72. package/components/form-field/lib/models/form-field-error-resolver.d.ts +27 -0
  73. package/components/form-field/lib/models/form-field-error.d.ts +7 -0
  74. package/components/form-field/lib/models/index.d.ts +2 -0
  75. package/components/form-field/lib/services/form-field-error.service.d.ts +18 -0
  76. package/components/form-field/lib/services/index.d.ts +1 -0
  77. package/components/header/lib/header.component.d.ts +1 -3
  78. package/components/header/lib/header.module.d.ts +2 -1
  79. package/components/icon/lib/icon.component.d.ts +9 -5
  80. package/components/link/link.directive.d.ts +4 -6
  81. package/components/logo/logo.directive.d.ts +1 -3
  82. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -4
  83. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +3 -4
  84. package/components/main-menu/lib/main-menu.component.d.ts +2 -4
  85. package/components/main-menu/lib/main-menu.module.d.ts +6 -6
  86. package/components/modal/README.md +3 -0
  87. package/components/modal/index.d.ts +9 -0
  88. package/components/modal/lib/components/index.d.ts +2 -0
  89. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +6 -0
  90. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +11 -0
  91. package/components/modal/lib/directives/index.d.ts +3 -0
  92. package/components/modal/lib/directives/modal-close.directive.d.ts +8 -0
  93. package/components/modal/lib/directives/modal-content.directive.d.ts +6 -0
  94. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +7 -0
  95. package/components/modal/lib/helpers/index.d.ts +2 -0
  96. package/components/modal/lib/helpers/inject-modal-ref.d.ts +2 -0
  97. package/components/modal/lib/helpers/provide-modal-ref.d.ts +3 -0
  98. package/components/modal/lib/modal.component.d.ts +16 -0
  99. package/components/modal/lib/modal.config.d.ts +3 -0
  100. package/components/modal/lib/modal.directive.d.ts +14 -0
  101. package/components/modal/lib/modal.module.d.ts +21 -0
  102. package/components/modal/lib/modal.service.d.ts +20 -0
  103. package/components/modal/lib/models/index.d.ts +4 -0
  104. package/components/modal/lib/models/modal-options.d.ts +13 -0
  105. package/components/modal/lib/models/modal-ref.d.ts +16 -0
  106. package/components/modal/lib/models/modal-size.d.ts +6 -0
  107. package/components/modal/lib/models/modal-type.d.ts +8 -0
  108. package/components/modal/lib/services/index.d.ts +1 -0
  109. package/components/modal/lib/services/open-modal-manager.service.d.ts +15 -0
  110. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +4 -11
  111. package/components/radio-group/lib/radio-group.component.d.ts +3 -5
  112. package/components/radio-group/lib/radio-group.module.d.ts +4 -4
  113. package/components/switch/README.md +3 -0
  114. package/components/switch/index.d.ts +1 -0
  115. package/components/switch/lib/switch.component.d.ts +6 -0
  116. package/components/toggle-button-group/README.md +3 -0
  117. package/components/toggle-button-group/index.d.ts +3 -0
  118. package/components/toggle-button-group/lib/components/index.d.ts +1 -0
  119. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +7 -0
  120. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +7 -0
  121. package/components/toggle-button-group/lib/toggle-button-group.module.d.ts +9 -0
  122. package/esm2020/animations/index.mjs +4 -3
  123. package/esm2020/animations/lib/config.mjs +8 -0
  124. package/esm2020/animations/lib/expand.mjs +12 -0
  125. package/esm2020/animations/lib/fade.mjs +12 -0
  126. package/esm2020/animations/lib/slide.mjs +34 -0
  127. package/esm2020/cdk/checkbox-control/index.mjs +2 -0
  128. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +43 -0
  129. package/esm2020/cdk/checkbox-control/odx-angular-cdk-checkbox-control.mjs +5 -0
  130. package/esm2020/cdk/custom-form-control/index.mjs +3 -0
  131. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +19 -0
  132. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +121 -0
  133. package/esm2020/cdk/custom-form-control/odx-angular-cdk-custom-form-control.mjs +5 -0
  134. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  135. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +11 -10
  136. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +5 -5
  137. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-content.mjs +1 -1
  138. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
  139. package/esm2020/cdk/dynamic-view/lib/facade/index.mjs +1 -2
  140. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +1 -3
  141. package/esm2020/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +2 -2
  142. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +18 -8
  143. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +6 -2
  144. package/esm2020/cdk/expandable/index.mjs +4 -0
  145. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +48 -0
  146. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +43 -0
  147. package/esm2020/cdk/expandable/lib/directives/index.mjs +3 -0
  148. package/esm2020/cdk/expandable/lib/expandable.module.mjs +17 -0
  149. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +3 -0
  150. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +3 -0
  151. package/esm2020/cdk/expandable/lib/facade/index.mjs +3 -0
  152. package/esm2020/cdk/expandable/odx-angular-cdk-expandable.mjs +5 -0
  153. package/esm2020/cdk/radio-group-control/index.mjs +4 -0
  154. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +39 -0
  155. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +43 -0
  156. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +19 -0
  157. package/esm2020/cdk/radio-group-control/odx-angular-cdk-radio-group-control.mjs +5 -0
  158. package/esm2020/components/accordion/index.mjs +5 -0
  159. package/esm2020/components/accordion/lib/accordion.component.mjs +24 -0
  160. package/esm2020/components/accordion/lib/accordion.module.mjs +20 -0
  161. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +54 -0
  162. package/esm2020/components/accordion/lib/components/index.mjs +2 -0
  163. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +14 -0
  164. package/esm2020/components/accordion/lib/directives/index.mjs +2 -0
  165. package/esm2020/components/accordion/odx-angular-components-accordion.mjs +5 -0
  166. package/esm2020/components/action-group/action-group.component.mjs +15 -18
  167. package/esm2020/components/area-header/area-header.component.mjs +10 -10
  168. package/esm2020/components/area-header/area-header.module.mjs +9 -8
  169. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -5
  170. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -5
  171. package/esm2020/components/avatar/lib/avatar.component.mjs +10 -10
  172. package/esm2020/components/badge/lib/badge.component.mjs +20 -22
  173. package/esm2020/components/badge/lib/badge.directive.mjs +11 -11
  174. package/esm2020/components/button/lib/button.component.mjs +26 -33
  175. package/esm2020/components/button/lib/models/button-size.mjs +5 -0
  176. package/esm2020/components/button/lib/models/index.mjs +2 -1
  177. package/esm2020/components/button-group/index.mjs +2 -0
  178. package/esm2020/components/button-group/lib/button-group.component.mjs +54 -0
  179. package/esm2020/components/button-group/odx-angular-components-button-group.mjs +5 -0
  180. package/esm2020/components/checkbox/lib/checkbox.component.mjs +16 -33
  181. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  182. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  183. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -5
  184. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -5
  185. package/esm2020/components/form-field/index.mjs +7 -0
  186. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +24 -0
  187. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +36 -0
  188. package/esm2020/components/form-field/lib/components/index.mjs +3 -0
  189. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +68 -0
  190. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +25 -0
  191. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +23 -0
  192. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +24 -0
  193. package/esm2020/components/form-field/lib/directives/form.directive.mjs +28 -0
  194. package/esm2020/components/form-field/lib/directives/index.mjs +6 -0
  195. package/esm2020/components/form-field/lib/form-field.component.mjs +47 -0
  196. package/esm2020/components/form-field/lib/form-field.config.mjs +7 -0
  197. package/esm2020/components/form-field/lib/form-field.module.mjs +49 -0
  198. package/esm2020/components/form-field/lib/form-field.service.mjs +53 -0
  199. package/esm2020/components/form-field/lib/models/form-field-error-resolver.mjs +2 -0
  200. package/esm2020/components/form-field/lib/models/form-field-error.mjs +2 -0
  201. package/esm2020/components/form-field/lib/models/index.mjs +3 -0
  202. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +56 -0
  203. package/esm2020/components/form-field/lib/services/index.mjs +2 -0
  204. package/esm2020/components/form-field/odx-angular-components-form-field.mjs +5 -0
  205. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  206. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -5
  207. package/esm2020/components/header/lib/header.component.mjs +11 -11
  208. package/esm2020/components/header/lib/header.module.mjs +9 -9
  209. package/esm2020/components/icon/lib/icon.component.mjs +36 -12
  210. package/esm2020/components/link/link.directive.mjs +14 -18
  211. package/esm2020/components/logo/logo.directive.mjs +10 -11
  212. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +12 -13
  213. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +14 -14
  214. package/esm2020/components/main-menu/lib/main-menu.component.mjs +21 -22
  215. package/esm2020/components/main-menu/lib/main-menu.module.mjs +7 -7
  216. package/esm2020/components/main-menu/lib/main-menu.service.mjs +5 -5
  217. package/esm2020/components/modal/index.mjs +10 -0
  218. package/esm2020/components/modal/lib/components/index.mjs +3 -0
  219. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +21 -0
  220. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +38 -0
  221. package/esm2020/components/modal/lib/directives/index.mjs +4 -0
  222. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +29 -0
  223. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +24 -0
  224. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +24 -0
  225. package/esm2020/components/modal/lib/helpers/index.mjs +3 -0
  226. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +6 -0
  227. package/esm2020/components/modal/lib/helpers/provide-modal-ref.mjs +5 -0
  228. package/esm2020/components/modal/lib/modal.component.mjs +63 -0
  229. package/esm2020/components/modal/lib/modal.config.mjs +8 -0
  230. package/esm2020/components/modal/lib/modal.directive.mjs +33 -0
  231. package/esm2020/components/modal/lib/modal.module.mjs +32 -0
  232. package/esm2020/components/modal/lib/modal.service.mjs +70 -0
  233. package/esm2020/components/modal/lib/models/index.mjs +5 -0
  234. package/esm2020/components/modal/lib/models/modal-options.mjs +2 -0
  235. package/esm2020/components/modal/lib/models/modal-ref.mjs +33 -0
  236. package/esm2020/components/modal/lib/models/modal-size.mjs +6 -0
  237. package/esm2020/components/modal/lib/models/modal-type.mjs +2 -0
  238. package/esm2020/components/modal/lib/services/index.mjs +2 -0
  239. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +42 -0
  240. package/esm2020/components/modal/odx-angular-components-modal.mjs +5 -0
  241. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +19 -38
  242. package/esm2020/components/radio-group/lib/radio-group.component.mjs +33 -16
  243. package/esm2020/components/radio-group/lib/radio-group.module.mjs +7 -7
  244. package/esm2020/components/switch/index.mjs +2 -0
  245. package/esm2020/components/switch/lib/switch.component.mjs +22 -0
  246. package/esm2020/components/switch/odx-angular-components-switch.mjs +5 -0
  247. package/esm2020/components/toggle-button-group/index.mjs +4 -0
  248. package/esm2020/components/toggle-button-group/lib/components/index.mjs +2 -0
  249. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +30 -0
  250. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +33 -0
  251. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +19 -0
  252. package/esm2020/components/toggle-button-group/odx-angular-components-toggle-button-group.mjs +5 -0
  253. package/esm2020/index.mjs +1 -2
  254. package/esm2020/internal/decorators/css-modifier.mjs +6 -5
  255. package/esm2020/internal/helpers/camel-to-kebab-case.mjs +12 -0
  256. package/esm2020/internal/helpers/index.mjs +2 -4
  257. package/esm2020/internal/index.mjs +1 -4
  258. package/esm2020/lib/controllers/controller.mjs +37 -0
  259. package/esm2020/lib/controllers/disabled.controller.mjs +25 -19
  260. package/esm2020/lib/controllers/index.mjs +3 -1
  261. package/esm2020/lib/controllers/readonly.controller.mjs +68 -0
  262. package/esm2020/lib/core.module.mjs +11 -10
  263. package/esm2020/lib/directives/click-outside.directive.mjs +58 -0
  264. package/esm2020/lib/directives/index.mjs +2 -3
  265. package/esm2020/lib/services/index.mjs +1 -2
  266. package/esm2020/lib/services/window-ref.mjs +6 -6
  267. package/esm2020/rxjs/index.mjs +2 -1
  268. package/esm2020/rxjs/lib/mark-for-check.mjs +5 -0
  269. package/esm2020/utils/index.mjs +2 -1
  270. package/esm2020/utils/lib/helpers/angular.mjs +30 -0
  271. package/esm2020/utils/lib/helpers/dom.mjs +22 -0
  272. package/esm2020/utils/lib/helpers/index.mjs +6 -1
  273. package/esm2020/utils/lib/helpers/ng-changes.mjs +1 -1
  274. package/esm2020/utils/lib/helpers/provide-module-config.mjs +21 -0
  275. package/esm2020/utils/lib/helpers/type-guards.mjs +29 -0
  276. package/esm2020/utils/lib/helpers/until-destroyed.mjs +13 -0
  277. package/esm2020/utils/lib/types/get-properties.mjs +2 -0
  278. package/esm2020/utils/lib/types/index.mjs +2 -0
  279. package/fesm2015/odx-angular-animations.mjs +11 -1
  280. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  281. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +50 -0
  282. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -0
  283. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +150 -0
  284. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -0
  285. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +48 -55
  286. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  287. package/fesm2015/odx-angular-cdk-expandable.mjs +114 -0
  288. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -0
  289. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +99 -0
  290. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -0
  291. package/fesm2015/odx-angular-components-accordion.mjs +104 -0
  292. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -0
  293. package/fesm2015/odx-angular-components-action-group.mjs +14 -17
  294. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  295. package/fesm2015/odx-angular-components-area-header.mjs +23 -24
  296. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  297. package/fesm2015/odx-angular-components-avatar.mjs +9 -9
  298. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  299. package/fesm2015/odx-angular-components-badge.mjs +27 -29
  300. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  301. package/fesm2015/odx-angular-components-button-group.mjs +60 -0
  302. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -0
  303. package/fesm2015/odx-angular-components-button.mjs +30 -36
  304. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  305. package/fesm2015/odx-angular-components-checkbox.mjs +15 -31
  306. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  307. package/fesm2015/odx-angular-components-content-box.mjs +13 -15
  308. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  309. package/fesm2015/odx-angular-components-form-field.mjs +381 -0
  310. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -0
  311. package/fesm2015/odx-angular-components-header.mjs +24 -25
  312. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  313. package/fesm2015/odx-angular-components-icon.mjs +35 -11
  314. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  315. package/fesm2015/odx-angular-components-link.mjs +13 -17
  316. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  317. package/fesm2015/odx-angular-components-logo.mjs +9 -10
  318. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  319. package/fesm2015/odx-angular-components-main-menu.mjs +48 -50
  320. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  321. package/fesm2015/odx-angular-components-modal.mjs +380 -0
  322. package/fesm2015/odx-angular-components-modal.mjs.map +1 -0
  323. package/fesm2015/odx-angular-components-radio-group.mjs +64 -67
  324. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  325. package/fesm2015/odx-angular-components-switch.mjs +28 -0
  326. package/fesm2015/odx-angular-components-switch.mjs.map +1 -0
  327. package/fesm2015/odx-angular-components-toggle-button-group.mjs +75 -0
  328. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -0
  329. package/fesm2015/odx-angular-internal.mjs +39 -104
  330. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  331. package/fesm2015/odx-angular-rxjs.mjs +6 -2
  332. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  333. package/fesm2015/odx-angular-utils.mjs +110 -1
  334. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  335. package/fesm2015/odx-angular.mjs +179 -212
  336. package/fesm2015/odx-angular.mjs.map +1 -1
  337. package/fesm2020/odx-angular-animations.mjs +11 -1
  338. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  339. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +50 -0
  340. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -0
  341. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +144 -0
  342. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -0
  343. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +41 -37
  344. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  345. package/fesm2020/odx-angular-cdk-expandable.mjs +113 -0
  346. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -0
  347. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +99 -0
  348. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -0
  349. package/fesm2020/odx-angular-components-accordion.mjs +103 -0
  350. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -0
  351. package/fesm2020/odx-angular-components-action-group.mjs +14 -17
  352. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  353. package/fesm2020/odx-angular-components-area-header.mjs +23 -24
  354. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  355. package/fesm2020/odx-angular-components-avatar.mjs +9 -9
  356. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  357. package/fesm2020/odx-angular-components-badge.mjs +27 -29
  358. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  359. package/fesm2020/odx-angular-components-button-group.mjs +60 -0
  360. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -0
  361. package/fesm2020/odx-angular-components-button.mjs +30 -32
  362. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  363. package/fesm2020/odx-angular-components-checkbox.mjs +15 -31
  364. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  365. package/fesm2020/odx-angular-components-content-box.mjs +13 -15
  366. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  367. package/fesm2020/odx-angular-components-form-field.mjs +378 -0
  368. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -0
  369. package/fesm2020/odx-angular-components-header.mjs +24 -25
  370. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  371. package/fesm2020/odx-angular-components-icon.mjs +35 -11
  372. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  373. package/fesm2020/odx-angular-components-link.mjs +13 -17
  374. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  375. package/fesm2020/odx-angular-components-logo.mjs +9 -10
  376. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  377. package/fesm2020/odx-angular-components-main-menu.mjs +48 -50
  378. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  379. package/fesm2020/odx-angular-components-modal.mjs +376 -0
  380. package/fesm2020/odx-angular-components-modal.mjs.map +1 -0
  381. package/fesm2020/odx-angular-components-radio-group.mjs +64 -66
  382. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  383. package/fesm2020/odx-angular-components-switch.mjs +28 -0
  384. package/fesm2020/odx-angular-components-switch.mjs.map +1 -0
  385. package/fesm2020/odx-angular-components-toggle-button-group.mjs +75 -0
  386. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -0
  387. package/fesm2020/odx-angular-internal.mjs +38 -102
  388. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  389. package/fesm2020/odx-angular-rxjs.mjs +6 -2
  390. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  391. package/fesm2020/odx-angular-utils.mjs +109 -1
  392. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  393. package/fesm2020/odx-angular.mjs +175 -206
  394. package/fesm2020/odx-angular.mjs.map +1 -1
  395. package/index.d.ts +0 -1
  396. package/internal/helpers/camel-to-kebab-case.d.ts +2 -0
  397. package/internal/helpers/index.d.ts +1 -3
  398. package/internal/index.d.ts +0 -3
  399. package/{internal/abstract → lib/controllers}/controller.d.ts +3 -2
  400. package/lib/controllers/disabled.controller.d.ts +5 -3
  401. package/lib/controllers/index.d.ts +2 -0
  402. package/lib/controllers/readonly.controller.d.ts +18 -0
  403. package/lib/core.module.d.ts +3 -3
  404. package/lib/directives/click-outside.directive.d.ts +18 -0
  405. package/lib/directives/index.d.ts +1 -2
  406. package/lib/services/index.d.ts +0 -1
  407. package/package.json +94 -10
  408. package/rxjs/index.d.ts +1 -0
  409. package/rxjs/lib/mark-for-check.d.ts +3 -0
  410. package/utils/index.d.ts +1 -0
  411. package/utils/lib/helpers/angular.d.ts +5 -0
  412. package/utils/lib/helpers/dom.d.ts +5 -0
  413. package/utils/lib/helpers/index.d.ts +5 -0
  414. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  415. package/utils/lib/helpers/provide-module-config.d.ts +12 -0
  416. package/{internal → utils/lib}/helpers/type-guards.d.ts +2 -1
  417. package/utils/lib/helpers/until-destroyed.d.ts +2 -0
  418. package/{internal → utils/lib}/types/get-properties.d.ts +1 -1
  419. package/{internal → utils/lib}/types/index.d.ts +0 -0
  420. package/cdk/dynamic-view/lib/facade/animated-component.d.ts +0 -4
  421. package/cdk/dynamic-view/lib/helpers/is-animated-component.d.ts +0 -3
  422. package/cdk/dynamic-view/lib/helpers/wait-for-animations.d.ts +0 -3
  423. package/esm2020/animations/config.mjs +0 -8
  424. package/esm2020/animations/fade.mjs +0 -12
  425. package/esm2020/animations/slide.mjs +0 -34
  426. package/esm2020/cdk/dynamic-view/lib/facade/animated-component.mjs +0 -2
  427. package/esm2020/cdk/dynamic-view/lib/helpers/is-animated-component.mjs +0 -5
  428. package/esm2020/cdk/dynamic-view/lib/helpers/wait-for-animations.mjs +0 -9
  429. package/esm2020/internal/abstract/controller.mjs +0 -29
  430. package/esm2020/internal/abstract/index.mjs +0 -2
  431. package/esm2020/internal/helpers/dom.mjs +0 -7
  432. package/esm2020/internal/helpers/type-guards.mjs +0 -27
  433. package/esm2020/internal/helpers/watch.mjs +0 -8
  434. package/esm2020/internal/providers/index.mjs +0 -2
  435. package/esm2020/internal/providers/watched-controller-provider.mjs +0 -9
  436. package/esm2020/internal/types/get-properties.mjs +0 -2
  437. package/esm2020/internal/types/index.mjs +0 -2
  438. package/esm2020/lib/controls/custom-form-control.mjs +0 -133
  439. package/esm2020/lib/controls/index.mjs +0 -2
  440. package/esm2020/lib/directives/control.directive.mjs +0 -18
  441. package/esm2020/lib/directives/monitor-focus.directive.mjs +0 -34
  442. package/esm2020/lib/services/destroy.service.mjs +0 -18
  443. package/internal/abstract/index.d.ts +0 -1
  444. package/internal/helpers/dom.d.ts +0 -2
  445. package/internal/helpers/watch.d.ts +0 -4
  446. package/internal/providers/index.d.ts +0 -1
  447. package/internal/providers/watched-controller-provider.d.ts +0 -5
  448. package/lib/controls/index.d.ts +0 -1
  449. package/lib/directives/monitor-focus.directive.d.ts +0 -12
  450. package/lib/services/destroy.service.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-internal.mjs","sources":["../../../../libs/angular/internal/src/helpers/dom.ts","../../../../libs/angular/internal/src/helpers/get-css-variables.ts","../../../../libs/angular/internal/src/helpers/get-enum-values.ts","../../../../libs/angular/internal/src/helpers/type-guards.ts","../../../../libs/angular/internal/src/helpers/watch.ts","../../../../libs/angular/internal/src/helpers/with-mutiple-descriptors.ts","../../../../libs/angular/internal/src/abstract/controller.ts","../../../../libs/angular/internal/src/decorators/css-component.ts","../../../../libs/angular/internal/src/decorators/css-modifier.ts","../../../../libs/angular/internal/src/providers/watched-controller-provider.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["export function px(value: number): string {\n return `${Math.round(value)}px`;\n}\n\nexport function applyStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration | Record<keyof CSSStyleDeclaration, string | null>>): void {\n Object.assign(element.style, styles);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\ninterface ColorDefinition {\n name: string;\n variableName: string;\n value: string;\n}\n\n/* istanbul ignore next */\nfunction isSameDomain(styleSheet: StyleSheet): boolean {\n if (!styleSheet.href) {\n return true;\n }\n\n return styleSheet.href.indexOf(window.location.origin) === 0;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function getCSSVariables(filter: RegExp): ColorDefinition[] {\n const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);\n return stylesheets.reduce<any[]>((variables, { cssRules }) => {\n for (const { style, type } of Array.from(cssRules) as any[]) {\n if (type === 1) {\n for (const prop of Array.from(style ?? []) as string[]) {\n const name = prop.trim();\n if (name.startsWith('--') && filter.test(name)) {\n variables.push({\n name: name,\n value: style.getPropertyValue(prop).trim(),\n });\n }\n }\n }\n }\n return variables;\n }, []);\n}\n","/** @internal */\nexport function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {\n const keys = Object.keys(e) as TKeys[];\n return keys.filter((key) => e[key] !== undefined).map((key) => e[key]);\n}\n","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 typeof value === 'boolean';\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(value: unknown): value is Function {\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","import { ChangeDetectorRef } from '@angular/core';\nimport { MonoTypeOperatorFunction } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n/** @internal */\nexport function watch<T>(changeDetectorRef: ChangeDetectorRef): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** @internal */\ninterface DescriptiorManager {\n addGetter: (value: any) => void;\n addSetter: (value: any) => void;\n init: () => void;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function ɵwithMultipleDescriptors(target: any, key: PropertyKey, symbol: symbol): DescriptiorManager {\n const setters = (target[`__propSetters__${target.constructor}__${key.toString()}`] ??= []);\n const getters = (target[`__propGetters__${target.constructor}__${key.toString()}`] ??= []);\n const propertyValue = `__propValue_${String(key)}__`;\n return {\n addSetter(fn: (this: any, value: any) => void) {\n setters.push({ fn, propertySymbol: symbol });\n },\n addGetter(fn: (this: any, value: any) => void) {\n getters.push({ fn });\n },\n init() {\n Object.defineProperty(target, key, {\n set(value) {\n this[propertyValue] = setters.reduce((result: any, { fn, propertySymbol }: any) => {\n fn.call(this, result);\n return this[propertySymbol];\n }, value);\n },\n get() {\n if (Array.isArray(getters)) {\n return getters.reduce((_: any, { fn }: any) => fn.call(this), this[propertyValue]);\n } else {\n return this[propertyValue];\n }\n },\n configurable: true,\n });\n },\n };\n}\n","import { ChangeDetectorRef, Directive, OnChanges, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Observable, shareReplay } from 'rxjs';\nimport { watch } from '../helpers';\n\nexport function detectControllerChanges(changeDetector: ChangeDetectorRef, ...controllers: Array<Controller | undefined | null>): Observable<void[]> {\n return combineLatest(controllers.reduce<Observable<void>[]>((changes, controller) => (controller ? changes.concat(controller.change$) : changes), [])).pipe(\n watch(changeDetector)\n );\n}\n\n/** @internal */\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new BehaviorSubject<void>(undefined);\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { ElementRef, Type } from '@angular/core';\n\nexport const CSS_COMPONENT_NAME = Symbol('__CSSComponentName__');\n\nexport const CSS_COMPONENT_MODIFIERS = Symbol('__CSSComponentModifiers__');\n\n/** @internal */\nexport interface CSSComponent {\n readonly element: ElementRef<unknown>;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSComponent(name: string, prefix = 'odx') {\n return (target: Type<CSSComponent>) => {\n const cssClass = `${prefix}-${name}`;\n Object.defineProperty(target.prototype, CSS_COMPONENT_NAME, {\n value: cssClass,\n });\n\n (function (this: unknown, ngOnInit?: () => void) {\n target.prototype.ngOnInit = function () {\n this.element.nativeElement.classList.add(cssClass);\n ngOnInit?.call(this);\n\n if (Array.isArray(this[CSS_COMPONENT_MODIFIERS])) {\n for (const property of this[CSS_COMPONENT_MODIFIERS]) {\n this[property] ??= null;\n }\n }\n };\n })(target.prototype.ngOnInit);\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isBoolean, isNonEmptyString, ɵwithMultipleDescriptors } from '../helpers';\nimport { CSS_COMPONENT_MODIFIERS, CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n isArray?: boolean;\n withComponentPrefix?: boolean;\n default?: string;\n withPrefix?: boolean;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = Symbol(`__CSSModifier{${propertyKey.toString()}}__`);\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n\n function createModifierClass(this: any, value: any) {\n value = value ?? options?.default ?? null;\n\n if (isBoolean(value) || isNonEmptyString(value)) {\n let modifier = isBoolean(value) ? propertyKey.toString() : value;\n if (options?.withPrefix) {\n modifier = [propertyKey, modifier].join('-');\n }\n return [options?.withComponentPrefix ?? true ? this[CSS_COMPONENT_NAME] : null, modifier].filter(Boolean).join('--');\n }\n return null;\n }\n\n if (options?.default) {\n target[CSS_COMPONENT_MODIFIERS] = (target[CSS_COMPONENT_MODIFIERS] || []).concat(propertyKey);\n }\n\n function setter(this: any, value: any) {\n const values = options?.isArray ? value : [value];\n this[propertySymbol] = this[propertySymbol] || [];\n for (let i = 0; i < values.length; ++i) {\n const currentValue = values[i];\n if (this[propertySymbol].length < 1 || currentValue !== this[propertySymbol][i]) {\n const currentModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n this[propertySymbol][i] = currentValue;\n const newModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (newModifierClass !== null && (isBoolean(currentValue) ? currentValue : true)) {\n this.element.nativeElement.classList.add(newModifierClass);\n }\n }\n }\n }\n\n function getter(this: any) {\n return options?.isArray ? this[propertySymbol] : this[propertySymbol]?.[0];\n }\n\n descriptors.addSetter(setter);\n descriptors.addGetter(getter);\n descriptors.init();\n };\n}\n","import { ChangeDetectorRef } from '@angular/core';\nimport { EMPTY, Observable, takeUntil } from 'rxjs';\nimport { Controller } from '../abstract';\nimport { watch } from '../helpers';\n\n/** @internal */\nexport function watchedControllerFactory(controller: Controller | null, changeDetectorRef: ChangeDetectorRef, destroy$: Observable<void>): Controller | null {\n const changes$ = controller?.change$ ?? EMPTY;\n changes$.pipe(watch(changeDetectorRef), takeUntil(destroy$)).subscribe();\n\n return controller;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-internal.mjs","sources":["../../../../libs/angular/internal/src/decorators/css-component.ts","../../../../libs/angular/internal/src/helpers/camel-to-kebab-case.ts","../../../../libs/angular/internal/src/helpers/get-css-variables.ts","../../../../libs/angular/internal/src/helpers/get-enum-values.ts","../../../../libs/angular/internal/src/helpers/with-mutiple-descriptors.ts","../../../../libs/angular/internal/src/decorators/css-modifier.ts","../../../../libs/angular/internal/src/odx-angular-internal.ts"],"sourcesContent":["import { ElementRef, Type } from '@angular/core';\n\nexport const CSS_COMPONENT_NAME = Symbol('__CSSComponentName__');\n\nexport const CSS_COMPONENT_MODIFIERS = Symbol('__CSSComponentModifiers__');\n\n/** @internal */\nexport interface CSSComponent {\n readonly element: ElementRef<unknown>;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSComponent(name: string, prefix = 'odx') {\n return (target: Type<CSSComponent>) => {\n const cssClass = `${prefix}-${name}`;\n Object.defineProperty(target.prototype, CSS_COMPONENT_NAME, {\n value: cssClass,\n });\n\n (function (this: unknown, ngOnInit?: () => void) {\n target.prototype.ngOnInit = function () {\n this.element.nativeElement.classList.add(cssClass);\n ngOnInit?.call(this);\n\n if (Array.isArray(this[CSS_COMPONENT_MODIFIERS])) {\n for (const property of this[CSS_COMPONENT_MODIFIERS]) {\n this[property] ??= null;\n }\n }\n };\n })(target.prototype.ngOnInit);\n };\n}\n","/** @internal */\n/* istanbul ignore next */\nexport function camelToKebabCase(value: string): string {\n if (value !== value.toLowerCase()) {\n return value.replace(/[A-Z]/g, (match, index) => {\n const char = match.toLowerCase();\n\n return index === 0 ? char : `-${char}`;\n });\n }\n return value;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\ninterface ColorDefinition {\n name: string;\n variableName: string;\n value: string;\n}\n\n/* istanbul ignore next */\nfunction isSameDomain(styleSheet: StyleSheet): boolean {\n if (!styleSheet.href) {\n return true;\n }\n\n return styleSheet.href.indexOf(window.location.origin) === 0;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function getCSSVariables(filter: RegExp): ColorDefinition[] {\n const stylesheets = Array.from(document.styleSheets).filter(isSameDomain);\n return stylesheets.reduce<any[]>((variables, { cssRules }) => {\n for (const { style, type } of Array.from(cssRules) as any[]) {\n if (type === 1) {\n for (const prop of Array.from(style ?? []) as string[]) {\n const name = prop.trim();\n if (name.startsWith('--') && filter.test(name)) {\n variables.push({\n name: name,\n value: style.getPropertyValue(prop).trim(),\n });\n }\n }\n }\n }\n return variables;\n }, []);\n}\n","/** @internal */\nexport function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {\n const keys = Object.keys(e) as TKeys[];\n return keys.filter((key) => e[key] !== undefined).map((key) => e[key]);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** @internal */\ninterface DescriptiorManager {\n addGetter: (value: any) => void;\n addSetter: (value: any) => void;\n init: () => void;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function ɵwithMultipleDescriptors(target: any, key: PropertyKey, symbol: symbol): DescriptiorManager {\n const setters = (target[`__propSetters__${target.constructor}__${key.toString()}`] ??= []);\n const getters = (target[`__propGetters__${target.constructor}__${key.toString()}`] ??= []);\n const propertyValue = `__propValue_${String(key)}__`;\n return {\n addSetter(fn: (this: any, value: any) => void) {\n setters.push({ fn, propertySymbol: symbol });\n },\n addGetter(fn: (this: any, value: any) => void) {\n getters.push({ fn });\n },\n init() {\n Object.defineProperty(target, key, {\n set(value) {\n this[propertyValue] = setters.reduce((result: any, { fn, propertySymbol }: any) => {\n fn.call(this, result);\n return this[propertySymbol];\n }, value);\n },\n get() {\n if (Array.isArray(getters)) {\n return getters.reduce((_: any, { fn }: any) => fn.call(this), this[propertyValue]);\n } else {\n return this[propertyValue];\n }\n },\n configurable: true,\n });\n },\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { camelToKebabCase, ɵwithMultipleDescriptors } from '../helpers';\nimport { CSS_COMPONENT_MODIFIERS, CSS_COMPONENT_NAME } from './css-component';\n\n/** @internal */\ninterface CSSModifierOptions {\n isArray?: boolean;\n withComponentPrefix?: boolean;\n default?: string;\n withPrefix?: boolean;\n}\n\n/** @internal */\n/* istanbul ignore next */\nexport function CSSModifier(options?: CSSModifierOptions) {\n return (target: any, propertyKey: PropertyKey) => {\n const propertySymbol = Symbol(`__CSSModifier{${propertyKey.toString()}}__`);\n const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);\n const propertyKeyKebabCase = camelToKebabCase(propertyKey.toString());\n\n function createModifierClass(this: any, value: any) {\n value = value ?? options?.default ?? null;\n\n if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {\n let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;\n if (options?.withPrefix) {\n modifier = [propertyKey, modifier].join('-');\n }\n return [options?.withComponentPrefix ?? true ? this[CSS_COMPONENT_NAME] : null, modifier].filter(Boolean).join('--');\n }\n return null;\n }\n\n if (options?.default) {\n target[CSS_COMPONENT_MODIFIERS] = (target[CSS_COMPONENT_MODIFIERS] || []).concat(propertyKey);\n }\n\n function setter(this: any, value: any) {\n const values = options?.isArray ? value : [value];\n this[propertySymbol] = this[propertySymbol] || [];\n for (let i = 0; i < values.length; ++i) {\n const currentValue = values[i];\n if (this[propertySymbol].length < 1 || currentValue !== this[propertySymbol][i]) {\n const currentModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (currentModifierClass !== null) {\n this.element.nativeElement.classList.remove(currentModifierClass);\n }\n this[propertySymbol][i] = currentValue;\n const newModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);\n if (newModifierClass !== null && (typeof currentValue === 'boolean' ? currentValue : true)) {\n this.element.nativeElement.classList.add(newModifierClass);\n }\n }\n }\n }\n\n function getter(this: any) {\n return options?.isArray ? this[propertySymbol] : this[propertySymbol]?.[0];\n }\n\n descriptors.addSetter(setter);\n descriptors.addGetter(getter);\n descriptors.init();\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
- import { merge, fromEvent } from 'rxjs';
1
+ import { merge, fromEvent, tap } from 'rxjs';
2
2
 
3
3
  function fromEvents(target, ...events) {
4
4
  return merge(...events.map((event) => fromEvent(target, event)));
5
5
  }
6
6
 
7
+ function markForCheck(changeDetectorRef) {
8
+ return tap(() => changeDetectorRef.markForCheck());
9
+ }
10
+
7
11
  /**
8
12
  * Generated bundle index. Do not edit.
9
13
  */
10
14
 
11
- export { fromEvents };
15
+ export { fromEvents, markForCheck };
12
16
  //# sourceMappingURL=odx-angular-rxjs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-rxjs.mjs","sources":["../../../../libs/angular/rxjs/src/lib/from-events.ts","../../../../libs/angular/rxjs/src/odx-angular-rxjs.ts"],"sourcesContent":["import { fromEvent, merge, Observable } from 'rxjs';\nimport { HasEventTargetAddRemove } from 'rxjs/internal/observable/fromEvent';\n\nexport function fromEvents<T>(target: HasEventTargetAddRemove<T> | HasEventTargetAddRemove<T>[], ...events: string[]): Observable<T> {\n return merge(...events.map((event) => fromEvent(target, event)));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;SAGgB,UAAU,CAAI,MAAiE,EAAE,GAAG,MAAgB,EAAA;IAClH,OAAO,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACnE;;ACLA;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-rxjs.mjs","sources":["../../../../libs/angular/rxjs/src/lib/from-events.ts","../../../../libs/angular/rxjs/src/lib/mark-for-check.ts","../../../../libs/angular/rxjs/src/odx-angular-rxjs.ts"],"sourcesContent":["import { fromEvent, merge, Observable } from 'rxjs';\nimport { HasEventTargetAddRemove } from 'rxjs/internal/observable/fromEvent';\n\nexport function fromEvents<T>(target: HasEventTargetAddRemove<T> | HasEventTargetAddRemove<T>[], ...events: string[]): Observable<T> {\n return merge(...events.map((event) => fromEvent(target, event)));\n}\n","import { ChangeDetectorRef } from '@angular/core';\nimport { MonoTypeOperatorFunction, tap } from 'rxjs';\n\nexport function markForCheck<T>(changeDetectorRef: ChangeDetectorRef): MonoTypeOperatorFunction<T> {\n return tap(() => changeDetectorRef.markForCheck());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;SAGgB,UAAU,CAAI,MAAiE,EAAE,GAAG,MAAgB,EAAA;IAClH,OAAO,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACnE;;ACFM,SAAU,YAAY,CAAI,iBAAoC,EAAA;IAClE,OAAO,GAAG,CAAC,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;AACrD;;ACLA;;AAEG;;;;"}
@@ -1,4 +1,7 @@
1
1
  import { ɵwithMultipleDescriptors } from '@odx/angular/internal';
2
+ import { TemplateRef, inject, ChangeDetectorRef, ElementRef, InjectionToken } from '@angular/core';
3
+ import { Subject, takeUntil, tap } from 'rxjs';
4
+ import { deepmerge } from 'deepmerge-ts';
2
5
 
3
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
7
  function Transform(transformer) {
@@ -13,6 +16,93 @@ function Transform(transformer) {
13
16
  };
14
17
  }
15
18
 
19
+ function isViewContainer(value) {
20
+ return isFunction(value === null || value === void 0 ? void 0 : value.createComponent);
21
+ }
22
+ function isTemplateRef(value) {
23
+ return value instanceof TemplateRef;
24
+ }
25
+ function isComponent(value) {
26
+ return isFunction(value);
27
+ }
28
+ function isString(value) {
29
+ return typeof value === 'string';
30
+ }
31
+ function isNonEmptyString(value) {
32
+ return isString(value) && value.length > 0;
33
+ }
34
+ function isBoolean(value) {
35
+ return value === true || value === false;
36
+ }
37
+ function isFunction(value) {
38
+ return typeof value === 'function';
39
+ }
40
+ function isPresent(value) {
41
+ return value !== null && value !== undefined;
42
+ }
43
+ function isNumber(value) {
44
+ return typeof value === 'number';
45
+ }
46
+
47
+ function applyStyles(element, styles) {
48
+ Object.assign(element.style, styles);
49
+ }
50
+ function booleanToAttributeString(state) {
51
+ var _a;
52
+ return (_a = booleanToOptionalAttributeString(state)) !== null && _a !== void 0 ? _a : 'false';
53
+ }
54
+ function booleanToOptionalAttributeString(state) {
55
+ return state ? 'true' : null;
56
+ }
57
+ function px(value) {
58
+ return isNumber(value) ? `${Math.round(value)}px` : '0px';
59
+ }
60
+ function setAttribute(element, attribute, value) {
61
+ if (isString(value)) {
62
+ element.setAttribute(attribute, value);
63
+ }
64
+ else {
65
+ element.toggleAttribute(attribute, !!value);
66
+ }
67
+ }
68
+
69
+ function untilDestroyed() {
70
+ const destroyed$$ = new Subject();
71
+ const viewRef = inject(ChangeDetectorRef);
72
+ function onDestroy() {
73
+ destroyed$$.next();
74
+ destroyed$$.complete();
75
+ }
76
+ Promise.resolve().then(() => (viewRef.destroyed ? onDestroy() : viewRef.onDestroy(onDestroy)));
77
+ return () => takeUntil(destroyed$$.asObservable());
78
+ }
79
+
80
+ function reactiveBinding(updateFn) {
81
+ const takeUntilDestroyed = untilDestroyed();
82
+ return (source$) => source$.pipe(tap((state) => updateFn(state)), takeUntilDestroyed());
83
+ }
84
+ function reactiveClassBinding(source$, cssClass) {
85
+ const { nativeElement } = injectElement();
86
+ if (source$) {
87
+ source$.pipe(reactiveBinding((state) => nativeElement.classList.toggle(cssClass, !!state))).subscribe();
88
+ }
89
+ }
90
+ function reactiveAttributeBinding(source$, ...attributes) {
91
+ const { nativeElement } = injectElement();
92
+ if (source$) {
93
+ source$
94
+ .pipe(reactiveBinding((value) => {
95
+ for (const attribute of attributes) {
96
+ setAttribute(nativeElement, attribute, value);
97
+ }
98
+ }))
99
+ .subscribe();
100
+ }
101
+ }
102
+ function injectElement() {
103
+ return inject(ElementRef);
104
+ }
105
+
16
106
  function pluckFromArray(arr, key) {
17
107
  return arr.map((value) => value[key]);
18
108
  }
@@ -31,9 +121,28 @@ function hasChanged(changes, keyOrKeys, ignoreFirstChange = true) {
31
121
  }
32
122
  }
33
123
 
124
+ function provideModuleConfig(token, config) {
125
+ if ('useFactory' in config) {
126
+ return { provide: token, useFactory: config.useFactory, deps: config.deps };
127
+ }
128
+ return { provide: token, useValue: config };
129
+ }
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}`;
135
+ const token = new InjectionToken(tokenName, { providedIn: 'root', factory: () => defaultValue });
136
+ return {
137
+ [moduleConfig]: token,
138
+ [defaultModuleConfig]: defaultValue,
139
+ [injectModuleConfig]: () => deepmerge(defaultValue, inject(token)),
140
+ };
141
+ }
142
+
34
143
  /**
35
144
  * Generated bundle index. Do not edit.
36
145
  */
37
146
 
38
- export { Transform, hasChanged, pluckFromArray };
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 };
39
148
  //# 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/array.ts","../../../../libs/angular/utils/src/lib/helpers/ng-changes.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","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 '@odx/angular/internal';\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;AAKM,SAAU,SAAS,CAAC,WAAwB,EAAA;AAChD,IAAA,OAAO,CAAC,MAAW,EAAE,WAAwB,KAAI;QAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,CAAA,EAAA,EAAK,WAAW,CAAC,QAAQ,EAAE,CAAa,WAAA,CAAA,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAElF,SAAS,MAAM,CAAY,KAAU,EAAA;AACnC,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SACzD;AAED,QAAA,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,WAAW,CAAC,IAAI,EAAE,CAAC;AACrB,KAAC,CAAC;AACJ;;ACjBgB,SAAA,cAAc,CAAuB,GAAQ,EAAE,GAAM,EAAA;AACnE,IAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC;;ACSM,SAAU,UAAU,CACxB,OAAU,EACV,SAAkB,EAClB,iBAAiB,GAAG,IAAI,EAAA;AAExB,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC5B,QAAA,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE;AAC/C,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,SAAS,IAAI,OAAO,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;AAC5F,KAAA;AACH;;AC1BA;;AAEG;;;;"}
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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"}