@odx/angular 1.0.0-rc.3 → 1.0.0-rc.5

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 (361) hide show
  1. package/animations/index.d.ts +1 -0
  2. package/animations/lib/wait-for-child-animations.d.ts +1 -0
  3. package/cdk/active-indicator/README.md +3 -0
  4. package/cdk/active-indicator/index.d.ts +2 -0
  5. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +24 -0
  6. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +5 -0
  7. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +6 -0
  8. package/cdk/active-indicator/lib/models/index.d.ts +2 -0
  9. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +2 -3
  10. package/cdk/custom-form-control/lib/custom-form-control.d.ts +7 -14
  11. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +3 -3
  12. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
  13. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +1 -0
  14. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +1 -0
  15. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  16. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
  17. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
  18. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +1 -0
  19. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +7 -3
  20. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +3 -0
  21. package/cdk/dynamic-view/lib/tokens/index.d.ts +1 -0
  22. package/components/checkbox/index.d.ts +2 -0
  23. package/components/checkbox/lib/checkbox.module.d.ts +9 -0
  24. package/components/checkbox/lib/checkbox.validator.d.ts +6 -0
  25. package/components/chip/README.md +3 -0
  26. package/components/chip/index.d.ts +2 -0
  27. package/components/chip/lib/chip.component.d.ts +15 -0
  28. package/components/chip/lib/models/chip-size.d.ts +5 -0
  29. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  30. package/components/chip/lib/models/index.d.ts +2 -0
  31. package/components/circular-progress/README.md +3 -0
  32. package/components/circular-progress/index.d.ts +2 -0
  33. package/components/circular-progress/lib/circular-progress.component.d.ts +28 -0
  34. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  35. package/components/circular-progress/lib/models/index.d.ts +1 -0
  36. package/components/form-field/lib/components/form-group/form-group.component.d.ts +0 -1
  37. package/components/form-field/lib/directives/form-field-control.directive.d.ts +3 -4
  38. package/components/form-field/lib/form-field.config.d.ts +0 -5
  39. package/components/list/README.md +3 -0
  40. package/components/list/index.d.ts +3 -0
  41. package/components/list/lib/components/index.d.ts +1 -0
  42. package/components/list/lib/components/list-item.component.d.ts +14 -0
  43. package/components/list/lib/list.component.d.ts +5 -0
  44. package/components/list/lib/list.module.d.ts +9 -0
  45. package/components/loading-spinner/README.md +3 -0
  46. package/components/loading-spinner/index.d.ts +3 -0
  47. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  48. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +26 -0
  49. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  50. package/components/loading-spinner/lib/loading-spinner.service.d.ts +9 -0
  51. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +6 -1
  52. package/components/main-menu/lib/main-menu.component.d.ts +3 -1
  53. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -0
  54. package/components/modal/lib/modal.component.d.ts +4 -3
  55. package/components/modal/lib/modal.directive.d.ts +8 -4
  56. package/components/modal/lib/modal.service.d.ts +0 -2
  57. package/components/modal/lib/models/index.d.ts +1 -0
  58. package/components/modal/lib/models/modal-options.d.ts +2 -0
  59. package/components/modal/lib/models/modal-ref.d.ts +4 -2
  60. package/components/modal/lib/models/modal-variant.d.ts +5 -0
  61. package/components/progress/README.md +3 -0
  62. package/components/progress/index.d.ts +1 -0
  63. package/components/progress/lib/progress.component.d.ts +14 -0
  64. package/components/rail-navigation/README.md +3 -0
  65. package/components/rail-navigation/index.d.ts +3 -0
  66. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +15 -0
  67. package/components/rail-navigation/lib/rail-navigation.component.d.ts +12 -0
  68. package/components/rail-navigation/lib/rail-navigation.module.d.ts +9 -0
  69. package/components/switch/index.d.ts +2 -0
  70. package/components/switch/lib/switch.module.d.ts +9 -0
  71. package/components/switch/lib/switch.validator.d.ts +6 -0
  72. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +5 -1
  73. package/esm2020/animations/index.mjs +2 -1
  74. package/esm2020/animations/lib/fade.mjs +2 -5
  75. package/esm2020/animations/lib/wait-for-child-animations.mjs +3 -0
  76. package/esm2020/cdk/active-indicator/index.mjs +3 -0
  77. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +127 -0
  78. package/esm2020/cdk/active-indicator/lib/models/active-indicator-direction.mjs +5 -0
  79. package/esm2020/cdk/active-indicator/lib/models/active-indicator-position.mjs +6 -0
  80. package/esm2020/cdk/active-indicator/lib/models/index.mjs +3 -0
  81. package/esm2020/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +5 -0
  82. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +13 -15
  83. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
  84. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +20 -47
  85. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  86. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +21 -9
  87. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +11 -9
  88. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
  89. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  90. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
  91. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +13 -5
  92. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +9 -5
  93. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  94. package/esm2020/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +10 -0
  95. package/esm2020/cdk/dynamic-view/lib/tokens/index.mjs +2 -1
  96. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +4 -4
  97. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +4 -4
  98. package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
  99. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +7 -7
  100. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +4 -4
  101. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
  102. package/esm2020/components/accordion/lib/accordion.component.mjs +4 -4
  103. package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
  104. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +4 -4
  105. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
  106. package/esm2020/components/action-group/action-group.component.mjs +4 -4
  107. package/esm2020/components/area-header/area-header.component.mjs +4 -4
  108. package/esm2020/components/area-header/area-header.module.mjs +5 -5
  109. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
  110. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
  111. package/esm2020/components/avatar/lib/avatar.component.mjs +4 -4
  112. package/esm2020/components/badge/lib/badge.component.mjs +6 -6
  113. package/esm2020/components/badge/lib/badge.directive.mjs +7 -7
  114. package/esm2020/components/button/lib/button.component.mjs +5 -5
  115. package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
  116. package/esm2020/components/checkbox/index.mjs +3 -1
  117. package/esm2020/components/checkbox/lib/checkbox.component.mjs +5 -5
  118. package/esm2020/components/checkbox/lib/checkbox.module.mjs +19 -0
  119. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +28 -0
  120. package/esm2020/components/chip/index.mjs +3 -0
  121. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  122. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  123. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  124. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  125. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  126. package/esm2020/components/circular-progress/index.mjs +3 -0
  127. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +91 -0
  128. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  129. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  130. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  131. package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
  132. package/esm2020/components/content-box/lib/content-box.module.mjs +5 -5
  133. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -4
  134. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -4
  135. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
  136. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +11 -13
  137. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +20 -13
  138. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
  139. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  140. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
  141. package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
  142. package/esm2020/components/form-field/lib/form-field.component.mjs +4 -4
  143. package/esm2020/components/form-field/lib/form-field.config.mjs +1 -2
  144. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -5
  145. package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
  146. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +4 -4
  147. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +4 -4
  148. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
  149. package/esm2020/components/header/lib/header.component.mjs +4 -4
  150. package/esm2020/components/header/lib/header.module.mjs +5 -5
  151. package/esm2020/components/icon/lib/icon.component.mjs +4 -4
  152. package/esm2020/components/link/link.directive.mjs +4 -4
  153. package/esm2020/components/list/index.mjs +4 -0
  154. package/esm2020/components/list/lib/components/index.mjs +2 -0
  155. package/esm2020/components/list/lib/components/list-item.component.mjs +46 -0
  156. package/esm2020/components/list/lib/list.component.mjs +13 -0
  157. package/esm2020/components/list/lib/list.module.mjs +19 -0
  158. package/esm2020/components/list/odx-angular-components-list.mjs +5 -0
  159. package/esm2020/components/loading-spinner/index.mjs +4 -0
  160. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  161. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +87 -0
  162. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  163. package/esm2020/components/loading-spinner/lib/loading-spinner.service.mjs +17 -0
  164. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  165. package/esm2020/components/logo/logo.directive.mjs +4 -4
  166. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
  167. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +20 -9
  168. package/esm2020/components/main-menu/lib/main-menu.component.mjs +7 -6
  169. package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
  170. package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
  171. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
  172. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
  173. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +4 -4
  174. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
  175. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
  176. package/esm2020/components/modal/lib/modal.component.mjs +29 -16
  177. package/esm2020/components/modal/lib/modal.config.mjs +3 -1
  178. package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
  179. package/esm2020/components/modal/lib/modal.module.mjs +5 -5
  180. package/esm2020/components/modal/lib/modal.service.mjs +8 -21
  181. package/esm2020/components/modal/lib/models/index.mjs +2 -1
  182. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  183. package/esm2020/components/modal/lib/models/modal-ref.mjs +9 -2
  184. package/esm2020/components/modal/lib/models/modal-variant.mjs +5 -0
  185. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +4 -4
  186. package/esm2020/components/progress/index.mjs +2 -0
  187. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  188. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  189. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +5 -5
  190. package/esm2020/components/radio-group/lib/radio-group.component.mjs +4 -4
  191. package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
  192. package/esm2020/components/rail-navigation/index.mjs +4 -0
  193. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +43 -0
  194. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +41 -0
  195. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +19 -0
  196. package/esm2020/components/rail-navigation/odx-angular-components-rail-navigation.mjs +5 -0
  197. package/esm2020/components/switch/index.mjs +3 -1
  198. package/esm2020/components/switch/lib/switch.component.mjs +5 -5
  199. package/esm2020/components/switch/lib/switch.module.mjs +19 -0
  200. package/esm2020/components/switch/lib/switch.validator.mjs +28 -0
  201. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +5 -5
  202. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +20 -11
  203. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
  204. package/esm2020/lib/controllers/controller.mjs +15 -13
  205. package/esm2020/lib/controllers/disabled.controller.mjs +7 -6
  206. package/esm2020/lib/controllers/readonly.controller.mjs +7 -6
  207. package/esm2020/lib/core.module.mjs +5 -5
  208. package/esm2020/lib/directives/click-outside.directive.mjs +4 -4
  209. package/esm2020/lib/services/window-ref.mjs +4 -4
  210. package/esm2020/rxjs/index.mjs +2 -2
  211. package/esm2020/rxjs/lib/from-element-resize.mjs +14 -0
  212. package/esm2020/utils/lib/helpers/angular.mjs +5 -2
  213. package/esm2020/utils/lib/helpers/dom.mjs +24 -1
  214. package/fesm2015/odx-angular-animations.mjs +5 -3
  215. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  216. package/fesm2015/odx-angular-cdk-active-indicator.mjs +142 -0
  217. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -0
  218. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +12 -14
  219. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  220. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +24 -51
  221. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  222. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +88 -38
  223. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  224. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  225. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  226. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +13 -13
  227. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  228. package/fesm2015/odx-angular-components-accordion.mjs +13 -13
  229. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  230. package/fesm2015/odx-angular-components-action-group.mjs +3 -3
  231. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  232. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  233. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  234. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  235. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  236. package/fesm2015/odx-angular-components-badge.mjs +10 -10
  237. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  238. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  239. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
  240. package/fesm2015/odx-angular-components-button.mjs +4 -5
  241. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  242. package/fesm2015/odx-angular-components-checkbox.mjs +47 -7
  243. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  244. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  245. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  246. package/fesm2015/odx-angular-components-circular-progress.mjs +103 -0
  247. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  248. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  249. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  250. package/fesm2015/odx-angular-components-form-field.mjs +52 -51
  251. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  252. package/fesm2015/odx-angular-components-header.mjs +13 -13
  253. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  254. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  255. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  256. package/fesm2015/odx-angular-components-link.mjs +3 -3
  257. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  258. package/fesm2015/odx-angular-components-list.mjs +79 -0
  259. package/fesm2015/odx-angular-components-list.mjs.map +1 -0
  260. package/fesm2015/odx-angular-components-loading-spinner.mjs +173 -0
  261. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  262. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  263. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  264. package/fesm2015/odx-angular-components-main-menu.mjs +34 -23
  265. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  266. package/fesm2015/odx-angular-components-modal.mjs +97 -66
  267. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  268. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  269. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  270. package/fesm2015/odx-angular-components-radio-group.mjs +11 -11
  271. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  272. package/fesm2015/odx-angular-components-rail-navigation.mjs +97 -0
  273. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -0
  274. package/fesm2015/odx-angular-components-switch.mjs +47 -7
  275. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  276. package/fesm2015/odx-angular-components-toggle-button-group.mjs +26 -18
  277. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  278. package/fesm2015/odx-angular-rxjs.mjs +15 -6
  279. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  280. package/fesm2015/odx-angular-utils.mjs +28 -2
  281. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  282. package/fesm2015/odx-angular.mjs +38 -33
  283. package/fesm2015/odx-angular.mjs.map +1 -1
  284. package/fesm2020/odx-angular-animations.mjs +5 -6
  285. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  286. package/fesm2020/odx-angular-cdk-active-indicator.mjs +142 -0
  287. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -0
  288. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +12 -14
  289. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  290. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +22 -49
  291. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  292. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +82 -33
  293. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  294. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  295. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  296. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +13 -13
  297. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  298. package/fesm2020/odx-angular-components-accordion.mjs +13 -13
  299. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  300. package/fesm2020/odx-angular-components-action-group.mjs +3 -3
  301. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  302. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  303. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  304. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  305. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  306. package/fesm2020/odx-angular-components-badge.mjs +10 -10
  307. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  308. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  309. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
  310. package/fesm2020/odx-angular-components-button.mjs +4 -4
  311. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  312. package/fesm2020/odx-angular-components-checkbox.mjs +47 -7
  313. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  314. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  315. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  316. package/fesm2020/odx-angular-components-circular-progress.mjs +103 -0
  317. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  318. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  319. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  320. package/fesm2020/odx-angular-components-form-field.mjs +52 -51
  321. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  322. package/fesm2020/odx-angular-components-header.mjs +13 -13
  323. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  324. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  325. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  326. package/fesm2020/odx-angular-components-link.mjs +3 -3
  327. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  328. package/fesm2020/odx-angular-components-list.mjs +78 -0
  329. package/fesm2020/odx-angular-components-list.mjs.map +1 -0
  330. package/fesm2020/odx-angular-components-loading-spinner.mjs +172 -0
  331. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  332. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  333. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  334. package/fesm2020/odx-angular-components-main-menu.mjs +34 -23
  335. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  336. package/fesm2020/odx-angular-components-modal.mjs +96 -65
  337. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  338. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  339. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  340. package/fesm2020/odx-angular-components-radio-group.mjs +11 -11
  341. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  342. package/fesm2020/odx-angular-components-rail-navigation.mjs +96 -0
  343. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -0
  344. package/fesm2020/odx-angular-components-switch.mjs +47 -7
  345. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  346. package/fesm2020/odx-angular-components-toggle-button-group.mjs +26 -18
  347. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  348. package/fesm2020/odx-angular-rxjs.mjs +15 -6
  349. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  350. package/fesm2020/odx-angular-utils.mjs +28 -2
  351. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  352. package/fesm2020/odx-angular.mjs +38 -33
  353. package/fesm2020/odx-angular.mjs.map +1 -1
  354. package/lib/controllers/controller.d.ts +1 -2
  355. package/package.json +59 -2
  356. package/rxjs/index.d.ts +1 -1
  357. package/rxjs/lib/from-element-resize.d.ts +2 -0
  358. package/utils/lib/helpers/angular.d.ts +2 -1
  359. package/utils/lib/helpers/dom.d.ts +5 -1
  360. package/esm2020/rxjs/lib/mark-for-check.mjs +0 -5
  361. package/rxjs/lib/mark-for-check.d.ts +0 -3
