@odx/angular 6.0.0 → 6.1.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 (669) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/animations/lib/expand.d.ts +44 -0
  3. package/animations/lib/fade.d.ts +70 -0
  4. package/animations/lib/slide.d.ts +21 -0
  5. package/animations/lib/wait-for-child-animations.d.ts +38 -0
  6. package/breakpoints/lib/breakpoints.config.d.ts +38 -0
  7. package/breakpoints/lib/breakpoints.service.d.ts +43 -0
  8. package/breakpoints/lib/directives/match-breakpoints.directive.d.ts +36 -0
  9. package/breakpoints/lib/helpers/configure-breakpoint.d.ts +19 -0
  10. package/cdk/a11y/lib/directives/interactive.directive.d.ts +32 -0
  11. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +22 -0
  12. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +17 -0
  13. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +63 -0
  14. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +53 -0
  15. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -0
  16. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +44 -0
  17. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +10 -0
  18. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +49 -0
  19. package/cdk/custom-form-control/lib/custom-form-control.d.ts +108 -0
  20. package/cdk/custom-form-control/lib/input-control.directive.d.ts +75 -0
  21. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +25 -0
  22. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +30 -0
  23. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +22 -0
  24. package/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.d.ts +22 -0
  25. package/cdk/dynamic-view/lib/helpers/is-dynamic-view.d.ts +22 -0
  26. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +39 -0
  27. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +36 -0
  28. package/cdk/dynamic-view/lib/tokens/dynamic-view-context.d.ts +4 -0
  29. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +10 -0
  30. package/cdk/event-plugins/lib/event-plugins.config.d.ts +35 -0
  31. package/cdk/event-plugins/lib/models/event-plugin.d.ts +57 -0
  32. package/cdk/event-plugins/lib/plugins/debounce-event-plugin.d.ts +32 -0
  33. package/cdk/event-plugins/lib/plugins/defer-event-plugin.d.ts +24 -0
  34. package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +41 -0
  35. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +47 -0
  36. package/cdk/option-control/lib/option-control.d.ts +47 -0
  37. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +8 -0
  38. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +11 -0
  39. package/components/accordion/lib/accordion.component.d.ts +8 -0
  40. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +37 -1
  41. package/components/accordion/lib/directives/accordion-item-title.d.ts +3 -0
  42. package/components/action-group/action-group.component.d.ts +6 -0
  43. package/components/area-header/area-header.component.d.ts +8 -0
  44. package/components/area-header/directives/area-header-content.directive.d.ts +3 -0
  45. package/components/area-header/directives/area-header-subtitle.directive.d.ts +3 -0
  46. package/components/autocomplete/lib/autocomplete.component.d.ts +18 -0
  47. package/components/avatar/lib/avatar.component.d.ts +8 -0
  48. package/components/badge/lib/badge.component.d.ts +10 -0
  49. package/components/badge/lib/badge.directive.d.ts +15 -0
  50. package/components/bar/lib/bar.component.d.ts +7 -0
  51. package/components/bar/lib/directives/bar-button.directive.d.ts +3 -0
  52. package/components/bar/lib/directives/bar-label.directive.d.ts +3 -0
  53. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +3 -0
  54. package/components/button/lib/button.component.d.ts +10 -0
  55. package/components/button-group/lib/button-group.component.d.ts +15 -0
  56. package/components/calendar/lib/calendar.component.d.ts +48 -0
  57. package/components/calendar/lib/calendar.config.d.ts +17 -0
  58. package/components/calendar/lib/calendar.service.d.ts +48 -0
  59. package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +24 -0
  60. package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +6 -0
  61. package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +6 -0
  62. package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +6 -0
  63. package/components/calendar/lib/daterange.service.d.ts +16 -0
  64. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +37 -0
  65. package/components/calendar/lib/directives/calendar-view.directive.d.ts +41 -0
  66. package/components/calendar/lib/pipes/date-label.pipe.d.ts +5 -0
  67. package/components/calendar/lib/services/calendar-month.service.d.ts +1 -0
  68. package/components/calendar/lib/services/calendar-year.service.d.ts +1 -0
  69. package/components/calendar/lib/services/calendar-years.service.d.ts +1 -0
  70. package/components/calendar/lib/utils/check-cell-in-range.d.ts +1 -0
  71. package/components/calendar/lib/utils/check-identical-date.d.ts +1 -0
  72. package/components/calendar/lib/utils/get-A11y-label.d.ts +1 -0
  73. package/components/calendar/lib/utils/is-date-disabled.d.ts +1 -0
  74. package/components/calendar/lib/utils/parse-date.d.ts +1 -0
  75. package/components/calendar/lib/utils/validate-daterange.d.ts +1 -0
  76. package/components/calendar/lib/utils/validate-max-date.d.ts +1 -0
  77. package/components/calendar/lib/utils/validate-min-date.d.ts +1 -0
  78. package/components/calendar/lib/utils/validate-next-date-set.d.ts +1 -0
  79. package/components/calendar/lib/utils/validate-previous-date-set.d.ts +1 -0
  80. package/components/checkbox/lib/checkbox.component.d.ts +32 -0
  81. package/components/checkbox/lib/checkbox.validator.d.ts +23 -0
  82. package/components/chip/lib/components/chip/chip.component.d.ts +14 -0
  83. package/components/chip/lib/components/chip-list/chip-list.component.d.ts +3 -0
  84. package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +3 -0
  85. package/components/circular-progress/lib/circular-progress.component.d.ts +20 -0
  86. package/components/content-box/lib/content-box.component.d.ts +3 -0
  87. package/components/content-box/lib/directives/content-box-footer.directive.d.ts +3 -0
  88. package/components/content-box/lib/directives/content-box-header.directive.d.ts +3 -0
  89. package/components/datepicker/lib/datepicker.component.d.ts +47 -0
  90. package/components/datepicker/lib/datepicker.config.d.ts +19 -0
  91. package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +30 -0
  92. package/components/datepicker/lib/utils/get-datepicker-input-pattern.d.ts +2 -0
  93. package/components/datepicker/lib/utils/get-datepicker-input-value-as-date.d.ts +1 -0
  94. package/components/daterangepicker/lib/daterangepicker.component.d.ts +89 -0
  95. package/components/daterangepicker/lib/daterangepicker.config.d.ts +19 -0
  96. package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +30 -0
  97. package/components/daterangepicker/lib/range.validator.d.ts +15 -0
  98. package/components/daterangepicker/lib/required.validator.d.ts +6 -0
  99. package/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.d.ts +2 -0
  100. package/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.d.ts +1 -0
  101. package/components/dropdown/lib/dropdown.component.d.ts +16 -0
  102. package/components/dropdown/lib/dropdown.directive.d.ts +67 -0
  103. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +5 -0
  104. package/components/error-page/lib/error-page.component.d.ts +7 -0
  105. package/components/error-page/lib/error-page.config.d.ts +18 -0
  106. package/components/footer/lib/footer.component.d.ts +9 -6
  107. package/components/footer/lib/footer.config.d.ts +2 -0
  108. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +13 -0
  109. package/components/form-field/lib/components/form-group/form-group.component.d.ts +16 -0
  110. package/components/form-field/lib/directives/form-field-control.directive.d.ts +5 -0
  111. package/components/form-field/lib/directives/form-field-error.directive.d.ts +6 -0
  112. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +3 -0
  113. package/components/form-field/lib/directives/form-field-label.directive.d.ts +3 -0
  114. package/components/form-field/lib/directives/form.directive.d.ts +13 -0
  115. package/components/form-field/lib/form-field.component.d.ts +20 -0
  116. package/components/form-field/lib/form-field.service.d.ts +42 -0
  117. package/components/form-field/lib/services/form-field-error.service.d.ts +24 -0
  118. package/components/header/lib/directives/header-avatar.directive.d.ts +4 -0
  119. package/components/header/lib/directives/header-title.directive.d.ts +3 -0
  120. package/components/header/lib/header.component.d.ts +3 -0
  121. package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +3 -0
  122. package/components/header-navigation/lib/header-navigation.component.d.ts +6 -0
  123. package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +14 -0
  124. package/components/icon/lib/icon.component.d.ts +24 -0
  125. package/components/icon/lib/icon.config.d.ts +26 -0
  126. package/components/inline-message/lib/inline-message.component.d.ts +13 -0
  127. package/components/link/link.directive.d.ts +3 -0
  128. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +6 -0
  129. package/components/list/lib/components/list-item/list-item.component.d.ts +17 -1
  130. package/components/list/lib/list.component.d.ts +5 -0
  131. package/components/loading-spinner/lib/loading-spinner.component.d.ts +8 -0
  132. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +22 -0
  133. package/components/logo/logo.directive.d.ts +15 -0
  134. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +5 -1
  135. package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +3 -0
  136. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +16 -0
  137. package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +1 -0
  138. package/components/main-menu/lib/main-menu.component.d.ts +42 -0
  139. package/components/main-menu/lib/main-menu.config.d.ts +31 -0
  140. package/components/main-menu/lib/main-menu.service.d.ts +28 -0
  141. package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +4 -0
  142. package/components/menu/lib/directives/menu-item.directive.d.ts +6 -0
  143. package/components/menu/lib/menu.component.d.ts +13 -1
  144. package/components/menu/lib/menu.directive.d.ts +31 -0
  145. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +14 -0
  146. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +3 -0
  147. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +9 -0
  148. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +21 -0
  149. package/components/modal/lib/directives/modal-close.directive.d.ts +25 -1
  150. package/components/modal/lib/directives/modal-content.directive.d.ts +3 -0
  151. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +18 -1
  152. package/components/modal/lib/helpers/inject-modal-ref.d.ts +21 -0
  153. package/components/modal/lib/helpers/provide-modal-ref.d.ts +9 -0
  154. package/components/modal/lib/modal.component.d.ts +25 -0
  155. package/components/modal/lib/modal.config.d.ts +33 -0
  156. package/components/modal/lib/modal.directive.d.ts +29 -0
  157. package/components/modal/lib/modal.service.d.ts +54 -0
  158. package/components/modal/lib/models/modal-ref.d.ts +34 -0
  159. package/components/navigation-back/lib/navigation-back.component.d.ts +3 -0
  160. package/components/notification/lib/components/notification-center/notification-center.component.d.ts +0 -2
  161. package/components/notification/lib/directives/notification-center.directive.d.ts +18 -4
  162. package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +1 -0
  163. package/components/notification/lib/helpers/sort-notifications.d.ts +1 -0
  164. package/components/notification/lib/helpers/to-notification-collection.d.ts +1 -0
  165. package/components/notification/lib/models/notification-feature.d.ts +15 -0
  166. package/components/notification/lib/notification.config.d.ts +54 -0
  167. package/components/notification/lib/notification.logger.d.ts +1 -0
  168. package/components/notification/lib/notification.service.d.ts +55 -0
  169. package/components/notification/lib/notification.tokens.d.ts +3 -0
  170. package/components/notification/lib/services/notification-center.service.d.ts +9 -0
  171. package/components/paginator/lib/paginator.component.d.ts +89 -0
  172. package/components/paginator/lib/paginator.config.d.ts +24 -2
  173. package/components/progress/lib/progress.component.d.ts +15 -0
  174. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +18 -1
  175. package/components/radio-group/lib/radio-group.component.d.ts +11 -0
  176. package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +19 -0
  177. package/components/rail-navigation/lib/rail-navigation.component.d.ts +26 -0
  178. package/components/rich-list/lib/components/rich-list-content/rich-list-content.component.d.ts +4 -0
  179. package/components/rich-list/lib/components/rich-list-header/rich-list-header.component.d.ts +4 -0
  180. package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +9 -1
  181. package/components/rich-list/lib/rich-list.component.d.ts +9 -2
  182. package/components/select/lib/components/select-option/select-option.component.d.ts +39 -2
  183. package/components/select/lib/directives/select-input-control.directive.d.ts +11 -0
  184. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +10 -0
  185. package/components/select/lib/select.component.d.ts +59 -0
  186. package/components/slider/lib/slider.directive.d.ts +19 -0
  187. package/components/spinbox/lib/spinbox.component.d.ts +16 -0
  188. package/components/switch/lib/switch.component.d.ts +10 -0
  189. package/components/switch/lib/switch.validator.d.ts +12 -0
  190. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +28 -0
  191. package/components/tab-bar/lib/tab-bar.component.d.ts +69 -0
  192. package/components/table/lib/components/check-cell/check-cell.component.d.ts +18 -0
  193. package/components/table/lib/components/header-title/header-title.component.d.ts +33 -1
  194. package/components/table/lib/directives/table-cell.directive.d.ts +4 -0
  195. package/components/table/lib/directives/table-row.directive.d.ts +4 -0
  196. package/components/table/lib/table.component.d.ts +36 -0
  197. package/components/timepicker/lib/timepicker.component.d.ts +11 -2
  198. package/components/timepicker/lib/utils/generate-time-stamps.d.ts +2 -1
  199. package/components/timepicker/lib/utils/ngx-mask-helper.d.ts +2 -2
  200. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +5 -4
  201. package/components/toast/lib/models/toast.d.ts +4 -2
  202. package/components/toast/lib/toast.config.d.ts +26 -0
  203. package/components/toast/lib/toast.service.d.ts +35 -0
  204. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +11 -0
  205. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +12 -0
  206. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +7 -0
  207. package/components/tooltip/lib/tooltip.component.d.ts +20 -0
  208. package/components/tooltip/lib/tooltip.directive.d.ts +35 -0
  209. package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +34 -0
  210. package/components/wizard/lib/wizard.component.d.ts +20 -0
  211. package/esm2022/animations/lib/expand.mjs +45 -1
  212. package/esm2022/animations/lib/fade.mjs +71 -1
  213. package/esm2022/animations/lib/slide.mjs +22 -1
  214. package/esm2022/animations/lib/wait-for-child-animations.mjs +39 -1
  215. package/esm2022/breakpoints/lib/breakpoints.config.mjs +39 -1
  216. package/esm2022/breakpoints/lib/breakpoints.service.mjs +44 -1
  217. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +37 -1
  218. package/esm2022/breakpoints/lib/helpers/configure-breakpoint.mjs +20 -1
  219. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +33 -1
  220. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +23 -1
  221. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +18 -1
  222. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +64 -1
  223. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +40 -2
  224. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -1
  225. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +45 -1
  226. package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +11 -1
  227. package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +50 -1
  228. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +109 -3
  229. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +76 -1
  230. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +18 -1
  231. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +31 -1
  232. package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +23 -1
  233. package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +23 -1
  234. package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-view.mjs +23 -1
  235. package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +40 -1
  236. package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +37 -1
  237. package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-context.mjs +5 -1
  238. package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +11 -1
  239. package/esm2022/cdk/event-plugins/lib/event-plugins.config.mjs +36 -1
  240. package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +45 -1
  241. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +33 -1
  242. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +25 -1
  243. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +42 -1
  244. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +48 -1
  245. package/esm2022/cdk/option-control/lib/option-control.mjs +48 -1
  246. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +9 -1
  247. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +12 -1
  248. package/esm2022/components/accordion/lib/accordion.component.mjs +9 -1
  249. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +31 -1
  250. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +4 -1
  251. package/esm2022/components/action-group/action-group.component.mjs +7 -1
  252. package/esm2022/components/area-header/area-header.component.mjs +9 -1
  253. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +4 -1
  254. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +4 -1
  255. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +29 -5
  256. package/esm2022/components/avatar/lib/avatar.component.mjs +9 -1
  257. package/esm2022/components/badge/lib/badge.component.mjs +11 -1
  258. package/esm2022/components/badge/lib/badge.directive.mjs +16 -1
  259. package/esm2022/components/bar/lib/bar.component.mjs +8 -1
  260. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +4 -1
  261. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +4 -1
  262. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +4 -1
  263. package/esm2022/components/button/lib/button.component.mjs +11 -1
  264. package/esm2022/components/button-group/lib/button-group.component.mjs +16 -1
  265. package/esm2022/components/calendar/lib/calendar.component.mjs +35 -1
  266. package/esm2022/components/calendar/lib/calendar.config.mjs +18 -1
  267. package/esm2022/components/calendar/lib/calendar.service.mjs +49 -1
  268. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +19 -1
  269. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +7 -1
  270. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +7 -1
  271. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +7 -1
  272. package/esm2022/components/calendar/lib/daterange.service.mjs +17 -1
  273. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +26 -1
  274. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +39 -1
  275. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +6 -1
  276. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +2 -1
  277. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +2 -1
  278. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +2 -1
  279. package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +2 -1
  280. package/esm2022/components/calendar/lib/utils/check-identical-date.mjs +2 -1
  281. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +2 -1
  282. package/esm2022/components/calendar/lib/utils/is-date-disabled.mjs +2 -1
  283. package/esm2022/components/calendar/lib/utils/parse-date.mjs +2 -1
  284. package/esm2022/components/calendar/lib/utils/validate-daterange.mjs +2 -1
  285. package/esm2022/components/calendar/lib/utils/validate-max-date.mjs +2 -1
  286. package/esm2022/components/calendar/lib/utils/validate-min-date.mjs +2 -1
  287. package/esm2022/components/calendar/lib/utils/validate-next-date-set.mjs +2 -1
  288. package/esm2022/components/calendar/lib/utils/validate-previous-date-set.mjs +2 -1
  289. package/esm2022/components/checkbox/lib/checkbox.component.mjs +33 -1
  290. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +24 -1
  291. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +15 -1
  292. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +4 -1
  293. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +4 -1
  294. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +21 -1
  295. package/esm2022/components/content-box/lib/content-box.component.mjs +4 -1
  296. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +4 -1
  297. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +4 -1
  298. package/esm2022/components/datepicker/lib/datepicker.component.mjs +33 -1
  299. package/esm2022/components/datepicker/lib/datepicker.config.mjs +20 -1
  300. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +31 -1
  301. package/esm2022/components/datepicker/lib/utils/get-datepicker-input-pattern.mjs +3 -1
  302. package/esm2022/components/datepicker/lib/utils/get-datepicker-input-value-as-date.mjs +2 -1
  303. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +65 -1
  304. package/esm2022/components/daterangepicker/lib/daterangepicker.config.mjs +20 -1
  305. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +31 -1
  306. package/esm2022/components/daterangepicker/lib/range.validator.mjs +16 -1
  307. package/esm2022/components/daterangepicker/lib/required.validator.mjs +15 -1
  308. package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.mjs +3 -1
  309. package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.mjs +2 -1
  310. package/esm2022/components/dropdown/lib/dropdown.component.mjs +8 -1
  311. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +55 -1
  312. package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +6 -1
  313. package/esm2022/components/error-page/lib/error-page.component.mjs +8 -1
  314. package/esm2022/components/error-page/lib/error-page.config.mjs +9 -1
  315. package/esm2022/components/footer/lib/footer.component.mjs +10 -7
  316. package/esm2022/components/footer/lib/footer.config.mjs +3 -1
  317. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +14 -1
  318. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +13 -1
  319. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +6 -1
  320. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +4 -1
  321. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -1
  322. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +4 -1
  323. package/esm2022/components/form-field/lib/directives/form.directive.mjs +14 -1
  324. package/esm2022/components/form-field/lib/form-field.component.mjs +14 -1
  325. package/esm2022/components/form-field/lib/form-field.service.mjs +43 -1
  326. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +25 -1
  327. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +5 -1
  328. package/esm2022/components/header/lib/directives/header-title.directive.mjs +4 -1
  329. package/esm2022/components/header/lib/header.component.mjs +4 -1
  330. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +4 -1
  331. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +4 -1
  332. package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +15 -1
  333. package/esm2022/components/icon/lib/icon.component.mjs +25 -1
  334. package/esm2022/components/icon/lib/icon.config.mjs +20 -1
  335. package/esm2022/components/inline-message/lib/inline-message.component.mjs +14 -1
  336. package/esm2022/components/link/link.directive.mjs +4 -1
  337. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +7 -1
  338. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +18 -2
  339. package/esm2022/components/list/lib/list.component.mjs +6 -1
  340. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +10 -2
  341. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +23 -1
  342. package/esm2022/components/logo/logo.directive.mjs +16 -1
  343. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +5 -1
  344. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +4 -1
  345. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +17 -1
  346. package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +2 -1
  347. package/esm2022/components/main-menu/lib/main-menu.component.mjs +37 -1
  348. package/esm2022/components/main-menu/lib/main-menu.config.mjs +32 -1
  349. package/esm2022/components/main-menu/lib/main-menu.service.mjs +29 -1
  350. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +5 -1
  351. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +7 -1
  352. package/esm2022/components/menu/lib/menu.component.mjs +13 -1
  353. package/esm2022/components/menu/lib/menu.directive.mjs +19 -1
  354. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +15 -1
  355. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -1
  356. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +4 -1
  357. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +12 -1
  358. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +25 -1
  359. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +4 -1
  360. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +18 -1
  361. package/esm2022/components/modal/lib/helpers/inject-modal-ref.mjs +22 -1
  362. package/esm2022/components/modal/lib/helpers/provide-modal-ref.mjs +10 -1
  363. package/esm2022/components/modal/lib/modal.component.mjs +21 -2
  364. package/esm2022/components/modal/lib/modal.config.mjs +34 -1
  365. package/esm2022/components/modal/lib/modal.directive.mjs +25 -1
  366. package/esm2022/components/modal/lib/modal.service.mjs +39 -1
  367. package/esm2022/components/modal/lib/models/modal-ref.mjs +34 -1
  368. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +4 -1
  369. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +1 -3
  370. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +19 -5
  371. package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +2 -1
  372. package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +2 -1
  373. package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +2 -1
  374. package/esm2022/components/notification/lib/models/notification-feature.mjs +16 -1
  375. package/esm2022/components/notification/lib/notification.config.mjs +45 -1
  376. package/esm2022/components/notification/lib/notification.logger.mjs +2 -1
  377. package/esm2022/components/notification/lib/notification.service.mjs +56 -1
  378. package/esm2022/components/notification/lib/notification.tokens.mjs +4 -1
  379. package/esm2022/components/notification/lib/services/notification-center.service.mjs +10 -1
  380. package/esm2022/components/paginator/lib/paginator.component.mjs +90 -1
  381. package/esm2022/components/paginator/lib/paginator.config.mjs +29 -1
  382. package/esm2022/components/progress/lib/progress.component.mjs +16 -1
  383. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +20 -3
  384. package/esm2022/components/radio-group/lib/radio-group.component.mjs +13 -2
  385. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +17 -1
  386. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +27 -1
  387. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +5 -1
  388. package/esm2022/components/rich-list/lib/components/rich-list-header/rich-list-header.component.mjs +5 -1
  389. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +10 -2
  390. package/esm2022/components/rich-list/lib/rich-list.component.mjs +10 -3
  391. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +49 -7
  392. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +12 -2
  393. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +11 -1
  394. package/esm2022/components/select/lib/select.component.mjs +59 -5
  395. package/esm2022/components/slider/lib/slider.directive.mjs +20 -1
  396. package/esm2022/components/spinbox/lib/spinbox.component.mjs +17 -1
  397. package/esm2022/components/switch/lib/switch.component.mjs +11 -1
  398. package/esm2022/components/switch/lib/switch.validator.mjs +13 -1
  399. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +29 -1
  400. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +71 -1
  401. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +19 -1
  402. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +30 -2
  403. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +5 -1
  404. package/esm2022/components/table/lib/directives/table-row.directive.mjs +5 -1
  405. package/esm2022/components/table/lib/table.component.mjs +30 -1
  406. package/esm2022/components/timepicker/lib/timepicker.component.mjs +15 -6
  407. package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +5 -3
  408. package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +3 -3
  409. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  410. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +5 -3
  411. package/esm2022/components/toast/lib/models/toast.mjs +1 -1
  412. package/esm2022/components/toast/lib/toast.config.mjs +27 -1
  413. package/esm2022/components/toast/lib/toast.service.mjs +36 -1
  414. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +12 -1
  415. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +14 -2
  416. package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +8 -1
  417. package/esm2022/components/tooltip/lib/tooltip.component.mjs +18 -1
  418. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +36 -1
  419. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +35 -1
  420. package/esm2022/components/wizard/lib/wizard.component.mjs +21 -1
  421. package/esm2022/internal/lib/helpers/decorator-property-name.mjs +9 -1
  422. package/esm2022/internal/translate/lib/translate.config.mjs +32 -1
  423. package/esm2022/internal/translate/lib/translate.service.mjs +30 -1
  424. package/esm2022/lib/controllers/controller.mjs +26 -1
  425. package/esm2022/lib/controllers/disabled.controller.mjs +60 -1
  426. package/esm2022/lib/controllers/readonly.controller.mjs +57 -1
  427. package/esm2022/lib/directives/click-outside.directive.mjs +30 -1
  428. package/esm2022/lib/directives/delegate-focus.directive.mjs +15 -1
  429. package/esm2022/lib/services/window-ref.mjs +67 -1
  430. package/esm2022/lib/tokens/identity-matcher.mjs +25 -1
  431. package/esm2022/lib/tokens/string-search-handler.mjs +25 -1
  432. package/esm2022/lib/tokens/stringify.mjs +26 -1
  433. package/esm2022/localization/lib/features/with-http-language-header.mjs +54 -1
  434. package/esm2022/localization/lib/features/with-http-language-query-param.mjs +52 -1
  435. package/esm2022/localization/lib/loaders/browser-language-loader.mjs +33 -1
  436. package/esm2022/localization/lib/localization.config.mjs +71 -1
  437. package/esm2022/localization/lib/localization.service.mjs +42 -3
  438. package/esm2022/localization/lib/models/localization-feature.mjs +8 -1
  439. package/esm2022/rxjs/index.mjs +2 -2
  440. package/esm2022/rxjs/lib/delay-until.mjs +23 -1
  441. package/esm2022/rxjs/lib/from-element-mutation.mjs +22 -1
  442. package/esm2022/rxjs/lib/from-element-resize.mjs +25 -1
  443. package/esm2022/rxjs/lib/from-events.mjs +25 -1
  444. package/esm2022/rxjs/lib/from-query-list.mjs +24 -0
  445. package/esm2022/sdk/lib/application-environment.mjs +51 -1
  446. package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +19 -1
  447. package/esm2022/theming/lib/helpers/resolve-theme.mjs +26 -1
  448. package/esm2022/theming/lib/helpers/theme-storage.mjs +43 -1
  449. package/esm2022/theming/lib/theming.config.mjs +34 -1
  450. package/esm2022/theming/lib/theming.service.mjs +32 -1
  451. package/esm2022/utils/lib/decorators/pure.mjs +52 -1
  452. package/esm2022/utils/lib/helpers/angular.mjs +37 -1
  453. package/esm2022/utils/lib/helpers/array.mjs +5 -1
  454. package/esm2022/utils/lib/helpers/build-url.mjs +21 -1
  455. package/esm2022/utils/lib/helpers/build-website-url.mjs +3 -2
  456. package/esm2022/utils/lib/helpers/cache-storage-client.mjs +52 -1
  457. package/esm2022/utils/lib/helpers/coercion.mjs +18 -1
  458. package/esm2022/utils/lib/helpers/debounce.mjs +28 -1
  459. package/esm2022/utils/lib/helpers/defer-fn.mjs +21 -1
  460. package/esm2022/utils/lib/helpers/dom.mjs +71 -1
  461. package/esm2022/utils/lib/helpers/get-axis.mjs +21 -1
  462. package/esm2022/utils/lib/helpers/get-language-code.mjs +18 -1
  463. package/esm2022/utils/lib/helpers/get-opposite-side.mjs +22 -1
  464. package/esm2022/utils/lib/helpers/get-side.mjs +18 -1
  465. package/esm2022/utils/lib/helpers/get-unique-id.mjs +34 -1
  466. package/esm2022/utils/lib/helpers/match-url.mjs +41 -1
  467. package/esm2022/utils/lib/helpers/ng-changes.mjs +30 -1
  468. package/esm2022/utils/lib/helpers/provide-config.mjs +57 -1
  469. package/esm2022/utils/lib/helpers/queue.mjs +84 -1
  470. package/esm2022/utils/lib/helpers/type-guards.mjs +58 -1
  471. package/esm2022/utils/lib/helpers/until-destroyed.mjs +39 -1
  472. package/fesm2022/odx-angular-animations.mjs +173 -0
  473. package/fesm2022/odx-angular-animations.mjs.map +1 -1
  474. package/fesm2022/odx-angular-breakpoints.mjs +136 -0
  475. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  476. package/fesm2022/odx-angular-cdk-a11y.mjs +71 -0
  477. package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
  478. package/fesm2022/odx-angular-cdk-active-indicator.mjs +63 -0
  479. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  480. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +39 -1
  481. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  482. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -0
  483. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  484. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +103 -0
  485. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  486. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +183 -2
  487. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  488. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +202 -0
  489. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  490. package/fesm2022/odx-angular-cdk-event-plugins.mjs +135 -0
  491. package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
  492. package/fesm2022/odx-angular-cdk-expandable.mjs +88 -0
  493. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  494. package/fesm2022/odx-angular-cdk-option-control.mjs +47 -0
  495. package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
  496. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +19 -0
  497. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  498. package/fesm2022/odx-angular-components-accordion.mjs +41 -0
  499. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  500. package/fesm2022/odx-angular-components-action-group.mjs +6 -0
  501. package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
  502. package/fesm2022/odx-angular-components-area-header.mjs +14 -0
  503. package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
  504. package/fesm2022/odx-angular-components-autocomplete.mjs +28 -4
  505. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  506. package/fesm2022/odx-angular-components-avatar.mjs +8 -0
  507. package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
  508. package/fesm2022/odx-angular-components-badge.mjs +25 -0
  509. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  510. package/fesm2022/odx-angular-components-bar.mjs +13 -0
  511. package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
  512. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -0
  513. package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
  514. package/fesm2022/odx-angular-components-button-group.mjs +15 -0
  515. package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
  516. package/fesm2022/odx-angular-components-button.mjs +10 -0
  517. package/fesm2022/odx-angular-components-button.mjs.map +1 -1
  518. package/fesm2022/odx-angular-components-calendar.mjs +232 -0
  519. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  520. package/fesm2022/odx-angular-components-checkbox.mjs +55 -0
  521. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  522. package/fesm2022/odx-angular-components-chip.mjs +20 -0
  523. package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
  524. package/fesm2022/odx-angular-components-circular-progress.mjs +20 -0
  525. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  526. package/fesm2022/odx-angular-components-content-box.mjs +9 -0
  527. package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
  528. package/fesm2022/odx-angular-components-datepicker.mjs +84 -0
  529. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  530. package/fesm2022/odx-angular-components-daterangepicker.mjs +145 -0
  531. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  532. package/fesm2022/odx-angular-components-dropdown.mjs +66 -0
  533. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  534. package/fesm2022/odx-angular-components-error-page.mjs +15 -0
  535. package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
  536. package/fesm2022/odx-angular-components-footer.mjs +11 -6
  537. package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
  538. package/fesm2022/odx-angular-components-form-field.mjs +131 -0
  539. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  540. package/fesm2022/odx-angular-components-header-navigation.mjs +6 -0
  541. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
  542. package/fesm2022/odx-angular-components-header.mjs +10 -0
  543. package/fesm2022/odx-angular-components-header.mjs.map +1 -1
  544. package/fesm2022/odx-angular-components-icon.mjs +57 -0
  545. package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
  546. package/fesm2022/odx-angular-components-inline-message.mjs +13 -0
  547. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  548. package/fesm2022/odx-angular-components-link.mjs +3 -0
  549. package/fesm2022/odx-angular-components-link.mjs.map +1 -1
  550. package/fesm2022/odx-angular-components-list.mjs +28 -1
  551. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  552. package/fesm2022/odx-angular-components-loading-spinner.mjs +30 -0
  553. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  554. package/fesm2022/odx-angular-components-logo.mjs +15 -0
  555. package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
  556. package/fesm2022/odx-angular-components-main-menu.mjs +119 -0
  557. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  558. package/fesm2022/odx-angular-components-mainfilter-group.mjs +4 -0
  559. package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
  560. package/fesm2022/odx-angular-components-menu.mjs +36 -0
  561. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  562. package/fesm2022/odx-angular-components-modal.mjs +252 -0
  563. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  564. package/fesm2022/odx-angular-components-navigation-back.mjs +3 -0
  565. package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
  566. package/fesm2022/odx-angular-components-notification.mjs +148 -6
  567. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  568. package/fesm2022/odx-angular-components-paginator.mjs +117 -0
  569. package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
  570. package/fesm2022/odx-angular-components-progress.mjs +15 -0
  571. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  572. package/fesm2022/odx-angular-components-radio-group.mjs +30 -2
  573. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  574. package/fesm2022/odx-angular-components-rail-navigation.mjs +42 -0
  575. package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
  576. package/fesm2022/odx-angular-components-rich-list.mjs +26 -3
  577. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  578. package/fesm2022/odx-angular-components-select.mjs +126 -11
  579. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  580. package/fesm2022/odx-angular-components-slider.mjs +19 -0
  581. package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
  582. package/fesm2022/odx-angular-components-spinbox.mjs +16 -0
  583. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  584. package/fesm2022/odx-angular-components-switch.mjs +22 -0
  585. package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
  586. package/fesm2022/odx-angular-components-tab-bar.mjs +98 -0
  587. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  588. package/fesm2022/odx-angular-components-table.mjs +84 -1
  589. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  590. package/fesm2022/odx-angular-components-timepicker.mjs +20 -9
  591. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  592. package/fesm2022/odx-angular-components-toast.mjs +67 -4
  593. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  594. package/fesm2022/odx-angular-components-toggle-button-group.mjs +23 -0
  595. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  596. package/fesm2022/odx-angular-components-tooltip.mjs +59 -0
  597. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  598. package/fesm2022/odx-angular-components-wizard.mjs +54 -0
  599. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  600. package/fesm2022/odx-angular-internal-translate.mjs +60 -0
  601. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  602. package/fesm2022/odx-angular-internal.mjs +8 -0
  603. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  604. package/fesm2022/odx-angular-localization.mjs +254 -2
  605. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  606. package/fesm2022/odx-angular-rxjs.mjs +115 -5
  607. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  608. package/fesm2022/odx-angular-sdk.mjs +50 -0
  609. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  610. package/fesm2022/odx-angular-theming.mjs +149 -0
  611. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  612. package/fesm2022/odx-angular-utils.mjs +709 -1
  613. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  614. package/fesm2022/odx-angular.mjs +322 -0
  615. package/fesm2022/odx-angular.mjs.map +1 -1
  616. package/internal/lib/helpers/decorator-property-name.d.ts +8 -0
  617. package/internal/translate/lib/translate.config.d.ts +31 -0
  618. package/internal/translate/lib/translate.service.d.ts +29 -0
  619. package/lib/controllers/controller.d.ts +25 -0
  620. package/lib/controllers/disabled.controller.d.ts +59 -0
  621. package/lib/controllers/readonly.controller.d.ts +56 -0
  622. package/lib/directives/click-outside.directive.d.ts +29 -0
  623. package/lib/directives/delegate-focus.directive.d.ts +14 -0
  624. package/lib/services/window-ref.d.ts +66 -0
  625. package/lib/tokens/identity-matcher.d.ts +41 -0
  626. package/lib/tokens/string-search-handler.d.ts +39 -0
  627. package/lib/tokens/stringify.d.ts +42 -0
  628. package/localization/lib/features/with-http-language-header.d.ts +63 -0
  629. package/localization/lib/features/with-http-language-query-param.d.ts +61 -0
  630. package/localization/lib/loaders/browser-language-loader.d.ts +32 -0
  631. package/localization/lib/localization.config.d.ts +81 -0
  632. package/localization/lib/localization.service.d.ts +39 -0
  633. package/localization/lib/models/localization-feature.d.ts +7 -0
  634. package/package.json +1 -1
  635. package/rxjs/index.d.ts +1 -1
  636. package/rxjs/lib/delay-until.d.ts +22 -0
  637. package/rxjs/lib/from-element-mutation.d.ts +21 -0
  638. package/rxjs/lib/from-element-resize.d.ts +24 -0
  639. package/rxjs/lib/from-events.d.ts +24 -0
  640. package/rxjs/lib/from-query-list.d.ts +22 -0
  641. package/sdk/lib/application-environment.d.ts +59 -0
  642. package/theming/lib/helpers/prefers-dark-theme.d.ts +18 -0
  643. package/theming/lib/helpers/resolve-theme.d.ts +25 -0
  644. package/theming/lib/helpers/theme-storage.d.ts +42 -0
  645. package/theming/lib/theming.config.d.ts +46 -0
  646. package/theming/lib/theming.service.d.ts +31 -0
  647. package/utils/lib/decorators/pure.d.ts +51 -0
  648. package/utils/lib/helpers/angular.d.ts +36 -0
  649. package/utils/lib/helpers/array.d.ts +4 -0
  650. package/utils/lib/helpers/build-url.d.ts +20 -0
  651. package/utils/lib/helpers/build-website-url.d.ts +2 -1
  652. package/utils/lib/helpers/cache-storage-client.d.ts +51 -0
  653. package/utils/lib/helpers/coercion.d.ts +17 -0
  654. package/utils/lib/helpers/debounce.d.ts +27 -0
  655. package/utils/lib/helpers/defer-fn.d.ts +20 -0
  656. package/utils/lib/helpers/dom.d.ts +70 -0
  657. package/utils/lib/helpers/get-axis.d.ts +20 -0
  658. package/utils/lib/helpers/get-language-code.d.ts +17 -0
  659. package/utils/lib/helpers/get-opposite-side.d.ts +21 -0
  660. package/utils/lib/helpers/get-side.d.ts +17 -0
  661. package/utils/lib/helpers/get-unique-id.d.ts +33 -0
  662. package/utils/lib/helpers/match-url.d.ts +40 -0
  663. package/utils/lib/helpers/ng-changes.d.ts +52 -0
  664. package/utils/lib/helpers/provide-config.d.ts +56 -0
  665. package/utils/lib/helpers/queue.d.ts +83 -0
  666. package/utils/lib/helpers/type-guards.d.ts +57 -0
  667. package/utils/lib/helpers/until-destroyed.d.ts +38 -0
  668. package/esm2022/rxjs/lib/form-query-list.mjs +0 -5
  669. package/rxjs/lib/form-query-list.d.ts +0 -3
