@odx/angular 1.0.0-rc.8 → 1.0.0

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 (749) hide show
  1. package/README.md +6 -6
  2. package/cdk/a11y/README.md +3 -0
  3. package/cdk/a11y/index.d.ts +2 -0
  4. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  5. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  6. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  7. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +10 -0
  8. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  9. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +2 -2
  10. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +1 -1
  11. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +1 -1
  12. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -1
  13. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +3 -3
  14. package/cdk/connected-overlay/lib/helpers/index.d.ts +0 -2
  15. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +4 -2
  16. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  17. package/cdk/custom-form-control/lib/custom-form-control.d.ts +5 -1
  18. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +1 -1
  19. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +1 -1
  20. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  21. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
  22. package/cdk/expandable/index.d.ts +1 -0
  23. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  24. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  25. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  26. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  27. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  28. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  29. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -2
  30. package/components/accordion/lib/accordion.component.d.ts +1 -1
  31. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  32. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  33. package/components/action-group/action-group.component.d.ts +1 -1
  34. package/components/area-header/area-header.component.d.ts +1 -1
  35. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  36. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  37. package/components/area-header/models/area-header-size.d.ts +1 -1
  38. package/components/avatar/lib/avatar.component.d.ts +3 -2
  39. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  40. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  41. package/components/avatar/lib/models/index.d.ts +1 -0
  42. package/components/badge/lib/badge.component.d.ts +7 -17
  43. package/components/badge/lib/badge.directive.d.ts +17 -13
  44. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  45. package/components/badge/lib/models/index.d.ts +0 -1
  46. package/components/bar/README.md +3 -0
  47. package/components/bar/index.d.ts +5 -0
  48. package/components/bar/lib/bar.component.d.ts +6 -0
  49. package/components/bar/lib/bar.module.d.ts +10 -0
  50. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  51. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  52. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  53. package/components/breadcrumbs/README.md +3 -0
  54. package/components/breadcrumbs/index.d.ts +1 -0
  55. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  56. package/components/button/index.d.ts +1 -0
  57. package/components/button/lib/button.component.d.ts +3 -4
  58. package/components/button/lib/directives/index.d.ts +1 -0
  59. package/components/button/lib/directives/responsive-button.directive.d.ts +6 -0
  60. package/components/button/lib/models/button-size.d.ts +1 -1
  61. package/components/button/lib/models/button-variant.d.ts +1 -1
  62. package/components/button-group/lib/button-group.component.d.ts +1 -1
  63. package/components/card/README.md +3 -0
  64. package/components/card/index.d.ts +5 -0
  65. package/components/card/lib/card.component.d.ts +20 -0
  66. package/components/card/lib/card.module.d.ts +16 -0
  67. package/components/card/lib/components/card-footer/card-footer.component.d.ts +5 -0
  68. package/components/card/lib/components/index.d.ts +2 -0
  69. package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +5 -0
  70. package/components/card/lib/directives/card-content.directive.d.ts +5 -0
  71. package/components/card/lib/directives/card-title.directive.d.ts +5 -0
  72. package/components/card/lib/directives/index.d.ts +2 -0
  73. package/components/card/lib/models/card-variant.d.ts +6 -0
  74. package/components/card/lib/models/index.d.ts +1 -0
  75. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  76. package/components/checkbox/lib/checkbox.validator.d.ts +1 -1
  77. package/components/chip/lib/chip.component.d.ts +1 -1
  78. package/components/chip/lib/models/chip-size.d.ts +1 -1
  79. package/components/chip/lib/models/chip-variant.d.ts +1 -1
  80. package/components/circular-progress/lib/circular-progress.component.d.ts +3 -2
  81. package/components/circular-progress/lib/models/circular-progress-size.d.ts +1 -1
  82. package/components/content-box/lib/content-box.component.d.ts +1 -1
  83. package/components/content-box/lib/content-box.module.d.ts +2 -2
  84. package/components/content-box/lib/directives/{content-box-footer-directive.d.ts → content-box-footer.directive.d.ts} +1 -1
  85. package/components/content-box/lib/directives/{content-box-header-directive.d.ts → content-box-header.directive.d.ts} +1 -1
  86. package/components/content-box/lib/directives/index.d.ts +2 -2
  87. package/components/dropdown/index.d.ts +1 -0
  88. package/components/dropdown/lib/dropdown.component.d.ts +2 -1
  89. package/components/dropdown/lib/dropdown.directive.d.ts +11 -5
  90. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  91. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  92. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  93. package/components/dropdown/lib/models/dropdown-options.d.ts +1 -1
  94. package/components/dropdown/lib/models/index.d.ts +1 -0
  95. package/components/form-field/index.d.ts +1 -0
  96. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  97. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -1
  98. package/components/form-field/lib/directives/form-field-control.directive.d.ts +1 -1
  99. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  100. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  101. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  102. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  103. package/components/form-field/lib/form-field.component.d.ts +8 -2
  104. package/components/form-field/lib/form-field.config.d.ts +3 -2
  105. package/components/form-field/lib/form-field.module.d.ts +0 -4
  106. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  107. package/components/form-field/lib/models/form-field-error.d.ts +1 -0
  108. package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
  109. package/components/form-field/lib/models/index.d.ts +1 -0
  110. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  111. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  112. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  113. package/components/header/lib/header.component.d.ts +1 -1
  114. package/components/header/lib/header.module.d.ts +2 -3
  115. package/components/icon/index.d.ts +1 -0
  116. package/components/icon/lib/icon.component.d.ts +3 -5
  117. package/components/icon/lib/icon.config.d.ts +4 -0
  118. package/components/icon/lib/models/icon-size.d.ts +2 -1
  119. package/components/inline-message/index.d.ts +1 -1
  120. package/components/inline-message/lib/inline-message.component.d.ts +2 -2
  121. package/components/inline-message/lib/models/index.d.ts +1 -0
  122. package/components/inline-message/lib/models/inline-message-variant.d.ts +1 -1
  123. package/components/link/link.directive.d.ts +2 -4
  124. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +14 -0
  125. package/components/list/lib/components/index.d.ts +2 -1
  126. package/components/list/lib/components/{list-item.component.d.ts → list-item/list-item.component.d.ts} +2 -4
  127. package/components/list/lib/list.component.d.ts +5 -2
  128. package/components/list/lib/list.module.d.ts +4 -3
  129. package/components/loading-spinner/lib/loading-spinner.component.d.ts +1 -1
  130. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +5 -3
  131. package/components/logo/logo.directive.d.ts +1 -1
  132. package/components/logo/models/logo-size.d.ts +1 -1
  133. package/components/logo/models/logo-variant.d.ts +1 -1
  134. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  135. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +4 -4
  136. package/components/main-menu/lib/main-menu.component.d.ts +1 -1
  137. package/components/mainfilter-group/README.md +3 -0
  138. package/components/mainfilter-group/index.d.ts +1 -0
  139. package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +6 -0
  140. package/components/menu/README.md +3 -0
  141. package/components/menu/index.d.ts +4 -0
  142. package/components/menu/lib/directives/index.d.ts +1 -0
  143. package/components/menu/lib/directives/menu-item.directive.d.ts +8 -0
  144. package/components/menu/lib/menu.component.d.ts +11 -0
  145. package/components/menu/lib/menu.directive.d.ts +17 -0
  146. package/components/menu/lib/menu.module.d.ts +10 -0
  147. package/components/modal/index.d.ts +1 -1
  148. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  149. package/components/modal/lib/components/index.d.ts +2 -0
  150. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  151. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -1
  152. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  153. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  154. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  155. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  156. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  157. package/components/modal/lib/modal.component.d.ts +7 -3
  158. package/components/modal/lib/modal.config.d.ts +2 -2
  159. package/components/modal/lib/modal.directive.d.ts +1 -1
  160. package/components/modal/lib/modal.module.d.ts +9 -12
  161. package/components/modal/lib/modal.service.d.ts +9 -4
  162. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  163. package/components/modal/lib/models/index.d.ts +2 -0
  164. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  165. package/components/modal/lib/models/modal-options.d.ts +2 -1
  166. package/components/modal/lib/models/modal-ref.d.ts +6 -4
  167. package/components/modal/lib/models/modal-size.d.ts +2 -1
  168. package/components/modal/lib/models/modal-type.d.ts +1 -1
  169. package/components/modal/lib/models/modal-variant.d.ts +1 -1
  170. package/components/navigation-back/README.md +3 -0
  171. package/components/navigation-back/index.d.ts +1 -0
  172. package/components/navigation-back/lib/navigation-back.component.d.ts +6 -0
  173. package/components/progress/lib/progress.component.d.ts +2 -2
  174. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  175. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  176. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +2 -4
  177. package/components/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  178. package/components/select/lib/abstract/select-control-option.d.ts +2 -0
  179. package/components/select/lib/abstract/select-control.d.ts +1 -0
  180. package/components/select/lib/components/option/option.component.d.ts +6 -2
  181. package/components/select/lib/directives/select-search-field.directive.d.ts +1 -1
  182. package/components/select/lib/select.component.d.ts +12 -7
  183. package/components/slider/lib/slider.directive.d.ts +2 -3
  184. package/components/spinbox/lib/spinbox.component.d.ts +2 -2
  185. package/components/switch/lib/switch.component.d.ts +2 -1
  186. package/components/switch/lib/switch.validator.d.ts +1 -1
  187. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +6 -3
  188. package/components/tab-bar/lib/tab-bar.component.d.ts +3 -3
  189. package/components/toast/README.md +3 -0
  190. package/components/toast/index.d.ts +5 -0
  191. package/components/toast/lib/components/index.d.ts +2 -0
  192. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  193. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  194. package/components/toast/lib/models/index.d.ts +5 -0
  195. package/components/toast/lib/models/toast-action.d.ts +7 -0
  196. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  197. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  198. package/components/toast/lib/models/toast.d.ts +10 -0
  199. package/components/toast/lib/models/toast.options.d.ts +4 -0
  200. package/components/toast/lib/toast.config.d.ts +3 -0
  201. package/components/toast/lib/toast.module.d.ts +9 -0
  202. package/components/toast/lib/toast.service.d.ts +16 -0
  203. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +5 -2
  204. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +9 -4
  205. package/components/tooltip/lib/models/tooltip-size.d.ts +1 -1
  206. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -1
  207. package/components/tooltip/lib/tooltip.component.d.ts +4 -3
  208. package/components/tooltip/lib/tooltip.directive.d.ts +4 -4
  209. package/esm2020/animations/lib/expand.mjs +6 -4
  210. package/esm2020/cdk/a11y/index.mjs +3 -0
  211. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  212. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  213. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  214. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +26 -0
  215. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  216. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  217. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +4 -4
  218. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +16 -12
  219. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +12 -8
  220. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +5 -5
  221. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +6 -8
  222. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +1 -3
  223. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +4 -2
  224. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
  225. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +44 -20
  226. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  227. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +7 -5
  228. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  229. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +15 -4
  230. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +2 -2
  231. package/esm2020/cdk/expandable/index.mjs +2 -1
  232. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  233. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  234. package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
  235. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  236. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  237. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  238. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +10 -10
  239. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
  240. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
  241. package/esm2020/components/accordion/lib/accordion.component.mjs +7 -7
  242. package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
  243. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  244. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
  245. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  246. package/esm2020/components/area-header/area-header.component.mjs +7 -6
  247. package/esm2020/components/area-header/area-header.module.mjs +5 -5
  248. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
  249. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
  250. package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
  251. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  252. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  253. package/esm2020/components/badge/lib/badge.component.mjs +18 -65
  254. package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
  255. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  256. package/esm2020/components/bar/index.mjs +6 -0
  257. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  258. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  259. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +38 -0
  260. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  261. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  262. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  263. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  264. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  265. package/esm2020/components/{launch-tile/odx-angular-components-launch-tile.mjs → breadcrumbs/odx-angular-components-breadcrumbs.mjs} +1 -1
  266. package/esm2020/components/button/index.mjs +2 -1
  267. package/esm2020/components/button/lib/button.component.mjs +12 -18
  268. package/esm2020/components/button/lib/directives/index.mjs +2 -0
  269. package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +24 -0
  270. package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
  271. package/esm2020/components/card/index.mjs +6 -0
  272. package/esm2020/components/card/lib/card.component.mjs +67 -0
  273. package/esm2020/components/card/lib/card.module.mjs +53 -0
  274. package/esm2020/components/card/lib/components/card-footer/card-footer.component.mjs +13 -0
  275. package/esm2020/components/card/lib/components/index.mjs +3 -0
  276. package/esm2020/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +13 -0
  277. package/esm2020/components/card/lib/directives/card-content.directive.mjs +17 -0
  278. package/esm2020/components/card/lib/directives/card-title.directive.mjs +17 -0
  279. package/esm2020/components/card/lib/directives/index.mjs +3 -0
  280. package/esm2020/components/card/lib/models/card-variant.mjs +6 -0
  281. package/esm2020/components/card/lib/models/index.mjs +2 -0
  282. package/esm2020/components/card/odx-angular-components-card.mjs +5 -0
  283. package/esm2020/components/checkbox/lib/checkbox.component.mjs +8 -7
  284. package/esm2020/components/checkbox/lib/checkbox.module.mjs +5 -5
  285. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +4 -4
  286. package/esm2020/components/chip/lib/chip.component.mjs +5 -5
  287. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +9 -7
  288. package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
  289. package/esm2020/components/content-box/lib/content-box.module.mjs +7 -7
  290. package/esm2020/components/content-box/lib/directives/{content-box-footer-directive.mjs → content-box-footer.directive.mjs} +4 -4
  291. package/esm2020/components/content-box/lib/directives/{content-box-header-directive.mjs → content-box-header.directive.mjs} +4 -4
  292. package/esm2020/components/content-box/lib/directives/index.mjs +3 -3
  293. package/esm2020/components/dropdown/index.mjs +2 -1
  294. package/esm2020/components/dropdown/lib/dropdown.component.mjs +15 -6
  295. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +38 -18
  296. package/esm2020/components/dropdown/lib/dropdown.module.mjs +5 -5
  297. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  298. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  299. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  300. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +3 -2
  301. package/esm2020/components/dropdown/lib/models/index.mjs +2 -1
  302. package/esm2020/components/form-field/index.mjs +2 -1
  303. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
  304. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +4 -4
  305. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +6 -6
  306. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
  307. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  308. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
  309. package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
  310. package/esm2020/components/form-field/lib/form-field.component.mjs +29 -11
  311. package/esm2020/components/form-field/lib/form-field.config.mjs +4 -3
  312. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
  313. package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
  314. package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
  315. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
  316. package/esm2020/components/form-field/lib/models/index.mjs +2 -1
  317. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
  318. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  319. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
  320. package/esm2020/components/header/lib/header.component.mjs +5 -6
  321. package/esm2020/components/header/lib/header.module.mjs +7 -11
  322. package/esm2020/components/icon/index.mjs +2 -1
  323. package/esm2020/components/icon/lib/icon.component.mjs +12 -21
  324. package/esm2020/components/icon/lib/icon.config.mjs +5 -0
  325. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  326. package/esm2020/components/inline-message/index.mjs +2 -2
  327. package/esm2020/components/inline-message/lib/inline-message.component.mjs +9 -10
  328. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  329. package/esm2020/components/link/link.directive.mjs +7 -14
  330. package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +49 -0
  331. package/esm2020/components/list/lib/components/index.mjs +3 -2
  332. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  333. package/esm2020/components/list/lib/list.component.mjs +30 -11
  334. package/esm2020/components/list/lib/list.module.mjs +7 -7
  335. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +4 -4
  336. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +18 -11
  337. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +5 -5
  338. package/esm2020/components/logo/logo.directive.mjs +8 -6
  339. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
  340. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +15 -13
  341. package/esm2020/components/main-menu/lib/main-menu.component.mjs +9 -9
  342. package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
  343. package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
  344. package/esm2020/components/mainfilter-group/index.mjs +2 -0
  345. package/esm2020/components/mainfilter-group/lib/mainfilter-group.component.mjs +21 -0
  346. package/esm2020/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +5 -0
  347. package/esm2020/components/menu/index.mjs +5 -0
  348. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  349. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +37 -0
  350. package/esm2020/components/menu/lib/menu.component.mjs +46 -0
  351. package/esm2020/components/menu/lib/menu.directive.mjs +58 -0
  352. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  353. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  354. package/esm2020/components/modal/index.mjs +2 -2
  355. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  356. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  357. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
  358. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +5 -5
  359. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  360. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  361. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
  362. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
  363. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  364. package/esm2020/components/modal/lib/modal.component.mjs +20 -10
  365. package/esm2020/components/modal/lib/modal.config.mjs +4 -3
  366. package/esm2020/components/modal/lib/modal.directive.mjs +4 -4
  367. package/esm2020/components/modal/lib/modal.module.mjs +33 -15
  368. package/esm2020/components/modal/lib/modal.service.mjs +46 -26
  369. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  370. package/esm2020/components/modal/lib/models/index.mjs +3 -1
  371. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  372. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  373. package/esm2020/components/modal/lib/models/modal-ref.mjs +20 -12
  374. package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
  375. package/esm2020/components/navigation-back/index.mjs +2 -0
  376. package/esm2020/components/navigation-back/lib/navigation-back.component.mjs +22 -0
  377. package/esm2020/components/navigation-back/odx-angular-components-navigation-back.mjs +5 -0
  378. package/esm2020/components/progress/lib/progress.component.mjs +6 -6
  379. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  380. package/esm2020/components/radio-group/lib/radio-group.component.mjs +9 -9
  381. package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
  382. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +8 -13
  383. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +4 -4
  384. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +5 -5
  385. package/esm2020/components/select/lib/abstract/select-control-option.mjs +1 -1
  386. package/esm2020/components/select/lib/abstract/select-control.mjs +1 -1
  387. package/esm2020/components/select/lib/components/option/option.component.mjs +38 -21
  388. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +4 -4
  389. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +4 -4
  390. package/esm2020/components/select/lib/select.component.mjs +85 -42
  391. package/esm2020/components/select/lib/select.module.mjs +5 -5
  392. package/esm2020/components/slider/lib/slider.directive.mjs +7 -10
  393. package/esm2020/components/spinbox/lib/spinbox.component.mjs +9 -9
  394. package/esm2020/components/switch/lib/switch.component.mjs +8 -7
  395. package/esm2020/components/switch/lib/switch.module.mjs +5 -5
  396. package/esm2020/components/switch/lib/switch.validator.mjs +4 -4
  397. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +18 -9
  398. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +10 -11
  399. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +5 -5
  400. package/esm2020/components/toast/index.mjs +6 -0
  401. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  402. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  403. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +75 -0
  404. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  405. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  406. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  407. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  408. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  409. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  410. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  411. package/esm2020/components/toast/lib/toast.module.mjs +18 -0
  412. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  413. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  414. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +14 -12
  415. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +32 -13
  416. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
  417. package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
  418. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +11 -12
  419. package/esm2020/internal/decorators/css-component.mjs +3 -8
  420. package/esm2020/internal/decorators/css-modifier.mjs +21 -18
  421. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  422. package/esm2020/internal/helpers/deepmerge.mjs +6 -0
  423. package/esm2020/internal/helpers/index.mjs +3 -1
  424. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
  425. package/esm2020/lib/controllers/controller.mjs +6 -6
  426. package/esm2020/lib/controllers/disabled.controller.mjs +29 -44
  427. package/esm2020/lib/controllers/readonly.controller.mjs +31 -22
  428. package/esm2020/lib/core.module.mjs +7 -6
  429. package/esm2020/lib/directives/click-outside.directive.mjs +17 -13
  430. package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
  431. package/esm2020/lib/directives/index.mjs +4 -1
  432. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  433. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  434. package/esm2020/lib/services/window-ref.mjs +18 -7
  435. package/esm2020/theming/index.mjs +5 -0
  436. package/esm2020/theming/lib/helpers/index.mjs +4 -0
  437. package/esm2020/theming/lib/helpers/prefers-dark-theme.mjs +4 -0
  438. package/esm2020/theming/lib/helpers/resolve-theme.mjs +5 -0
  439. package/esm2020/theming/lib/helpers/theme-storage.mjs +19 -0
  440. package/esm2020/theming/lib/models/index.mjs +2 -0
  441. package/esm2020/theming/lib/models/theme.mjs +6 -0
  442. package/esm2020/theming/lib/theming.config.mjs +21 -0
  443. package/esm2020/theming/lib/theming.service.mjs +42 -0
  444. package/esm2020/theming/odx-angular-theming.mjs +5 -0
  445. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  446. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  447. package/esm2020/utils/lib/helpers/dom.mjs +9 -2
  448. package/esm2020/utils/lib/helpers/event-manager.mjs +4 -4
  449. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  450. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  451. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  452. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  453. package/esm2020/utils/lib/helpers/index.mjs +8 -2
  454. package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
  455. package/esm2020/utils/lib/helpers/queue.mjs +49 -0
  456. package/esm2020/utils/lib/types/axis.mjs +5 -0
  457. package/esm2020/utils/lib/types/index.mjs +4 -1
  458. package/esm2020/utils/lib/types/position.mjs +15 -0
  459. package/esm2020/utils/lib/types/side.mjs +7 -0
  460. package/fesm2015/odx-angular-animations.mjs +5 -3
  461. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  462. package/fesm2015/odx-angular-cdk-a11y.mjs +131 -0
  463. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  464. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  465. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -1
  466. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +16 -12
  467. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  468. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +20 -33
  469. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  470. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +47 -24
  471. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  472. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +26 -12
  473. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  474. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  475. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  476. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +26 -23
  477. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  478. package/fesm2015/odx-angular-components-accordion.mjs +20 -18
  479. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  480. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  481. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  482. package/fesm2015/odx-angular-components-area-header.mjs +16 -15
  483. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  484. package/fesm2015/odx-angular-components-avatar.mjs +18 -7
  485. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  486. package/fesm2015/odx-angular-components-badge.mjs +63 -97
  487. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  488. package/fesm2015/odx-angular-components-bar.mjs +95 -0
  489. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  490. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  491. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  492. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  493. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
  494. package/fesm2015/odx-angular-components-button.mjs +35 -19
  495. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  496. package/fesm2015/odx-angular-components-card.mjs +174 -0
  497. package/fesm2015/odx-angular-components-card.mjs.map +1 -0
  498. package/fesm2015/odx-angular-components-checkbox.mjs +14 -13
  499. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  500. package/fesm2015/odx-angular-components-chip.mjs +4 -4
  501. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  502. package/fesm2015/odx-angular-components-circular-progress.mjs +8 -6
  503. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
  504. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  505. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  506. package/fesm2015/odx-angular-components-dropdown.mjs +66 -27
  507. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  508. package/fesm2015/odx-angular-components-form-field.mjs +78 -61
  509. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  510. package/fesm2015/odx-angular-components-header.mjs +25 -23
  511. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  512. package/fesm2015/odx-angular-components-icon.mjs +17 -22
  513. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  514. package/fesm2015/odx-angular-components-inline-message.mjs +7 -8
  515. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
  516. package/fesm2015/odx-angular-components-link.mjs +6 -14
  517. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  518. package/fesm2015/odx-angular-components-list.mjs +74 -27
  519. package/fesm2015/odx-angular-components-list.mjs.map +1 -1
  520. package/fesm2015/odx-angular-components-loading-spinner.mjs +26 -18
  521. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  522. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  523. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  524. package/fesm2015/odx-angular-components-main-menu.mjs +59 -59
  525. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  526. package/fesm2015/odx-angular-components-mainfilter-group.mjs +27 -0
  527. package/fesm2015/odx-angular-components-mainfilter-group.mjs.map +1 -0
  528. package/fesm2015/odx-angular-components-menu.mjs +144 -0
  529. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  530. package/fesm2015/odx-angular-components-modal.mjs +208 -129
  531. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  532. package/fesm2015/odx-angular-components-navigation-back.mjs +28 -0
  533. package/fesm2015/odx-angular-components-navigation-back.mjs.map +1 -0
  534. package/fesm2015/odx-angular-components-progress.mjs +5 -5
  535. package/fesm2015/odx-angular-components-progress.mjs.map +1 -1
  536. package/fesm2015/odx-angular-components-radio-group.mjs +18 -19
  537. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  538. package/fesm2015/odx-angular-components-rail-navigation.mjs +14 -20
  539. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  540. package/fesm2015/odx-angular-components-select.mjs +131 -77
  541. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  542. package/fesm2015/odx-angular-components-slider.mjs +6 -9
  543. package/fesm2015/odx-angular-components-slider.mjs.map +1 -1
  544. package/fesm2015/odx-angular-components-spinbox.mjs +10 -10
  545. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
  546. package/fesm2015/odx-angular-components-switch.mjs +14 -13
  547. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  548. package/fesm2015/odx-angular-components-tab-bar.mjs +31 -23
  549. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  550. package/fesm2015/odx-angular-components-toast.mjs +215 -0
  551. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  552. package/fesm2015/odx-angular-components-toggle-button-group.mjs +50 -26
  553. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  554. package/fesm2015/odx-angular-components-tooltip.mjs +13 -14
  555. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
  556. package/fesm2015/odx-angular-internal.mjs +69 -53
  557. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  558. package/fesm2015/odx-angular-theming.mjs +99 -0
  559. package/fesm2015/odx-angular-theming.mjs.map +1 -0
  560. package/fesm2015/odx-angular-utils.mjs +148 -18
  561. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  562. package/fesm2015/odx-angular.mjs +200 -92
  563. package/fesm2015/odx-angular.mjs.map +1 -1
  564. package/fesm2020/odx-angular-animations.mjs +5 -3
  565. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  566. package/fesm2020/odx-angular-cdk-a11y.mjs +127 -0
  567. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  568. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  569. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -1
  570. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +16 -12
  571. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  572. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +20 -33
  573. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  574. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +47 -24
  575. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  576. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +25 -12
  577. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  578. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  579. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  580. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +26 -23
  581. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  582. package/fesm2020/odx-angular-components-accordion.mjs +20 -18
  583. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  584. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  585. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  586. package/fesm2020/odx-angular-components-area-header.mjs +16 -15
  587. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  588. package/fesm2020/odx-angular-components-avatar.mjs +18 -7
  589. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  590. package/fesm2020/odx-angular-components-badge.mjs +60 -90
  591. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  592. package/fesm2020/odx-angular-components-bar.mjs +95 -0
  593. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  594. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  595. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  596. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  597. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
  598. package/fesm2020/odx-angular-components-button.mjs +35 -19
  599. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  600. package/fesm2020/odx-angular-components-card.mjs +173 -0
  601. package/fesm2020/odx-angular-components-card.mjs.map +1 -0
  602. package/fesm2020/odx-angular-components-checkbox.mjs +14 -13
  603. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  604. package/fesm2020/odx-angular-components-chip.mjs +4 -4
  605. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  606. package/fesm2020/odx-angular-components-circular-progress.mjs +8 -6
  607. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
  608. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  609. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  610. package/fesm2020/odx-angular-components-dropdown.mjs +67 -27
  611. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  612. package/fesm2020/odx-angular-components-form-field.mjs +77 -61
  613. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  614. package/fesm2020/odx-angular-components-header.mjs +25 -23
  615. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  616. package/fesm2020/odx-angular-components-icon.mjs +17 -22
  617. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  618. package/fesm2020/odx-angular-components-inline-message.mjs +7 -8
  619. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
  620. package/fesm2020/odx-angular-components-link.mjs +6 -13
  621. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  622. package/fesm2020/odx-angular-components-list.mjs +74 -27
  623. package/fesm2020/odx-angular-components-list.mjs.map +1 -1
  624. package/fesm2020/odx-angular-components-loading-spinner.mjs +25 -18
  625. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  626. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  627. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  628. package/fesm2020/odx-angular-components-main-menu.mjs +58 -58
  629. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  630. package/fesm2020/odx-angular-components-mainfilter-group.mjs +27 -0
  631. package/fesm2020/odx-angular-components-mainfilter-group.mjs.map +1 -0
  632. package/fesm2020/odx-angular-components-menu.mjs +146 -0
  633. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  634. package/fesm2020/odx-angular-components-modal.mjs +212 -127
  635. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  636. package/fesm2020/odx-angular-components-navigation-back.mjs +28 -0
  637. package/fesm2020/odx-angular-components-navigation-back.mjs.map +1 -0
  638. package/fesm2020/odx-angular-components-progress.mjs +5 -5
  639. package/fesm2020/odx-angular-components-progress.mjs.map +1 -1
  640. package/fesm2020/odx-angular-components-radio-group.mjs +18 -19
  641. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  642. package/fesm2020/odx-angular-components-rail-navigation.mjs +14 -19
  643. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  644. package/fesm2020/odx-angular-components-select.mjs +131 -71
  645. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  646. package/fesm2020/odx-angular-components-slider.mjs +6 -9
  647. package/fesm2020/odx-angular-components-slider.mjs.map +1 -1
  648. package/fesm2020/odx-angular-components-spinbox.mjs +9 -9
  649. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
  650. package/fesm2020/odx-angular-components-switch.mjs +14 -13
  651. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  652. package/fesm2020/odx-angular-components-tab-bar.mjs +29 -22
  653. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  654. package/fesm2020/odx-angular-components-toast.mjs +214 -0
  655. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  656. package/fesm2020/odx-angular-components-toggle-button-group.mjs +47 -26
  657. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  658. package/fesm2020/odx-angular-components-tooltip.mjs +13 -14
  659. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
  660. package/fesm2020/odx-angular-internal.mjs +67 -51
  661. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  662. package/fesm2020/odx-angular-theming.mjs +96 -0
  663. package/fesm2020/odx-angular-theming.mjs.map +1 -0
  664. package/fesm2020/odx-angular-utils.mjs +143 -18
  665. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  666. package/fesm2020/odx-angular.mjs +193 -88
  667. package/fesm2020/odx-angular.mjs.map +1 -1
  668. package/internal/decorators/css-component.d.ts +1 -2
  669. package/internal/decorators/css-modifier.d.ts +0 -1
  670. package/internal/helpers/decorator-property-name.d.ts +1 -0
  671. package/internal/helpers/deepmerge.d.ts +10 -0
  672. package/internal/helpers/index.d.ts +2 -0
  673. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  674. package/lib/controllers/controller.d.ts +1 -1
  675. package/lib/controllers/disabled.controller.d.ts +5 -7
  676. package/lib/controllers/readonly.controller.d.ts +5 -2
  677. package/lib/core.module.d.ts +2 -1
  678. package/lib/directives/click-outside.directive.d.ts +3 -4
  679. package/lib/directives/delegate-focus.directive.d.ts +11 -0
  680. package/lib/directives/index.d.ts +3 -0
  681. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  682. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  683. package/lib/services/window-ref.d.ts +5 -0
  684. package/lib/tokens/identity-matcher.d.ts +1 -1
  685. package/lib/tokens/string-search-handler.d.ts +1 -1
  686. package/lib/tokens/stringify.d.ts +1 -1
  687. package/package.json +85 -19
  688. package/theming/README.md +3 -0
  689. package/theming/index.d.ts +4 -0
  690. package/theming/lib/helpers/index.d.ts +3 -0
  691. package/theming/lib/helpers/prefers-dark-theme.d.ts +1 -0
  692. package/theming/lib/helpers/resolve-theme.d.ts +2 -0
  693. package/theming/lib/helpers/theme-storage.d.ts +4 -0
  694. package/theming/lib/models/index.d.ts +1 -0
  695. package/theming/lib/models/theme.d.ts +6 -0
  696. package/theming/lib/theming.config.d.ts +10 -0
  697. package/theming/lib/theming.service.d.ts +16 -0
  698. package/utils/lib/decorators/transform.d.ts +2 -2
  699. package/utils/lib/helpers/build-url.d.ts +1 -0
  700. package/utils/lib/helpers/dom.d.ts +1 -0
  701. package/utils/lib/helpers/get-axis.d.ts +2 -0
  702. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  703. package/utils/lib/helpers/get-side.d.ts +2 -0
  704. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  705. package/utils/lib/helpers/index.d.ts +7 -1
  706. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  707. package/utils/lib/helpers/provide-config.d.ts +12 -0
  708. package/utils/lib/helpers/queue.d.ts +22 -0
  709. package/utils/lib/types/axis.d.ts +5 -0
  710. package/utils/lib/types/get-properties.d.ts +2 -2
  711. package/utils/lib/types/index.d.ts +3 -0
  712. package/utils/lib/types/position.d.ts +15 -0
  713. package/utils/lib/types/side.d.ts +7 -0
  714. package/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.d.ts +0 -2
  715. package/cdk/connected-overlay/lib/helpers/get-overlay-side.d.ts +0 -2
  716. package/components/badge/lib/badge.config.d.ts +0 -3
  717. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  718. package/components/badge/lib/facade/index.d.ts +0 -1
  719. package/components/badge/lib/models/badge-position.d.ts +0 -5
  720. package/components/launch-tile/README.md +0 -3
  721. package/components/launch-tile/index.d.ts +0 -5
  722. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +0 -5
  723. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +0 -5
  724. package/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.d.ts +0 -5
  725. package/components/launch-tile/lib/launch-tile.component.d.ts +0 -11
  726. package/components/launch-tile/lib/launch-tile.module.d.ts +0 -16
  727. package/components/modal/lib/services/index.d.ts +0 -1
  728. package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
  729. package/esm2020/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.mjs +0 -13
  730. package/esm2020/cdk/connected-overlay/lib/helpers/get-overlay-side.mjs +0 -4
  731. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  732. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  733. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  734. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  735. package/esm2020/components/launch-tile/index.mjs +0 -6
  736. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +0 -13
  737. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +0 -13
  738. package/esm2020/components/launch-tile/lib/directives/launch-tile-menu/launch-tile-menu.directive.mjs +0 -17
  739. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +0 -40
  740. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +0 -59
  741. package/esm2020/components/list/lib/components/list-item.component.mjs +0 -46
  742. package/esm2020/components/modal/lib/services/index.mjs +0 -2
  743. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
  744. package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
  745. package/fesm2015/odx-angular-components-launch-tile.mjs +0 -133
  746. package/fesm2015/odx-angular-components-launch-tile.mjs.map +0 -1
  747. package/fesm2020/odx-angular-components-launch-tile.mjs +0 -132
  748. package/fesm2020/odx-angular-components-launch-tile.mjs.map +0 -1
  749. package/utils/lib/helpers/provide-module-config.d.ts +0 -12