@@ -1,17 +1,14 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
1
  import { Directive, inject, Input, ViewChild } from '@angular/core';
3
- import { NgControl, Validators } from '@angular/forms';
2
+ import { NgControl, RequiredValidator, Validators } from '@angular/forms';
4
3
  import { Controller, DisabledController, ReadonlyController } from '@odx/angular';
5
- import { EMPTY, filter } from 'rxjs';
6
4
  import { ControlDirective } from './control.directive';
7
5
  import * as i0 from "@angular/core";
8
6
  export class CustomFormControl extends Controller {
9
7
  constructor(initialValue) {
10
8
  super();
11
- this.isRequired = false;
9
+ this.requiredValidator = inject(RequiredValidator, { optional: true, self: true });
12
10
  this.disabledController = DisabledController.inject();
13
11
  this.readonlyController = ReadonlyController.inject();
14
- this.enabled$ = this.disabledController?.change$.pipe(filter(() => !this.isDisabled)) ?? EMPTY;
15
12
  this.ngControl = inject(NgControl, { self: true, optional: true });
16
13
  this.id = null;
17
14
  this.name = `odx-form-control-${CustomFormControl.CURRENT_INDEX++}`;
@@ -20,22 +17,14 @@ export class CustomFormControl extends Controller {
20
17
  if (this.ngControl) {
21
18
  this.ngControl.valueAccessor = this;
22
19
  }
23
- this.enabled$.subscribe(() => this.updateRequiredValidator());
24
20
  }
25
- set required(value) {
26
- this.isRequired = coerceBooleanProperty(value);
27
- this.updateRequiredValidator();
28
- }
29
- get required() {
30
- return this.isRequired;
31
- }
32
- set controlValue(value) {
21
+ set value(value) {
33
22
  if (this.internalValue !== value) {
34
23
  this.internalValue = value;
35
24
  this.triggerControllerChange();
36
25
  }
37
26
  }
38
- get controlValue() {
27
+ get value() {
39
28
  return this.internalValue;
40
29
  }
41
30
  get hasError() {
@@ -47,14 +36,14 @@ export class CustomFormControl extends Controller {
47
36
  get isReadonly() {
48
37
  return !!this.readonlyController?.readonly;
49
38
  }
50
- ngAfterContentInit() {
51
- this.updateRequiredValidator();
39
+ get isRequired() {
40
+ return !!this.requiredValidator?.required || this.hasValidator(Validators.required) || this.hasValidator(Validators.requiredTrue);
52
41
  }
53
42
  onTouched() {
54
- // empty;
43
+ // implemented by control value accessor
55
44
  }
56
45
  onChange(_value) {
57
- // empty
46
+ // implemented by control value accessor
58
47
  }
59
48
  registerOnChange(fn) {
60
49
  this.onChange = fn;
@@ -66,39 +55,25 @@ export class CustomFormControl extends Controller {
66
55
  this.disabledController?.setDisabledState(isDisabled);
67
56
  }
68
57
  writeValue(value) {
69
- this.controlValue = value;
58
+ if (this.isDisabled)
59
+ return;
60
+ this.value = value;
61
+ this.onChange(value);
70
62
  }
71
63
  updateValue(value) {
64
+ if (this.isDisabled)
65
+ return;
72
66
  this.writeValue(value);
73
- this.onChange(value);
74
67
  this.onTouched();
75
68
  }
76
- toggleValidator(validator, state) {
77
- const control = this.ngControl?.control;
78
- if (!control)
79
- return;
80
- const hasValidator = control.hasValidator(validator);
81
- if (state && hasValidator)
82
- return;
83
- if (!state && !hasValidator)
84
- return;
85
- if (state) {
86
- control.addValidators(validator);
87
- }
88
- else {
89
- control.removeValidators(validator);
90
- }
91
- control.updateValueAndValidity();
92
- control.markAsUntouched();
93
- }
94
- updateRequiredValidator() {
95
- this.toggleValidator(Validators.required, this.isRequired);
69
+ hasValidator(validator) {
70
+ return !!this.ngControl?.control?.hasValidator(validator);
96
71
  }
97
72
  }
98
73
  CustomFormControl.CURRENT_INDEX = 0;
99
- CustomFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CustomFormControl, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
100
- CustomFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: CustomFormControl, inputs: { id: "id", name: "name", required: "required" }, host: { properties: { "class.has-error": "hasError", "class.is-disabled": "isDisabled", "class.is-readonly": "isReadonly", "class.is-required": "required" } }, viewQueries: [{ propertyName: "control", first: true, predicate: ControlDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CustomFormControl, decorators: [{
74
+ CustomFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CustomFormControl, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
75
+ CustomFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: CustomFormControl, inputs: { id: "id", name: "name" }, host: { properties: { "class.has-error": "hasError", "class.is-disabled": "isDisabled", "class.is-readonly": "isReadonly", "class.is-required": "required" } }, viewQueries: [{ propertyName: "control", first: true, predicate: ControlDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: CustomFormControl, decorators: [{
102
77
  type: Directive,
103
78
  args: [{
104
79
  host: {
@@ -112,10 +87,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
112
87
  type: Input
113
88
  }], name: [{
114
89
  type: Input
115
- }], required: [{
116
- type: Input
117
90
  }], control: [{
118
91
  type: ViewChild,
119
92
  args: [ControlDirective]
120
93
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbC9zcmMvbGliL2N1c3RvbS1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBd0IsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBVXZELE1BQU0sT0FBZ0IsaUJBQXFCLFNBQVEsVUFBVTtJQW1EM0QsWUFBWSxZQUFlO1FBQ3pCLEtBQUssRUFBRSxDQUFDO1FBL0NGLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDUix1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1FBQzFGLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFR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QUssSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQ3BDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDakMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDOztBQTlHYywrQkFBYSxHQUFHLENBQUMsQ0FBQzs4R0FEYixpQkFBaUI7a0dBQWpCLGlCQUFpQiw2UkFnRDFCLGdCQUFnQjsyRkFoRFAsaUJBQWlCO2tCQVJ0QyxTQUFTO21CQUFDO29CQUNULElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxVQUFVO3dCQUMvQixxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxxQkFBcUIsRUFBRSxVQUFVO3FCQUNsQztpQkFDRjs2RkFhUSxFQUFFO3NCQURSLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0NVLE9BQU87c0JBRHRCLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbGxlciwgRGlzYWJsZWRDb250cm9sbGVyLCBSZWFkb25seUNvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgRU1QVFksIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaGFzLWVycm9yXSc6ICdoYXNFcnJvcicsXG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pcy1yZWFkb25seV0nOiAnaXNSZWFkb25seScsXG4gICAgJ1tjbGFzcy5pcy1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21Gb3JtQ29udHJvbDxUPiBleHRlbmRzIENvbnRyb2xsZXIgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIENVUlJFTlRfSU5ERVggPSAwO1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3JlcXVpcmVkOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJpdmF0ZSBpbnRlcm5hbFZhbHVlOiBUO1xuICBwcml2YXRlIGlzUmVxdWlyZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlYWRvbmx5Q29udHJvbGxlciA9IFJlYWRvbmx5Q29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQkID0gdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmNoYW5nZSQucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMuaXNEaXNhYmxlZCkpID8/IEVNUFRZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gYG9keC1mb3JtLWNvbnRyb2wtJHtDdXN0b21Gb3JtQ29udHJvbC5DVVJSRU5UX0lOREVYKyt9YDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5pc1JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZVJlcXVpcmVkVmFsaWRhdG9yKCk7XG4gIH1cbiAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1JlcXVpcmVkO1xuICB9XG5cbiAgcHVibGljIHNldCBjb250cm9sVmFsdWUodmFsdWU6IFQpIHtcbiAgICBpZiAodGhpcy5pbnRlcm5hbFZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnRyaWdnZXJDb250cm9sbGVyQ2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgY29udHJvbFZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmludGVybmFsVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubmdDb250cm9sPy50b3VjaGVkICYmICEhdGhpcy5uZ0NvbnRyb2w/LmludmFsaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVhZG9ubHlDb250cm9sbGVyPy5yZWFkb25seTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoQ29udHJvbERpcmVjdGl2ZSlcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2w6IENvbnRyb2xEaXJlY3RpdmUgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihpbml0aWFsVmFsdWU6IFQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IGluaXRpYWxWYWx1ZTtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgICB0aGlzLmVuYWJsZWQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVJlcXVpcmVkVmFsaWRhdG9yKCkpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVJlcXVpcmVkVmFsaWRhdG9yKCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub3VjaGVkKCkge1xuICAgIC8vIGVtcHR5O1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKF92YWx1ZTogVCkge1xuICAgIC8vIGVtcHR5XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBUKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkQ29udHJvbGxlcj8uc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVWYWxpZGF0b3IodmFsaWRhdG9yOiBWYWxpZGF0b3JGbiwgc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w7XG4gICAgaWYgKCFjb250cm9sKSByZXR1cm47XG4gICAgY29uc3QgaGFzVmFsaWRhdG9yID0gY29udHJvbC5oYXNWYWxpZGF0b3IodmFsaWRhdG9yKTtcbiAgICBpZiAoc3RhdGUgJiYgaGFzVmFsaWRhdG9yKSByZXR1cm47XG4gICAgaWYgKCFzdGF0ZSAmJiAhaGFzVmFsaWRhdG9yKSByZXR1cm47XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnModmFsaWRhdG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udHJvbC5yZW1vdmVWYWxpZGF0b3JzKHZhbGlkYXRvcik7XG4gICAgfVxuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIGNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlUmVxdWlyZWRWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5pc1JlcXVpcmVkKTtcbiAgfVxufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbC9zcmMvbGliL2N1c3RvbS1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXdCLFNBQVMsRUFBRSxpQkFBaUIsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVV2RCxNQUFNLE9BQWdCLGlCQUFxQixTQUFRLFVBQVU7SUE0QzNELFlBQVksWUFBZTtRQUN6QixLQUFLLEVBQUUsQ0FBQztRQTFDTyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLHVCQUFrQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pELHVCQUFrQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pELGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUcxRSxPQUFFLEdBQWtCLElBQUksQ0FBQztRQUd6QixTQUFJLEdBQUcsb0JBQW9CLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7UUE2QnRELFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBSXRELElB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cnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgUmVxdWlyZWRWYWxpZGF0b3IsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbGxlciwgRGlzYWJsZWRDb250cm9sbGVyLCBSZWFkb25seUNvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29udHJvbC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaGFzLWVycm9yXSc6ICdoYXNFcnJvcicsXG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pcy1yZWFkb25seV0nOiAnaXNSZWFkb25seScsXG4gICAgJ1tjbGFzcy5pcy1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21Gb3JtQ29udHJvbDxUPiBleHRlbmRzIENvbnRyb2xsZXIgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgc3RhdGljIENVUlJFTlRfSU5ERVggPSAwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWlyZWRWYWxpZGF0b3IgPSBpbmplY3QoUmVxdWlyZWRWYWxpZGF0b3IsIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgaW50ZXJuYWxWYWx1ZTogVDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlYWRvbmx5Q29udHJvbGxlciA9IFJlYWRvbmx5Q29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZSA9IGBvZHgtZm9ybS1jb250cm9sLSR7Q3VzdG9tRm9ybUNvbnRyb2wuQ1VSUkVOVF9JTkRFWCsrfWA7XG5cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgIGlmICh0aGlzLmludGVybmFsVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudHJpZ2dlckNvbnRyb2xsZXJDaGFuZ2UoKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm5nQ29udHJvbD8udG91Y2hlZCAmJiAhIXRoaXMubmdDb250cm9sPy5pbnZhbGlkO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZGlzYWJsZWRDb250cm9sbGVyPy5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNSZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJlYWRvbmx5Q29udHJvbGxlcj8ucmVhZG9ubHk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZXF1aXJlZFZhbGlkYXRvcj8ucmVxdWlyZWQgfHwgdGhpcy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgfHwgdGhpcy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICB9XG5cbiAgQFZpZXdDaGlsZChDb250cm9sRGlyZWN0aXZlKVxuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbDogQ29udHJvbERpcmVjdGl2ZSB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKGluaXRpYWxWYWx1ZTogVCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVG91Y2hlZCgpIHtcbiAgICAvLyBpbXBsZW1lbnRlZCBieSBjb250cm9sIHZhbHVlIGFjY2Vzc29yXG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoX3ZhbHVlOiBUKSB7XG4gICAgLy8gaW1wbGVtZW50ZWQgYnkgY29udHJvbCB2YWx1ZSBhY2Nlc3NvclxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhc1ZhbGlkYXRvcih2YWxpZGF0b3I6IFZhbGlkYXRvckZuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcih2YWxpZGF0b3IpO1xuICB9XG59XG4iXX0=
@@ -1,22 +1,34 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, ViewEncapsulation } from '@angular/core';
3
- import { isObservable } from 'rxjs';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { injectElement } from '@odx/angular/utils';
3
+ import { distinctUntilChanged, isObservable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class DynamicViewComponent {
6
6
  constructor() {
7
- this.asyncPipe = new AsyncPipe(inject(ChangeDetectorRef));
8
- this.resolveContent = () => null;
7
+ this.element = injectElement();
8
+ this.currentSubscription = null;
9
9
  }
10
10
  set content(value) {
11
- this.resolveContent = isObservable(value) ? () => this.asyncPipe.transform(value) : () => value;
11
+ if (isObservable(value)) {
12
+ this.ngOnDestroy();
13
+ this.currentSubscription = value.pipe(distinctUntilChanged()).subscribe((innerValue) => {
14
+ this.setContent(innerValue);
15
+ });
16
+ }
17
+ else {
18
+ this.setContent(value);
19
+ }
12
20
  }
13
21
  ngOnDestroy() {
14
- this.asyncPipe?.ngOnDestroy();
22
+ this.currentSubscription?.unsubscribe();
23
+ this.currentSubscription = null;
24
+ }
25
+ setContent(value) {
26
+ this.element.nativeElement.innerHTML = value;
15
27
  }
16
28
  }
17
- DynamicViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- DynamicViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: DynamicViewComponent, isStandalone: true, selector: "odx-dynamic-view", inputs: { content: "content" }, host: { properties: { "innerHTML": "resolveContent()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewComponent, decorators: [{
29
+ DynamicViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ DynamicViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: DynamicViewComponent, isStandalone: true, selector: "odx-dynamic-view", inputs: { content: "content" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewComponent, decorators: [{
20
32
  type: Component,
21
33
  args: [{
22
34
  selector: 'odx-dynamic-view',
@@ -24,11 +36,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
24
36
  changeDetection: ChangeDetectionStrategy.OnPush,
25
37
  encapsulation: ViewEncapsulation.None,
26
38
  standalone: true,
27
- host: {
28
- '[innerHTML]': 'resolveContent()',
29
- },
30
39
  }]
31
40
  }], propDecorators: { content: [{
32
41
  type: Input
33
42
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBYXBDLE1BQU0sT0FBTyxvQkFBb0I7SUFWakM7UUFXWSxjQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUNyRCxtQkFBYyxHQUF3QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FVNUQ7SUFSQyxJQUNXLE9BQU8sQ0FBQyxLQUF5QjtRQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUNsRyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O2lIQVhVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVLQVJyQixFQUFFOzJGQVFELG9CQUFvQjtrQkFWaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLGtCQUFrQjtxQkFDbEM7aUJBQ0Y7OEJBTVksT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICcuL2ZhY2FkZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1keW5hbWljLXZpZXcnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tpbm5lckhUTUxdJzogJ3Jlc29sdmVDb250ZW50KCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBhc3luY1BpcGUgPSBuZXcgQXN5bmNQaXBlKGluamVjdChDaGFuZ2VEZXRlY3RvclJlZikpO1xuICBwcm90ZWN0ZWQgcmVzb2x2ZUNvbnRlbnQ6ICgpID0+IHN0cmluZyB8IG51bGwgPSAoKSA9PiBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29udGVudCh2YWx1ZTogRHluYW1pY1RleHRDb250ZW50KSB7XG4gICAgdGhpcy5yZXNvbHZlQ29udGVudCA9IGlzT2JzZXJ2YWJsZSh2YWx1ZSkgPyAoKSA9PiB0aGlzLmFzeW5jUGlwZS50cmFuc2Zvcm0odmFsdWUpIDogKCkgPT4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hc3luY1BpcGU/Lm5nT25EZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBVXhFLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRbUIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQ25DLHdCQUFtQixHQUF3QixJQUFJLENBQUM7S0FzQnpEO0lBcEJDLElBQ1csT0FBTyxDQUFDLEtBQXlCO1FBQzFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3JGLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQy9DLENBQUM7O2tIQXZCVSxvQkFBb0I7c0dBQXBCLG9CQUFvQiw0R0FMckIsRUFBRTs0RkFLRCxvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBTVksT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBpc09ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY1RleHRDb250ZW50IH0gZnJvbSAnLi9mYWNhZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtZHluYW1pYy12aWV3JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG4gIHByaXZhdGUgY3VycmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjb250ZW50KHZhbHVlOiBEeW5hbWljVGV4dENvbnRlbnQpIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSkge1xuICAgICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5jdXJyZW50U3Vic2NyaXB0aW9uID0gdmFsdWUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGlubmVyVmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZXRDb250ZW50KGlubmVyVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0Q29udGVudCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250ZW50KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB2YWx1ZTtcbiAgfVxufVxuIl19
@@ -1,13 +1,16 @@
1
- import { Directive, inject, Injector, Input, ViewContainerRef } from '@angular/core';
2
- import { hasChanged } from '@odx/angular/utils';
1
+ import { Directive, inject, Injector, Input, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { hasChanged, isComponent } from '@odx/angular/utils';
3
3
  import { DynamicViewService } from './dynamic-view.service';
4
- import { isDynamicTextContent, isDynamicView } from './helpers';
4
+ import { createProjectableNodes, isDynamicTextContent, isDynamicView } from './helpers';
5
5
  import * as i0 from "@angular/core";
6
6
  export class DynamicViewDirective {
7
7
  constructor() {
8
8
  this.dynamicViewService = inject(DynamicViewService);
9
9
  this.viewContainer = inject(ViewContainerRef);
10
+ this.template = inject(TemplateRef);
10
11
  this.viewRef = null;
12
+ this.contentViewRef = null;
13
+ // eslint-disable-next-line @angular-eslint/no-input-rename
11
14
  this.content = null;
12
15
  }
13
16
  ngOnInit() {
@@ -47,24 +50,33 @@ export class DynamicViewDirective {
47
50
  }
48
51
  }
49
52
  else {
53
+ let projectableNodes = [];
54
+ if (isComponent(this.content)) {
55
+ this.contentViewRef = this.dynamicViewService.createView(this.template, { injector: this.injector });
56
+ const rootNodes = this.contentViewRef.getView().rootNodes;
57
+ projectableNodes = createProjectableNodes(this.content, rootNodes);
58
+ }
50
59
  this.viewRef = this.dynamicViewService.createView(this.content, {
51
60
  context: this.context ?? undefined,
52
61
  injector: this.injector ?? this.viewContainer.injector,
53
- vcr: this.viewContainer,
62
+ projectableNodes,
63
+ host: this.viewContainer,
54
64
  });
55
65
  }
56
66
  }
57
67
  destroy() {
68
+ this.contentViewRef?.destroy();
58
69
  this.viewRef?.destroy();
70
+ this.contentViewRef = null;
59
71
  this.viewRef = null;
60
72
  }
61
73
  }
62
- DynamicViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
- DynamicViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: DynamicViewDirective, isStandalone: true, selector: "[odxDynamicView]", inputs: { content: ["odxDynamicView", "content"], injector: ["odxDynamicViewInjector", "injector"], context: ["odxDynamicViewContext", "context"] }, usesOnChanges: true, ngImport: i0 });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewDirective, decorators: [{
74
+ DynamicViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
75
+ DynamicViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: DynamicViewDirective, isStandalone: true, selector: "ng-template[odxDynamicView]", inputs: { content: ["odxDynamicView", "content"], injector: ["odxDynamicViewInjector", "injector"], context: ["odxDynamicViewContext", "context"] }, usesOnChanges: true, ngImport: i0 });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewDirective, decorators: [{
65
77
  type: Directive,
66
78
  args: [{
67
- selector: '[odxDynamicView]',
79
+ selector: 'ng-template[odxDynamicView]',
68
80
  standalone: true,
69
81
  }]
70
82
  }], propDecorators: { content: [{
@@ -77,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
77
89
  type: Input,
78
90
  args: ['odxDynamicViewContext']
79
91
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFnQyxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQUttQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELFlBQU8sR0FBNkIsSUFBSSxDQUFDO1FBRzFDLFlBQU8sR0FBa0MsSUFBSSxDQUFDO0tBMkR0RDtJQW5EUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBd0Q7UUFDekUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNmO1FBQ0QsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0scUJBQXFCLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBWSxDQUFDLENBQUM7WUFDMUQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN4QixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckM7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLFNBQVM7Z0JBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDdEQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQ3hCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7O2lIQWhFVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFPUSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUloQixRQUFRO3NCQURkLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUl4QixPQUFPO3NCQURiLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaGFzQ2hhbmdlZCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJy4vZHluYW1pYy12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3UmVmLCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuL2ZhY2FkZSc7XG5pbXBvcnQgeyBpc0R5bmFtaWNUZXh0Q29udGVudCwgaXNEeW5hbWljVmlldyB9IGZyb20gJy4vaGVscGVycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tvZHhEeW5hbWljVmlld10nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljVmlld0RpcmVjdGl2ZTxUIGV4dGVuZHMgRHluYW1pY0NvbnRlbnQ8dW5rbm93bj4gPSBEeW5hbWljQ29udGVudDx1bmtub3duPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkeW5hbWljVmlld1NlcnZpY2UgPSBpbmplY3QoRHluYW1pY1ZpZXdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIHZpZXdSZWY6IER5bmFtaWNWaWV3UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCdvZHhEeW5hbWljVmlldycpXG4gIHB1YmxpYyBjb250ZW50PzogVCB8IER5bmFtaWNWaWV3UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCdvZHhEeW5hbWljVmlld0luamVjdG9yJylcbiAgcHVibGljIGluamVjdG9yPzogSW5qZWN0b3I7XG5cbiAgQElucHV0KCdvZHhEeW5hbWljVmlld0NvbnRleHQnKVxuICBwdWJsaWMgY29udGV4dD86IEdldER5bmFtaWNWaWV3Q29udGV4dDxUPjtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8RHluYW1pY1ZpZXdEaXJlY3RpdmU8RHluYW1pY0NvbnRlbnQ+Pik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdpbmplY3RvcicpKSB7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnY29udGVudCcpKSB7XG4gICAgICBjb25zdCBoYXNDaGFuZ2VkVGV4dENvbnRlbnQgPSBpc0R5bmFtaWNUZXh0Q29udGVudChjaGFuZ2VzLmNvbnRlbnQ/LnByZXZpb3VzVmFsdWUpICYmIGlzRHluYW1pY1RleHRDb250ZW50KGNoYW5nZXMuY29udGVudD8uY3VycmVudFZhbHVlKTtcbiAgICAgIHRoaXMucmVuZGVyKCFoYXNDaGFuZ2VkVGV4dENvbnRlbnQpO1xuICAgIH1cbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnY29udGV4dCcpKSB7XG4gICAgICB0aGlzLnZpZXdSZWY/LnVwZGF0ZShjaGFuZ2VzLmNvbnRleHQ/LmN1cnJlbnRWYWx1ZSA/PyB7fSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGdldFZpZXcoKTogRHluYW1pY1ZpZXdSZWY8VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52aWV3UmVmO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIocmVSZW5kZXIgPSB0cnVlKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRlbnQpIHJldHVybjtcbiAgICBpZiAoIXJlUmVuZGVyICYmIHRoaXMudmlld1JlZikge1xuICAgICAgdGhpcy52aWV3UmVmPy51cGRhdGUoeyBjb250ZW50OiB0aGlzLmNvbnRlbnQgfSBhcyBvYmplY3QpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICBpZiAoaXNEeW5hbWljVmlldyh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLmNvbnRlbnQ7XG4gICAgICBjb25zdCBob3N0VmlldyA9IHRoaXMudmlld1JlZi5nZXRWaWV3KCk7XG4gICAgICBpZiAoaG9zdFZpZXcpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmluc2VydChob3N0Vmlldyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLmNyZWF0ZVZpZXcodGhpcy5jb250ZW50LCB7XG4gICAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dCA/PyB1bmRlZmluZWQsXG4gICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yID8/IHRoaXMudmlld0NvbnRhaW5lci5pbmplY3RvcixcbiAgICAgICAgdmNyOiB0aGlzLnZpZXdDb250YWluZXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3koKSB7XG4gICAgdGhpcy52aWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3UmVmID0gbnVsbDtcbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZHluYW1pYy12aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0MsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQUttQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsbUJBQWMsR0FBZ0QsSUFBSSxDQUFDO1FBRTNFLDJEQUEyRDtRQUVwRCxZQUFPLEdBQWtDLElBQUksQ0FBQztLQXNFdEQ7SUE1RFEsUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXdEO1FBQ3pFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtRQUNELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMs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QVVRLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS2hCLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBS3hCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNDaGFuZ2VkLCBpc0NvbXBvbmVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJy4vZHluYW1pYy12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3UmVmLCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuL2ZhY2FkZSc7XG5pbXBvcnQgeyBjcmVhdGVQcm9qZWN0YWJsZU5vZGVzLCBpc0R5bmFtaWNUZXh0Q29udGVudCwgaXNEeW5hbWljVmlldyB9IGZyb20gJy4vaGVscGVycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW29keER5bmFtaWNWaWV3XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNWaWV3RGlyZWN0aXZlPFQgZXh0ZW5kcyBEeW5hbWljQ29udGVudDx1bmtub3duPiA9IER5bmFtaWNDb250ZW50PHVua25vd24+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtaWNWaWV3U2VydmljZSA9IGluamVjdChEeW5hbWljVmlld1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuICBwcml2YXRlIHZpZXdSZWY6IER5bmFtaWNWaWV3UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29udGVudFZpZXdSZWY6IER5bmFtaWNWaWV3UmVmPFRlbXBsYXRlUmVmPHVua25vd24+PiB8IG51bGwgPSBudWxsO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnb2R4RHluYW1pY1ZpZXcnKVxuICBwdWJsaWMgY29udGVudD86IFQgfCBEeW5hbWljVmlld1JlZjxUPiB8IG51bGwgPSBudWxsO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnb2R4RHluYW1pY1ZpZXdJbmplY3RvcicpXG4gIHB1YmxpYyBpbmplY3Rvcj86IEluamVjdG9yO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnb2R4RHluYW1pY1ZpZXdDb250ZXh0JylcbiAgcHVibGljIGNvbnRleHQ/OiBHZXREeW5hbWljVmlld0NvbnRleHQ8VD47XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPER5bmFtaWNWaWV3RGlyZWN0aXZlPER5bmFtaWNDb250ZW50Pj4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnaW5qZWN0b3InKSkge1xuICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgJ2NvbnRlbnQnKSkge1xuICAgICAgY29uc3QgaGFzQ2hhbmdlZFRleHRDb250ZW50ID0gaXNEeW5hbWljVGV4dENvbnRlbnQoY2hhbmdlcy5jb250ZW50Py5wcmV2aW91c1ZhbHVlKSAmJiBpc0R5bmFtaWNUZXh0Q29udGVudChjaGFuZ2VzLmNvbnRlbnQ/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICB0aGlzLnJlbmRlcighaGFzQ2hhbmdlZFRleHRDb250ZW50KTtcbiAgICB9XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgJ2NvbnRleHQnKSkge1xuICAgICAgdGhpcy52aWV3UmVmPy51cGRhdGUoY2hhbmdlcy5jb250ZXh0Py5jdXJyZW50VmFsdWUgPz8ge30pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3KCk6IER5bmFtaWNWaWV3UmVmPFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlld1JlZjtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKHJlUmVuZGVyID0gdHJ1ZSkge1xuICAgIGlmICghdGhpcy5jb250ZW50KSByZXR1cm47XG4gICAgaWYgKCFyZVJlbmRlciAmJiB0aGlzLnZpZXdSZWYpIHtcbiAgICAgIHRoaXMudmlld1JlZj8udXBkYXRlKHsgY29udGVudDogdGhpcy5jb250ZW50IH0gYXMgb2JqZWN0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52aWV3UmVmPy5kZXN0cm95KCk7XG4gICAgaWYgKGlzRHluYW1pY1ZpZXcodGhpcy5jb250ZW50KSkge1xuICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy5jb250ZW50O1xuICAgICAgY29uc3QgaG9zdFZpZXcgPSB0aGlzLnZpZXdSZWYuZ2V0VmlldygpO1xuICAgICAgaWYgKGhvc3RWaWV3KSB7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5pbnNlcnQoaG9zdFZpZXcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcHJvamVjdGFibGVOb2RlczogTm9kZVtdW10gPSBbXTtcbiAgICAgIGlmIChpc0NvbXBvbmVudCh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMuY29udGVudFZpZXdSZWYgPSB0aGlzLmR5bmFtaWNWaWV3U2VydmljZS5jcmVhdGVWaWV3KHRoaXMudGVtcGxhdGUsIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgICAgIGNvbnN0IHJvb3ROb2RlcyA9ICh0aGlzLmNvbnRlbnRWaWV3UmVmLmdldFZpZXcoKSBhcyBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj4pLnJvb3ROb2RlcztcbiAgICAgICAgcHJvamVjdGFibGVOb2RlcyA9IGNyZWF0ZVByb2plY3RhYmxlTm9kZXModGhpcy5jb250ZW50LCByb290Tm9kZXMpO1xuICAgICAgfVxuICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy5keW5hbWljVmlld1NlcnZpY2UuY3JlYXRlVmlldyh0aGlzLmNvbnRlbnQsIHtcbiAgICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0ID8/IHVuZGVmaW5lZCxcbiAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgPz8gdGhpcy52aWV3Q29udGFpbmVyLmluamVjdG9yLFxuICAgICAgICBwcm9qZWN0YWJsZU5vZGVzLFxuICAgICAgICBob3N0OiB0aGlzLnZpZXdDb250YWluZXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb250ZW50Vmlld1JlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMudmlld1JlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMuY29udGVudFZpZXdSZWYgPSBudWxsO1xuICAgIHRoaXMudmlld1JlZiA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +1,22 @@
1
- import { inject, Injectable, Injector } from '@angular/core';
2
- import { isComponent, isTemplateRef } from '@odx/angular/utils';
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import { getInjector, isComponent, isTemplateRef } from '@odx/angular/utils';
3
3
  import { DynamicViewComponent } from './dynamic-view.component';
4
4
  import { isDynamicTextContent } from './helpers';
5
5
  import { DynamicComponentRef } from './models';
6
6
  import { DynamicTemplateRef } from './models/dynamic-template-ref';
7
- import { DYNAMIC_VIEW_CONTEXT } from './tokens';
7
+ import { DYNAMIC_VIEW_CONTEXT, getDynamicViewDefaultHost } from './tokens';
8
8
  import * as i0 from "@angular/core";
9
9
  export class DynamicViewService {
10
10
  constructor() {
11
- this.injector = inject(Injector);
11
+ this.injector = getInjector();
12
+ this.defaultHost = getDynamicViewDefaultHost();
12
13
  }
13
14
  createView(content, options = {}) {
14
15
  const viewOptions = {
15
16
  ...options,
17
+ host: options.host ?? this.defaultHost,
16
18
  injector: Injector.create({
17
- providers: [{ provide: DYNAMIC_VIEW_CONTEXT, useValue: options.context }],
19
+ providers: [{ provide: DYNAMIC_VIEW_CONTEXT, useValue: options.context }, options.providers ?? []],
18
20
  parent: options.injector ?? this.injector,
19
21
  }),
20
22
  };
@@ -34,10 +36,10 @@ export class DynamicViewService {
34
36
  throw new Error('Content type is not supported');
35
37
  }
36
38
  }
37
- DynamicViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- DynamicViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DynamicViewService, decorators: [{
39
+ DynamicViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
+ DynamicViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: DynamicViewService, decorators: [{
40
42
  type: Injectable,
41
43
  args: [{ providedIn: 'root' }]
42
44
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2R5bmFtaWMtdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBeUI5QztJQXZCUSxVQUFVLENBQTJCLE9BQVUsRUFBRSxVQUEwQyxFQUFFO1FBQ2xHLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN4QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6RSxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTthQUMxQyxDQUFDO1NBQ0gsQ0FBQztRQUNGLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbEc7UUFDRCxJQUFJLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztnQkFDN0IsR0FBRyxXQUFXO2dCQUNkLFNBQVMsRUFBRSxvQkFBb0I7Z0JBQy9CLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRTthQUNyQixDQUFDLENBQUM7U0FDSjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNuRCxDQUFDOzsrR0F6QlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNDb21wb25lbnQsIGlzVGVtcGxhdGVSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3UmVmIH0gZnJvbSAnLi9mYWNhZGUnO1xuaW1wb3J0IHsgaXNEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudFJlZiwgRHluYW1pY1ZpZXdPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRHluYW1pY1RlbXBsYXRlUmVmIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy10ZW1wbGF0ZS1yZWYnO1xuaW1wb3J0IHsgRFlOQU1JQ19WSUVXX0NPTlRFWFQgfSBmcm9tICcuL3Rva2Vucyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1ZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHVibGljIGNyZWF0ZVZpZXc8VCBleHRlbmRzIER5bmFtaWNDb250ZW50Pihjb250ZW50OiBULCBvcHRpb25zOiBQYXJ0aWFsPER5bmFtaWNWaWV3T3B0aW9uczxUPj4gPSB7fSk6IER5bmFtaWNWaWV3UmVmPFQ+IHtcbiAgICBjb25zdCB2aWV3T3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEWU5BTUlDX1ZJRVdfQ09OVEVYVCwgdXNlVmFsdWU6IG9wdGlvbnMuY29udGV4dCB9XSxcbiAgICAgICAgcGFyZW50OiBvcHRpb25zLmluamVjdG9yID8/IHRoaXMuaW5qZWN0b3IsXG4gICAgICB9KSxcbiAgICB9O1xuICAgIGlmIChpc1RlbXBsYXRlUmVmKGNvbnRlbnQpKSB7XG4gICAgICByZXR1cm4gbmV3IER5bmFtaWNUZW1wbGF0ZVJlZih7IC4uLnZpZXdPcHRpb25zLCB0ZW1wbGF0ZTogY29udGVudCB9KTtcbiAgICB9XG4gICAgaWYgKGlzQ29tcG9uZW50KGNvbnRlbnQpKSB7XG4gICAgICByZXR1cm4gbmV3IER5bmFtaWNDb21wb25lbnRSZWYoeyAuLi52aWV3T3B0aW9ucywgY29udGV4dDogb3B0aW9ucy5jb250ZXh0LCBjb21wb25lbnQ6IGNvbnRlbnQgfSk7XG4gICAgfVxuICAgIGlmIChpc0R5bmFtaWNUZXh0Q29udGVudChjb250ZW50KSkge1xuICAgICAgcmV0dXJuIG5ldyBEeW5hbWljQ29tcG9uZW50UmVmKHtcbiAgICAgICAgLi4udmlld09wdGlvbnMsXG4gICAgICAgIGNvbXBvbmVudDogRHluYW1pY1ZpZXdDb21wb25lbnQsXG4gICAgICAgIGNvbnRleHQ6IHsgY29udGVudCB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignQ29udGVudCB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2R5bmFtaWMtdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHM0UsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVtQixhQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBRyx5QkFBeUIsRUFBRSxDQUFDO0tBMEI1RDtJQXhCUSxVQUFVLENBQTJCLE9BQVUsRUFBRSxVQUEwQyxFQUFFO1FBQ2xHLE1BQU0sV0FBVyxHQUEwQjtZQUN6QyxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVztZQUN0QyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztnQkFDbEcsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7YUFDMUMsQ0FBQztTQUNILENBQUM7UUFDRixJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixPQUFPLElBQUksa0JBQWtCLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUM7Z0JBQzdCLEdBQUcsV0FBVztnQkFDZCxTQUFTLEVBQUUsb0JBQW9CO2dCQUMvQixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUU7YUFDckIsQ0FBVSxDQUFDO1NBQ2I7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDbkQsQ0FBQzs7Z0hBM0JVLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRJbmplY3RvciwgaXNDb21wb25lbnQsIGlzVGVtcGxhdGVSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQsIER5bmFtaWNWaWV3UmVmIH0gZnJvbSAnLi9mYWNhZGUnO1xuaW1wb3J0IHsgaXNEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudFJlZiwgRHluYW1pY1ZpZXdPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRHluYW1pY1RlbXBsYXRlUmVmIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy10ZW1wbGF0ZS1yZWYnO1xuaW1wb3J0IHsgRFlOQU1JQ19WSUVXX0NPTlRFWFQsIGdldER5bmFtaWNWaWV3RGVmYXVsdEhvc3QgfSBmcm9tICcuL3Rva2Vucyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1ZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGdldEluamVjdG9yKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEhvc3QgPSBnZXREeW5hbWljVmlld0RlZmF1bHRIb3N0KCk7XG5cbiAgcHVibGljIGNyZWF0ZVZpZXc8VCBleHRlbmRzIER5bmFtaWNDb250ZW50Pihjb250ZW50OiBULCBvcHRpb25zOiBQYXJ0aWFsPER5bmFtaWNWaWV3T3B0aW9uczxUPj4gPSB7fSk6IER5bmFtaWNWaWV3UmVmPFQ+IHtcbiAgICBjb25zdCB2aWV3T3B0aW9uczogRHluYW1pY1ZpZXdPcHRpb25zPFQ+ID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhvc3Q6IG9wdGlvbnMuaG9zdCA/PyB0aGlzLmRlZmF1bHRIb3N0LFxuICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRFlOQU1JQ19WSUVXX0NPTlRFWFQsIHVzZVZhbHVlOiBvcHRpb25zLmNvbnRleHQgfSwgb3B0aW9ucy5wcm92aWRlcnMgPz8gW11dLFxuICAgICAgICBwYXJlbnQ6IG9wdGlvbnMuaW5qZWN0b3IgPz8gdGhpcy5pbmplY3RvcixcbiAgICAgIH0pLFxuICAgIH07XG4gICAgaWYgKGlzVGVtcGxhdGVSZWYoY29udGVudCkpIHtcbiAgICAgIHJldHVybiBuZXcgRHluYW1pY1RlbXBsYXRlUmVmKHsgLi4udmlld09wdGlvbnMsIHRlbXBsYXRlOiBjb250ZW50IH0pO1xuICAgIH1cbiAgICBpZiAoaXNDb21wb25lbnQoY29udGVudCkpIHtcbiAgICAgIHJldHVybiBuZXcgRHluYW1pY0NvbXBvbmVudFJlZih7IC4uLnZpZXdPcHRpb25zLCBjb250ZXh0OiBvcHRpb25zLmNvbnRleHQsIGNvbXBvbmVudDogY29udGVudCB9KTtcbiAgICB9XG4gICAgaWYgKGlzRHluYW1pY1RleHRDb250ZW50KGNvbnRlbnQpKSB7XG4gICAgICByZXR1cm4gbmV3IER5bmFtaWNDb21wb25lbnRSZWYoe1xuICAgICAgICAuLi52aWV3T3B0aW9ucyxcbiAgICAgICAgY29tcG9uZW50OiBEeW5hbWljVmlld0NvbXBvbmVudCxcbiAgICAgICAgY29udGV4dDogeyBjb250ZW50IH0sXG4gICAgICB9KSBhcyBuZXZlcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb250ZW50IHR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZmFjYWRlL2R5bmFtaWMtdmlldy1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb250ZW50LCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuL2R5bmFtaWMtY29udGVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1ZpZXdSZWY8VCBleHRlbmRzIER5bmFtaWNDb250ZW50PiB7XG4gIGRldGVjdENoYW5nZXMoKTogdm9pZDtcbiAgZGVzdHJveSgpOiB2b2lkO1xuICBnZXRFbGVtZW50KCk6IEVsZW1lbnQ7XG4gIHVwZGF0ZShjb250ZXh0OiBHZXREeW5hbWljVmlld0NvbnRleHQ8VD4pOiB2b2lkO1xuICBnZXRWaWV3KCk6IFZpZXdSZWYgfCBudWxsO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvZmFjYWRlL2R5bmFtaWMtdmlldy1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb250ZW50LCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuL2R5bmFtaWMtY29udGVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1ZpZXdSZWY8VCBleHRlbmRzIER5bmFtaWNDb250ZW50PiB7XG4gIGRldGVjdENoYW5nZXMoKTogdm9pZDtcbiAgZGVzdHJveSgpOiB2b2lkO1xuICBnZXRFbGVtZW50KCk6IEVsZW1lbnQ7XG4gIHVwZGF0ZShjb250ZXh0OiBHZXREeW5hbWljVmlld0NvbnRleHQ8VD4pOiB2b2lkO1xuICBnZXRDb250ZXh0KCk6IEdldER5bmFtaWNWaWV3Q29udGV4dDxUPjtcbiAgZ2V0VmlldygpOiBWaWV3UmVmIHwgbnVsbDtcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { reflectComponentType } from '@angular/core';
2
+ export function createProjectableNodes(component, nodes) {
3
+ const componentType = reflectComponentType(component);
4
+ if (componentType && componentType.ngContentSelectors.length > 0) {
5
+ return componentType.ngContentSelectors.map((selector) => (selector === '*' ? nodes : []));
6
+ }
7
+ return [];
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2plY3RhYmxlLW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9oZWxwZXJzL2NyZWF0ZS1wcm9qZWN0YWJsZS1ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFM0QsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFNBQXdCLEVBQUUsS0FBYTtJQUM1RSxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoRSxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQzVGO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVmbGVjdENvbXBvbmVudFR5cGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb2plY3RhYmxlTm9kZXMoY29tcG9uZW50OiBUeXBlPHVua25vd24+LCBub2RlczogTm9kZVtdKTogTm9kZVtdW10ge1xuICBjb25zdCBjb21wb25lbnRUeXBlID0gcmVmbGVjdENvbXBvbmVudFR5cGUoY29tcG9uZW50KTtcbiAgaWYgKGNvbXBvbmVudFR5cGUgJiYgY29tcG9uZW50VHlwZS5uZ0NvbnRlbnRTZWxlY3RvcnMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBjb21wb25lbnRUeXBlLm5nQ29udGVudFNlbGVjdG9ycy5tYXAoKHNlbGVjdG9yKSA9PiAoc2VsZWN0b3IgPT09ICcqJyA/IG5vZGVzIDogW10pKTtcbiAgfVxuICByZXR1cm4gW107XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ export * from './create-projectable-nodes';
1
2
  export * from './is-dynamic-text-content';
2
3
  export * from './is-dynamic-view';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pcy1keW5hbWljLXRleHQtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWR5bmFtaWMtdmlldyc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1wcm9qZWN0YWJsZS1ub2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWR5bmFtaWMtdGV4dC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZHluYW1pYy12aWV3JztcbiJdfQ==
@@ -1,19 +1,24 @@
1
1
  import { ApplicationRef, createComponent, EnvironmentInjector } from '@angular/core';
2
+ import { isViewContainer } from '@odx/angular/utils';
2
3
  export class DynamicComponentRef {
3
4
  constructor(options) {
4
5
  this.options = options;
5
6
  this.application = this.options.injector.get(ApplicationRef);
6
7
  this.componentRef = null;
7
- const { component, context, injector, vcr } = options;
8
+ const { component, context, injector, projectableNodes, host } = options;
8
9
  this.componentRef = createComponent(component, {
9
10
  environmentInjector: injector.get(EnvironmentInjector),
10
11
  elementInjector: injector,
12
+ projectableNodes,
11
13
  });
12
- if (vcr) {
13
- vcr.insert(this.componentRef.hostView);
14
+ if (isViewContainer(host)) {
15
+ host.insert(this.componentRef.hostView);
14
16
  }
15
17
  else {
16
18
  this.application.attachView(this.componentRef.hostView);
19
+ if (host) {
20
+ host.appendChild(this.getElement());
21
+ }
17
22
  }
18
23
  if (context) {
19
24
  this.update(context);
@@ -27,7 +32,7 @@ export class DynamicComponentRef {
27
32
  this.componentRef = null;
28
33
  return;
29
34
  }
30
- if (this.componentRef && !this.options.vcr) {
35
+ if (this.componentRef && !isViewContainer(this.options.host)) {
31
36
  this.application.detachView(this.componentRef.hostView);
32
37
  }
33
38
  this.componentRef?.destroy();
@@ -41,8 +46,11 @@ export class DynamicComponentRef {
41
46
  this.componentRef?.setInput(key, context[key]);
42
47
  }
43
48
  }
49
+ getContext() {
50
+ return this.options.context ?? {};
51
+ }
44
52
  getView() {
45
53
  return this.componentRef?.hostView ?? null;
46
54
  }
47
55
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9tb2RlbHMvZHluYW1pYy1jb21wb25lbnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWdCLGVBQWUsRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFTbEgsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUE2QixPQUFtQztRQUFuQyxZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUgvQyxnQkFBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxpQkFBWSxHQUEyQixJQUFJLENBQUM7UUFHbEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxTQUFvQixFQUFFO1lBQ3hELG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7WUFDdEQsZUFBZSxFQUFFLFFBQVE7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBWSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFVO1FBQ3RCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBFbnZpcm9ubWVudEluamVjdG9yLCBUeXBlLCBWaWV3UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuLi9mYWNhZGUnO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdSZWYgfSBmcm9tICcuLi9mYWNhZGUvZHluYW1pYy12aWV3LXJlZic7XG5pbXBvcnQgeyBEeW5hbWljVmlld09wdGlvbnMgfSBmcm9tICcuL2R5bmFtaWMtdmlldy1vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljQ29tcG9uZW50T3B0aW9uczxUIGV4dGVuZHMgVHlwZTx1bmtub3duPj4gZXh0ZW5kcyBEeW5hbWljVmlld09wdGlvbnM8VD4ge1xuICBjb21wb25lbnQ6IFQ7XG59XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50UmVmPFQgZXh0ZW5kcyBUeXBlPHVua25vd24+LCBDIGV4dGVuZHMgR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+PiBpbXBsZW1lbnRzIER5bmFtaWNWaWV3UmVmPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBsaWNhdGlvbiA9IHRoaXMub3B0aW9ucy5pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBEeW5hbWljQ29tcG9uZW50T3B0aW9uczxUPikge1xuICAgIGNvbnN0IHsgY29tcG9uZW50LCBjb250ZXh0LCBpbmplY3RvciwgdmNyIH0gPSBvcHRpb25zO1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCBhcyBUeXBlPFQ+LCB7XG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRJbmplY3RvciksXG4gICAgICBlbGVtZW50SW5qZWN0b3I6IGluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgaWYgKHZjcikge1xuICAgICAgdmNyLmluc2VydCh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb24uYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfVxuICAgIGlmIChjb250ZXh0KSB7XG4gICAgICB0aGlzLnVwZGF0ZShjb250ZXh0IGFzIEMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50UmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWY/Lmhvc3RWaWV3LmRlc3Ryb3llZCkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgJiYgIXRoaXMub3B0aW9ucy52Y3IpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb24uZGV0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfVxuICAgIHRoaXMuY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldEVsZW1lbnQoKTogRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50ID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKGNvbnRleHQ6IEMpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb250ZXh0KSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZj8uc2V0SW5wdXQoa2V5LCBjb250ZXh0W2tleV0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3KCk6IFZpZXdSZWYgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWY/Lmhvc3RWaWV3ID8/IG51bGw7XG4gIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcvc3JjL2xpYi9tb2RlbHMvZHluYW1pYy1jb21wb25lbnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWdCLGVBQWUsRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBU3JELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBNkIsT0FBbUM7UUFBbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUFIL0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakUsaUJBQVksR0FBMkIsSUFBSSxDQUFDO1FBR2xELE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFekUsSUFBSSxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUMsU0FBb0IsRUFBRTtZQUN4RCxtQkFBbUIsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1lBQ3RELGVBQWUsRUFBRSxRQUFRO1lBQ3pCLGdCQUFnQjtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBQ0QsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBVTtRQUN0QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBFbnZpcm9ubWVudEluamVjdG9yLCBUeXBlLCBWaWV3UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1ZpZXdDb250YWluZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgR2V0RHluYW1pY1ZpZXdDb250ZXh0IH0gZnJvbSAnLi4vZmFjYWRlJztcbmltcG9ydCB7IER5bmFtaWNWaWV3UmVmIH0gZnJvbSAnLi4vZmFjYWRlL2R5bmFtaWMtdmlldy1yZWYnO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdPcHRpb25zIH0gZnJvbSAnLi9keW5hbWljLXZpZXctb3B0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0NvbXBvbmVudE9wdGlvbnM8VCBleHRlbmRzIFR5cGU8dW5rbm93bj4+IGV4dGVuZHMgRHluYW1pY1ZpZXdPcHRpb25zPFQ+IHtcbiAgY29tcG9uZW50OiBUO1xufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudFJlZjxUIGV4dGVuZHMgVHlwZTx1bmtub3duPiwgQyBleHRlbmRzIEdldER5bmFtaWNWaWV3Q29udGV4dDxUPj4gaW1wbGVtZW50cyBEeW5hbWljVmlld1JlZjxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwbGljYXRpb24gPSB0aGlzLm9wdGlvbnMuaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogRHluYW1pY0NvbXBvbmVudE9wdGlvbnM8VD4pIHtcbiAgICBjb25zdCB7IGNvbXBvbmVudCwgY29udGV4dCwgaW5qZWN0b3IsIHByb2plY3RhYmxlTm9kZXMsIGhvc3QgfSA9IG9wdGlvbnM7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQgYXMgVHlwZTxUPiwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuICAgICAgZWxlbWVudEluamVjdG9yOiBpbmplY3RvcixcbiAgICAgIHByb2plY3RhYmxlTm9kZXMsXG4gICAgfSk7XG5cbiAgICBpZiAoaXNWaWV3Q29udGFpbmVyKGhvc3QpKSB7XG4gICAgICBob3N0Lmluc2VydCh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb24uYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICBpZiAoaG9zdCkge1xuICAgICAgICBob3N0LmFwcGVuZENoaWxkKHRoaXMuZ2V0RWxlbWVudCgpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIHRoaXMudXBkYXRlKGNvbnRleHQgYXMgQyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWY/LmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZj8uaG9zdFZpZXcuZGVzdHJveWVkKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAmJiAhaXNWaWV3Q29udGFpbmVyKHRoaXMub3B0aW9ucy5ob3N0KSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvbi5kZXRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICB9XG4gICAgdGhpcy5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0RWxlbWVudCgpOiBFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUoY29udGV4dDogQyk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmPy5zZXRJbnB1dChrZXksIGNvbnRleHRba2V5XSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENvbnRleHQoKTogR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+IHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmNvbnRleHQgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0VmlldygpOiBWaWV3UmVmIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmPy5ob3N0VmlldyA/PyBudWxsO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { ApplicationRef } from '@angular/core';
2
+ import { isViewContainer } from '@odx/angular/utils';
2
3
  export class DynamicTemplateRef {
3
4
  constructor(options) {
4
5
  this.options = options;
@@ -14,7 +15,7 @@ export class DynamicTemplateRef {
14
15
  this.embeddedViewRef = null;
15
16
  return;
16
17
  }
17
- if (!this.options.vcr && this.embeddedViewRef) {
18
+ if (!isViewContainer(this.options.host) && this.embeddedViewRef) {
18
19
  this.application.detachView(this.embeddedViewRef);
19
20
  }
20
21
  this.embeddedViewRef?.destroy();
@@ -29,12 +30,15 @@ export class DynamicTemplateRef {
29
30
  this.detectChanges();
30
31
  }
31
32
  }
33
+ getContext() {
34
+ return this.options.context ?? {};
35
+ }
32
36
  getView() {
33
37
  return this.embeddedViewRef;
34
38
  }
35
- create({ context, template, vcr }) {
36
- if (vcr) {
37
- this.embeddedViewRef = vcr.createEmbeddedView(template, context, { injector: this.options.injector });
39
+ create({ context, template, host }) {
40
+ if (isViewContainer(host)) {
41
+ this.embeddedViewRef = host.createEmbeddedView(template, context, { injector: this.options.injector });
38
42
  }
39
43
  else {
40
44
  this.embeddedViewRef = template.createEmbeddedView(context ?? {}, this.options.injector);
@@ -42,4 +46,4 @@ export class DynamicTemplateRef {
42
46
  }
43
47
  }
44
48
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10ZW1wbGF0ZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL21vZGVscy9keW5hbWljLXRlbXBsYXRlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQVF2RyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQTZCLE9BQWtDO1FBQWxDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBSDlDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pFLG9CQUFlLEdBQW9DLElBQUksQ0FBQztRQUc5RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFO1lBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBaUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRU8sTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQTZCO1FBQ2xFLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdkc7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgRW1iZWRkZWRWaWV3UmVmLCBUZW1wbGF0ZVJlZiBhcyBOZ1RlbXBsYXRlUmVmLCBWaWV3UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljVmlld1JlZiwgR2V0RHluYW1pY1ZpZXdDb250ZXh0IH0gZnJvbSAnLi4vZmFjYWRlJztcbmltcG9ydCB7IER5bmFtaWNWaWV3T3B0aW9ucyB9IGZyb20gJy4vZHluYW1pYy12aWV3LW9wdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNUZW1wbGF0ZU9wdGlvbnM8VCBleHRlbmRzIE5nVGVtcGxhdGVSZWY8dW5rbm93bj4+IGV4dGVuZHMgRHluYW1pY1ZpZXdPcHRpb25zPFQ+IHtcbiAgdGVtcGxhdGU6IFQ7XG59XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljVGVtcGxhdGVSZWY8VCBleHRlbmRzIE5nVGVtcGxhdGVSZWY8dW5rbm93bj4gPSBOZ1RlbXBsYXRlUmVmPHVua25vd24+PiBpbXBsZW1lbnRzIER5bmFtaWNWaWV3UmVmPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBsaWNhdGlvbiA9IHRoaXMub3B0aW9ucy5pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuICBwcml2YXRlIGVtYmVkZGVkVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBEeW5hbWljVGVtcGxhdGVPcHRpb25zPFQ+KSB7XG4gICAgdGhpcy5jcmVhdGUob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmVtYmVkZGVkVmlld1JlZj8uZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW1iZWRkZWRWaWV3UmVmPy5kZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudmNyICYmIHRoaXMuZW1iZWRkZWRWaWV3UmVmKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uLmRldGFjaFZpZXcodGhpcy5lbWJlZGRlZFZpZXdSZWYpO1xuICAgIH1cbiAgICB0aGlzLmVtYmVkZGVkVmlld1JlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFbGVtZW50KCk6IEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVtYmVkZGVkVmlld1JlZj8ucm9vdE5vZGVzPy5bMF0gPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUoY29udGV4dDogR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW1iZWRkZWRWaWV3UmVmKSB7XG4gICAgICB0aGlzLmVtYmVkZGVkVmlld1JlZi5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3KCk6IFZpZXdSZWYgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbWJlZGRlZFZpZXdSZWY7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZSh7IGNvbnRleHQsIHRlbXBsYXRlLCB2Y3IgfTogRHluYW1pY1RlbXBsYXRlT3B0aW9uczxUPikge1xuICAgIGlmICh2Y3IpIHtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gdmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCwgeyBpbmplY3RvcjogdGhpcy5vcHRpb25zLmluamVjdG9yIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtYmVkZGVkVmlld1JlZiA9IHRlbXBsYXRlLmNyZWF0ZUVtYmVkZGVkVmlldyhjb250ZXh0ID8/IHt9LCB0aGlzLm9wdGlvbnMuaW5qZWN0b3IpO1xuICAgICAgdGhpcy5hcHBsaWNhdGlvbi5hdHRhY2hWaWV3KHRoaXMuZW1iZWRkZWRWaWV3UmVmKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10ZW1wbGF0ZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL21vZGVscy9keW5hbWljLXRlbXBsYXRlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRckQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUE2QixPQUFrQztRQUFsQyxZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUg5QyxnQkFBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxvQkFBZSxHQUFvQyxJQUFJLENBQUM7UUFHOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRTtZQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRU8sTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQTZCO1FBQ25FLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3hHO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIEVtYmVkZGVkVmlld1JlZiwgVGVtcGxhdGVSZWYgYXMgTmdUZW1wbGF0ZVJlZiwgVmlld1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNWaWV3Q29udGFpbmVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNWaWV3UmVmLCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuLi9mYWNhZGUnO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdPcHRpb25zIH0gZnJvbSAnLi9keW5hbWljLXZpZXctb3B0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1RlbXBsYXRlT3B0aW9uczxUIGV4dGVuZHMgTmdUZW1wbGF0ZVJlZjx1bmtub3duPj4gZXh0ZW5kcyBEeW5hbWljVmlld09wdGlvbnM8VD4ge1xuICB0ZW1wbGF0ZTogVDtcbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNUZW1wbGF0ZVJlZjxUIGV4dGVuZHMgTmdUZW1wbGF0ZVJlZjx1bmtub3duPiA9IE5nVGVtcGxhdGVSZWY8dW5rbm93bj4+IGltcGxlbWVudHMgRHluYW1pY1ZpZXdSZWY8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uID0gdGhpcy5vcHRpb25zLmluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZik7XG4gIHByaXZhdGUgZW1iZWRkZWRWaWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IER5bmFtaWNUZW1wbGF0ZU9wdGlvbnM8VD4pIHtcbiAgICB0aGlzLmNyZWF0ZShvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmPy5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXdSZWY/LmRlc3Ryb3llZCkge1xuICAgICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWlzVmlld0NvbnRhaW5lcih0aGlzLm9wdGlvbnMuaG9zdCkgJiYgdGhpcy5lbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb24uZGV0YWNoVmlldyh0aGlzLmVtYmVkZGVkVmlld1JlZik7XG4gICAgfVxuICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldEVsZW1lbnQoKTogRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZW1iZWRkZWRWaWV3UmVmPy5yb290Tm9kZXM/LlswXSA/PyBudWxsO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShjb250ZXh0OiBHZXREeW5hbWljVmlld0NvbnRleHQ8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENvbnRleHQoKTogR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+IHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmNvbnRleHQgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0VmlldygpOiBWaWV3UmVmIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZW1iZWRkZWRWaWV3UmVmO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGUoeyBjb250ZXh0LCB0ZW1wbGF0ZSwgaG9zdCB9OiBEeW5hbWljVGVtcGxhdGVPcHRpb25zPFQ+KSB7XG4gICAgaWYgKGlzVmlld0NvbnRhaW5lcihob3N0KSkge1xuICAgICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSBob3N0LmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCwgeyBpbmplY3RvcjogdGhpcy5vcHRpb25zLmluamVjdG9yIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtYmVkZGVkVmlld1JlZiA9IHRlbXBsYXRlLmNyZWF0ZUVtYmVkZGVkVmlldyhjb250ZXh0ID8/IHt9LCB0aGlzLm9wdGlvbnMuaW5qZWN0b3IpO1xuICAgICAgdGhpcy5hcHBsaWNhdGlvbi5hdHRhY2hWaWV3KHRoaXMuZW1iZWRkZWRWaWV3UmVmKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL21vZGVscy9keW5hbWljLXZpZXctb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb250ZW50LCBHZXREeW5hbWljVmlld0NvbnRleHQgfSBmcm9tICcuLi9mYWNhZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNWaWV3T3B0aW9uczxUIGV4dGVuZHMgRHluYW1pY0NvbnRlbnQ+IHtcbiAgaW5qZWN0b3I6IEluamVjdG9yO1xuICBjb250ZXh0PzogR2V0RHluYW1pY1ZpZXdDb250ZXh0PFQ+O1xuICB2Y3I/OiBWaWV3Q29udGFpbmVyUmVmO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL21vZGVscy9keW5hbWljLXZpZXctb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljQ29udGVudCwgR2V0RHluYW1pY1ZpZXdDb250ZXh0IH0gZnJvbSAnLi4vZmFjYWRlJztcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljVmlld1JlbmRlcmluZ09wdGlvbnMge1xuICBpbmplY3RvcjogSW5qZWN0b3I7XG4gIHByb3ZpZGVycz86IFN0YXRpY1Byb3ZpZGVyW107XG4gIGhvc3Q/OiBWaWV3Q29udGFpbmVyUmVmIHwgRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljVmlld09wdGlvbnM8VCBleHRlbmRzIER5bmFtaWNDb250ZW50PiBleHRlbmRzIER5bmFtaWNWaWV3UmVuZGVyaW5nT3B0aW9ucyB7XG4gIGNvbnRleHQ/OiBHZXREeW5hbWljVmlld0NvbnRleHQ8VD47XG4gIHByb2plY3RhYmxlTm9kZXM/OiBOb2RlW11bXTtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { inject, InjectionToken } from '@angular/core';
3
+ export const ODX_DYNAMIC_VIEW_DEFAULT_HOST = new InjectionToken('@odx/angular/cdk/dynamic-view::DynamicViewDefaultHost', {
4
+ providedIn: 'root',
5
+ factory: () => inject(DOCUMENT).body,
6
+ });
7
+ export function getDynamicViewDefaultHost() {
8
+ return inject(ODX_DYNAMIC_VIEW_DEFAULT_HOST);
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3LWRlZmF1bHQtaG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3L3NyYy9saWIvdG9rZW5zL2R5bmFtaWMtdmlldy1kZWZhdWx0LWhvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFVLHVEQUF1RCxFQUFFO0lBQ2hJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSTtDQUNyQyxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IE9EWF9EWU5BTUlDX1ZJRVdfREVGQVVMVF9IT1NUID0gbmV3IEluamVjdGlvblRva2VuPEVsZW1lbnQ+KCdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldzo6RHluYW1pY1ZpZXdEZWZhdWx0SG9zdCcsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBpbmplY3QoRE9DVU1FTlQpLmJvZHksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldER5bmFtaWNWaWV3RGVmYXVsdEhvc3QoKTogRWxlbWVudCB7XG4gIHJldHVybiBpbmplY3QoT0RYX0RZTkFNSUNfVklFV19ERUZBVUxUX0hPU1QpO1xufVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './dynamic-view-context';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLXZpZXctY29udGV4dCc7XG4iXX0=
2
+ export * from './dynamic-view-default-host';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldy9zcmMvbGliL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtdmlldy1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy12aWV3LWRlZmF1bHQtaG9zdCc7XG4iXX0=