@@ -5,26 +5,93 @@ import { Controller, DisabledController, ReadonlyController } from '@odx/angular
5
5
  import { arrayAttribute, Pure } from '@odx/angular/utils';
6
6
  import { ControlDirective } from './control.directive';
7
7
  import * as i0 from "@angular/core";
8
+ /**
9
+ * An abstract directive that serves as a base for custom form controls, integrating seamlessly with Angular Forms.
10
+ * It incorporates common form control behaviors such as handling disabled and readonly states, validation, and more.
11
+ *
12
+ * This approach allows the creation of highly reusable and consistent form controls within Angular applications,
13
+ * simplifying the integration with Angular Forms and the handling of common form behaviors.
14
+ *
15
+ * Extends Controller to provide a consistent API for managing state changes and subscriptions.
16
+ *
17
+ * @see {Controller}
18
+ */
8
19
  export class CustomFormControl extends Controller {
9
20
  static { this.CURRENT_INDEX = 0; }
21
+ /**
22
+ * The current value of the form control. Setting this value updates the internal state and marks the control
23
+ * for checking changes. Getting this value returns the current internal value of the control.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * this.customInputControl.value = 'newValue'; // Sets the value
28
+ * const currentValue = this.customInputControl.value; // Gets the current value
29
+ * ```
30
+ */
10
31
  set value(value) {
11
32
  if (this.internalValue !== value) {
12
33
  this.internalValue = value;
13
34
  this.triggerControllerChange();
14
35
  }
15
36
  }
37
+ /**
38
+ * Gets the value of the custom form control.
39
+ *
40
+ * @returns {T} - The value of the custom form control.
41
+ */
16
42
  get value() {
17
43
  return this.internalValue;
18
44
  }
45
+ /**
46
+ * Indicates whether the form control currently has an error. This takes into account any ignored errors.
47
+ *
48
+ * @returns {boolean} - True if the form control has an error, false otherwise.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * if (this.customInputControl.hasError) { ... }
53
+ * ```
54
+ */
19
55
  get hasError() {
20
56
  return !!this.ngControl?.touched && !!this.ngControl?.invalid && this.hasNonIgnoredError(this.ngControl.errors);
21
57
  }
58
+ /**
59
+ * Indicates whether the form control is currently disabled.
60
+ *
61
+ * @returns {boolean} - True if the form control is disabled, false otherwise.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * if (this.customInputControl.isDisabled) { ... }
66
+ * ```
67
+ */
22
68
  get isDisabled() {
23
69
  return !!this.disabledController?.disabled;
24
70
  }
71
+ /**
72
+ * Indicates whether the form control is currently in a readonly state.
73
+ *
74
+ * @returns {boolean} - True if the form control is readonly, false otherwise.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * if (this.customInputControl.isReadonly) { ... }
79
+ * ```
80
+ */
25
81
  get isReadonly() {
26
82
  return !!this.readonlyController?.readonly;
27
83
  }
84
+ /**
85
+ * Indicates whether the form control is marked as required, either through Validators.required, Validators.requiredTrue,
86
+ * or by a required attribute on a parent form field.
87
+ *
88
+ * @returns {boolean} - True if the form control is required, false otherwise.
89
+ *
90
+ * @example
91
+ * ````ts
92
+ * if (this.customInputControl.isRequired) { ... }
93
+ * ````
94
+ */
28
95
  get isRequired() {
29
96
  return !!this.requiredValidator?.required || this.hasValidator(Validators.required) || this.hasValidator(Validators.requiredTrue);
30
97
  }
@@ -34,37 +101,76 @@ export class CustomFormControl extends Controller {
34
101
  this.disabledController = DisabledController.inject();
35
102
  this.readonlyController = ReadonlyController.inject();
36
103
  this.ngControl = inject(NgControl, { self: true, optional: true });
104
+ /**
105
+ * A unique identifier for the custom form control. If not provided, a unique ID is generated automatically.
106
+ * This can be useful for associating form control with a label.
107
+ *
108
+ * @type {string}
109
+ */
37
110
  this.id = null;
111
+ /**
112
+ * The name attribute for the custom form control. Defaults to a unique name if not provided.
113
+ * This is useful when the form control is part of a form and needs to be identified.
114
+ *
115
+ * @type {string}
116
+ */
38
117
  this.name = `odx-form-control-${CustomFormControl.CURRENT_INDEX++}`;
118
+ /**
119
+ * The tabindex attribute for the custom form control. Can be used to control the order of focus navigation.
120
+ *
121
+ * @type {string | null}
122
+ */
39
123
  this.tabindex = null;
124
+ /**
125
+ * An array of error codes to ignore. If an error code is included in this array, the form control will not
126
+ * consider it as an error state. Useful for ignoring specific validation errors.
127
+ *
128
+ * @type {string[]}
129
+ */
40
130
  this.ignoreErrors = [];
131
+ /**
132
+ * A reference to the `ControlDirective` if it exists within the same host. This allows for direct interaction
133
+ * with the underlying form control directive.
134
+ *
135
+ * @type {ControlDirective | null}
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * this.customInputControl.control?.focus();
140
+ * ```
141
+ */
41
142
  this.control = null;
42
143
  this.internalValue = initialValue;
43
144
  if (this.ngControl) {
44
145
  this.ngControl.valueAccessor = this;
45
146
  }
46
147
  }
148
+ /** @internal */
47
149
  onTouched() {
48
150
  // implemented by control value accessor
49
151
  }
152
+ /** @internal */
50
153
  onChange(_value) {
51
154
  // implemented by control value accessor
52
155
  }
156
+ /** @internal */
53
157
  registerOnChange(fn) {
54
158
  this.onChange = fn;
55
159
  }
160
+ /** @internal */
56
161
  registerOnTouched(fn) {
57
162
  this.onTouched = fn;
58
163
  }
164
+ /** @internal */
59
165
  setDisabledState(isDisabled) {
60
166
  this.disabledController?.setDisabledState(isDisabled);
61
167
  }
168
+ /** @internal */
62
169
  writeValue(value) {
63
- if (this.isDisabled)
64
- return;
65
170
  this.value = value;
66
171
  this.onChange(value);
67
172
  }
173
+ /** @internal */
68
174
  updateValue(value) {
69
175
  if (this.isDisabled)
70
176
  return;
@@ -111,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
111
217
  type: ViewChild,
112
218
  args: [ControlDirective]
113
219
  }], hasNonIgnoredError: [] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbC9zcmMvbGliL2N1c3RvbS1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUF3QixTQUFTLEVBQUUsaUJBQWlCLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVdkQsTUFBTSxPQUFnQixpQkFBcUIsU0FBUSxVQUFVO2FBQzVDLGtCQUFhLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFvQmpDLElBQVcsS0FBSyxDQUFDLEtBQVE7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRTtZQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFDRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FB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LEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQzsrR0FuR21CLGlCQUFpQjttR0FBakIsaUJBQWlCLHlHQWtCakIsY0FBYyxzT0E2QnZCLGdCQUFnQjs7QUFnRG5CO0lBRFAsSUFBSTs7OzsyREFLSjs0RkFuR21CLGlCQUFpQjtrQkFSdEMsU0FBUzttQkFBQztvQkFDVCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0IscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMscUJBQXFCLEVBQUUsVUFBVTtxQkFDbEM7aUJBQ0Y7NkZBV1EsRUFBRTtzQkFEUixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBOEJwQixPQUFPO3NCQUR0QixTQUFTO3VCQUFDLGdCQUFnQjtnQkFnRG5CLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBSZXF1aXJlZFZhbGlkYXRvciwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyLCBEaXNhYmxlZENvbnRyb2xsZXIsIFJlYWRvbmx5Q29udHJvbGxlciB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBhcnJheUF0dHJpYnV0ZSwgUHVyZSB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5oYXMtZXJyb3JdJzogJ2hhc0Vycm9yJyxcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmlzLXJlYWRvbmx5XSc6ICdpc1JlYWRvbmx5JyxcbiAgICAnW2NsYXNzLmlzLXJlcXVpcmVkXSc6ICdyZXF1aXJlZCcsXG4gIH0sXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1c3RvbUZvcm1Db250cm9sPFQ+IGV4dGVuZHMgQ29udHJvbGxlciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBzdGF0aWMgQ1VSUkVOVF9JTkRFWCA9IDA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXF1aXJlZFZhbGlkYXRvciA9IGluamVjdChSZXF1aXJlZFZhbGlkYXRvciwgeyBvcHRpb25hbDogdHJ1ZSwgc2VsZjogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBpbnRlcm5hbFZhbHVlOiBUO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWRDb250cm9sbGVyID0gRGlzYWJsZWRDb250cm9sbGVyLmluamVjdCgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVhZG9ubHlDb250cm9sbGVyID0gUmVhZG9ubHlDb250cm9sbGVyLmluamVjdCgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gYG9keC1mb3JtLWNvbnRyb2wtJHtDdXN0b21Gb3JtQ29udHJvbC5DVVJSRU5UX0lOREVYKyt9YDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiaW5kZXg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYXJyYXlBdHRyaWJ1dGUgfSlcbiAgcHVibGljIGlnbm9yZUVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJuYWxWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy50cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmludGVybmFsVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubmdDb250cm9sPy50b3VjaGVkICYmICEhdGhpcy5uZ0NvbnRyb2w/LmludmFsaWQgJiYgdGhpcy5oYXNOb25JZ25vcmVkRXJyb3IodGhpcy5uZ0NvbnRyb2wuZXJyb3JzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRpc2FibGVkQ29udHJvbGxlcj8uZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZWFkb25seUNvbnRyb2xsZXI/LnJlYWRvbmx5O1xuICB9XG5cbiAgcHVibGljIGdldCBpc1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVxdWlyZWRWYWxpZGF0b3I/LnJlcXVpcmVkIHx8IHRoaXMuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpIHx8IHRoaXMuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoQ29udHJvbERpcmVjdGl2ZSlcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2w6IENvbnRyb2xEaXJlY3RpdmUgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihpbml0aWFsVmFsdWU6IFQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IGluaXRpYWxWYWx1ZTtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblRvdWNoZWQoKSB7XG4gICAgLy8gaW1wbGVtZW50ZWQgYnkgY29udHJvbCB2YWx1ZSBhY2Nlc3NvclxuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKF92YWx1ZTogVCkge1xuICAgIC8vIGltcGxlbWVudGVkIGJ5IGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWRDb250cm9sbGVyPy5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNWYWxpZGF0b3IodmFsaWRhdG9yOiBWYWxpZGF0b3JGbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IodmFsaWRhdG9yKTtcbiAgfVxuXG4gIEBQdXJlXG4gIHByaXZhdGUgaGFzTm9uSWdub3JlZEVycm9yKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIWVycm9ycykgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVycm9ycykuc29tZSgoZXJyb3IpID0+ICF0aGlzLmlnbm9yZUVycm9ycy5pbmNsdWRlcyhlcnJvcikpO1xuICB9XG59XG4iXX0=
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbC9zcmMvbGliL2N1c3RvbS1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUF3QixTQUFTLEVBQUUsaUJBQWlCLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFdkQ7Ozs7Ozs7Ozs7R0FVRztBQVNILE1BQU0sT0FBZ0IsaUJBQXFCLFNBQVEsVUFBVTthQUM1QyxrQkFBYSxHQUFHLENBQUMsQUFBSixDQUFLO0lBMkNqQzs7Ozs7Ozs7O09BU0c7SUFDSCxJQUFXLEtBQUssQ0FBQyxLQUFRO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxJQUFJLENB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QUFDO0lBRVMsWUFBWSxDQUFDLFNBQXNCO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBR08sa0JBQWtCLENBQUMsTUFBK0I7UUFDeEQsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUUxQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQzsrR0FuTW1CLGlCQUFpQjttR0FBakIsaUJBQWlCLHlHQXlDakIsY0FBYyxzT0FpR3ZCLGdCQUFnQjs7QUFxRG5CO0lBRFAsSUFBSTs7OzsyREFLSjs0RkFuTW1CLGlCQUFpQjtrQkFSdEMsU0FBUzttQkFBQztvQkFDVCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0IscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMscUJBQXFCLEVBQUUsVUFBVTtxQkFDbEM7aUJBQ0Y7NkZBaUJRLEVBQUU7c0JBRFIsS0FBSztnQkFVQyxJQUFJO3NCQURWLEtBQUs7Z0JBU0MsUUFBUTtzQkFEZCxLQUFLO2dCQVVDLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQWtHcEIsT0FBTztzQkFEdEIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBcURuQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgUmVxdWlyZWRWYWxpZGF0b3IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbGxlciwgRGlzYWJsZWRDb250cm9sbGVyLCBSZWFkb25seUNvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgYXJyYXlBdHRyaWJ1dGUsIFB1cmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IGRpcmVjdGl2ZSB0aGF0IHNlcnZlcyBhcyBhIGJhc2UgZm9yIGN1c3RvbSBmb3JtIGNvbnRyb2xzLCBpbnRlZ3JhdGluZyBzZWFtbGVzc2x5IHdpdGggQW5ndWxhciBGb3Jtcy5cbiAqIEl0IGluY29ycG9yYXRlcyBjb21tb24gZm9ybSBjb250cm9sIGJlaGF2aW9ycyBzdWNoIGFzIGhhbmRsaW5nIGRpc2FibGVkIGFuZCByZWFkb25seSBzdGF0ZXMsIHZhbGlkYXRpb24sIGFuZCBtb3JlLlxuICpcbiAqIFRoaXMgYXBwcm9hY2ggYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBoaWdobHkgcmV1c2FibGUgYW5kIGNvbnNpc3RlbnQgZm9ybSBjb250cm9scyB3aXRoaW4gQW5ndWxhciBhcHBsaWNhdGlvbnMsXG4gKiBzaW1wbGlmeWluZyB0aGUgaW50ZWdyYXRpb24gd2l0aCBBbmd1bGFyIEZvcm1zIGFuZCB0aGUgaGFuZGxpbmcgb2YgY29tbW9uIGZvcm0gYmVoYXZpb3JzLlxuICpcbiAqIEV4dGVuZHMgQ29udHJvbGxlciB0byBwcm92aWRlIGEgY29uc2lzdGVudCBBUEkgZm9yIG1hbmFnaW5nIHN0YXRlIGNoYW5nZXMgYW5kIHN1YnNjcmlwdGlvbnMuXG4gKlxuICogQHNlZSB7Q29udHJvbGxlcn1cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmhhcy1lcnJvcl0nOiAnaGFzRXJyb3InLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuaXMtcmVhZG9ubHldJzogJ2lzUmVhZG9ubHknLFxuICAgICdbY2xhc3MuaXMtcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3VzdG9tRm9ybUNvbnRyb2w8VD4gZXh0ZW5kcyBDb250cm9sbGVyIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHN0YXRpYyBDVVJSRU5UX0lOREVYID0gMDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVpcmVkVmFsaWRhdG9yID0gaW5qZWN0KFJlcXVpcmVkVmFsaWRhdG9yLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuICBwcml2YXRlIGludGVybmFsVmFsdWU6IFQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZENvbnRyb2xsZXIgPSBEaXNhYmxlZENvbnRyb2xsZXIuaW5qZWN0KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZWFkb25seUNvbnRyb2xsZXIgPSBSZWFkb25seUNvbnRyb2xsZXIuaW5qZWN0KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY3VzdG9tIGZvcm0gY29udHJvbC4gSWYgbm90IHByb3ZpZGVkLCBhIHVuaXF1ZSBJRCBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseS5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBhc3NvY2lhdGluZyBmb3JtIGNvbnRyb2wgd2l0aCBhIGxhYmVsLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgYXR0cmlidXRlIGZvciB0aGUgY3VzdG9tIGZvcm0gY29udHJvbC4gRGVmYXVsdHMgdG8gYSB1bmlxdWUgbmFtZSBpZiBub3QgcHJvdmlkZWQuXG4gICAqIFRoaXMgaXMgdXNlZnVsIHdoZW4gdGhlIGZvcm0gY29udHJvbCBpcyBwYXJ0IG9mIGEgZm9ybSBhbmQgbmVlZHMgdG8gYmUgaWRlbnRpZmllZC5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gYG9keC1mb3JtLWNvbnRyb2wtJHtDdXN0b21Gb3JtQ29udHJvbC5DVVJSRU5UX0lOREVYKyt9YDtcblxuICAvKipcbiAgICogVGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBmb3IgdGhlIGN1c3RvbSBmb3JtIGNvbnRyb2wuIENhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIG9yZGVyIG9mIGZvY3VzIG5hdmlnYXRpb24uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmcgfCBudWxsfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYmluZGV4OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgZXJyb3IgY29kZXMgdG8gaWdub3JlLiBJZiBhbiBlcnJvciBjb2RlIGlzIGluY2x1ZGVkIGluIHRoaXMgYXJyYXksIHRoZSBmb3JtIGNvbnRyb2wgd2lsbCBub3RcbiAgICogY29uc2lkZXIgaXQgYXMgYW4gZXJyb3Igc3RhdGUuIFVzZWZ1bCBmb3IgaWdub3Jpbmcgc3BlY2lmaWMgdmFsaWRhdGlvbiBlcnJvcnMuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYXJyYXlBdHRyaWJ1dGUgfSlcbiAgcHVibGljIGlnbm9yZUVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGZvcm0gY29udHJvbC4gU2V0dGluZyB0aGlzIHZhbHVlIHVwZGF0ZXMgdGhlIGludGVybmFsIHN0YXRlIGFuZCBtYXJrcyB0aGUgY29udHJvbFxuICAgKiBmb3IgY2hlY2tpbmcgY2hhbmdlcy4gR2V0dGluZyB0aGlzIHZhbHVlIHJldHVybnMgdGhlIGN1cnJlbnQgaW50ZXJuYWwgdmFsdWUgb2YgdGhlIGNvbnRyb2wuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIHRoaXMuY3VzdG9tSW5wdXRDb250cm9sLnZhbHVlID0gJ25ld1ZhbHVlJzsgLy8gU2V0cyB0aGUgdmFsdWVcbiAgICogY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5jdXN0b21JbnB1dENvbnRyb2wudmFsdWU7IC8vIEdldHMgdGhlIGN1cnJlbnQgdmFsdWVcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJuYWxWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy50cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY3VzdG9tIGZvcm0gY29udHJvbC5cbiAgICpcbiAgICogQHJldHVybnMge1R9IC0gVGhlIHZhbHVlIG9mIHRoZSBjdXN0b20gZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGNvbnRyb2wgY3VycmVudGx5IGhhcyBhbiBlcnJvci4gVGhpcyB0YWtlcyBpbnRvIGFjY291bnQgYW55IGlnbm9yZWQgZXJyb3JzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBUcnVlIGlmIHRoZSBmb3JtIGNvbnRyb2wgaGFzIGFuIGVycm9yLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGlmICh0aGlzLmN1c3RvbUlucHV0Q29udHJvbC5oYXNFcnJvcikgeyAuLi4gfVxuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgJiYgISF0aGlzLm5nQ29udHJvbD8uaW52YWxpZCAmJiB0aGlzLmhhc05vbklnbm9yZWRFcnJvcih0aGlzLm5nQ29udHJvbC5lcnJvcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGNvbnRyb2wgaXMgY3VycmVudGx5IGRpc2FibGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBUcnVlIGlmIHRoZSBmb3JtIGNvbnRyb2wgaXMgZGlzYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogaWYgKHRoaXMuY3VzdG9tSW5wdXRDb250cm9sLmlzRGlzYWJsZWQpIHsgLi4uIH1cbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmRpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGNvbnRyb2wgaXMgY3VycmVudGx5IGluIGEgcmVhZG9ubHkgc3RhdGUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFRydWUgaWYgdGhlIGZvcm0gY29udHJvbCBpcyByZWFkb25seSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBpZiAodGhpcy5jdXN0b21JbnB1dENvbnRyb2wuaXNSZWFkb25seSkgeyAuLi4gfVxuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBnZXQgaXNSZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJlYWRvbmx5Q29udHJvbGxlcj8ucmVhZG9ubHk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZvcm0gY29udHJvbCBpcyBtYXJrZWQgYXMgcmVxdWlyZWQsIGVpdGhlciB0aHJvdWdoIFZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlLFxuICAgKiBvciBieSBhIHJlcXVpcmVkIGF0dHJpYnV0ZSBvbiBhIHBhcmVudCBmb3JtIGZpZWxkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBUcnVlIGlmIHRoZSBmb3JtIGNvbnRyb2wgaXMgcmVxdWlyZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgYHRzXG4gICAqIGlmICh0aGlzLmN1c3RvbUlucHV0Q29udHJvbC5pc1JlcXVpcmVkKSB7IC4uLiB9XG4gICAqIGBgYGBcbiAgICovXG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJlcXVpcmVkVmFsaWRhdG9yPy5yZXF1aXJlZCB8fCB0aGlzLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSB8fCB0aGlzLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBDb250cm9sRGlyZWN0aXZlYCBpZiBpdCBleGlzdHMgd2l0aGluIHRoZSBzYW1lIGhvc3QuIFRoaXMgYWxsb3dzIGZvciBkaXJlY3QgaW50ZXJhY3Rpb25cbiAgICogd2l0aCB0aGUgdW5kZXJseWluZyBmb3JtIGNvbnRyb2wgZGlyZWN0aXZlLlxuICAgKlxuICAgKiBAdHlwZSB7Q29udHJvbERpcmVjdGl2ZSB8IG51bGx9XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIHRoaXMuY3VzdG9tSW5wdXRDb250cm9sLmNvbnRyb2w/LmZvY3VzKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgQFZpZXdDaGlsZChDb250cm9sRGlyZWN0aXZlKVxuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbDogQ29udHJvbERpcmVjdGl2ZSB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKGluaXRpYWxWYWx1ZTogVCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgb25Ub3VjaGVkKCkge1xuICAgIC8vIGltcGxlbWVudGVkIGJ5IGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIG9uQ2hhbmdlKF92YWx1ZTogVCkge1xuICAgIC8vIGltcGxlbWVudGVkIGJ5IGNvbnRyb2wgdmFsdWUgYWNjZXNzb3JcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkQ29udHJvbGxlcj8uc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzVmFsaWRhdG9yKHZhbGlkYXRvcjogVmFsaWRhdG9yRm4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKHZhbGlkYXRvcik7XG4gIH1cblxuICBAUHVyZVxuICBwcml2YXRlIGhhc05vbklnbm9yZWRFcnJvcihlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKCFlcnJvcnMpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnJvcnMpLnNvbWUoKGVycm9yKSA9PiAhdGhpcy5pZ25vcmVFcnJvcnMuaW5jbHVkZXMoZXJyb3IpKTtcbiAgfVxufVxuIl19
@@ -2,24 +2,99 @@ import { Directive } from '@angular/core';
2
2
  import { injectElement, untilDestroyed } from '@odx/angular/utils';