@@ -13,8 +13,8 @@ let TooltipComponent = class TooltipComponent {
13
13
  this.size = TooltipSize.AUTO;
14
14
  }
15
15
  };
16
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TooltipComponent, isStandalone: true, selector: "odx-tooltip", inputs: { id: "id", content: "content", size: "size" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "id" } }, ngImport: i0, template: "<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n", dependencies: [{ kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TooltipComponent, isStandalone: true, selector: "odx-tooltip", inputs: { id: "id", content: "content", size: "size" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "id" } }, ngImport: i0, template: "<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n", dependencies: [{ kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
18
  __decorate([
19
19
  CSSModifier(),
20
20
  __metadata("design:type", String)
@@ -23,7 +23,7 @@ TooltipComponent = __decorate([
23
23
  CSSComponent('tooltip')
24
24
  ], TooltipComponent);
25
25
  export { TooltipComponent };
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ standalone: true, selector: 'odx-tooltip', imports: [DynamicViewDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
29
29
  '[attr.id]': 'id',
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
36
36
  }], size: [{
37
37
  type: Input
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQWVoQyxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUF0QjtRQUNjLGFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFHbkMsT0FBRSxHQUFrQixJQUFJLENBQUM7UUFPekIsU0FBSSxHQUFnQixXQUFXLENBQUMsSUFBSSxDQUFDO0tBQzdDOzs4R0FiWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiw2TUNuQjdCLGtHQUNBLDRDRFNZLG9CQUFvQjtBQW1COUI7SUFBQyxXQUFXLEVBQUU7OzhDQUU4QjtBQVpqQyxnQkFBZ0I7SUFiNUIsWUFBWSxDQUFDLFNBQVMsQ0FBQztHQWFYLGdCQUFnQixDQWE1QjtTQWJZLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVo1QixTQUFTO2lDQUNJLElBQUksWUFDTixhQUFhLFdBQ2QsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFFaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixXQUFXLEVBQUUsSUFBSTt3QkFDakIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCOzhCQU9NLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBS0MsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBnZXRJbmplY3RvciwgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBUb29sdGlwU2l6ZSB9IGZyb20gJy4vbW9kZWxzJztcblxuQENTU0NvbXBvbmVudCgndG9vbHRpcCcpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtdG9vbHRpcCcsXG4gIGltcG9ydHM6IFtEeW5hbWljVmlld0RpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICByb2xlOiAndG9vbHRpcCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBnZXRJbmplY3RvcigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250ZW50PzogRHluYW1pY1RleHRDb250ZW50IHwgbnVsbDtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogVG9vbHRpcFNpemUgPSBUb29sdGlwU2l6ZS5BVVRPO1xufVxuIiwiPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJjb250ZW50XCIgW29keER5bmFtaWNWaWV3SW5qZWN0b3JdPVwiaW5qZWN0b3JcIj48L25nLXRlbXBsYXRlPlxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQWVoQyxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUF0QjtRQUNjLGFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFHbkMsT0FBRSxHQUFrQixJQUFJLENBQUM7UUFPekIsU0FBSSxHQUFnQixXQUFXLENBQUMsSUFBSSxDQUFDO0tBQzdDOzs2R0FiWSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiw2TUNuQjdCLGtHQUNBLDRDRFNZLG9CQUFvQjtBQW1COUI7SUFBQyxXQUFXLEVBQUU7OzhDQUU4QjtBQVpqQyxnQkFBZ0I7SUFiNUIsWUFBWSxDQUFDLFNBQVMsQ0FBQztHQWFYLGdCQUFnQixDQWE1QjtTQWJZLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQVo1QixTQUFTO2lDQUNJLElBQUksWUFDTixhQUFhLFdBQ2QsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFFaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixXQUFXLEVBQUUsSUFBSTt3QkFDakIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCOzhCQU9NLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBS0MsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFR5cGUsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljQ29udGVudCwgRHluYW1pY1ZpZXdEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGdldEluamVjdG9yLCBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IFRvb2x0aXBTaXplIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCd0b29sdGlwJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC10b29sdGlwJyxcbiAgaW1wb3J0czogW0R5bmFtaWNWaWV3RGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIHJvbGU6ICd0b29sdGlwJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvciA9IGdldEluamVjdG9yKCk7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRlbnQ/OiBFeGNsdWRlPER5bmFtaWNDb250ZW50LCBUeXBlPHVua25vd24+PiB8IG51bGw7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KClcbiAgcHVibGljIHNpemU6IFRvb2x0aXBTaXplID0gVG9vbHRpcFNpemUuQVVUTztcbn1cbiIsIjxuZy10ZW1wbGF0ZSBbb2R4RHluYW1pY1ZpZXddPVwiY29udGVudFwiIFtvZHhEeW5hbWljVmlld0luamVjdG9yXT1cImluamVjdG9yXCI+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -3,16 +3,21 @@ import { __decorate, __metadata } from "tslib";
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { Directive, inject, Input } from '@angular/core';
5
5
  import { ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';
6
- import { CSSComponent } from '@odx/angular/internal';
6
+ import { CSSComponent, deepmerge } from '@odx/angular/internal';
7
7
  import { delayUntil } from '@odx/angular/rxjs';
8
8
  import { EventManager, hasChanged, injectElement, Transform, untilDestroyed } from '@odx/angular/utils';
9
- import { deepmerge } from 'deepmerge-ts';
10
9
  import { filter, merge, Subject, tap } from 'rxjs';
11
10
  import { resolveTooltipTriggerEvents } from './helpers';
12
11
  import { DefaultTooltipOptions } from './models';
13
12
  import { TooltipComponent } from './tooltip.component';
14
13
  import * as i0 from "@angular/core";
15
14
  let TooltipDirective = TooltipDirective_1 = class TooltipDirective {
15
+ set options(value) {
16
+ this.tooltipOptions = deepmerge(DefaultTooltipOptions, value);
17
+ }
18
+ get isOpen() {
19
+ return this.connectedOverlayRef !== null;
20
+ }
16
21
  constructor() {
17
22
  this.eventManager = inject(EventManager);
18
23
  this.connectedOverlayService = inject(ConnectedOverlayService);
@@ -31,12 +36,6 @@ let TooltipDirective = TooltipDirective_1 = class TooltipDirective {
31
36
  const hide$ = this.hideTrigger$$.pipe(filter(() => this.isOpen), delayUntil(() => this.tooltipOptions.delayOut, this.showTrigger$$), tap(() => this.hide()));
32
37
  merge(show$, hide$).pipe(takeUntilDestroyed()).subscribe();
33
38
  }
34
- set options(value) {
35
- this.tooltipOptions = deepmerge(DefaultTooltipOptions, value);
36
- }
37
- get isOpen() {
38
- return this.connectedOverlayRef !== null;
39
- }
40
39
  ngOnInit() {
41
40
  this.registerEvents();
42
41
  }
@@ -87,8 +86,8 @@ let TooltipDirective = TooltipDirective_1 = class TooltipDirective {
87
86
  }
88
87
  };
89
88
  TooltipDirective.ID = 0;
90
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
91
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TooltipDirective, isStandalone: true, selector: "[odxTooltip]", inputs: { content: ["odxTooltip", "content"], disabled: ["odxTooltipDisabled", "disabled"], options: ["odxTooltipOptions", "options"], size: ["odxTooltipSize", "size"], visible: ["odxTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "tooltipId" } }, providers: [EventManager], exportAs: ["odxTooltip"], usesOnChanges: true, ngImport: i0 });
89
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
90
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TooltipDirective, isStandalone: true, selector: "[odxTooltip]", inputs: { content: ["odxTooltip", "content"], disabled: ["odxTooltipDisabled", "disabled"], options: ["odxTooltipOptions", "options"], size: ["odxTooltipSize", "size"], visible: ["odxTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "tooltipId" } }, providers: [EventManager], exportAs: ["odxTooltip"], usesOnChanges: true, ngImport: i0 });
92
91
  __decorate([
93
92
  Transform(coerceBooleanProperty),
94
93
  __metadata("design:type", Object)
@@ -102,7 +101,7 @@ TooltipDirective = TooltipDirective_1 = __decorate([
102
101
  __metadata("design:paramtypes", [])
103
102
  ], TooltipDirective);
104
103
  export { TooltipDirective };
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipDirective, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TooltipDirective, decorators: [{
106
105
  type: Directive,
107
106
  args: [{
108
107
  standalone: true,
@@ -129,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
129
128
  type: Input,
130
129
  args: ['odxTooltipVisible']
131
130
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUErQixNQUFNLFVBQVUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFZaEQsSUFBTSxnQkFBZ0Isd0JBQXRCLE1BQU0sZ0JBQWdCO0lBdUMzQjtRQWpDaUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUQsa0JBQWEsR0FBRyxJQUFJ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ZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVJlZiwgQ29ubmVjdGVkT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2Nvbm5lY3RlZC1vdmVybGF5JztcbmltcG9ydCB7IER5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWxheVVudGlsIH0gZnJvbSAnQG9keC9hbmd1bGFyL3J4anMnO1xuaW1wb3J0IHsgRXZlbnRNYW5hZ2VyLCBoYXNDaGFuZ2VkLCBpbmplY3RFbGVtZW50LCBOZ0NoYW5nZXMsIFRyYW5zZm9ybSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnZGVlcG1lcmdlLXRzJztcbmltcG9ydCB7IGZpbHRlciwgbWVyZ2UsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgcmVzb2x2ZVRvb2x0aXBUcmlnZ2VyRXZlbnRzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IERlZmF1bHRUb29sdGlwT3B0aW9ucywgVG9vbHRpcE9wdGlvbnMsIFRvb2x0aXBTaXplIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ1NTQ29tcG9uZW50KCd0b29sdGlwLWhvc3QnKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW29keFRvb2x0aXBdJyxcbiAgZXhwb3J0QXM6ICdvZHhUb29sdGlwJyxcbiAgcHJvdmlkZXJzOiBbRXZlbnRNYW5hZ2VyXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICd0b29sdGlwSWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHN0YXRpYyBJRCA9IDA7XG5cbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50TWFuYWdlciA9IGluamVjdChFdmVudE1hbmFnZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KENvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaG93VHJpZ2dlciQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoaWRlVHJpZ2dlciQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBjb25uZWN0ZWRPdmVybGF5UmVmOiBDb25uZWN0ZWRPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgdG9vbHRpcE9wdGlvbnMgPSBEZWZhdWx0VG9vbHRpcE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIHRvb2x0aXBJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgnb2R4VG9vbHRpcCcpXG4gIHB1YmxpYyBjb250ZW50PzogRHluYW1pY1RleHRDb250ZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VCb29sZWFuUHJvcGVydHkpXG4gIEBJbnB1dCgnb2R4VG9vbHRpcERpc2FibGVkJylcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCdvZHhUb29sdGlwT3B0aW9ucycpXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogUGFydGlhbDxUb29sdGlwT3B0aW9ucz4gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy50b29sdGlwT3B0aW9ucyA9IGRlZXBtZXJnZShEZWZhdWx0VG9vbHRpcE9wdGlvbnMsIHZhbHVlKSBhcyBUb29sdGlwT3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgnb2R4VG9vbHRpcFNpemUnKVxuICBwdWJsaWMgc2l6ZT86IFRvb2x0aXBTaXplIHwgbnVsbCA9IG51bGw7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VCb29sZWFuUHJvcGVydHkpXG4gIEBJbnB1dCgnb2R4VG9vbHRpcFZpc2libGUnKVxuICBwdWJsaWMgdmlzaWJsZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWYgIT09IG51bGw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICAgIGNvbnN0IHNob3ckID0gdGhpcy5zaG93VHJpZ2dlciQkLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMuaXNPcGVuKSxcbiAgICAgIGRlbGF5VW50aWwoKCkgPT4gdGhpcy50b29sdGlwT3B0aW9ucy5kZWxheUluLCB0aGlzLmhpZGVUcmlnZ2VyJCQpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuc2hvdygpKVxuICAgICk7XG4gICAgY29uc3QgaGlkZSQgPSB0aGlzLmhpZGVUcmlnZ2VyJCQucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzT3BlbiksXG4gICAgICBkZWxheVVudGlsKCgpID0+IHRoaXMudG9vbHRpcE9wdGlvbnMuZGVsYXlPdXQsIHRoaXMuc2hvd1RyaWdnZXIkJCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5oaWRlKCkpXG4gICAgKTtcbiAgICBtZXJnZShzaG93JCwgaGlkZSQpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8VG9vbHRpcERpcmVjdGl2ZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnZGlzYWJsZWQnKSAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgWydjb250ZW50JywgJ3NpemUnXSkpIHtcbiAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZj8udXBkYXRlKHsgY29udGV4dDogeyBjb250ZW50OiB0aGlzLmNvbnRlbnQsIHNpemU6IHRoaXMuc2l6ZSB9IH0pO1xuICAgIH1cbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnb3B0aW9ucycpKSB7XG4gICAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWY/LnVwZGF0ZSh0aGlzLnRvb2x0aXBPcHRpb25zKTtcbiAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmlzaWJsZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3BlbiB8fCB0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy50b29sdGlwSWQgPSBgb2R4LXRvb2x0aXAtJHtUb29sdGlwRGlyZWN0aXZlLklEKyt9YDtcbiAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWYgPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlLmNyZWF0ZU92ZXJsYXkodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIC4uLnRoaXMudG9vbHRpcE9wdGlvbnMsXG4gICAgICBjb250YWluZXJDbGFzczogJ29keC10b29sdGlwLW92ZXJsYXknLFxuICAgICAgY29udGVudDogVG9vbHRpcENvbXBvbmVudCxcbiAgICAgIGNvbnRleHQ6IHsgY29udGVudDogdGhpcy5jb250ZW50LCBzaXplOiB0aGlzLnNpemUsIGlkOiB0aGlzLnRvb2x0aXBJZCB9LFxuICAgICAgc2hvd0Fycm93OiB0cnVlLFxuICAgICAgZW5hYmxlRmFsbGJhY2s6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuIHx8ICh0aGlzLnZpc2libGUgJiYgIXRoaXMuZGlzYWJsZWQpKSByZXR1cm47XG4gICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5UmVmPy5jbG9zZSgpO1xuICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZiA9IG51bGw7XG4gICAgdGhpcy50b29sdGlwSWQgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckV2ZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCBbb3BlbkV2ZW50LCBjbG9zZUV2ZW50XSA9IHJlc29sdmVUb29sdGlwVHJpZ2dlckV2ZW50cyh0aGlzLnRvb2x0aXBPcHRpb25zLnRyaWdnZXIpO1xuICAgIHRoaXMuZXZlbnRNYW5hZ2VyLmRlc3Ryb3lMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmV2ZW50TWFuYWdlci5yZWdpc3Rlcihbb3BlbkV2ZW50LCAnZm9jdXNpbiddLCAoKSA9PiB0aGlzLnNob3dUcmlnZ2VyJCQubmV4dCgpKTtcbiAgICB0aGlzLmV2ZW50TWFuYWdlci5yZWdpc3RlcihbY2xvc2VFdmVudCwgJ2ZvY3Vzb3V0J10sICgpID0+IHRoaXMuaGlkZVRyaWdnZXIkJC5uZXh0KCkpO1xuICAgIHRoaXMuZXZlbnRNYW5hZ2VyLnJlZ2lzdGVyKFsna2V5dXAuZXNjJ10sICgpID0+IHRoaXMuaGlkZVRyaWdnZXIkJC5uZXh0KCksICdkb2N1bWVudCcpO1xuICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFhLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQStCLE1BQU0sVUFBVSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVloRCxJQUFNLGdCQUFnQix3QkFBdEIsTUFBTSxnQkFBZ0I7SUF1QjNCLElBQ1csT0FBTyxDQUFDLEtBQWlEO1FBQ2xFLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBbUIsQ0FBQztJQUNsRixDQUFDO0lBU0QsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEtB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LENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDOztBQXJHYyxtQkFBRSxHQUFHLENBQUMsQ0FBQzs2R0FEWCxnQkFBZ0I7aUdBQWhCLGdCQUFnQixpVkFMaEIsQ0FBQyxZQUFZLENBQUM7QUF3QnpCO0lBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDOztrREFFVDtBQVV4QjtJQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQzs7aURBRVY7QUFqQ1osZ0JBQWdCO0lBVjVCLFlBQVksQ0FBQyxjQUFjLENBQUM7O0dBVWhCLGdCQUFnQixDQXVHNUI7U0F2R1ksZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBVDVCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN6QixJQUFJLEVBQUU7d0JBQ0oseUJBQXlCLEVBQUUsV0FBVztxQkFDdkM7aUJBQ0Y7MEVBa0JRLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxZQUFZO2dCQUtaLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSWhCLE9BQU87c0JBRGpCLEtBQUs7dUJBQUMsbUJBQW1CO2dCQU1uQixJQUFJO3NCQURWLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUtoQixPQUFPO3NCQURiLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVJlZiwgQ29ubmVjdGVkT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2Nvbm5lY3RlZC1vdmVybGF5JztcbmltcG9ydCB7IER5bmFtaWNDb250ZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBkZWVwbWVyZ2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVsYXlVbnRpbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9yeGpzJztcbmltcG9ydCB7IEV2ZW50TWFuYWdlciwgaGFzQ2hhbmdlZCwgaW5qZWN0RWxlbWVudCwgTmdDaGFuZ2VzLCBUcmFuc2Zvcm0sIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGZpbHRlciwgbWVyZ2UsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgcmVzb2x2ZVRvb2x0aXBUcmlnZ2VyRXZlbnRzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IERlZmF1bHRUb29sdGlwT3B0aW9ucywgVG9vbHRpcE9wdGlvbnMsIFRvb2x0aXBTaXplIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ1NTQ29tcG9uZW50KCd0b29sdGlwLWhvc3QnKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW29keFRvb2x0aXBdJyxcbiAgZXhwb3J0QXM6ICdvZHhUb29sdGlwJyxcbiAgcHJvdmlkZXJzOiBbRXZlbnRNYW5hZ2VyXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICd0b29sdGlwSWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHN0YXRpYyBJRCA9IDA7XG5cbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50TWFuYWdlciA9IGluamVjdChFdmVudE1hbmFnZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KENvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaG93VHJpZ2dlciQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoaWRlVHJpZ2dlciQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBjb25uZWN0ZWRPdmVybGF5UmVmOiBDb25uZWN0ZWRPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgdG9vbHRpcE9wdGlvbnMgPSBEZWZhdWx0VG9vbHRpcE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIHRvb2x0aXBJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgnb2R4VG9vbHRpcCcpXG4gIHB1YmxpYyBjb250ZW50PzogRXhjbHVkZTxEeW5hbWljQ29udGVudCwgVHlwZTx1bmtub3duPj4gfCBudWxsID0gbnVsbDtcblxuICBAVHJhbnNmb3JtKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSlcbiAgQElucHV0KCdvZHhUb29sdGlwRGlzYWJsZWQnKVxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ29keFRvb2x0aXBPcHRpb25zJylcbiAgcHVibGljIHNldCBvcHRpb25zKHZhbHVlOiBQYXJ0aWFsPFRvb2x0aXBPcHRpb25zPiB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRvb2x0aXBPcHRpb25zID0gZGVlcG1lcmdlKERlZmF1bHRUb29sdGlwT3B0aW9ucywgdmFsdWUpIGFzIFRvb2x0aXBPcHRpb25zO1xuICB9XG5cbiAgQElucHV0KCdvZHhUb29sdGlwU2l6ZScpXG4gIHB1YmxpYyBzaXplPzogVG9vbHRpcFNpemUgfCBudWxsID0gbnVsbDtcblxuICBAVHJhbnNmb3JtKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSlcbiAgQElucHV0KCdvZHhUb29sdGlwVmlzaWJsZScpXG4gIHB1YmxpYyB2aXNpYmxlID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZiAhPT0gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG4gICAgY29uc3Qgc2hvdyQgPSB0aGlzLnNob3dUcmlnZ2VyJCQucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5pc09wZW4pLFxuICAgICAgZGVsYXlVbnRpbCgoKSA9PiB0aGlzLnRvb2x0aXBPcHRpb25zLmRlbGF5SW4sIHRoaXMuaGlkZVRyaWdnZXIkJCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93KCkpXG4gICAgKTtcbiAgICBjb25zdCBoaWRlJCA9IHRoaXMuaGlkZVRyaWdnZXIkJC5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuaXNPcGVuKSxcbiAgICAgIGRlbGF5VW50aWwoKCkgPT4gdGhpcy50b29sdGlwT3B0aW9ucy5kZWxheU91dCwgdGhpcy5zaG93VHJpZ2dlciQkKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmhpZGUoKSlcbiAgICApO1xuICAgIG1lcmdlKHNob3ckLCBoaWRlJCkucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxUb29sdGlwRGlyZWN0aXZlPik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdkaXNhYmxlZCcpICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ2NvbnRlbnQnLCAnc2l6ZSddKSkge1xuICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5UmVmPy51cGRhdGUoeyBjb250ZXh0OiB7IGNvbnRlbnQ6IHRoaXMuY29udGVudCwgc2l6ZTogdGhpcy5zaXplIH0gfSk7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdvcHRpb25zJykpIHtcbiAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZj8udXBkYXRlKHRoaXMudG9vbHRpcE9wdGlvbnMpO1xuICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cygpO1xuICAgIH1cbiAgICBpZiAodGhpcy52aXNpYmxlICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3coKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuIHx8IHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnRvb2x0aXBJZCA9IGBvZHgtdG9vbHRpcC0ke1Rvb2x0aXBEaXJlY3RpdmUuSUQrK31gO1xuICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZiA9IHRoaXMuY29ubmVjdGVkT3ZlcmxheVNlcnZpY2UuY3JlYXRlT3ZlcmxheSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgLi4udGhpcy50b29sdGlwT3B0aW9ucyxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiAnb2R4LXRvb2x0aXAtb3ZlcmxheScsXG4gICAgICBjb250ZW50OiBUb29sdGlwQ29tcG9uZW50LFxuICAgICAgY29udGV4dDogeyBjb250ZW50OiB0aGlzLmNvbnRlbnQsIHNpemU6IHRoaXMuc2l6ZSwgaWQ6IHRoaXMudG9vbHRpcElkIH0sXG4gICAgICBzaG93QXJyb3c6IHRydWUsXG4gICAgICBlbmFibGVGYWxsYmFjazogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc09wZW4gfHwgKHRoaXMudmlzaWJsZSAmJiAhdGhpcy5kaXNhYmxlZCkpIHJldHVybjtcbiAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWY/LmNsb3NlKCk7XG4gICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5UmVmID0gbnVsbDtcbiAgICB0aGlzLnRvb2x0aXBJZCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IFtvcGVuRXZlbnQsIGNsb3NlRXZlbnRdID0gcmVzb2x2ZVRvb2x0aXBUcmlnZ2VyRXZlbnRzKHRoaXMudG9vbHRpcE9wdGlvbnMudHJpZ2dlcik7XG4gICAgdGhpcy5ldmVudE1hbmFnZXIuZGVzdHJveUxpc3RlbmVycygpO1xuICAgIHRoaXMuZXZlbnRNYW5hZ2VyLnJlZ2lzdGVyKFtvcGVuRXZlbnQsICdmb2N1c2luJ10sICgpID0+IHRoaXMuc2hvd1RyaWdnZXIkJC5uZXh0KCkpO1xuICAgIHRoaXMuZXZlbnRNYW5hZ2VyLnJlZ2lzdGVyKFtjbG9zZUV2ZW50LCAnZm9jdXNvdXQnXSwgKCkgPT4gdGhpcy5oaWRlVHJpZ2dlciQkLm5leHQoKSk7XG4gICAgdGhpcy5ldmVudE1hbmFnZXIucmVnaXN0ZXIoWydrZXl1cC5lc2MnXSwgKCkgPT4gdGhpcy5oaWRlVHJpZ2dlciQkLm5leHQoKSwgJ2RvY3VtZW50Jyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
- export const CSS_COMPONENT_NAME = Symbol('__CSSComponentName__');
2
- export const CSS_COMPONENT_MODIFIERS = Symbol('__CSSComponentModifiers__');
1
+ import { decoratorPropertyName } from '../helpers';
2
+ export const CSS_COMPONENT_NAME = decoratorPropertyName('CSSComponent', 'name');
3
3
  /** @internal */
4
4
  /* istanbul ignore next */
5
5
  export function CSSComponent(name, prefix = 'odx') {
@@ -12,13 +12,8 @@ export function CSSComponent(name, prefix = 'odx') {
12
12
  target.prototype.ngOnInit = function () {
13
13
  this.element.nativeElement.classList.add(cssClass);
14
14
  ngOnInit?.call(this);
15
- if (Array.isArray(this[CSS_COMPONENT_MODIFIERS])) {
16
- for (const property of this[CSS_COMPONENT_MODIFIERS]) {
17
- this[property] ?? (this[property] = null);
18
- }
19
- }
20
15
  };
21
16
  })(target.prototype.ngOnInit);
22
17
  };
23
18
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9pbnRlcm5hbC9zcmMvZGVjb3JhdG9ycy9jc3MtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBTzNFLGdCQUFnQjtBQUNoQiwwQkFBMEI7QUFDMUIsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZLEVBQUUsTUFBTSxHQUFHLEtBQUs7SUFDdkQsT0FBTyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7WUFDMUQsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsQ0FBQyxVQUF5QixRQUFxQjtZQUM3QyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRztnQkFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbkQsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFckIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUU7b0JBQ2hELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEVBQUU7d0JBQ3BELElBQUksQ0FBQyxRQUFRLE1BQWIsSUFBSSxDQUFDLFFBQVEsSUFBTSxJQUFJLEVBQUM7cUJBQ3pCO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQ1NTX0NPTVBPTkVOVF9OQU1FID0gU3ltYm9sKCdfX0NTU0NvbXBvbmVudE5hbWVfXycpO1xuXG5leHBvcnQgY29uc3QgQ1NTX0NPTVBPTkVOVF9NT0RJRklFUlMgPSBTeW1ib2woJ19fQ1NTQ29tcG9uZW50TW9kaWZpZXJzX18nKTtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGludGVyZmFjZSBDU1NDb21wb25lbnQge1xuICByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmPHVua25vd24+O1xufVxuXG4vKiogQGludGVybmFsICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGZ1bmN0aW9uIENTU0NvbXBvbmVudChuYW1lOiBzdHJpbmcsIHByZWZpeCA9ICdvZHgnKSB7XG4gIHJldHVybiAodGFyZ2V0OiBUeXBlPENTU0NvbXBvbmVudD4pID0+IHtcbiAgICBjb25zdCBjc3NDbGFzcyA9IGAke3ByZWZpeH0tJHtuYW1lfWA7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldC5wcm90b3R5cGUsIENTU19DT01QT05FTlRfTkFNRSwge1xuICAgICAgdmFsdWU6IGNzc0NsYXNzLFxuICAgIH0pO1xuXG4gICAgKGZ1bmN0aW9uICh0aGlzOiB1bmtub3duLCBuZ09uSW5pdD86ICgpID0+IHZvaWQpIHtcbiAgICAgIHRhcmdldC5wcm90b3R5cGUubmdPbkluaXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBuZ09uSW5pdD8uY2FsbCh0aGlzKTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzW0NTU19DT01QT05FTlRfTU9ESUZJRVJTXSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHRoaXNbQ1NTX0NPTVBPTkVOVF9NT0RJRklFUlNdKSB7XG4gICAgICAgICAgICB0aGlzW3Byb3BlcnR5XSA/Pz0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSkodGFyZ2V0LnByb3RvdHlwZS5uZ09uSW5pdCk7XG4gIH07XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9pbnRlcm5hbC9zcmMvZGVjb3JhdG9ycy9jc3MtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFPaEYsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVksRUFBRSxNQUFNLEdBQUcsS0FBSztJQUN2RCxPQUFPLENBQUMsTUFBMEIsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLEdBQUcsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtZQUMxRCxLQUFLLEVBQUUsUUFBUTtTQUNoQixDQUFDLENBQUM7UUFFSCxDQUFDLFVBQXlCLFFBQXFCO1lBQzdDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHO2dCQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRCxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlY29yYXRvclByb3BlcnR5TmFtZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuXG5leHBvcnQgY29uc3QgQ1NTX0NPTVBPTkVOVF9OQU1FID0gZGVjb3JhdG9yUHJvcGVydHlOYW1lKCdDU1NDb21wb25lbnQnLCAnbmFtZScpO1xuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgaW50ZXJmYWNlIENTU0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWY8dW5rbm93bj47XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgZnVuY3Rpb24gQ1NTQ29tcG9uZW50KG5hbWU6IHN0cmluZywgcHJlZml4ID0gJ29keCcpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFR5cGU8Q1NTQ29tcG9uZW50PikgPT4ge1xuICAgIGNvbnN0IGNzc0NsYXNzID0gYCR7cHJlZml4fS0ke25hbWV9YDtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSwgQ1NTX0NPTVBPTkVOVF9OQU1FLCB7XG4gICAgICB2YWx1ZTogY3NzQ2xhc3MsXG4gICAgfSk7XG5cbiAgICAoZnVuY3Rpb24gKHRoaXM6IHVua25vd24sIG5nT25Jbml0PzogKCkgPT4gdm9pZCkge1xuICAgICAgdGFyZ2V0LnByb3RvdHlwZS5uZ09uSW5pdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjc3NDbGFzcyk7XG4gICAgICAgIG5nT25Jbml0Py5jYWxsKHRoaXMpO1xuICAgICAgfTtcbiAgICB9KSh0YXJnZXQucHJvdG90eXBlLm5nT25Jbml0KTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,40 +1,43 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { camelToKebabCase, ɵwithMultipleDescriptors } from '../helpers';
3
- import { CSS_COMPONENT_MODIFIERS, CSS_COMPONENT_NAME } from './css-component';
2
+ import { camelToKebabCase, decoratorPropertyName, ɵwithMultipleDescriptors } from '../helpers';
3
+ import { CSS_COMPONENT_NAME } from './css-component';
4
4
  /** @internal */
5
5
  /* istanbul ignore next */
6
6
  export function CSSModifier(options) {
7
7
  return (target, propertyKey) => {
8
- const propertySymbol = Symbol(`__CSSModifier{${propertyKey.toString()}}__`);
8
+ const propertyKeyName = propertyKey.toString();
9
+ const propertyKeyKebabCase = camelToKebabCase(propertyKeyName);
10
+ const propertySymbol = decoratorPropertyName('CSSModifier', propertyKeyName);
11
+ const propertyDefaultValue = decoratorPropertyName('CSSModifier', `${propertyKeyName}_default`);
9
12
  const descriptors = ɵwithMultipleDescriptors(target, propertyKey, propertySymbol);
10
- const propertyKeyKebabCase = camelToKebabCase(propertyKey.toString());
11
13
  function createModifierClass(value) {
12
- value = value ?? options?.default ?? null;
13
14
  if (typeof value === 'boolean' || (typeof value === 'string' && value.length > 0)) {
14
15
  let modifier = typeof value === 'boolean' ? propertyKeyKebabCase : value;
15
16
  if (options?.withPrefix) {
16
- modifier = [propertyKey, modifier].join('-');
17
+ modifier = `${propertyKeyName}-${modifier}`;
17
18
  }
18
- return [options?.withComponentPrefix ?? true ? this[CSS_COMPONENT_NAME] : null, modifier].filter(Boolean).join('--');
19
+ if (options?.withComponentPrefix ?? true) {
20
+ return `${this[CSS_COMPONENT_NAME]}--${modifier}`;
21
+ }
22
+ return modifier;
19
23
  }
20
24
  return null;
21
25
  }
22
- if (options?.default) {
23
- target[CSS_COMPONENT_MODIFIERS] = (target[CSS_COMPONENT_MODIFIERS] || []).concat(propertyKey);
24
- }
25
26
  function setter(value) {
26
27
  const values = options?.isArray ? value : [value];
27
- this[propertySymbol] = this[propertySymbol] || [];
28
+ this[propertySymbol] ?? (this[propertySymbol] = []);
29
+ this[propertyDefaultValue] ?? (this[propertyDefaultValue] = values);
28
30
  for (let i = 0; i < values.length; ++i) {
29
- const currentValue = values[i];
30
- if (this[propertySymbol].length < 1 || currentValue !== this[propertySymbol][i]) {
31
- const currentModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);
31
+ const nextValue = values[i] ?? this[propertyDefaultValue]?.[i] ?? null;
32
+ const currentValue = this[propertySymbol][i] ?? null;
33
+ if (this[propertySymbol].length < 1 || nextValue !== currentValue) {
34
+ const currentModifierClass = createModifierClass.apply(this, [currentValue]);
32
35
  if (currentModifierClass !== null) {
33
36
  this.element.nativeElement.classList.remove(currentModifierClass);
34
37
  }
35
- this[propertySymbol][i] = currentValue;
36
- const newModifierClass = createModifierClass.apply(this, [this[propertySymbol][i]]);
37
- if (newModifierClass !== null && (typeof currentValue === 'boolean' ? currentValue : true)) {
38
+ this[propertySymbol][i] = nextValue;
39
+ const newModifierClass = createModifierClass.apply(this, [nextValue]);
40
+ if (newModifierClass !== null && (typeof nextValue === 'boolean' ? nextValue : true)) {
38
41
  this.element.nativeElement.classList.add(newModifierClass);
39
42
  }
40
43
  }
@@ -48,4 +51,4 @@ export function CSSModifier(options) {
48
51
  descriptors.init();
49
52
  };
50
53
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLW1vZGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ludGVybmFsL3NyYy9kZWNvcmF0b3JzL2Nzcy1tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBVTlFLGdCQUFnQjtBQUNoQiwwQkFBMEI7QUFDMUIsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUE0QjtJQUN0RCxPQUFPLENBQUMsTUFBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRTtRQUMvQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUUsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNsRixNQUFNLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXRFLFNBQVMsbUJBQW1CLENBQVksS0FBVTtZQUNoRCxLQUFLLEdBQUcsS0FBSyxJQUFJLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDO1lBRTFDLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pGLElBQUksUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDekUsSUFBSSxPQUFPLEVBQUUsVUFBVSxFQUFFO29CQUN2QixRQUFRLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM5QztnQkFDRCxPQUFPLENBQUMsT0FBTyxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RIO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsT0FBTyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9GO1FBRUQsU0FBUyxNQUFNLENBQVksS0FBVTtZQUNuQyxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMvRSxNQUFNLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4RixJQUFJLG9CQUFvQixLQUFLLElBQUksRUFBRTt3QkFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO3FCQUNuRTtvQkFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO29CQUN2QyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwRixJQUFJLGdCQUFnQixLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDMUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUM1RDtpQkFDRjthQUNGO1FBQ0gsQ0FBQztRQUVELFNBQVMsTUFBTTtZQUNiLE9BQU8sT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY2FtZWxUb0tlYmFiQ2FzZSwgybV3aXRoTXVsdGlwbGVEZXNjcmlwdG9ycyB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ1NTX0NPTVBPTkVOVF9NT0RJRklFUlMsIENTU19DT01QT05FTlRfTkFNRSB9IGZyb20gJy4vY3NzLWNvbXBvbmVudCc7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmludGVyZmFjZSBDU1NNb2RpZmllck9wdGlvbnMge1xuICBpc0FycmF5PzogYm9vbGVhbjtcbiAgd2l0aENvbXBvbmVudFByZWZpeD86IGJvb2xlYW47XG4gIGRlZmF1bHQ/OiBzdHJpbmc7XG4gIHdpdGhQcmVmaXg/OiBib29sZWFuO1xufVxuXG4vKiogQGludGVybmFsICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGZ1bmN0aW9uIENTU01vZGlmaWVyKG9wdGlvbnM/OiBDU1NNb2RpZmllck9wdGlvbnMpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5KSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlTeW1ib2wgPSBTeW1ib2woYF9fQ1NTTW9kaWZpZXJ7JHtwcm9wZXJ0eUtleS50b1N0cmluZygpfX1fX2ApO1xuICAgIGNvbnN0IGRlc2NyaXB0b3JzID0gybV3aXRoTXVsdGlwbGVEZXNjcmlwdG9ycyh0YXJnZXQsIHByb3BlcnR5S2V5LCBwcm9wZXJ0eVN5bWJvbCk7XG4gICAgY29uc3QgcHJvcGVydHlLZXlLZWJhYkNhc2UgPSBjYW1lbFRvS2ViYWJDYXNlKHByb3BlcnR5S2V5LnRvU3RyaW5nKCkpO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlTW9kaWZpZXJDbGFzcyh0aGlzOiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUgPz8gb3B0aW9ucz8uZGVmYXVsdCA/PyBudWxsO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicgfHwgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgbGV0IG1vZGlmaWVyID0gdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicgPyBwcm9wZXJ0eUtleUtlYmFiQ2FzZSA6IHZhbHVlO1xuICAgICAgICBpZiAob3B0aW9ucz8ud2l0aFByZWZpeCkge1xuICAgICAgICAgIG1vZGlmaWVyID0gW3Byb3BlcnR5S2V5LCBtb2RpZmllcl0uam9pbignLScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbb3B0aW9ucz8ud2l0aENvbXBvbmVudFByZWZpeCA/PyB0cnVlID8gdGhpc1tDU1NfQ09NUE9ORU5UX05BTUVdIDogbnVsbCwgbW9kaWZpZXJdLmZpbHRlcihCb29sZWFuKS5qb2luKCctLScpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LmRlZmF1bHQpIHtcbiAgICAgIHRhcmdldFtDU1NfQ09NUE9ORU5UX01PRElGSUVSU10gPSAodGFyZ2V0W0NTU19DT01QT05FTlRfTU9ESUZJRVJTXSB8fCBbXSkuY29uY2F0KHByb3BlcnR5S2V5KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXR0ZXIodGhpczogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBvcHRpb25zPy5pc0FycmF5ID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgICAgdGhpc1twcm9wZXJ0eVN5bWJvbF0gPSB0aGlzW3Byb3BlcnR5U3ltYm9sXSB8fCBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHZhbHVlc1tpXTtcbiAgICAgICAgaWYgKHRoaXNbcHJvcGVydHlTeW1ib2xdLmxlbmd0aCA8IDEgfHwgY3VycmVudFZhbHVlICE9PSB0aGlzW3Byb3BlcnR5U3ltYm9sXVtpXSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRNb2RpZmllckNsYXNzID0gY3JlYXRlTW9kaWZpZXJDbGFzcy5hcHBseSh0aGlzLCBbdGhpc1twcm9wZXJ0eVN5bWJvbF1baV1dKTtcbiAgICAgICAgICBpZiAoY3VycmVudE1vZGlmaWVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY3VycmVudE1vZGlmaWVyQ2xhc3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzW3Byb3BlcnR5U3ltYm9sXVtpXSA9IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICBjb25zdCBuZXdNb2RpZmllckNsYXNzID0gY3JlYXRlTW9kaWZpZXJDbGFzcy5hcHBseSh0aGlzLCBbdGhpc1twcm9wZXJ0eVN5bWJvbF1baV1dKTtcbiAgICAgICAgICBpZiAobmV3TW9kaWZpZXJDbGFzcyAhPT0gbnVsbCAmJiAodHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gJ2Jvb2xlYW4nID8gY3VycmVudFZhbHVlIDogdHJ1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQobmV3TW9kaWZpZXJDbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0dGVyKHRoaXM6IGFueSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnM/LmlzQXJyYXkgPyB0aGlzW3Byb3BlcnR5U3ltYm9sXSA6IHRoaXNbcHJvcGVydHlTeW1ib2xdPy5bMF07XG4gICAgfVxuXG4gICAgZGVzY3JpcHRvcnMuYWRkU2V0dGVyKHNldHRlcik7XG4gICAgZGVzY3JpcHRvcnMuYWRkR2V0dGVyKGdldHRlcik7XG4gICAgZGVzY3JpcHRvcnMuaW5pdCgpO1xuICB9O1xufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLW1vZGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ludGVybmFsL3NyYy9kZWNvcmF0b3JzL2Nzcy1tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBU3JELGdCQUFnQjtBQUNoQiwwQkFBMEI7QUFDMUIsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUE0QjtJQUN0RCxPQUFPLENBQUMsTUFBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRTtRQUMvQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDN0UsTUFBTSxvQkFBb0IsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxlQUFlLFVBQVUsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFbEYsU0FBUyxtQkFBbUIsQ0FBWSxLQUFVO1lBQ2hELElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pGLElBQUksUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDekUsSUFBSSxPQUFPLEVBQUUsVUFBVSxFQUFFO29CQUN2QixRQUFRLEdBQUcsR0FBRyxlQUFlLElBQUksUUFBUSxFQUFFLENBQUM7aUJBQzdDO2dCQUNELElBQUksT0FBTyxFQUFFLG1CQUFtQixJQUFJLElBQUksRUFBRTtvQkFDeEMsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2lCQUNuRDtnQkFDRCxPQUFPLFFBQVEsQ0FBQzthQUNqQjtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELFNBQVMsTUFBTSxDQUFZLEtBQVU7WUFDbkMsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxjQUFjLE1BQW5CLElBQUksQ0FBQyxjQUFjLElBQU0sRUFBRSxFQUFDO1lBQzVCLElBQUksQ0FBQyxvQkFBb0IsTUFBekIsSUFBSSxDQUFDLG9CQUFvQixJQUFNLE1BQU0sRUFBQztZQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNyRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFNBQVMsS0FBSyxZQUFZLEVBQUU7b0JBQ2pFLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7b0JBQzdFLElBQUksb0JBQW9CLEtBQUssSUFBSSxFQUFFO3dCQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7cUJBQ25FO29CQUNELElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RFLElBQUksZ0JBQWdCLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUNwRixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzVEO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDO1FBRUQsU0FBUyxNQUFNO1lBQ2IsT0FBTyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBjYW1lbFRvS2ViYWJDYXNlLCBkZWNvcmF0b3JQcm9wZXJ0eU5hbWUsIMm1d2l0aE11bHRpcGxlRGVzY3JpcHRvcnMgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IENTU19DT01QT05FTlRfTkFNRSB9IGZyb20gJy4vY3NzLWNvbXBvbmVudCc7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmludGVyZmFjZSBDU1NNb2RpZmllck9wdGlvbnMge1xuICBpc0FycmF5PzogYm9vbGVhbjtcbiAgd2l0aENvbXBvbmVudFByZWZpeD86IGJvb2xlYW47XG4gIHdpdGhQcmVmaXg/OiBib29sZWFuO1xufVxuXG4vKiogQGludGVybmFsICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGZ1bmN0aW9uIENTU01vZGlmaWVyKG9wdGlvbnM/OiBDU1NNb2RpZmllck9wdGlvbnMpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5KSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlLZXlOYW1lID0gcHJvcGVydHlLZXkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBwcm9wZXJ0eUtleUtlYmFiQ2FzZSA9IGNhbWVsVG9LZWJhYkNhc2UocHJvcGVydHlLZXlOYW1lKTtcbiAgICBjb25zdCBwcm9wZXJ0eVN5bWJvbCA9IGRlY29yYXRvclByb3BlcnR5TmFtZSgnQ1NTTW9kaWZpZXInLCBwcm9wZXJ0eUtleU5hbWUpO1xuICAgIGNvbnN0IHByb3BlcnR5RGVmYXVsdFZhbHVlID0gZGVjb3JhdG9yUHJvcGVydHlOYW1lKCdDU1NNb2RpZmllcicsIGAke3Byb3BlcnR5S2V5TmFtZX1fZGVmYXVsdGApO1xuICAgIGNvbnN0IGRlc2NyaXB0b3JzID0gybV3aXRoTXVsdGlwbGVEZXNjcmlwdG9ycyh0YXJnZXQsIHByb3BlcnR5S2V5LCBwcm9wZXJ0eVN5bWJvbCk7XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVNb2RpZmllckNsYXNzKHRoaXM6IGFueSwgdmFsdWU6IGFueSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IDApKSB7XG4gICAgICAgIGxldCBtb2RpZmllciA9IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nID8gcHJvcGVydHlLZXlLZWJhYkNhc2UgOiB2YWx1ZTtcbiAgICAgICAgaWYgKG9wdGlvbnM/LndpdGhQcmVmaXgpIHtcbiAgICAgICAgICBtb2RpZmllciA9IGAke3Byb3BlcnR5S2V5TmFtZX0tJHttb2RpZmllcn1gO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zPy53aXRoQ29tcG9uZW50UHJlZml4ID8/IHRydWUpIHtcbiAgICAgICAgICByZXR1cm4gYCR7dGhpc1tDU1NfQ09NUE9ORU5UX05BTUVdfS0tJHttb2RpZmllcn1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RpZmllcjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldHRlcih0aGlzOiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IG9wdGlvbnM/LmlzQXJyYXkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICB0aGlzW3Byb3BlcnR5U3ltYm9sXSA/Pz0gW107XG4gICAgICB0aGlzW3Byb3BlcnR5RGVmYXVsdFZhbHVlXSA/Pz0gdmFsdWVzO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdmFsdWVzW2ldID8/IHRoaXNbcHJvcGVydHlEZWZhdWx0VmFsdWVdPy5baV0gPz8gbnVsbDtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpc1twcm9wZXJ0eVN5bWJvbF1baV0gPz8gbnVsbDtcbiAgICAgICAgaWYgKHRoaXNbcHJvcGVydHlTeW1ib2xdLmxlbmd0aCA8IDEgfHwgbmV4dFZhbHVlICE9PSBjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50TW9kaWZpZXJDbGFzcyA9IGNyZWF0ZU1vZGlmaWVyQ2xhc3MuYXBwbHkodGhpcywgW2N1cnJlbnRWYWx1ZV0pO1xuICAgICAgICAgIGlmIChjdXJyZW50TW9kaWZpZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjdXJyZW50TW9kaWZpZXJDbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXNbcHJvcGVydHlTeW1ib2xdW2ldID0gbmV4dFZhbHVlO1xuICAgICAgICAgIGNvbnN0IG5ld01vZGlmaWVyQ2xhc3MgPSBjcmVhdGVNb2RpZmllckNsYXNzLmFwcGx5KHRoaXMsIFtuZXh0VmFsdWVdKTtcbiAgICAgICAgICBpZiAobmV3TW9kaWZpZXJDbGFzcyAhPT0gbnVsbCAmJiAodHlwZW9mIG5leHRWYWx1ZSA9PT0gJ2Jvb2xlYW4nID8gbmV4dFZhbHVlIDogdHJ1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQobmV3TW9kaWZpZXJDbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0dGVyKHRoaXM6IGFueSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnM/LmlzQXJyYXkgPyB0aGlzW3Byb3BlcnR5U3ltYm9sXSA6IHRoaXNbcHJvcGVydHlTeW1ib2xdPy5bMF07XG4gICAgfVxuXG4gICAgZGVzY3JpcHRvcnMuYWRkU2V0dGVyKHNldHRlcik7XG4gICAgZGVzY3JpcHRvcnMuYWRkR2V0dGVyKGdldHRlcik7XG4gICAgZGVzY3JpcHRvcnMuaW5pdCgpO1xuICB9O1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export function decoratorPropertyName(decoratorName, propertyName) {
2
+ return `__ODX_${decoratorName}_${propertyName}__`;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLXByb3BlcnR5LW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2hlbHBlcnMvZGVjb3JhdG9yLXByb3BlcnR5LW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLHFCQUFxQixDQUFxQyxhQUFnQixFQUFFLFlBQWU7SUFDekcsT0FBTyxTQUFTLGFBQWEsSUFBSSxZQUFZLElBQUksQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRlY29yYXRvclByb3BlcnR5TmFtZTxEIGV4dGVuZHMgc3RyaW5nLCBUIGV4dGVuZHMgc3RyaW5nPihkZWNvcmF0b3JOYW1lOiBELCBwcm9wZXJ0eU5hbWU6IFQpOiBgX19PRFhfJHtEfV8ke1R9X19gIHtcbiAgcmV0dXJuIGBfX09EWF8ke2RlY29yYXRvck5hbWV9XyR7cHJvcGVydHlOYW1lfV9fYDtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { deepmergeCustom } from 'deepmerge-ts';
2
+ export const deepmerge = deepmergeCustom({
3
+ mergeArrays: false,
4
+ mergeSets: false,
5
+ });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcG1lcmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ludGVybmFsL3NyYy9oZWxwZXJzL2RlZXBtZXJnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLGNBQWMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUEyQztJQUNqRixXQUFXLEVBQUUsS0FBSztJQUNsQixTQUFTLEVBQUUsS0FBSztDQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWVwbWVyZ2VDdXN0b20sIERlZXBNZXJnZUxlYWZVUkkgfSBmcm9tICdkZWVwbWVyZ2UtdHMnO1xuXG5leHBvcnQgY29uc3QgZGVlcG1lcmdlID0gZGVlcG1lcmdlQ3VzdG9tPHsgRGVlcE1lcmdlQXJyYXlzVVJJOiBEZWVwTWVyZ2VMZWFmVVJJIH0+KHtcbiAgbWVyZ2VBcnJheXM6IGZhbHNlLFxuICBtZXJnZVNldHM6IGZhbHNlLFxufSk7XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  export * from './camel-to-kebab-case';
2
+ export * from './decorator-property-name';
3
+ export * from './deepmerge';
2
4
  export * from './get-css-variables';
3
5
  export * from './get-enum-values';
4
6
  export * from './with-mutiple-descriptors';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FtZWwtdG8ta2ViYWItY2FzZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jc3MtdmFyaWFibGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVudW0tdmFsdWVzJztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1tdXRpcGxlLWRlc2NyaXB0b3JzJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW50ZXJuYWwvc3JjL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYW1lbC10by1rZWJhYi1jYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9yLXByb3BlcnR5LW5hbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWVwbWVyZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY3NzLXZhcmlhYmxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1lbnVtLXZhbHVlcyc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtbXV0aXBsZS1kZXNjcmlwdG9ycyc7XG4iXX0=
@@ -1,14 +1,17 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { decoratorPropertyName } from './decorator-property-name';
2
3
  /** @internal */
3
4
  /* istanbul ignore next */
4
- export function ɵwithMultipleDescriptors(target, key, symbol) {
5
- var _a, _b;
6
- const setters = (target[_a = `__propSetters__${target.constructor}__${key.toString()}`] ?? (target[_a] = []));
7
- const getters = (target[_b = `__propGetters__${target.constructor}__${key.toString()}`] ?? (target[_b] = []));
8
- const propertyValue = `__propValue_${String(key)}__`;
5
+ export function ɵwithMultipleDescriptors(target, key, propertySymbol) {
6
+ const keyName = key.toString();
7
+ const settersProperty = decoratorPropertyName('MultipleDescriptors', `setters_${target.constructor.name}_${keyName}`);
8
+ const gettersProperty = decoratorPropertyName('MultipleDescriptors', `getters_${target.constructor.name}_${keyName}`);
9
+ const valueProperty = decoratorPropertyName('MultipleDescriptors', `value_${keyName}`);
10
+ const setters = (target[settersProperty] ?? (target[settersProperty] = []));
11
+ const getters = (target[gettersProperty] ?? (target[gettersProperty] = []));
9
12
  return {
10
13
  addSetter(fn) {
11
- setters.push({ fn, propertySymbol: symbol });
14
+ setters.push({ fn, propertySymbol });
12
15
  },
13
16
  addGetter(fn) {
14
17
  getters.push({ fn });
@@ -16,17 +19,23 @@ export function ɵwithMultipleDescriptors(target, key, symbol) {
16
19
  init() {
17
20
  Object.defineProperty(target, key, {
18
21
  set(value) {
19
- this[propertyValue] = setters.reduce((result, { fn, propertySymbol }) => {
20
- fn.call(this, result);
21
- return this[propertySymbol];
22
- }, value);
22
+ let currentValue = value;
23
+ for (const { fn, propertySymbol } of setters) {
24
+ fn.call(this, currentValue);
25
+ currentValue = this[propertySymbol];
26
+ }
27
+ this[valueProperty] = currentValue;
23
28
  },
24
29
  get() {
25
30
  if (Array.isArray(getters)) {
26
- return getters.reduce((_, { fn }) => fn.call(this), this[propertyValue]);
31
+ let currentValue = this[valueProperty];
32
+ for (const { fn } of getters) {
33
+ currentValue = fn.call(this);
34
+ }
35
+ return currentValue;
27
36
  }
28
37
  else {
29
- return this[propertyValue];
38
+ return this[valueProperty];
30
39
  }
31
40
  },
32
41
  configurable: true,
@@ -34,4 +43,4 @@ export function ɵwithMultipleDescriptors(target, key, symbol) {
34
43
  },
35
44
  };
36
45
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tdXRpcGxlLWRlc2NyaXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ludGVybmFsL3NyYy9oZWxwZXJzL3dpdGgtbXV0aXBsZS1kZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFTdkQsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBVyxFQUFFLEdBQWdCLEVBQUUsTUFBYzs7SUFDcEYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLE1BQUMsa0JBQWtCLE1BQU0sQ0FBQyxXQUFXLEtBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQWhFLE1BQU0sT0FBZ0UsRUFBRSxFQUFDLENBQUM7SUFDM0YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLE1BQUMsa0JBQWtCLE1BQU0sQ0FBQyxXQUFXLEtBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQWhFLE1BQU0sT0FBZ0UsRUFBRSxFQUFDLENBQUM7SUFDM0YsTUFBTSxhQUFhLEdBQUcsZUFBZSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztJQUNyRCxPQUFPO1FBQ0wsU0FBUyxDQUFDLEVBQW1DO1lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELFNBQVMsQ0FBQyxFQUFtQztZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSTtZQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDakMsR0FBRyxDQUFDLEtBQUs7b0JBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFPLEVBQUUsRUFBRTt3QkFDaEYsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7d0JBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUM5QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ1osQ0FBQztnQkFDRCxHQUFHO29CQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDMUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsRUFBRSxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7cUJBQ3BGO3lCQUFNO3dCQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUM1QjtnQkFDSCxDQUFDO2dCQUNELFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cblxuLyoqIEBpbnRlcm5hbCAqL1xuaW50ZXJmYWNlIERlc2NyaXB0aW9yTWFuYWdlciB7XG4gIGFkZEdldHRlcjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIGFkZFNldHRlcjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIGluaXQ6ICgpID0+IHZvaWQ7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgZnVuY3Rpb24gybV3aXRoTXVsdGlwbGVEZXNjcmlwdG9ycyh0YXJnZXQ6IGFueSwga2V5OiBQcm9wZXJ0eUtleSwgc3ltYm9sOiBzeW1ib2wpOiBEZXNjcmlwdGlvck1hbmFnZXIge1xuICBjb25zdCBzZXR0ZXJzID0gKHRhcmdldFtgX19wcm9wU2V0dGVyc19fJHt0YXJnZXQuY29uc3RydWN0b3J9X18ke2tleS50b1N0cmluZygpfWBdID8/PSBbXSk7XG4gIGNvbnN0IGdldHRlcnMgPSAodGFyZ2V0W2BfX3Byb3BHZXR0ZXJzX18ke3RhcmdldC5jb25zdHJ1Y3Rvcn1fXyR7a2V5LnRvU3RyaW5nKCl9YF0gPz89IFtdKTtcbiAgY29uc3QgcHJvcGVydHlWYWx1ZSA9IGBfX3Byb3BWYWx1ZV8ke1N0cmluZyhrZXkpfV9fYDtcbiAgcmV0dXJuIHtcbiAgICBhZGRTZXR0ZXIoZm46ICh0aGlzOiBhbnksIHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICAgIHNldHRlcnMucHVzaCh7IGZuLCBwcm9wZXJ0eVN5bWJvbDogc3ltYm9sIH0pO1xuICAgIH0sXG4gICAgYWRkR2V0dGVyKGZuOiAodGhpczogYW55LCB2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgICBnZXR0ZXJzLnB1c2goeyBmbiB9KTtcbiAgICB9LFxuICAgIGluaXQoKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHtcbiAgICAgICAgc2V0KHZhbHVlKSB7XG4gICAgICAgICAgdGhpc1twcm9wZXJ0eVZhbHVlXSA9IHNldHRlcnMucmVkdWNlKChyZXN1bHQ6IGFueSwgeyBmbiwgcHJvcGVydHlTeW1ib2wgfTogYW55KSA9PiB7XG4gICAgICAgICAgICBmbi5jYWxsKHRoaXMsIHJlc3VsdCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpc1twcm9wZXJ0eVN5bWJvbF07XG4gICAgICAgICAgfSwgdmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZ2V0dGVycykpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXR0ZXJzLnJlZHVjZSgoXzogYW55LCB7IGZuIH06IGFueSkgPT4gZm4uY2FsbCh0aGlzKSwgdGhpc1twcm9wZXJ0eVZhbHVlXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzW3Byb3BlcnR5VmFsdWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tdXRpcGxlLWRlc2NyaXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2ludGVybmFsL3NyYy9oZWxwZXJzL3dpdGgtbXV0aXBsZS1kZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTbEUsZ0JBQWdCO0FBQ2hCLDBCQUEwQjtBQUMxQixNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBVyxFQUFFLEdBQWdCLEVBQUUsY0FBc0I7SUFDNUYsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDLHFCQUFxQixFQUFFLFdBQVcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0SCxNQUFNLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEgsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMscUJBQXFCLEVBQUUsU0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsTUFBdEIsTUFBTSxDQUFDLGVBQWUsSUFBTSxFQUFFLEVBQUMsQ0FBQztJQUNqRCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLE1BQXRCLE1BQU0sQ0FBQyxlQUFlLElBQU0sRUFBRSxFQUFDLENBQUM7SUFDakQsT0FBTztRQUNMLFNBQVMsQ0FBQyxFQUFtQztZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELFNBQVMsQ0FBQyxFQUFtQztZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSTtZQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDakMsR0FBRyxDQUFDLEtBQUs7b0JBQ1AsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUN6QixLQUFLLE1BQU0sRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksT0FBTyxFQUFFO3dCQUM1QyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQzt3QkFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDckM7b0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFlBQVksQ0FBQztnQkFDckMsQ0FBQztnQkFDRCxHQUFHO29CQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDMUIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQUU7NEJBQzVCLFlBQVksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUM5Qjt3QkFDRCxPQUFPLFlBQVksQ0FBQztxQkFDckI7eUJBQU07d0JBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQzVCO2dCQUNILENBQUM7Z0JBQ0QsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5pbXBvcnQgeyBkZWNvcmF0b3JQcm9wZXJ0eU5hbWUgfSBmcm9tICcuL2RlY29yYXRvci1wcm9wZXJ0eS1uYW1lJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuaW50ZXJmYWNlIERlc2NyaXB0aW9yTWFuYWdlciB7XG4gIGFkZEdldHRlcjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIGFkZFNldHRlcjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIGluaXQ6ICgpID0+IHZvaWQ7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgZnVuY3Rpb24gybV3aXRoTXVsdGlwbGVEZXNjcmlwdG9ycyh0YXJnZXQ6IGFueSwga2V5OiBQcm9wZXJ0eUtleSwgcHJvcGVydHlTeW1ib2w6IHN0cmluZyk6IERlc2NyaXB0aW9yTWFuYWdlciB7XG4gIGNvbnN0IGtleU5hbWUgPSBrZXkudG9TdHJpbmcoKTtcbiAgY29uc3Qgc2V0dGVyc1Byb3BlcnR5ID0gZGVjb3JhdG9yUHJvcGVydHlOYW1lKCdNdWx0aXBsZURlc2NyaXB0b3JzJywgYHNldHRlcnNfJHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX1fJHtrZXlOYW1lfWApO1xuICBjb25zdCBnZXR0ZXJzUHJvcGVydHkgPSBkZWNvcmF0b3JQcm9wZXJ0eU5hbWUoJ011bHRpcGxlRGVzY3JpcHRvcnMnLCBgZ2V0dGVyc18ke3RhcmdldC5jb25zdHJ1Y3Rvci5uYW1lfV8ke2tleU5hbWV9YCk7XG4gIGNvbnN0IHZhbHVlUHJvcGVydHkgPSBkZWNvcmF0b3JQcm9wZXJ0eU5hbWUoJ011bHRpcGxlRGVzY3JpcHRvcnMnLCBgdmFsdWVfJHtrZXlOYW1lfWApO1xuICBjb25zdCBzZXR0ZXJzID0gKHRhcmdldFtzZXR0ZXJzUHJvcGVydHldID8/PSBbXSk7XG4gIGNvbnN0IGdldHRlcnMgPSAodGFyZ2V0W2dldHRlcnNQcm9wZXJ0eV0gPz89IFtdKTtcbiAgcmV0dXJuIHtcbiAgICBhZGRTZXR0ZXIoZm46ICh0aGlzOiBhbnksIHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICAgIHNldHRlcnMucHVzaCh7IGZuLCBwcm9wZXJ0eVN5bWJvbCB9KTtcbiAgICB9LFxuICAgIGFkZEdldHRlcihmbjogKHRoaXM6IGFueSwgdmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgICAgZ2V0dGVycy5wdXNoKHsgZm4gfSk7XG4gICAgfSxcbiAgICBpbml0KCkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgIHNldCh2YWx1ZSkge1xuICAgICAgICAgIGxldCBjdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHsgZm4sIHByb3BlcnR5U3ltYm9sIH0gb2Ygc2V0dGVycykge1xuICAgICAgICAgICAgZm4uY2FsbCh0aGlzLCBjdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgY3VycmVudFZhbHVlID0gdGhpc1twcm9wZXJ0eVN5bWJvbF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXNbdmFsdWVQcm9wZXJ0eV0gPSBjdXJyZW50VmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGdldCgpIHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShnZXR0ZXJzKSkge1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZSA9IHRoaXNbdmFsdWVQcm9wZXJ0eV07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHsgZm4gfSBvZiBnZXR0ZXJzKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IGZuLmNhbGwodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpc1t2YWx1ZVByb3BlcnR5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { ChangeDetectorRef, Directive, inject } from '@angular/core';
2
2
  import { isPresent, pluckFromArray } from '@odx/angular/utils';
3
- import { merge, shareReplay, Subject, tap } from 'rxjs';
3
+ import { EMPTY, merge, shareReplay, Subject, tap } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  function controllerChanges(controllers) {
6
6
  const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');
7
- return merge(...changes$);
7
+ return changes$.length > 0 ? merge(...changes$) : EMPTY;
8
8
  }
9
9
  export function detectControllerChanges(...controllers) {
10
10
  const changeDetector = inject(ChangeDetectorRef);
@@ -31,9 +31,9 @@ export class Controller {
31
31
  this.change$$.next();
32
32
  }
33
33
  }
34
- Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
- Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: Controller, usesOnChanges: true, ngImport: i0 });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Controller, decorators: [{
34
+ Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
+ Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: Controller, usesOnChanges: true, ngImport: i0 });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: Controller, decorators: [{
37
37
  type: Directive
38
38
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBYyxXQUFXLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFcEUsU0FBUyxpQkFBaUIsQ0FBQyxXQUFpRDtJQUMxRSxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUUxRSxPQUFPLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsR0FBRyxXQUFpRDtJQUMxRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVqRCxPQUFPLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBR0QsTUFBTSxPQUFnQixVQUFVO0lBRGhDO1FBRW1CLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWhDLFlBQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBcUIvRTtJQW5CUSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQTZCLEVBQUUsY0FBaUM7UUFDbEYsaUJBQWlCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2FBQzlDLFNBQVMsRUFBRSxDQUFDO1FBRWYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7d0dBdkJtQixVQUFVOzRGQUFWLFVBQVU7NEZBQVYsVUFBVTtrQkFEL0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIGluamVjdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUHJlc2VudCwgcGx1Y2tGcm9tQXJyYXkgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcblxuZnVuY3Rpb24gY29udHJvbGxlckNoYW5nZXMoY29udHJvbGxlcnM6IEFycmF5PENvbnRyb2xsZXIgfCB1bmRlZmluZWQgfCBudWxsPik6IE9ic2VydmFibGU8dm9pZD4ge1xuICBjb25zdCBjaGFuZ2VzJCA9IHBsdWNrRnJvbUFycmF5KGNvbnRyb2xsZXJzLmZpbHRlcihpc1ByZXNlbnQpLCAnY2hhbmdlJCcpO1xuXG4gIHJldHVybiBtZXJnZSguLi5jaGFuZ2VzJCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyguLi5jb250cm9sbGVyczogQXJyYXk8Q29udHJvbGxlciB8IHVuZGVmaW5lZCB8IG51bGw+KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIGNvbnN0IGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICByZXR1cm4gY29udHJvbGxlckNoYW5nZXMoY29udHJvbGxlcnMpLnBpcGUodGFwKCgpID0+IGNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpKSk7XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlJCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjaGFuZ2UkID0gdGhpcy5jaGFuZ2UkJC5waXBlKHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUgfSkpO1xuXG4gIHB1YmxpYyBzdGF0aWMgc2V0dXAoY29udHJvbGxlcjogQ29udHJvbGxlciB8IG51bGwsIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZik6IENvbnRyb2xsZXIgfCBudWxsIHtcbiAgICBjb250cm9sbGVyQ2hhbmdlcyhbY29udHJvbGxlcl0pXG4gICAgICAucGlwZSh0YXAoKCkgPT4gY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgcmV0dXJuIGNvbnRyb2xsZXI7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlJCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpIHtcbiAgICB0aGlzLmNoYW5nZSQkLm5leHQoKTtcbiAgfVxufVxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRTNFLFNBQVMsaUJBQWlCLENBQUMsV0FBaUQ7SUFDMUUsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFMUUsT0FBTyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEdBQUcsV0FBaUQ7SUFDMUYsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFakQsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUdELE1BQU0sT0FBZ0IsVUFBVTtJQURoQztRQUVtQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztLQXFCL0U7SUFuQlEsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUE2QixFQUFFLGNBQWlDO1FBQ2xGLGlCQUFpQixDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQzthQUM5QyxTQUFTLEVBQUUsQ0FBQztRQUVmLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O3VHQXZCbUIsVUFBVTsyRkFBVixVQUFVOzJGQUFWLFVBQVU7a0JBRC9CLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIE9uQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1ByZXNlbnQsIHBsdWNrRnJvbUFycmF5IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IEVNUFRZLCBtZXJnZSwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBjb250cm9sbGVyQ2hhbmdlcyhjb250cm9sbGVyczogQXJyYXk8Q29udHJvbGxlciB8IHVuZGVmaW5lZCB8IG51bGw+KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIGNvbnN0IGNoYW5nZXMkID0gcGx1Y2tGcm9tQXJyYXkoY29udHJvbGxlcnMuZmlsdGVyKGlzUHJlc2VudCksICdjaGFuZ2UkJyk7XG5cbiAgcmV0dXJuIGNoYW5nZXMkLmxlbmd0aCA+IDAgPyBtZXJnZSguLi5jaGFuZ2VzJCkgOiBFTVBUWTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKC4uLmNvbnRyb2xsZXJzOiBBcnJheTxDb250cm9sbGVyIHwgdW5kZWZpbmVkIHwgbnVsbD4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgY29uc3QgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHJldHVybiBjb250cm9sbGVyQ2hhbmdlcyhjb250cm9sbGVycykucGlwZSh0YXAoKCkgPT4gY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpKTtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2UkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZSQgPSB0aGlzLmNoYW5nZSQkLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSk7XG5cbiAgcHVibGljIHN0YXRpYyBzZXR1cChjb250cm9sbGVyOiBDb250cm9sbGVyIHwgbnVsbCwgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKTogQ29udHJvbGxlciB8IG51bGwge1xuICAgIGNvbnRyb2xsZXJDaGFuZ2VzKFtjb250cm9sbGVyXSlcbiAgICAgIC5waXBlKHRhcCgoKSA9PiBjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gY29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRyaWdnZXJDb250cm9sbGVyQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2UkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyaWdnZXJDb250cm9sbGVyQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hhbmdlJCQubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -1,66 +1,55 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { ChangeDetectorRef, Directive, forwardRef, inject, InjectionToken, Input } from '@angular/core';
3
- import { booleanToOptionalAttributeString } from '@odx/angular/utils';
2
+ import { ChangeDetectorRef, Directive, forwardRef, Host, inject, InjectionToken, Input, Optional } from '@angular/core';
4
3
  import { distinctUntilChanged, map, shareReplay } from 'rxjs';
5
4
  import { Controller } from './controller';
6
5
  import * as i0 from "@angular/core";
7
- const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
8
- button: true,
9
- fieldset: true,
10
- input: true,
11
- optgroup: true,
12
- option: true,
13
- select: true,
14
- textarea: true,
15
- };
16
6
  export const DISABLED_CONTROLLER = new InjectionToken('@odx/angular::DisabledWatchedController');
17
- const DISABLED_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::DisabledController', {
18
- factory: () => new DisabledController(null),
19
- });
7
+ export const DISABLED_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::DisabledController');
20
8
  export class DisabledController extends Controller {
21
- constructor(element) {
22
- super();
9
+ constructor() {
10
+ super(...arguments);
11
+ this.parentController = inject(DISABLED_CONTROLLER, { optional: true, skipSelf: true });
23
12
  this.isDisabled = false;
24
- this.hasDisabledAttribute = false;
25
- this.isDisabled$ = this.change$.pipe(map(() => this.isDisabled), distinctUntilChanged(), shareReplay({ refCount: true }));
26
- this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';
13
+ this.isDisabled$ = this.change$.pipe(map(() => this.disabled), distinctUntilChanged(), shareReplay({ refCount: true }));
27
14
  }
28
15
  set disabled(value) {
29
- const coercedValue = coerceBooleanProperty(value);
30
- if (this.isDisabled !== coercedValue) {
31
- this.isDisabled = coercedValue;
32
- this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];
33
- }
16
+ this.isDisabled = coerceBooleanProperty(value);
34
17
  }
35
18
  get disabled() {
36
- return this.isDisabled;
37
- }
38
- get ariaDisabled() {
39
- return booleanToOptionalAttributeString(this.hasDisabledAttribute);
19
+ return this.isDisabled || !!this.parentController?.disabled;
40
20
  }
41
21
  static inject() {
42
22
  return inject(DISABLED_CONTROLLER, { optional: true });
43
23
  }
44
24
  static connect() {
45
- return {
46
- provide: DISABLED_CONTROLLER,
47
- useFactory: Controller.setup,
48
- deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],
49
- };
25
+ return [
26
+ {
27
+ provide: DISABLED_INTERNAL_CONTROLLER,
28
+ useFactory: (hostController) => hostController ?? new DisabledController(),
29
+ deps: [[new Optional(), new Host(), DisabledController]],
30
+ },
31
+ {
32
+ provide: DISABLED_CONTROLLER,
33
+ useFactory: Controller.setup,
34
+ deps: [[new Optional(), new Host(), DISABLED_INTERNAL_CONTROLLER], ChangeDetectorRef],
35
+ },
36
+ ];
50
37
  }
51
38
  setDisabledState(state) {
52
- this.disabled = state;
53
- this.ngOnChanges();
39
+ if (this.disabled !== state) {
40
+ this.disabled = state;
41
+ this.ngOnChanges();
42
+ }
54
43
  }
55
44
  }
56
- DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DisabledController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
57
- DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, host: { properties: { "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute || null" } }, providers: [
45
+ DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
46
+ DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
58
47
  {
59
48
  provide: DISABLED_INTERNAL_CONTROLLER,
60
49
  useExisting: forwardRef(() => DisabledController),
61
50
  },
62
51
  ], usesInheritance: true, ngImport: i0 });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DisabledController, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DisabledController, decorators: [{
64
53
  type: Directive,
65
54
  args: [{
66
55
  standalone: true,
@@ -71,12 +60,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
71
60
  useExisting: forwardRef(() => DisabledController),
72
61
  },
73
62
  ],
74
- host: {
75
- '[attr.aria-disabled]': 'ariaDisabled',
76
- '[attr.disabled]': 'hasDisabledAttribute || null',
77
- },
78
63
  }]
79
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { disabled: [{
64
+ }], propDecorators: { disabled: [{
80
65
  type: Input
81
66
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRyb2xsZXJzL2Rpc2FibGVkLmNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTFDLE1BQU0sZ0NBQWdDLEdBQUc7SUFDdkMsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsSUFBSTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLElBQUk7SUFDZCxNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLElBQUk7Q0FDWSxDQUFDO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFxQix5Q0FBeUMsQ0FBQyxDQUFDO0FBQ3JILE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQTRCLGtDQUFrQyxFQUFFO0lBQ3JILE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQztDQUM1QyxDQUFDLENBQUM7QUFnQkgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFVBQVU7SUE2QmhELFlBQVksT0FBdUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUExQkYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVqQix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDMUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQ2hDLENBQUM7UUFvQkEsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQW5CRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxZQUFZLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDL0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hHO0lBQ0gsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFPTSxNQUFNLENBQUMsTUFBTTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixVQUFVLEVBQUUsVUFBVSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLENBQUMsNEJBQTRCLEVBQUUsaUJBQWlCLENBQUM7U0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDOztnSEFqRFUsa0JBQWtCO29HQUFsQixrQkFBa0IsNE1BWGxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7U0FDbEQ7S0FDRjs0RkFNVSxrQkFBa0I7a0JBZDlCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7eUJBQ2xEO3FCQUNGO29CQUNELElBQUksRUFBRTt3QkFDSixzQkFBc0IsRUFBRSxjQUFjO3dCQUN0QyxpQkFBaUIsRUFBRSw4QkFBOEI7cUJBQ2xEO2lCQUNGO2lHQWVZLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGJvb2xlYW5Ub09wdGlvbmFsQXR0cmlidXRlU3RyaW5nIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyIH0gZnJvbSAnLi9jb250cm9sbGVyJztcblxuY29uc3QgRUxFTUVOVFNfV0lUSF9ESVNBQkxFRF9BVFRSSUJVVEUgPSB7XG4gIGJ1dHRvbjogdHJ1ZSxcbiAgZmllbGRzZXQ6IHRydWUsXG4gIGlucHV0OiB0cnVlLFxuICBvcHRncm91cDogdHJ1ZSxcbiAgb3B0aW9uOiB0cnVlLFxuICBzZWxlY3Q6IHRydWUsXG4gIHRleHRhcmVhOiB0cnVlLFxufSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcblxuZXhwb3J0IGNvbnN0IERJU0FCTEVEX0NPTlRST0xMRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlzYWJsZWRDb250cm9sbGVyPignQG9keC9hbmd1bGFyOjpEaXNhYmxlZFdhdGNoZWRDb250cm9sbGVyJyk7XG5jb25zdCBESVNBQkxFRF9JTlRFUk5BTF9DT05UUk9MTEVSID0gbmV3IEluamVjdGlvblRva2VuPERpc2FibGVkQ29udHJvbGxlciB8IG51bGw+KCdAb2R4L2FuZ3VsYXI6OkRpc2FibGVkQ29udHJvbGxlcicsIHtcbiAgZmFjdG9yeTogKCkgPT4gbmV3IERpc2FibGVkQ29udHJvbGxlcihudWxsKSxcbn0pO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbZGlzYWJsZWRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRElTQUJMRURfSU5URVJOQUxfQ09OVFJPTExFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERpc2FibGVkQ29udHJvbGxlciksXG4gICAgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdhcmlhRGlzYWJsZWQnLFxuICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnaGFzRGlzYWJsZWRBdHRyaWJ1dGUgfHwgbnVsbCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIERpc2FibGVkQ29udHJvbGxlciBleHRlbmRzIENvbnRyb2xsZXIge1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBub2RlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgaGFzRGlzYWJsZWRBdHRyaWJ1dGUgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5IGlzRGlzYWJsZWQkID0gdGhpcy5jaGFuZ2UkLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuaXNEaXNhYmxlZCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlIH0pXG4gICk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogdW5rbm93bikge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCAhPT0gY29lcmNlZFZhbHVlKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSBjb2VyY2VkVmFsdWU7XG4gICAgICB0aGlzLmhhc0Rpc2FibGVkQXR0cmlidXRlID0gdGhpcy5pc0Rpc2FibGVkICYmIEVMRU1FTlRTX1dJVEhfRElTQUJMRURfQVRUUklCVVRFW3RoaXMubm9kZU5hbWVdO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEaXNhYmxlZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gYm9vbGVhblRvT3B0aW9uYWxBdHRyaWJ1dGVTdHJpbmcodGhpcy5oYXNEaXNhYmxlZEF0dHJpYnV0ZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGwpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubm9kZU5hbWUgPSBlbGVtZW50Py5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGluamVjdCgpOiBEaXNhYmxlZENvbnRyb2xsZXIgfCBudWxsIHtcbiAgICByZXR1cm4gaW5qZWN0KERJU0FCTEVEX0NPTlRST0xMRVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbm5lY3QoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlOiBESVNBQkxFRF9DT05UUk9MTEVSLFxuICAgICAgdXNlRmFjdG9yeTogQ29udHJvbGxlci5zZXR1cCxcbiAgICAgIGRlcHM6IFtESVNBQkxFRF9JTlRFUk5BTF9DT05UUk9MTEVSLCBDaGFuZ2VEZXRlY3RvclJlZl0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHN0YXRlO1xuICAgIHRoaXMubmdPbkNoYW5nZXMoKTtcbiAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRyb2xsZXJzL2Rpc2FibGVkLmNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFMUMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQXFCLHlDQUF5QyxDQUFDLENBQUM7QUFDckgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQTRCLGtDQUFrQyxDQUFDLENBQUM7QUFZOUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFVBQVU7SUFWbEQ7O1FBYW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVYLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0tBb0NIO0lBbENDLElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU07UUFDbEIsT0FBTyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFVBQVUsRUFBRSxDQUFDLGNBQXlDLEVBQUUsRUFBRSxDQUFDLGNBQWMsSUFBSSxJQUFJLGtCQUFrQixFQUFFO2dCQUNyRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxLQUFLO2dCQUM1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSw0QkFBNEIsQ0FBQyxFQUFFLGlCQUFpQixDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFjO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7K0dBN0NVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDJGQVBsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1NBQ2xEO0tBQ0Y7MkZBRVUsa0JBQWtCO2tCQVY5QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3lCQUNsRDtxQkFDRjtpQkFDRjs4QkFjWSxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSG9zdCwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9wdGlvbmFsLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXInO1xuXG5leHBvcnQgY29uc3QgRElTQUJMRURfQ09OVFJPTExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEaXNhYmxlZENvbnRyb2xsZXI+KCdAb2R4L2FuZ3VsYXI6OkRpc2FibGVkV2F0Y2hlZENvbnRyb2xsZXInKTtcbmV4cG9ydCBjb25zdCBESVNBQkxFRF9JTlRFUk5BTF9DT05UUk9MTEVSID0gbmV3IEluamVjdGlvblRva2VuPERpc2FibGVkQ29udHJvbGxlciB8IG51bGw+KCdAb2R4L2FuZ3VsYXI6OkRpc2FibGVkQ29udHJvbGxlcicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbZGlzYWJsZWRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRElTQUJMRURfSU5URVJOQUxfQ09OVFJPTExFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERpc2FibGVkQ29udHJvbGxlciksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGlzYWJsZWRDb250cm9sbGVyIGV4dGVuZHMgQ29udHJvbGxlciB7XG4gIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudENvbnRyb2xsZXIgPSBpbmplY3QoRElTQUJMRURfQ09OVFJPTExFUiwgeyBvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBpc0Rpc2FibGVkJCA9IHRoaXMuY2hhbmdlJC5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmRpc2FibGVkKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUgfSlcbiAgKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZCB8fCAhIXRoaXMucGFyZW50Q29udHJvbGxlcj8uZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGluamVjdCgpOiBEaXNhYmxlZENvbnRyb2xsZXIgfCBudWxsIHtcbiAgICByZXR1cm4gaW5qZWN0KERJU0FCTEVEX0NPTlRST0xMRVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbm5lY3QoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogRElTQUJMRURfSU5URVJOQUxfQ09OVFJPTExFUixcbiAgICAgICAgdXNlRmFjdG9yeTogKGhvc3RDb250cm9sbGVyOiBEaXNhYmxlZENvbnRyb2xsZXIgfCBudWxsKSA9PiBob3N0Q29udHJvbGxlciA/PyBuZXcgRGlzYWJsZWRDb250cm9sbGVyKCksXG4gICAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBIb3N0KCksIERpc2FibGVkQ29udHJvbGxlcl1dLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogRElTQUJMRURfQ09OVFJPTExFUixcbiAgICAgICAgdXNlRmFjdG9yeTogQ29udHJvbGxlci5zZXR1cCxcbiAgICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IEhvc3QoKSwgRElTQUJMRURfSU5URVJOQUxfQ09OVFJPTExFUl0sIENoYW5nZURldGVjdG9yUmVmXSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgIT09IHN0YXRlKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gc3RhdGU7XG4gICAgICB0aGlzLm5nT25DaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=