3
3
  import { distinctUntilChanged, fromEvent, map } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * An abstract directive that facilitates handling input changes, focusing, and blurring programmatically for input elements.
7
+ * It provides a reactive `valueChange$` observable to subscribe to input changes.
8
+ * This directive can be extended to create more specific input handlers.
9
+ *
10
+ * @example
11
+ * Extending InputControlDirective in a custom directive:
12
+ * ```ts
13
+ * @Directive({
14
+ * selector: '[appCustomInput]',
15
+ * standalone: true,
16
+ * })
17
+ * export class CustomInputDirective extends InputControlDirective {
18
+ * // Custom logic here
19
+ * }
20
+ * ```
21
+ *
22
+ * Using the directive in a component template:
23
+ * ```html
24
+ * <input appCustomInput type="text" />
25
+ * ```
26
+ *
27
+ * Subscribing to input changes in the component:
28
+ * ```ts
29
+ * @Component({...})
30
+ * export class MyComponent implements AfterViewInit {
31
+ * @ViewChild(CustomInputDirective) customInputDirective!: CustomInputDirective;
32
+ *
33
+ * ngAfterViewInit(): void {
34
+ * this.customInputDirective.valueChange$.subscribe(value => {
35
+ * console.log('Input value changed to:', value);
36
+ * });
37
+ * }
38
+ * }
39
+ *
40
+ * // Focusing the input programmatically
41
+ * this.customInputDirective.focus();
42
+ *
43
+ * // Blurring the input programmatically
44
+ * this.customInputDirective.blur();
45
+ *
46
+ * // Resetting the input value programmatically
47
+ * this.customInputDirective.reset();
48
+ * ```
49
+ */
5
50
  export class InputControlDirective {
6
51
  constructor() {
7
52
  this.takeUntilDestroyed = untilDestroyed();
8
53
  this.element = injectElement();
54
+ /**
55
+ * Represents an observable stream of value changes for the input control.
56
+ *
57
+ * @emits {string} input value changes.
58
+ */
9
59
  this.valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(distinctUntilChanged(), map(() => this.nativeElementValue));
10
60
  }
61
+ /**
62
+ * Gets the current value of the input element.
63
+ *
64
+ * @type {string} The current value of the input element.
65
+ */
11
66
  get nativeElementValue() {
12
67
  return this.element.nativeElement.value;
13
68
  }
69
+ /**
70
+ * Sets the value of the input element.
71
+ *
72
+ * @param {string} value - The value to set.
73
+ */
14
74
  set nativeElementValue(value) {
15
75
  this.element.nativeElement.value = value;
16
76
  }
77
+ /**
78
+ * Sets focus on the input element.
79
+ *
80
+ * @returns {void}
81
+ */
17
82
  focus() {
18
83
  this.element.nativeElement.focus();
19
84
  }
85
+ /**
86
+ * Removes focus from the input element.
87
+ *
88
+ * @returns {void}
89
+ */
20
90
  blur() {
21
91
  this.element.nativeElement.blur();
22
92
  }
93
+ /**
94
+ * Resets the input element value to an empty string.
95
+ *
96
+ * @returns {void}
97
+ */
23
98
  reset() {
24
99
  this.element.nativeElement.value = '';
25
100
  }
@@ -32,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
32
107
  standalone: true,
33
108
  }]
34
109
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wvc3JjL2xpYi9pbnB1dC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzVELE1BQU0sT0FBZ0IscUJBQXFCO0lBSDNDO1FBSXFCLHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxhQUFhLEVBQW9CLENBQUM7UUFFckQsaUJBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2RSxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ25DLENBQUM7S0FxQkg7SUFuQkMsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsa0JBQWtCLENBQUMsS0FBYTtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQzsrR0E1Qm1CLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnB1dENvbnRyb2xEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICBwdWJsaWMgdmFsdWVDaGFuZ2UkID0gZnJvbUV2ZW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKS5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKCgpID0+IHRoaXMubmF0aXZlRWxlbWVudFZhbHVlKSxcbiAgKTtcblxuICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgbmF0aXZlRWxlbWVudFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgfVxufVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wvc3JjL2xpYi9pbnB1dC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRTVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDRztBQUlILE1BQU0sT0FBZ0IscUJBQXFCO0lBSDNDO1FBSXFCLHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxhQUFhLEVBQW9CLENBQUM7UUFFNUQ7Ozs7V0FJRztRQUNJLGlCQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkUsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUNuQyxDQUFDO0tBOENIO0lBNUNDOzs7O09BSUc7SUFDSCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsa0JBQWtCLENBQUMsS0FBYTtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQzsrR0ExRG1CLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQW4gYWJzdHJhY3QgZGlyZWN0aXZlIHRoYXQgZmFjaWxpdGF0ZXMgaGFuZGxpbmcgaW5wdXQgY2hhbmdlcywgZm9jdXNpbmcsIGFuZCBibHVycmluZyBwcm9ncmFtbWF0aWNhbGx5IGZvciBpbnB1dCBlbGVtZW50cy5cbiAqIEl0IHByb3ZpZGVzIGEgcmVhY3RpdmUgYHZhbHVlQ2hhbmdlJGAgb2JzZXJ2YWJsZSB0byBzdWJzY3JpYmUgdG8gaW5wdXQgY2hhbmdlcy5cbiAqIFRoaXMgZGlyZWN0aXZlIGNhbiBiZSBleHRlbmRlZCB0byBjcmVhdGUgbW9yZSBzcGVjaWZpYyBpbnB1dCBoYW5kbGVycy5cbiAqXG4gKiBAZXhhbXBsZVxuICogRXh0ZW5kaW5nIElucHV0Q29udHJvbERpcmVjdGl2ZSBpbiBhIGN1c3RvbSBkaXJlY3RpdmU6XG4gKiBgYGB0c1xuICogQERpcmVjdGl2ZSh7XG4gKiAgIHNlbGVjdG9yOiAnW2FwcEN1c3RvbUlucHV0XScsXG4gKiAgIHN0YW5kYWxvbmU6IHRydWUsXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEN1c3RvbUlucHV0RGlyZWN0aXZlIGV4dGVuZHMgSW5wdXRDb250cm9sRGlyZWN0aXZlIHtcbiAqICAgLy8gQ3VzdG9tIGxvZ2ljIGhlcmVcbiAqIH1cbiAqIGBgYFxuICpcbiAqIFVzaW5nIHRoZSBkaXJlY3RpdmUgaW4gYSBjb21wb25lbnQgdGVtcGxhdGU6XG4gKiBgYGBodG1sXG4gKiA8aW5wdXQgYXBwQ3VzdG9tSW5wdXQgdHlwZT1cInRleHRcIiAvPlxuICogYGBgXG4gKlxuICogU3Vic2NyaWJpbmcgdG8gaW5wdXQgY2hhbmdlcyBpbiB0aGUgY29tcG9uZW50OlxuICogYGBgdHNcbiAqIEBDb21wb25lbnQoey4uLn0pXG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAqICAgQFZpZXdDaGlsZChDdXN0b21JbnB1dERpcmVjdGl2ZSkgY3VzdG9tSW5wdXREaXJlY3RpdmUhOiBDdXN0b21JbnB1dERpcmVjdGl2ZTtcbiAqXG4gKiAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAqICAgICB0aGlzLmN1c3RvbUlucHV0RGlyZWN0aXZlLnZhbHVlQ2hhbmdlJC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICogICAgICAgY29uc29sZS5sb2coJ0lucHV0IHZhbHVlIGNoYW5nZWQgdG86JywgdmFsdWUpO1xuICogICAgIH0pO1xuICogICB9XG4gKiB9XG4gKlxuICogLy8gRm9jdXNpbmcgdGhlIGlucHV0IHByb2dyYW1tYXRpY2FsbHlcbiAqIHRoaXMuY3VzdG9tSW5wdXREaXJlY3RpdmUuZm9jdXMoKTtcbiAqXG4gKiAvLyBCbHVycmluZyB0aGUgaW5wdXQgcHJvZ3JhbW1hdGljYWxseVxuICogdGhpcy5jdXN0b21JbnB1dERpcmVjdGl2ZS5ibHVyKCk7XG4gKlxuICogLy8gUmVzZXR0aW5nIHRoZSBpbnB1dCB2YWx1ZSBwcm9ncmFtbWF0aWNhbGx5XG4gKiB0aGlzLmN1c3RvbUlucHV0RGlyZWN0aXZlLnJlc2V0KCk7XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElucHV0Q29udHJvbERpcmVjdGl2ZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGFuIG9ic2VydmFibGUgc3RyZWFtIG9mIHZhbHVlIGNoYW5nZXMgZm9yIHRoZSBpbnB1dCBjb250cm9sLlxuICAgKlxuICAgKiBAZW1pdHMge3N0cmluZ30gaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZSQgPSBmcm9tRXZlbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBtYXAoKCkgPT4gdGhpcy5uYXRpdmVFbGVtZW50VmFsdWUpLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfSBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgKi9cbiAgcHVibGljIHNldCBuYXRpdmVFbGVtZW50VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBmb2N1cyBvbiB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICpcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGZvY3VzIGZyb20gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgaW5wdXQgZWxlbWVudCB2YWx1ZSB0byBhbiBlbXB0eSBzdHJpbmcuXG4gICAqXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gIH1cbn1cbiJdfQ==
@@ -3,6 +3,13 @@ import { hasChanged, isComponent } from '@odx/angular/utils';
3
3
  import { DynamicViewService } from './dynamic-view.service';
4
4
  import { createProjectableNodes, isDynamicTextContent, isDynamicView } from './helpers';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * A directive that dynamically renders content based on the provided input. It supports rendering
8
+ * Angular components, templates, and text content, allowing for dynamic and flexible content
9
+ * management within Angular applications.
10
+ *
11
+ * @template T - A type parameter that extends `DynamicContent<unknown>`, representing the type of content to be dynamically rendered.
12
+ */
6
13
  export class DynamicViewDirective {
7
14
  constructor() {
8
15
  this.dynamicViewService = inject(DynamicViewService);
@@ -10,6 +17,10 @@ export class DynamicViewDirective {
10
17
  this.template = inject(TemplateRef);
11
18
  this.viewRef = null;
12
19
  this.contentViewRef = null;
20
+ /**
21
+ * The content to be dynamically rendered. This can be a component, template reference, or text content.
22
+ * The content is wrapped in a `DynamicViewRef`, providing additional control over the dynamically rendered view.
23
+ */
13
24
  // eslint-disable-next-line @angular-eslint/no-input-rename
14
25
  this.content = null;
15
26
  }
@@ -31,6 +42,12 @@ export class DynamicViewDirective {
31
42
  ngOnDestroy() {
32
43
  this.destroy();
33
44
  }
45
+ /**
46
+ * Retrieves the current `DynamicViewRef` associated with the rendered content, providing access
47
+ * to the view reference for additional operations like updating context or manual destruction.
48
+ *
49
+ * @returns {DynamicViewRef<T> | null} The current view reference for the dynamically rendered content, if available.
50
+ */
34
51
  getView() {
35
52
  return this.viewRef;
36
53
  }
@@ -91,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
91
108
  type: Input,
92
109
  args: ['odxDynamicViewContext']
93
110
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0MsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQUttQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsbUJBQWMsR0FBZ0QsSUFBSSxDQUFDO1FBRTNFLDJEQUEyRDtRQUVwRCxZQUFPLEdBQWtDLElBQUksQ0FBQztLQXlFdEQ7SUEvRFEsUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXdEO1FBQ3pFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtRQUNELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMs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RSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFVUSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUtoQixRQUFRO3NCQURkLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUt4QixPQUFPO3NCQURiLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIGluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaGFzQ2hhbmdlZCwgaXNDb21wb25lbnQsIE5nQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBEeW5hbWljVmlld1NlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNDb250ZW50LCBEeW5hbWljVmlld1JlZiwgR2V0RHluYW1pY1ZpZXdDb250ZXh0IH0gZnJvbSAnLi9mYWNhZGUnO1xuaW1wb3J0IHsgY3JlYXRlUHJvamVjdGFibGVOb2RlcywgaXNEeW5hbWljVGV4dENvbnRlbnQsIGlzRHluYW1pY1ZpZXcgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtvZHhEeW5hbWljVmlld10nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljVmlld0RpcmVjdGl2ZTxUIGV4dGVuZHMgRHluYW1pY0NvbnRlbnQ8dW5rbm93bj4gPSBEeW5hbWljQ29udGVudDx1bmtub3duPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkeW5hbWljVmlld1NlcnZpY2UgPSBpbmplY3QoRHluYW1pY1ZpZXdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSB2aWV3UmVmOiBEeW5hbWljVmlld1JlZjxUPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNvbnRlbnRWaWV3UmVmOiBEeW5hbWljVmlld1JlZjxUZW1wbGF0ZVJlZjx1bmtub3duPj4gfCBudWxsID0gbnVsbDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keER5bmFtaWNWaWV3JylcbiAgcHVibGljIGNvbnRlbnQ/OiBUIHwgRHluYW1pY1ZpZXdSZWY8VD4gfCBudWxsID0gbnVsbDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keER5bmFtaWNWaWV3SW5qZWN0b3InKVxuICBwdWJsaWMgaW5qZWN0b3I/OiBJbmplY3RvcjtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keER5bmFtaWNWaWV3Q29udGV4dCcpXG4gIHB1YmxpYyBjb250ZXh0PzogR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxEeW5hbWljVmlld0RpcmVjdGl2ZTxEeW5hbWljQ29udGVudD4+KTogdm9pZCB7XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgJ2luamVjdG9yJykpIHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdjb250ZW50JykpIHtcbiAgICAgIGNvbnN0IGhhc0NoYW5nZWRUZXh0Q29udGVudCA9IGlzRHluYW1pY1RleHRDb250ZW50KGNoYW5nZXMuY29udGVudD8ucHJldmlvdXNWYWx1ZSkgJiYgaXNEeW5hbWljVGV4dENvbnRlbnQoY2hhbmdlcy5jb250ZW50Py5jdXJyZW50VmFsdWUpO1xuICAgICAgdGhpcy5yZW5kZXIoIWhhc0NoYW5nZWRUZXh0Q29udGVudCk7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdjb250ZXh0JykpIHtcbiAgICAgIHRoaXMudmlld1JlZj8udXBkYXRlKGNoYW5nZXMuY29udGV4dD8uY3VycmVudFZhbHVlID8/IHt9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmlldygpOiBEeW5hbWljVmlld1JlZjxUPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnZpZXdSZWY7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcihyZVJlbmRlciA9IHRydWUpIHtcbiAgICBpZiAoIXRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghcmVSZW5kZXIgJiYgdGhpcy52aWV3UmVmKSB7XG4gICAgICB0aGlzLnZpZXdSZWY/LnVwZGF0ZSh7IGNvbnRlbnQ6IHRoaXMuY29udGVudCB9IGFzIG9iamVjdCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmlld1JlZj8uZGVzdHJveSgpO1xuICAgIGlmIChpc0R5bmFtaWNWaWV3KHRoaXMuY29udGVudCkpIHtcbiAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMuY29udGVudDtcbiAgICAgIGNvbnN0IGhvc3RWaWV3ID0gdGhpcy52aWV3UmVmLmdldFZpZXcoKTtcbiAgICAgIGlmIChob3N0Vmlldykge1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuaW5zZXJ0KGhvc3RWaWV3KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHByb2plY3RhYmxlTm9kZXM6IE5vZGVbXVtdID0gW107XG4gICAgICBpZiAoaXNDb21wb25lbnQodGhpcy5jb250ZW50KSkge1xuICAgICAgICB0aGlzLmNvbnRlbnRWaWV3UmVmID0gdGhpcy5keW5hbWljVmlld1NlcnZpY2UuY3JlYXRlVmlldyh0aGlzLnRlbXBsYXRlLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pO1xuICAgICAgICBjb25zdCByb290Tm9kZXMgPSAodGhpcy5jb250ZW50Vmlld1JlZi5nZXRWaWV3KCkgYXMgRW1iZWRkZWRWaWV3UmVmPHVua25vd24+KS5yb290Tm9kZXM7XG4gICAgICAgIHByb2plY3RhYmxlTm9kZXMgPSBjcmVhdGVQcm9qZWN0YWJsZU5vZGVzKHRoaXMuY29udGVudCwgcm9vdE5vZGVzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLmNyZWF0ZVZpZXcodGhpcy5jb250ZW50LCB7XG4gICAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dCA/PyB1bmRlZmluZWQsXG4gICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yID8/IHRoaXMudmlld0NvbnRhaW5lci5pbmplY3RvcixcbiAgICAgICAgcHJvamVjdGFibGVOb2RlcyxcbiAgICAgICAgaG9zdDogdGhpcy52aWV3Q29udGFpbmVyLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95KCkge1xuICAgIHRoaXMuY29udGVudFZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmNvbnRlbnRWaWV3UmVmID0gbnVsbDtcbiAgICB0aGlzLnZpZXdSZWYgPSBudWxsO1xuICB9XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0MsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFeEY7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQUttQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsbUJBQWMsR0FBZ0QsSUFBSSxDQUFDO1FBRTNFOzs7V0FHRztRQUNILDJEQUEyRDtRQUVwRCxZQUFPLEdBQWtDLElBQUksQ0FBQztLQXVGdEQ7SUFyRVEsUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXdEO1FBQ3pFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtRQUNELElBQUksVUFB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QixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWNRLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBU2hCLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBU3hCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNDaGFuZ2VkLCBpc0NvbXBvbmVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJy4vZHluYW1pYy12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3UmVmLCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuL2ZhY2FkZSc7XG5pbXBvcnQgeyBjcmVhdGVQcm9qZWN0YWJsZU5vZGVzLCBpc0R5bmFtaWNUZXh0Q29udGVudCwgaXNEeW5hbWljVmlldyB9IGZyb20gJy4vaGVscGVycyc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBkeW5hbWljYWxseSByZW5kZXJzIGNvbnRlbnQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGlucHV0LiBJdCBzdXBwb3J0cyByZW5kZXJpbmdcbiAqIEFuZ3VsYXIgY29tcG9uZW50cywgdGVtcGxhdGVzLCBhbmQgdGV4dCBjb250ZW50LCBhbGxvd2luZyBmb3IgZHluYW1pYyBhbmQgZmxleGlibGUgY29udGVudFxuICogbWFuYWdlbWVudCB3aXRoaW4gQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBBIHR5cGUgcGFyYW1ldGVyIHRoYXQgZXh0ZW5kcyBgRHluYW1pY0NvbnRlbnQ8dW5rbm93bj5gLCByZXByZXNlbnRpbmcgdGhlIHR5cGUgb2YgY29udGVudCB0byBiZSBkeW5hbWljYWxseSByZW5kZXJlZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbb2R4RHluYW1pY1ZpZXddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1ZpZXdEaXJlY3RpdmU8VCBleHRlbmRzIER5bmFtaWNDb250ZW50PHVua25vd24+ID0gRHluYW1pY0NvbnRlbnQ8dW5rbm93bj4+IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY1ZpZXdTZXJ2aWNlID0gaW5qZWN0KER5bmFtaWNWaWV3U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZik7XG4gIHByaXZhdGUgdmlld1JlZjogRHluYW1pY1ZpZXdSZWY8VD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb250ZW50Vmlld1JlZjogRHluYW1pY1ZpZXdSZWY8VGVtcGxhdGVSZWY8dW5rbm93bj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IHRvIGJlIGR5bmFtaWNhbGx5IHJlbmRlcmVkLiBUaGlzIGNhbiBiZSBhIGNvbXBvbmVudCwgdGVtcGxhdGUgcmVmZXJlbmNlLCBvciB0ZXh0IGNvbnRlbnQuXG4gICAqIFRoZSBjb250ZW50IGlzIHdyYXBwZWQgaW4gYSBgRHluYW1pY1ZpZXdSZWZgLCBwcm92aWRpbmcgYWRkaXRpb25hbCBjb250cm9sIG92ZXIgdGhlIGR5bmFtaWNhbGx5IHJlbmRlcmVkIHZpZXcuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keER5bmFtaWNWaWV3JylcbiAgcHVibGljIGNvbnRlbnQ/OiBUIHwgRHluYW1pY1ZpZXdSZWY8VD4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgaW5qZWN0b3IgdG8gYmUgdXNlZCBmb3IgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnRzLiBUaGlzIGFsbG93cyBmb3IgY3VzdG9tIGRlcGVuZGVuY3kgaW5qZWN0aW9uXG4gICAqIGludG8gZHluYW1pY2FsbHkgcmVuZGVyZWQgY29tcG9uZW50cy5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnb2R4RHluYW1pY1ZpZXdJbmplY3RvcicpXG4gIHB1YmxpYyBpbmplY3Rvcj86IEluamVjdG9yO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBjb250ZXh0IHByb3ZpZGluZyBmdW5jdGlvbiBmb3IgZHluYW1pY2FsbHkgY3JlYXRlZCB2aWV3cy4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb250ZXh0XG4gICAqIG9iamVjdCB0byBiZSBwYXNzZWQgdG8gdGhlIGR5bmFtaWNhbGx5IHJlbmRlcmVkIGNvbnRlbnQsIGFsbG93aW5nIGZvciBkeW5hbWljIGludGVyYWN0aW9uIHdpdGggdGhlIGNvbnRlbnQuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keER5bmFtaWNWaWV3Q29udGV4dCcpXG4gIHB1YmxpYyBjb250ZXh0PzogR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxEeW5hbWljVmlld0RpcmVjdGl2ZTxEeW5hbWljQ29udGVudD4+KTogdm9pZCB7XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgJ2luamVjdG9yJykpIHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdjb250ZW50JykpIHtcbiAgICAgIGNvbnN0IGhhc0NoYW5nZWRUZXh0Q29udGVudCA9IGlzRHluYW1pY1RleHRDb250ZW50KGNoYW5nZXMuY29udGVudD8ucHJldmlvdXNWYWx1ZSkgJiYgaXNEeW5hbWljVGV4dENvbnRlbnQoY2hhbmdlcy5jb250ZW50Py5jdXJyZW50VmFsdWUpO1xuICAgICAgdGhpcy5yZW5kZXIoIWhhc0NoYW5nZWRUZXh0Q29udGVudCk7XG4gICAgfVxuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdjb250ZXh0JykpIHtcbiAgICAgIHRoaXMudmlld1JlZj8udXBkYXRlKGNoYW5nZXMuY29udGV4dD8uY3VycmVudFZhbHVlID8/IHt9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IGBEeW5hbWljVmlld1JlZmAgYXNzb2NpYXRlZCB3aXRoIHRoZSByZW5kZXJlZCBjb250ZW50LCBwcm92aWRpbmcgYWNjZXNzXG4gICAqIHRvIHRoZSB2aWV3IHJlZmVyZW5jZSBmb3IgYWRkaXRpb25hbCBvcGVyYXRpb25zIGxpa2UgdXBkYXRpbmcgY29udGV4dCBvciBtYW51YWwgZGVzdHJ1Y3Rpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtEeW5hbWljVmlld1JlZjxUPiB8IG51bGx9IFRoZSBjdXJyZW50IHZpZXcgcmVmZXJlbmNlIGZvciB0aGUgZHluYW1pY2FsbHkgcmVuZGVyZWQgY29udGVudCwgaWYgYXZhaWxhYmxlLlxuICAgKi9cbiAgcHVibGljIGdldFZpZXcoKTogRHluYW1pY1ZpZXdSZWY8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52aWV3UmVmO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIocmVSZW5kZXIgPSB0cnVlKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXJlUmVuZGVyICYmIHRoaXMudmlld1JlZikge1xuICAgICAgdGhpcy52aWV3UmVmPy51cGRhdGUoeyBjb250ZW50OiB0aGlzLmNvbnRlbnQgfSBhcyBvYmplY3QpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICBpZiAoaXNEeW5hbWljVmlldyh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLmNvbnRlbnQ7XG4gICAgICBjb25zdCBob3N0VmlldyA9IHRoaXMudmlld1JlZi5nZXRWaWV3KCk7XG4gICAgICBpZiAoaG9zdFZpZXcpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmluc2VydChob3N0Vmlldyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwcm9qZWN0YWJsZU5vZGVzOiBOb2RlW11bXSA9IFtdO1xuICAgICAgaWYgKGlzQ29tcG9uZW50KHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgdGhpcy5jb250ZW50Vmlld1JlZiA9IHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLmNyZWF0ZVZpZXcodGhpcy50ZW1wbGF0ZSwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KTtcbiAgICAgICAgY29uc3Qgcm9vdE5vZGVzID0gKHRoaXMuY29udGVudFZpZXdSZWYuZ2V0VmlldygpIGFzIEVtYmVkZGVkVmlld1JlZjx1bmtub3duPikucm9vdE5vZGVzO1xuICAgICAgICBwcm9qZWN0YWJsZU5vZGVzID0gY3JlYXRlUHJvamVjdGFibGVOb2Rlcyh0aGlzLmNvbnRlbnQsIHJvb3ROb2Rlcyk7XG4gICAgICB9XG4gICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLmR5bmFtaWNWaWV3U2VydmljZS5jcmVhdGVWaWV3KHRoaXMuY29udGVudCwge1xuICAgICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQgPz8gdW5kZWZpbmVkLFxuICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvciA/PyB0aGlzLnZpZXdDb250YWluZXIuaW5qZWN0b3IsXG4gICAgICAgIHByb2plY3RhYmxlTm9kZXMsXG4gICAgICAgIGhvc3Q6IHRoaXMudmlld0NvbnRhaW5lcixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbnRlbnRWaWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy5jb250ZW50Vmlld1JlZiA9IG51bGw7XG4gICAgdGhpcy52aWV3UmVmID0gbnVsbDtcbiAgfVxufVxuIl19
@@ -6,11 +6,41 @@ import { DynamicComponentRef } from './models';
6
6
  import { DynamicTemplateRef } from './models/dynamic-template-ref';
7
7
  import { DYNAMIC_VIEW_CONTEXT, getDynamicViewDefaultHost } from './tokens';
8
8
  import * as i0 from "@angular/core";
9
+ /**
10
+ * A service for creating and managing dynamic views in an Angular application.
11
+ * It supports rendering Angular components, templates, and text content dynamically,
12
+ * allowing for flexible and dynamic content composition.
13
+ */
9
14
  export class DynamicViewService {
10
15
  constructor() {
11
16
  this.injector = inject(Injector);
12
17
  this.defaultHost = getDynamicViewDefaultHost();
13
18
  }
19
+ /**
20
+ * Creates and returns a reference to a dynamic view based on the provided content and options.
21
+ * The method supports dynamic creation of components, template references, and text content,
22
+ * providing a unified API for dynamic content rendering.
23
+ *
24
+ * @template T - The type of the content to be dynamically rendered.
25
+ * @param {T} content - The content to be rendered dynamically. This can be a component class,
26
+ * a template reference, or text content.
27
+ * @param {Partial<DynamicViewOptions<T>>} [options={}] - Optional configuration for the dynamic view creation,
28
+ * including a custom injector, context, host element, and additional providers for the dynamic component's injector.
29
+ * @returns {DynamicViewRef<T>} A reference to the dynamically created view, encapsulating the rendered content
30
+ * and providing methods for interaction and management.
31
+ * @throws {Error} Throws an error if the content type is not supported.
32
+ * @example
33
+ * ```ts
34
+ * // Create a dynamic view for a component
35
+ * const componentRef = dynamicViewService.createView(MyComponent, { context: { ... } });
36
+ *
37
+ * // Create a dynamic view for a template reference
38
+ * const templateRef = dynamicViewService.createView(myTemplate, { context: { ... } });
39
+ *
40
+ * // Create a dynamic view for text content
41
+ * const textRef = dynamicViewService.createView('Dynamic text content', {});
42
+ * ```
43
+ */
14
44
  createView(content, options = {}) {
15
45
  const viewOptions = {
16
46
  ...options,
@@ -42,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
42
72
  type: Injectable,
43
73
  args: [{ providedIn: 'root' }]
44
74
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2R5bmFtaWMtdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHM0UsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztLQTBCNUQ7SUF4QlEsVUFBVSxDQUEyQixPQUFVLEVBQUUsVUFBMEMsRUFBRTtRQUNsRyxNQUFNLFdBQVcsR0FBMEI7WUFDekMsR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVc7WUFDdEMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xHLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRO2FBQzFDLENBQUM7U0FDSCxDQUFDO1FBQ0YsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdEU7UUFDRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksbUJBQW1CLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNsRztRQUNELElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsT0FBTyxJQUFJLG1CQUFtQixDQUFDO2dCQUM3QixHQUFHLFdBQVc7Z0JBQ2QsU0FBUyxFQUFFLG9CQUFvQjtnQkFDL0IsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFO2FBQ3JCLENBQVUsQ0FBQztTQUNiO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7K0dBM0JVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs7NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0NvbXBvbmVudCwgaXNUZW1wbGF0ZVJlZiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBEeW5hbWljVmlld0NvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljQ29udGVudCwgRHluYW1pY1ZpZXdSZWYgfSBmcm9tICcuL2ZhY2FkZSc7XG5pbXBvcnQgeyBpc0R5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50UmVmLCBEeW5hbWljVmlld09wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBEeW5hbWljVGVtcGxhdGVSZWYgfSBmcm9tICcuL21vZGVscy9keW5hbWljLXRlbXBsYXRlLXJlZic7XG5pbXBvcnQgeyBEWU5BTUlDX1ZJRVdfQ09OVEVYVCwgZ2V0RHluYW1pY1ZpZXdEZWZhdWx0SG9zdCB9IGZyb20gJy4vdG9rZW5zJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljVmlld1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0SG9zdCA9IGdldER5bmFtaWNWaWV3RGVmYXVsdEhvc3QoKTtcblxuICBwdWJsaWMgY3JlYXRlVmlldzxUIGV4dGVuZHMgRHluYW1pY0NvbnRlbnQ+KGNvbnRlbnQ6IFQsIG9wdGlvbnM6IFBhcnRpYWw8RHluYW1pY1ZpZXdPcHRpb25zPFQ+PiA9IHt9KTogRHluYW1pY1ZpZXdSZWY8VD4ge1xuICAgIGNvbnN0IHZpZXdPcHRpb25zOiBEeW5hbWljVmlld09wdGlvbnM8VD4gPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaG9zdDogb3B0aW9ucy5ob3N0ID8/IHRoaXMuZGVmYXVsdEhvc3QsXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEWU5BTUlDX1ZJRVdfQ09OVEVYVCwgdXNlVmFsdWU6IG9wdGlvbnMuY29udGV4dCB9LCBvcHRpb25zLnByb3ZpZGVycyA/PyBbXV0sXG4gICAgICAgIHBhcmVudDogb3B0aW9ucy5pbmplY3RvciA/PyB0aGlzLmluamVjdG9yLFxuICAgICAgfSksXG4gICAgfTtcbiAgICBpZiAoaXNUZW1wbGF0ZVJlZihjb250ZW50KSkge1xuICAgICAgcmV0dXJuIG5ldyBEeW5hbWljVGVtcGxhdGVSZWYoeyAuLi52aWV3T3B0aW9ucywgdGVtcGxhdGU6IGNvbnRlbnQgfSk7XG4gICAgfVxuICAgIGlmIChpc0NvbXBvbmVudChjb250ZW50KSkge1xuICAgICAgcmV0dXJuIG5ldyBEeW5hbWljQ29tcG9uZW50UmVmKHsgLi4udmlld09wdGlvbnMsIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCwgY29tcG9uZW50OiBjb250ZW50IH0pO1xuICAgIH1cbiAgICBpZiAoaXNEeW5hbWljVGV4dENvbnRlbnQoY29udGVudCkpIHtcbiAgICAgIHJldHVybiBuZXcgRHluYW1pY0NvbXBvbmVudFJlZih7XG4gICAgICAgIC4uLnZpZXdPcHRpb25zLFxuICAgICAgICBjb21wb25lbnQ6IER5bmFtaWNWaWV3Q29tcG9uZW50LFxuICAgICAgICBjb250ZXh0OiB7IGNvbnRlbnQgfSxcbiAgICAgIH0pIGFzIG5ldmVyO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnRlbnQgdHlwZSBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2R5bmFtaWMtdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFM0U7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFbUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixnQkFBVyxHQUFHLHlCQUF5QixFQUFFLENBQUM7S0FtRDVEO0lBakRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Qkc7SUFDSSxVQUFVLENBQTJCLE9BQVUsRUFBRSxVQUEwQyxFQUFFO1FBQ2xHLE1BQU0sV0FBVyxHQUEwQjtZQUN6QyxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVztZQUN0QyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztnQkFDbEcsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7YUFDMUMsQ0FBQztTQUNILENBQUM7UUFDRixJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixPQUFPLElBQUksa0JBQWtCLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUM7Z0JBQzdCLEdBQUcsV0FBVztnQkFDZCxTQUFTLEVBQUUsb0JBQW9CO2dCQUMvQixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUU7YUFDckIsQ0FBVSxDQUFDO1NBQ2I7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0FwRFUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQ29tcG9uZW50LCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb250ZW50LCBEeW5hbWljVmlld1JlZiB9IGZyb20gJy4vZmFjYWRlJztcbmltcG9ydCB7IGlzRHluYW1pY1RleHRDb250ZW50IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRSZWYsIER5bmFtaWNWaWV3T3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IER5bmFtaWNUZW1wbGF0ZVJlZiB9IGZyb20gJy4vbW9kZWxzL2R5bmFtaWMtdGVtcGxhdGUtcmVmJztcbmltcG9ydCB7IERZTkFNSUNfVklFV19DT05URVhULCBnZXREeW5hbWljVmlld0RlZmF1bHRIb3N0IH0gZnJvbSAnLi90b2tlbnMnO1xuXG4vKipcbiAqIEEgc2VydmljZSBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIGR5bmFtaWMgdmlld3MgaW4gYW4gQW5ndWxhciBhcHBsaWNhdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHJlbmRlcmluZyBBbmd1bGFyIGNvbXBvbmVudHMsIHRlbXBsYXRlcywgYW5kIHRleHQgY29udGVudCBkeW5hbWljYWxseSxcbiAqIGFsbG93aW5nIGZvciBmbGV4aWJsZSBhbmQgZHluYW1pYyBjb250ZW50IGNvbXBvc2l0aW9uLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNWaWV3U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRIb3N0ID0gZ2V0RHluYW1pY1ZpZXdEZWZhdWx0SG9zdCgpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGEgZHluYW1pYyB2aWV3IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb250ZW50IGFuZCBvcHRpb25zLlxuICAgKiBUaGUgbWV0aG9kIHN1cHBvcnRzIGR5bmFtaWMgY3JlYXRpb24gb2YgY29tcG9uZW50cywgdGVtcGxhdGUgcmVmZXJlbmNlcywgYW5kIHRleHQgY29udGVudCxcbiAgICogcHJvdmlkaW5nIGEgdW5pZmllZCBBUEkgZm9yIGR5bmFtaWMgY29udGVudCByZW5kZXJpbmcuXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbnRlbnQgdG8gYmUgZHluYW1pY2FsbHkgcmVuZGVyZWQuXG4gICAqIEBwYXJhbSB7VH0gY29udGVudCAtIFRoZSBjb250ZW50IHRvIGJlIHJlbmRlcmVkIGR5bmFtaWNhbGx5LiBUaGlzIGNhbiBiZSBhIGNvbXBvbmVudCBjbGFzcyxcbiAgICogYSB0ZW1wbGF0ZSByZWZlcmVuY2UsIG9yIHRleHQgY29udGVudC5cbiAgICogQHBhcmFtIHtQYXJ0aWFsPER5bmFtaWNWaWV3T3B0aW9uczxUPj59IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBkeW5hbWljIHZpZXcgY3JlYXRpb24sXG4gICAqIGluY2x1ZGluZyBhIGN1c3RvbSBpbmplY3RvciwgY29udGV4dCwgaG9zdCBlbGVtZW50LCBhbmQgYWRkaXRpb25hbCBwcm92aWRlcnMgZm9yIHRoZSBkeW5hbWljIGNvbXBvbmVudCdzIGluamVjdG9yLlxuICAgKiBAcmV0dXJucyB7RHluYW1pY1ZpZXdSZWY8VD59IEEgcmVmZXJlbmNlIHRvIHRoZSBkeW5hbWljYWxseSBjcmVhdGVkIHZpZXcsIGVuY2Fwc3VsYXRpbmcgdGhlIHJlbmRlcmVkIGNvbnRlbnRcbiAgICogYW5kIHByb3ZpZGluZyBtZXRob2RzIGZvciBpbnRlcmFjdGlvbiBhbmQgbWFuYWdlbWVudC5cbiAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgY29udGVudCB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIC8vIENyZWF0ZSBhIGR5bmFtaWMgdmlldyBmb3IgYSBjb21wb25lbnRcbiAgICogY29uc3QgY29tcG9uZW50UmVmID0gZHluYW1pY1ZpZXdTZXJ2aWNlLmNyZWF0ZVZpZXcoTXlDb21wb25lbnQsIHsgY29udGV4dDogeyAuLi4gfSB9KTtcbiAgICpcbiAgICogLy8gQ3JlYXRlIGEgZHluYW1pYyB2aWV3IGZvciBhIHRlbXBsYXRlIHJlZmVyZW5jZVxuICAgKiBjb25zdCB0ZW1wbGF0ZVJlZiA9IGR5bmFtaWNWaWV3U2VydmljZS5jcmVhdGVWaWV3KG15VGVtcGxhdGUsIHsgY29udGV4dDogeyAuLi4gfSB9KTtcbiAgICpcbiAgICogLy8gQ3JlYXRlIGEgZHluYW1pYyB2aWV3IGZvciB0ZXh0IGNvbnRlbnRcbiAgICogY29uc3QgdGV4dFJlZiA9IGR5bmFtaWNWaWV3U2VydmljZS5jcmVhdGVWaWV3KCdEeW5hbWljIHRleHQgY29udGVudCcsIHt9KTtcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlVmlldzxUIGV4dGVuZHMgRHluYW1pY0NvbnRlbnQ+KGNvbnRlbnQ6IFQsIG9wdGlvbnM6IFBhcnRpYWw8RHluYW1pY1ZpZXdPcHRpb25zPFQ+PiA9IHt9KTogRHluYW1pY1ZpZXdSZWY8VD4ge1xuICAgIGNvbnN0IHZpZXdPcHRpb25zOiBEeW5hbWljVmlld09wdGlvbnM8VD4gPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaG9zdDogb3B0aW9ucy5ob3N0ID8/IHRoaXMuZGVmYXVsdEhvc3QsXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEWU5BTUlDX1ZJRVdfQ09OVEVYVCwgdXNlVmFsdWU6IG9wdGlvbnMuY29udGV4dCB9LCBvcHRpb25zLnByb3ZpZGVycyA/PyBbXV0sXG4gICAgICAgIHBhcmVudDogb3B0aW9ucy5pbmplY3RvciA/PyB0aGlzLmluamVjdG9yLFxuICAgICAgfSksXG4gICAgfTtcbiAgICBpZiAoaXNUZW1wbGF0ZVJlZihjb250ZW50KSkge1xuICAgICAgcmV0dXJuIG5ldyBEeW5hbWljVGVtcGxhdGVSZWYoeyAuLi52aWV3T3B0aW9ucywgdGVtcGxhdGU6IGNvbnRlbnQgfSk7XG4gICAgfVxuICAgIGlmIChpc0NvbXBvbmVudChjb250ZW50KSkge1xuICAgICAgcmV0dXJuIG5ldyBEeW5hbWljQ29tcG9uZW50UmVmKHsgLi4udmlld09wdGlvbnMsIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCwgY29tcG9uZW50OiBjb250ZW50IH0pO1xuICAgIH1cbiAgICBpZiAoaXNEeW5hbWljVGV4dENvbnRlbnQoY29udGVudCkpIHtcbiAgICAgIHJldHVybiBuZXcgRHluYW1pY0NvbXBvbmVudFJlZih7XG4gICAgICAgIC4uLnZpZXdPcHRpb25zLFxuICAgICAgICBjb21wb25lbnQ6IER5bmFtaWNWaWV3Q29tcG9uZW50LFxuICAgICAgICBjb250ZXh0OiB7IGNvbnRlbnQgfSxcbiAgICAgIH0pIGFzIG5ldmVyO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnRlbnQgdHlwZSBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,26 @@
1
1
  import { reflectComponentType } from '@angular/core';
2
+ /**
3
+ * Prepares an array of node arrays suitable for projection into the `<ng-content>` slots
4
+ * of a dynamically created Angular component based on its content selectors.
5
+ *
6
+ * The function inspects the component's content selectors and aligns the provided nodes
7
+ * for projection according to these selectors. A selector of '*' indicates that the nodes
8
+ * should be projected into this slot. If a content selector does not match '*', an empty
9
+ * array is returned for that slot, indicating no nodes are projected into it.
10
+ *
11
+ * @param {Type<unknown>} component - The component class for which the projectable nodes are being prepared.
12
+ * @param {Node[]} nodes - The nodes intended for projection into the component's `<ng-content>` slots.
13
+ * @returns {Node[][]} An array of node arrays, each corresponding to a `<ng-content>` slot in the component.
14
+ * Each sub-array contains nodes to be projected into the respective `<ng-content>` slot, based on the component's content selectors.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * // Given a component with two `<ng-content>` slots, the first without a selector and the second with the selector `<ng-content select=".selector-class">`,
19
+ * const nodes = [document.createTextNode('Hello'), document.createElement('div')];
20
+ * const projectableNodes = createProjectableNodes(MyComponent, nodes);
21
+ * // projectableNodes would be `[[TextNode, DivElement], []]` for a component with selectors ['*', '.selector-class']
22
+ * ```
23
+ */
2
24
  export function createProjectableNodes(component, nodes) {
3
25
  const componentType = reflectComponentType(component);
4
26
  if (componentType && componentType.ngContentSelectors.length > 0) {
@@ -6,4 +28,4 @@ export function createProjectableNodes(component, nodes) {
6
28
  }
7
29
  return [];
8
30
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2plY3RhYmxlLW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9oZWxwZXJzL2NyZWF0ZS1wcm9qZWN0YWJsZS1ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFM0QsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFNBQXdCLEVBQUUsS0FBYTtJQUM1RSxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoRSxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQzVGO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVmbGVjdENvbXBvbmVudFR5cGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb2plY3RhYmxlTm9kZXMoY29tcG9uZW50OiBUeXBlPHVua25vd24+LCBub2RlczogTm9kZVtdKTogTm9kZVtdW10ge1xuICBjb25zdCBjb21wb25lbnRUeXBlID0gcmVmbGVjdENvbXBvbmVudFR5cGUoY29tcG9uZW50KTtcbiAgaWYgKGNvbXBvbmVudFR5cGUgJiYgY29tcG9uZW50VHlwZS5uZ0NvbnRlbnRTZWxlY3RvcnMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBjb21wb25lbnRUeXBlLm5nQ29udGVudFNlbGVjdG9ycy5tYXAoKHNlbGVjdG9yKSA9PiAoc2VsZWN0b3IgPT09ICcqJyA/IG5vZGVzIDogW10pKTtcbiAgfVxuICByZXR1cm4gW107XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2plY3RhYmxlLW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9oZWxwZXJzL2NyZWF0ZS1wcm9qZWN0YWJsZS1ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxTQUF3QixFQUFFLEtBQWE7SUFDNUUsTUFBTSxhQUFhLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEQsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDaEUsT0FBTyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUM1RjtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZmxlY3RDb21wb25lbnRUeXBlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUHJlcGFyZXMgYW4gYXJyYXkgb2Ygbm9kZSBhcnJheXMgc3VpdGFibGUgZm9yIHByb2plY3Rpb24gaW50byB0aGUgYDxuZy1jb250ZW50PmAgc2xvdHNcbiAqIG9mIGEgZHluYW1pY2FsbHkgY3JlYXRlZCBBbmd1bGFyIGNvbXBvbmVudCBiYXNlZCBvbiBpdHMgY29udGVudCBzZWxlY3RvcnMuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGluc3BlY3RzIHRoZSBjb21wb25lbnQncyBjb250ZW50IHNlbGVjdG9ycyBhbmQgYWxpZ25zIHRoZSBwcm92aWRlZCBub2Rlc1xuICogZm9yIHByb2plY3Rpb24gYWNjb3JkaW5nIHRvIHRoZXNlIHNlbGVjdG9ycy4gQSBzZWxlY3RvciBvZiAnKicgaW5kaWNhdGVzIHRoYXQgdGhlIG5vZGVzXG4gKiBzaG91bGQgYmUgcHJvamVjdGVkIGludG8gdGhpcyBzbG90LiBJZiBhIGNvbnRlbnQgc2VsZWN0b3IgZG9lcyBub3QgbWF0Y2ggJyonLCBhbiBlbXB0eVxuICogYXJyYXkgaXMgcmV0dXJuZWQgZm9yIHRoYXQgc2xvdCwgaW5kaWNhdGluZyBubyBub2RlcyBhcmUgcHJvamVjdGVkIGludG8gaXQuXG4gKlxuICogQHBhcmFtIHtUeXBlPHVua25vd24+fSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGNsYXNzIGZvciB3aGljaCB0aGUgcHJvamVjdGFibGUgbm9kZXMgYXJlIGJlaW5nIHByZXBhcmVkLlxuICogQHBhcmFtIHtOb2RlW119IG5vZGVzIC0gVGhlIG5vZGVzIGludGVuZGVkIGZvciBwcm9qZWN0aW9uIGludG8gdGhlIGNvbXBvbmVudCdzIGA8bmctY29udGVudD5gIHNsb3RzLlxuICogQHJldHVybnMge05vZGVbXVtdfSBBbiBhcnJheSBvZiBub2RlIGFycmF5cywgZWFjaCBjb3JyZXNwb25kaW5nIHRvIGEgYDxuZy1jb250ZW50PmAgc2xvdCBpbiB0aGUgY29tcG9uZW50LlxuICogRWFjaCBzdWItYXJyYXkgY29udGFpbnMgbm9kZXMgdG8gYmUgcHJvamVjdGVkIGludG8gdGhlIHJlc3BlY3RpdmUgYDxuZy1jb250ZW50PmAgc2xvdCwgYmFzZWQgb24gdGhlIGNvbXBvbmVudCdzIGNvbnRlbnQgc2VsZWN0b3JzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gR2l2ZW4gYSBjb21wb25lbnQgd2l0aCB0d28gYDxuZy1jb250ZW50PmAgc2xvdHMsIHRoZSBmaXJzdCB3aXRob3V0IGEgc2VsZWN0b3IgYW5kIHRoZSBzZWNvbmQgd2l0aCB0aGUgc2VsZWN0b3IgYDxuZy1jb250ZW50IHNlbGVjdD1cIi5zZWxlY3Rvci1jbGFzc1wiPmAsXG4gKiBjb25zdCBub2RlcyA9IFtkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnSGVsbG8nKSwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyldO1xuICogY29uc3QgcHJvamVjdGFibGVOb2RlcyA9IGNyZWF0ZVByb2plY3RhYmxlTm9kZXMoTXlDb21wb25lbnQsIG5vZGVzKTtcbiAqIC8vIHByb2plY3RhYmxlTm9kZXMgd291bGQgYmUgYFtbVGV4dE5vZGUsIERpdkVsZW1lbnRdLCBbXV1gIGZvciBhIGNvbXBvbmVudCB3aXRoIHNlbGVjdG9ycyBbJyonLCAnLnNlbGVjdG9yLWNsYXNzJ11cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvamVjdGFibGVOb2Rlcyhjb21wb25lbnQ6IFR5cGU8dW5rbm93bj4sIG5vZGVzOiBOb2RlW10pOiBOb2RlW11bXSB7XG4gIGNvbnN0IGNvbXBvbmVudFR5cGUgPSByZWZsZWN0Q29tcG9uZW50VHlwZShjb21wb25lbnQpO1xuICBpZiAoY29tcG9uZW50VHlwZSAmJiBjb21wb25lbnRUeXBlLm5nQ29udGVudFNlbGVjdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudFR5cGUubmdDb250ZW50U2VsZWN0b3JzLm1hcCgoc2VsZWN0b3IpID0+IChzZWxlY3RvciA9PT0gJyonID8gbm9kZXMgOiBbXSkpO1xuICB9XG4gIHJldHVybiBbXTtcbn1cbiJdfQ==
@@ -1,6 +1,28 @@
1
1
  import { isString } from '@odx/angular/utils';
2
2
  import { isObservable } from 'rxjs';
3
+ /**
4
+ * Type guard function to check if a given value is considered dynamic text content.
5
+ * Dynamic text content can either be a plain string or an Observable. This function
6
+ * facilitates type-safe handling of dynamic text content by checking the type of the value.
7
+ *
8
+ * @param {unknown} value - The value to be checked.
9
+ * @returns {value is DynamicTextContent} Returns `true` if the value is a string or an Observable,
10
+ * indicating it can be used as dynamic text content; otherwise, returns `false`.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * // Example usage of the isDynamicTextContent function
15
+ * const textValue: unknown = getTextValue(); // This function may return either string or Observable
16
+ *
17
+ * if (isDynamicTextContent(textValue)) {
18
+ * // The type of textValue is now narrowed to DynamicTextContent (string | Observable)
19
+ * console.log('The value can be used as dynamic text content.');
20
+ * } else {
21
+ * console.log('The value is not suitable as dynamic text content.');
22
+ * }
23
+ * ```
24
+ */
3
25
  export function isDynamicTextContent(value) {
4
26
  return isString(value) || isObservable(value);
5
27
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZHluYW1pYy10ZXh0LWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2hlbHBlcnMvaXMtZHluYW1pYy10ZXh0LWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEMsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWM7SUFDakQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IER5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJy4uL2ZhY2FkZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0R5bmFtaWNUZXh0Q29udGVudCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIER5bmFtaWNUZXh0Q29udGVudCB7XG4gIHJldHVybiBpc1N0cmluZyh2YWx1ZSkgfHwgaXNPYnNlcnZhYmxlKHZhbHVlKTtcbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZHluYW1pYy10ZXh0LWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2hlbHBlcnMvaXMtZHluYW1pYy10ZXh0LWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFjO0lBQ2pELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICcuLi9mYWNhZGUnO1xuXG4vKipcbiAqIFR5cGUgZ3VhcmQgZnVuY3Rpb24gdG8gY2hlY2sgaWYgYSBnaXZlbiB2YWx1ZSBpcyBjb25zaWRlcmVkIGR5bmFtaWMgdGV4dCBjb250ZW50LlxuICogRHluYW1pYyB0ZXh0IGNvbnRlbnQgY2FuIGVpdGhlciBiZSBhIHBsYWluIHN0cmluZyBvciBhbiBPYnNlcnZhYmxlLiBUaGlzIGZ1bmN0aW9uXG4gKiBmYWNpbGl0YXRlcyB0eXBlLXNhZmUgaGFuZGxpbmcgb2YgZHluYW1pYyB0ZXh0IGNvbnRlbnQgYnkgY2hlY2tpbmcgdGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYmUgY2hlY2tlZC5cbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyBEeW5hbWljVGV4dENvbnRlbnR9IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZSBpcyBhIHN0cmluZyBvciBhbiBPYnNlcnZhYmxlLFxuICogaW5kaWNhdGluZyBpdCBjYW4gYmUgdXNlZCBhcyBkeW5hbWljIHRleHQgY29udGVudDsgb3RoZXJ3aXNlLCByZXR1cm5zIGBmYWxzZWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBFeGFtcGxlIHVzYWdlIG9mIHRoZSBpc0R5bmFtaWNUZXh0Q29udGVudCBmdW5jdGlvblxuICogY29uc3QgdGV4dFZhbHVlOiB1bmtub3duID0gZ2V0VGV4dFZhbHVlKCk7IC8vIFRoaXMgZnVuY3Rpb24gbWF5IHJldHVybiBlaXRoZXIgc3RyaW5nIG9yIE9ic2VydmFibGVcbiAqXG4gKiBpZiAoaXNEeW5hbWljVGV4dENvbnRlbnQodGV4dFZhbHVlKSkge1xuICogICAvLyBUaGUgdHlwZSBvZiB0ZXh0VmFsdWUgaXMgbm93IG5hcnJvd2VkIHRvIER5bmFtaWNUZXh0Q29udGVudCAoc3RyaW5nIHwgT2JzZXJ2YWJsZSlcbiAqICAgY29uc29sZS5sb2coJ1RoZSB2YWx1ZSBjYW4gYmUgdXNlZCBhcyBkeW5hbWljIHRleHQgY29udGVudC4nKTtcbiAqIH0gZWxzZSB7XG4gKiAgIGNvbnNvbGUubG9nKCdUaGUgdmFsdWUgaXMgbm90IHN1aXRhYmxlIGFzIGR5bmFtaWMgdGV4dCBjb250ZW50LicpO1xuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0R5bmFtaWNUZXh0Q29udGVudCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIER5bmFtaWNUZXh0Q29udGVudCB7XG4gIHJldHVybiBpc1N0cmluZyh2YWx1ZSkgfHwgaXNPYnNlcnZhYmxlKHZhbHVlKTtcbn1cbiJdfQ==
@@ -1,5 +1,27 @@
1
1
  import { DynamicComponentRef, DynamicTemplateRef } from '../models';
2
+ /**
3
+ * Type guard function to check if a given value is a reference to a dynamically created view.
4
+ * This helps in distinguishing between dynamic view references (`DynamicComponentRef` or `DynamicTemplateRef`)
5
+ * and other types of values, facilitating type-safe operations on dynamic views.
6
+ *
7
+ * @param {unknown} value - The value to check.
8
+ * @returns {value is DynamicViewRef<DynamicContent>} `true` if the value is an instance of `DynamicComponentRef`
9
+ * or `DynamicTemplateRef`, indicating it is a dynamic view reference; otherwise, `false`.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * // Given a value that could be a dynamic view reference or something else
14
+ * const value: unknown = getSomeValue();
15
+ *
16
+ * if (isDynamicView(value)) {
17
+ * // TypeScript now knows `value` is a dynamic view reference, so you can access its methods safely
18
+ * value.detectChanges();
19
+ * } else {
20
+ * console.log('Value is not a dynamic view reference');
21
+ * }
22
+ * ```
23
+ */
2
24
  export function isDynamicView(value) {
3
25
  return value instanceof DynamicComponentRef || value instanceof DynamicTemplateRef;
4
26
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZHluYW1pYy12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9oZWxwZXJzL2lzLWR5bmFtaWMtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFjO0lBQzFDLE9BQU8sS0FBSyxZQUFZLG1CQUFtQixJQUFJLEtBQUssWUFBWSxrQkFBa0IsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3UmVmIH0gZnJvbSAnLi4vZmFjYWRlJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRSZWYsIER5bmFtaWNUZW1wbGF0ZVJlZiB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0R5bmFtaWNWaWV3KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgRHluYW1pY1ZpZXdSZWY8RHluYW1pY0NvbnRlbnQ+IHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRHluYW1pY0NvbXBvbmVudFJlZiB8fCB2YWx1ZSBpbnN0YW5jZW9mIER5bmFtaWNUZW1wbGF0ZVJlZjtcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZHluYW1pYy12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9oZWxwZXJzL2lzLWR5bmFtaWMtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYztJQUMxQyxPQUFPLEtBQUssWUFBWSxtQkFBbUIsSUFBSSxLQUFLLFlBQVksa0JBQWtCLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNDb250ZW50LCBEeW5hbWljVmlld1JlZiB9IGZyb20gJy4uL2ZhY2FkZSc7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50UmVmLCBEeW5hbWljVGVtcGxhdGVSZWYgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG4vKipcbiAqIFR5cGUgZ3VhcmQgZnVuY3Rpb24gdG8gY2hlY2sgaWYgYSBnaXZlbiB2YWx1ZSBpcyBhIHJlZmVyZW5jZSB0byBhIGR5bmFtaWNhbGx5IGNyZWF0ZWQgdmlldy5cbiAqIFRoaXMgaGVscHMgaW4gZGlzdGluZ3Vpc2hpbmcgYmV0d2VlbiBkeW5hbWljIHZpZXcgcmVmZXJlbmNlcyAoYER5bmFtaWNDb21wb25lbnRSZWZgIG9yIGBEeW5hbWljVGVtcGxhdGVSZWZgKVxuICogYW5kIG90aGVyIHR5cGVzIG9mIHZhbHVlcywgZmFjaWxpdGF0aW5nIHR5cGUtc2FmZSBvcGVyYXRpb25zIG9uIGR5bmFtaWMgdmlld3MuXG4gKlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyBEeW5hbWljVmlld1JlZjxEeW5hbWljQ29udGVudD59IGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgYER5bmFtaWNDb21wb25lbnRSZWZgXG4gKiBvciBgRHluYW1pY1RlbXBsYXRlUmVmYCwgaW5kaWNhdGluZyBpdCBpcyBhIGR5bmFtaWMgdmlldyByZWZlcmVuY2U7IG90aGVyd2lzZSwgYGZhbHNlYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIEdpdmVuIGEgdmFsdWUgdGhhdCBjb3VsZCBiZSBhIGR5bmFtaWMgdmlldyByZWZlcmVuY2Ugb3Igc29tZXRoaW5nIGVsc2VcbiAqIGNvbnN0IHZhbHVlOiB1bmtub3duID0gZ2V0U29tZVZhbHVlKCk7XG4gKlxuICogaWYgKGlzRHluYW1pY1ZpZXcodmFsdWUpKSB7XG4gKiAgIC8vIFR5cGVTY3JpcHQgbm93IGtub3dzIGB2YWx1ZWAgaXMgYSBkeW5hbWljIHZpZXcgcmVmZXJlbmNlLCBzbyB5b3UgY2FuIGFjY2VzcyBpdHMgbWV0aG9kcyBzYWZlbHlcbiAqICAgdmFsdWUuZGV0ZWN0Q2hhbmdlcygpO1xuICogfSBlbHNlIHtcbiAqICAgY29uc29sZS5sb2coJ1ZhbHVlIGlzIG5vdCBhIGR5bmFtaWMgdmlldyByZWZlcmVuY2UnKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEeW5hbWljVmlldyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIER5bmFtaWNWaWV3UmVmPER5bmFtaWNDb250ZW50PiB7XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIER5bmFtaWNDb21wb25lbnRSZWYgfHwgdmFsdWUgaW5zdGFuY2VvZiBEeW5hbWljVGVtcGxhdGVSZWY7XG59XG4iXX0=