@fundamental-ngx/cdk 0.38.3-rc.4

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 (399) hide show
  1. package/README.md +89 -0
  2. package/data-source/README.md +7 -0
  3. package/data-source/base/abstract-data-provider.class.d.ts +43 -0
  4. package/data-source/base/base-data-source.class.d.ts +57 -0
  5. package/data-source/data-source.directive.d.ts +47 -0
  6. package/data-source/data-source.module.d.ts +7 -0
  7. package/data-source/helpers/apply-datasource-directive.d.ts +6 -0
  8. package/data-source/helpers/common.d.ts +7 -0
  9. package/data-source/helpers/is-datasource.d.ts +5 -0
  10. package/data-source/index.d.ts +8 -0
  11. package/data-source/models/data-source-provider.d.ts +23 -0
  12. package/data-source/models/data-source.d.ts +16 -0
  13. package/data-source/models/index.d.ts +3 -0
  14. package/data-source/models/matching-strategy.d.ts +10 -0
  15. package/data-source/tokens.d.ts +6 -0
  16. package/esm2020/data-source/base/abstract-data-provider.class.mjs +126 -0
  17. package/esm2020/data-source/base/base-data-source.class.mjs +99 -0
  18. package/esm2020/data-source/data-source.directive.mjs +96 -0
  19. package/esm2020/data-source/data-source.module.mjs +16 -0
  20. package/esm2020/data-source/fundamental-ngx-cdk-data-source.mjs +5 -0
  21. package/esm2020/data-source/helpers/apply-datasource-directive.mjs +7 -0
  22. package/esm2020/data-source/helpers/common.mjs +17 -0
  23. package/esm2020/data-source/helpers/is-datasource.mjs +7 -0
  24. package/esm2020/data-source/index.mjs +9 -0
  25. package/esm2020/data-source/models/data-source-provider.mjs +2 -0
  26. package/esm2020/data-source/models/data-source.mjs +2 -0
  27. package/esm2020/data-source/models/index.mjs +4 -0
  28. package/esm2020/data-source/models/matching-strategy.mjs +7 -0
  29. package/esm2020/data-source/tokens.mjs +6 -0
  30. package/esm2020/forms/cva/cva-control.class.mjs +43 -0
  31. package/esm2020/forms/cva/cva.directive.mjs +309 -0
  32. package/esm2020/forms/forms.module.mjs +16 -0
  33. package/esm2020/forms/fundamental-ngx-cdk-forms.mjs +5 -0
  34. package/esm2020/forms/helpers/state.mjs +6 -0
  35. package/esm2020/forms/index.mjs +13 -0
  36. package/esm2020/forms/models/cva.mjs +2 -0
  37. package/esm2020/forms/models/form-error.mjs +2 -0
  38. package/esm2020/forms/models/form-field-control.mjs +2 -0
  39. package/esm2020/forms/models/form-field.mjs +9 -0
  40. package/esm2020/forms/models/form-state.mjs +2 -0
  41. package/esm2020/forms/models/select-item.mjs +14 -0
  42. package/esm2020/forms/tokens/form-field-control.token.mjs +3 -0
  43. package/esm2020/forms/tokens/form-field.token.mjs +3 -0
  44. package/esm2020/fundamental-ngx-cdk.mjs +5 -0
  45. package/esm2020/fundamental-ngx.module.mjs +19 -0
  46. package/esm2020/public_api.mjs +5 -0
  47. package/esm2020/utils/abstract-fd-ngx-class.mjs +56 -0
  48. package/esm2020/utils/coercion/array.mjs +7 -0
  49. package/esm2020/utils/consts/error-messages.mjs +6 -0
  50. package/esm2020/utils/consts/index.mjs +5 -0
  51. package/esm2020/utils/consts/overflow-priority-score.mjs +8 -0
  52. package/esm2020/utils/consts/unicode-letters.regex.mjs +11 -0
  53. package/esm2020/utils/consts/unicode-numbers.regex.mjs +8 -0
  54. package/esm2020/utils/datatypes/color-accent.datatype.mjs +2 -0
  55. package/esm2020/utils/datatypes/hash.datatype.mjs +2 -0
  56. package/esm2020/utils/datatypes/index.mjs +4 -0
  57. package/esm2020/utils/datatypes/size.datatype.mjs +2 -0
  58. package/esm2020/utils/decorators/apply-css-class.decorator.mjs +60 -0
  59. package/esm2020/utils/decorators/apply-css-style.decorator.mjs +28 -0
  60. package/esm2020/utils/decorators/coerce-boolean.mjs +7 -0
  61. package/esm2020/utils/decorators/coerce-css-pixel.mjs +4 -0
  62. package/esm2020/utils/decorators/index.mjs +6 -0
  63. package/esm2020/utils/decorators/setter-alternator.mjs +18 -0
  64. package/esm2020/utils/deprecated-selector.class.mjs +20 -0
  65. package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +136 -0
  66. package/esm2020/utils/directives/auto-complete/auto-complete.module.mjs +17 -0
  67. package/esm2020/utils/directives/clicked/clicked-behavior.module.mjs +45 -0
  68. package/esm2020/utils/directives/clicked/clicked-event.plugin.mjs +74 -0
  69. package/esm2020/utils/directives/clicked/clicked.directive.mjs +52 -0
  70. package/esm2020/utils/directives/clicked/fdk-clicked-provider.service.mjs +49 -0
  71. package/esm2020/utils/directives/clicked/index.mjs +4 -0
  72. package/esm2020/utils/directives/disabled/default-disabled-view-modifier.mjs +12 -0
  73. package/esm2020/utils/directives/disabled/disabled-behavior.directive.mjs +102 -0
  74. package/esm2020/utils/directives/disabled/disabled-behavior.interface.mjs +2 -0
  75. package/esm2020/utils/directives/disabled/disabled-behavior.module.mjs +16 -0
  76. package/esm2020/utils/directives/disabled/disabled-view-modifier.interface.mjs +2 -0
  77. package/esm2020/utils/directives/disabled/disabled.observer.mjs +35 -0
  78. package/esm2020/utils/directives/disabled/fdk-disabled-provider.service.mjs +101 -0
  79. package/esm2020/utils/directives/disabled/fdk-disabled.token.mjs +3 -0
  80. package/esm2020/utils/directives/disabled/index.mjs +9 -0
  81. package/esm2020/utils/directives/disabled/set-disabled-state.mjs +16 -0
  82. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +33 -0
  83. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +98 -0
  84. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +113 -0
  85. package/esm2020/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +3 -0
  86. package/esm2020/utils/directives/focus-key-manager/index.mjs +5 -0
  87. package/esm2020/utils/directives/focusable-item/default-focusable-item-view-modifier.mjs +14 -0
  88. package/esm2020/utils/directives/focusable-item/fdk-focusable-item-provider.service.mjs +97 -0
  89. package/esm2020/utils/directives/focusable-item/focusable-item-view-modifier.interface.mjs +2 -0
  90. package/esm2020/utils/directives/focusable-item/focusable-item.directive.mjs +106 -0
  91. package/esm2020/utils/directives/focusable-item/focusable-item.module.mjs +16 -0
  92. package/esm2020/utils/directives/focusable-item/focusable.observer.mjs +47 -0
  93. package/esm2020/utils/directives/focusable-item/focusable.tokens.mjs +3 -0
  94. package/esm2020/utils/directives/focusable-item/index.mjs +9 -0
  95. package/esm2020/utils/directives/focusable-item/is-element-focusable-by-default.mjs +32 -0
  96. package/esm2020/utils/directives/focusable-item/set-focusable.mjs +12 -0
  97. package/esm2020/utils/directives/focusable-list/focusable-list.directive.mjs +79 -0
  98. package/esm2020/utils/directives/focusable-list/focusable-list.module.mjs +17 -0
  99. package/esm2020/utils/directives/focusable-list/focusable-list.service.mjs +54 -0
  100. package/esm2020/utils/directives/focusable-list/index.mjs +4 -0
  101. package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +79 -0
  102. package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +16 -0
  103. package/esm2020/utils/directives/ignore-click-on-selection/tokens.mjs +3 -0
  104. package/esm2020/utils/directives/index.mjs +31 -0
  105. package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +117 -0
  106. package/esm2020/utils/directives/initial-focus/initial-focus.module.mjs +16 -0
  107. package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +263 -0
  108. package/esm2020/utils/directives/line-clamp/line-clamp.module.mjs +32 -0
  109. package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +218 -0
  110. package/esm2020/utils/directives/only-digits/only-digits.module.mjs +16 -0
  111. package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +42 -0
  112. package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +140 -0
  113. package/esm2020/utils/directives/overflow-list/overflow-list.module.mjs +33 -0
  114. package/esm2020/utils/directives/readonly/default-readonly-view-modifier.mjs +12 -0
  115. package/esm2020/utils/directives/readonly/fdk-readonly-provider.service.mjs +102 -0
  116. package/esm2020/utils/directives/readonly/fdk-readonly.token.mjs +3 -0
  117. package/esm2020/utils/directives/readonly/index.mjs +10 -0
  118. package/esm2020/utils/directives/readonly/readonly-behavior.directive.mjs +97 -0
  119. package/esm2020/utils/directives/readonly/readonly-behavior.interface.mjs +2 -0
  120. package/esm2020/utils/directives/readonly/readonly-behavior.module.mjs +16 -0
  121. package/esm2020/utils/directives/readonly/readonly-view-modifier.interface.mjs +2 -0
  122. package/esm2020/utils/directives/readonly/readonly.observer.mjs +33 -0
  123. package/esm2020/utils/directives/readonly/set-readonly-state.mjs +14 -0
  124. package/esm2020/utils/directives/repeat/repeat.directive.mjs +65 -0
  125. package/esm2020/utils/directives/repeat/repeat.module.mjs +16 -0
  126. package/esm2020/utils/directives/resize/resize-handle.directive.mjs +42 -0
  127. package/esm2020/utils/directives/resize/resize.directive.mjs +231 -0
  128. package/esm2020/utils/directives/resize/resize.module.mjs +17 -0
  129. package/esm2020/utils/directives/selectable-list/index.mjs +8 -0
  130. package/esm2020/utils/directives/selectable-list/select-component-root.token.mjs +3 -0
  131. package/esm2020/utils/directives/selectable-list/selectable-item.directive.mjs +147 -0
  132. package/esm2020/utils/directives/selectable-list/selectable-item.token.mjs +3 -0
  133. package/esm2020/utils/directives/selectable-list/selectable-list.directive.mjs +93 -0
  134. package/esm2020/utils/directives/selectable-list/selectable-list.module.mjs +17 -0
  135. package/esm2020/utils/directives/selectable-list/selectable-list.tokens.mjs +3 -0
  136. package/esm2020/utils/directives/selectable-list/selection.service.mjs +135 -0
  137. package/esm2020/utils/directives/template/template.directive.mjs +49 -0
  138. package/esm2020/utils/directives/template/template.module.mjs +16 -0
  139. package/esm2020/utils/directives/truncate/truncate.directive.mjs +96 -0
  140. package/esm2020/utils/directives/truncate/truncate.module.mjs +16 -0
  141. package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +255 -0
  142. package/esm2020/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +88 -0
  143. package/esm2020/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +83 -0
  144. package/esm2020/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +220 -0
  145. package/esm2020/utils/drag-and-drop/dnd.interfaces.mjs +2 -0
  146. package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +22 -0
  147. package/esm2020/utils/drag-and-drop/index.mjs +8 -0
  148. package/esm2020/utils/drag-and-drop/tokens.mjs +4 -0
  149. package/esm2020/utils/dynamic-component/dynamic-component-config.mjs +2 -0
  150. package/esm2020/utils/dynamic-component/dynamic-component-container.mjs +21 -0
  151. package/esm2020/utils/dynamic-component/dynamic-component-injector.mjs +20 -0
  152. package/esm2020/utils/dynamic-component/dynamic-component.service.mjs +90 -0
  153. package/esm2020/utils/dynamic-component/index.mjs +5 -0
  154. package/esm2020/utils/functions/consumer-provider-factory.mjs +12 -0
  155. package/esm2020/utils/functions/element-size.mjs +23 -0
  156. package/esm2020/utils/functions/get-document-font-size.mjs +5 -0
  157. package/esm2020/utils/functions/index.mjs +13 -0
  158. package/esm2020/utils/functions/intersection-observable.mjs +26 -0
  159. package/esm2020/utils/functions/is-compact-density.mjs +11 -0
  160. package/esm2020/utils/functions/key-util.mjs +77 -0
  161. package/esm2020/utils/functions/module-deprecations-provider.mjs +18 -0
  162. package/esm2020/utils/functions/parser-file-size.mjs +37 -0
  163. package/esm2020/utils/functions/random-color-accent.mjs +5 -0
  164. package/esm2020/utils/functions/resize-observable.mjs +33 -0
  165. package/esm2020/utils/functions/scroll.mjs +19 -0
  166. package/esm2020/utils/functions/uuidv4-generator.mjs +12 -0
  167. package/esm2020/utils/fundamental-ngx-cdk-utils.mjs +5 -0
  168. package/esm2020/utils/helpers/get-native-element.mjs +18 -0
  169. package/esm2020/utils/helpers/index.mjs +3 -0
  170. package/esm2020/utils/helpers/range-selector.mjs +117 -0
  171. package/esm2020/utils/index.mjs +19 -0
  172. package/esm2020/utils/interfaces/content-density.mjs +2 -0
  173. package/esm2020/utils/interfaces/css-class-builder.interface.mjs +2 -0
  174. package/esm2020/utils/interfaces/css-style-builder.interface.mjs +2 -0
  175. package/esm2020/utils/interfaces/has-element-ref.interface.mjs +2 -0
  176. package/esm2020/utils/interfaces/index.mjs +8 -0
  177. package/esm2020/utils/interfaces/keyboard-support-item.interface.mjs +2 -0
  178. package/esm2020/utils/interfaces/module-deprecation.interface.mjs +2 -0
  179. package/esm2020/utils/interfaces/require.interface.mjs +2 -0
  180. package/esm2020/utils/list-item/list-item-utils.mjs +3 -0
  181. package/esm2020/utils/models/nullable.mjs +2 -0
  182. package/esm2020/utils/pipes/displayFn.pipe.mjs +17 -0
  183. package/esm2020/utils/pipes/filter-strings.pipe.mjs +30 -0
  184. package/esm2020/utils/pipes/index.mjs +10 -0
  185. package/esm2020/utils/pipes/is-compact.pipe.mjs +16 -0
  186. package/esm2020/utils/pipes/pipe.module.mjs +55 -0
  187. package/esm2020/utils/pipes/safe.pipe.mjs +36 -0
  188. package/esm2020/utils/pipes/search-highlight.pipe.mjs +31 -0
  189. package/esm2020/utils/pipes/truncate.pipe.mjs +17 -0
  190. package/esm2020/utils/pipes/two-digits.pipe.mjs +22 -0
  191. package/esm2020/utils/pipes/value-by-path.pipe.mjs +16 -0
  192. package/esm2020/utils/services/content-density.service.mjs +34 -0
  193. package/esm2020/utils/services/destroyed.service.mjs +20 -0
  194. package/esm2020/utils/services/focus-trap.service.mjs +92 -0
  195. package/esm2020/utils/services/index.mjs +11 -0
  196. package/esm2020/utils/services/keyboard-support/keyboard-support.service.mjs +73 -0
  197. package/esm2020/utils/services/local-storage.service.mjs +38 -0
  198. package/esm2020/utils/services/observers/attribute.observer.mjs +81 -0
  199. package/esm2020/utils/services/resize-observer.service.mjs +94 -0
  200. package/esm2020/utils/services/rtl.service.mjs +29 -0
  201. package/esm2020/utils/services/tabbable-element.service.mjs +43 -0
  202. package/esm2020/utils/services/themes.service.mjs +133 -0
  203. package/esm2020/utils/tokens/module-deprecations.token.mjs +3 -0
  204. package/esm2020/utils/typecheck.mjs +75 -0
  205. package/esm2020/utils/utils.module.mjs +136 -0
  206. package/fesm2015/fundamental-ngx-cdk-data-source.mjs +378 -0
  207. package/fesm2015/fundamental-ngx-cdk-data-source.mjs.map +1 -0
  208. package/fesm2015/fundamental-ngx-cdk-forms.mjs +404 -0
  209. package/fesm2015/fundamental-ngx-cdk-forms.mjs.map +1 -0
  210. package/fesm2015/fundamental-ngx-cdk-utils.mjs +5767 -0
  211. package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +1 -0
  212. package/fesm2015/fundamental-ngx-cdk.mjs +30 -0
  213. package/fesm2015/fundamental-ngx-cdk.mjs.map +1 -0
  214. package/fesm2020/fundamental-ngx-cdk-data-source.mjs +374 -0
  215. package/fesm2020/fundamental-ngx-cdk-data-source.mjs.map +1 -0
  216. package/fesm2020/fundamental-ngx-cdk-forms.mjs +399 -0
  217. package/fesm2020/fundamental-ngx-cdk-forms.mjs.map +1 -0
  218. package/fesm2020/fundamental-ngx-cdk-utils.mjs +5724 -0
  219. package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +1 -0
  220. package/fesm2020/fundamental-ngx-cdk.mjs +30 -0
  221. package/fesm2020/fundamental-ngx-cdk.mjs.map +1 -0
  222. package/forms/README.md +7 -0
  223. package/forms/cva/cva-control.class.d.ts +26 -0
  224. package/forms/cva/cva.directive.d.ts +178 -0
  225. package/forms/forms.module.d.ts +7 -0
  226. package/forms/helpers/state.d.ts +3 -0
  227. package/forms/index.d.ts +12 -0
  228. package/forms/models/cva.d.ts +4 -0
  229. package/forms/models/form-error.d.ts +31 -0
  230. package/forms/models/form-field-control.d.ts +61 -0
  231. package/forms/models/form-field.d.ts +30 -0
  232. package/forms/models/form-state.d.ts +1 -0
  233. package/forms/models/select-item.d.ts +47 -0
  234. package/forms/tokens/form-field-control.token.d.ts +3 -0
  235. package/forms/tokens/form-field.token.d.ts +3 -0
  236. package/fundamental-ngx-cdk-v0.38.3-rc.4.tgz +0 -0
  237. package/fundamental-ngx.module.d.ts +9 -0
  238. package/index.d.ts +5 -0
  239. package/package.json +80 -0
  240. package/public_api.d.ts +4 -0
  241. package/utils/README.md +7 -0
  242. package/utils/abstract-fd-ngx-class.d.ts +27 -0
  243. package/utils/coercion/array.d.ts +2 -0
  244. package/utils/consts/error-messages.d.ts +3 -0
  245. package/utils/consts/index.d.ts +4 -0
  246. package/utils/consts/overflow-priority-score.d.ts +2 -0
  247. package/utils/consts/unicode-letters.regex.d.ts +7 -0
  248. package/utils/consts/unicode-numbers.regex.d.ts +6 -0
  249. package/utils/datatypes/color-accent.datatype.d.ts +1 -0
  250. package/utils/datatypes/hash.datatype.d.ts +3 -0
  251. package/utils/datatypes/index.d.ts +3 -0
  252. package/utils/datatypes/size.datatype.d.ts +1 -0
  253. package/utils/decorators/apply-css-class.decorator.d.ts +10 -0
  254. package/utils/decorators/apply-css-style.decorator.d.ts +10 -0
  255. package/utils/decorators/coerce-boolean.d.ts +4 -0
  256. package/utils/decorators/coerce-css-pixel.d.ts +1 -0
  257. package/utils/decorators/index.d.ts +5 -0
  258. package/utils/decorators/setter-alternator.d.ts +4 -0
  259. package/utils/deprecated-selector.class.d.ts +14 -0
  260. package/utils/directives/auto-complete/auto-complete.directive.d.ts +58 -0
  261. package/utils/directives/auto-complete/auto-complete.module.d.ts +7 -0
  262. package/utils/directives/clicked/clicked-behavior.module.d.ts +12 -0
  263. package/utils/directives/clicked/clicked-event.plugin.d.ts +22 -0
  264. package/utils/directives/clicked/clicked.directive.d.ts +21 -0
  265. package/utils/directives/clicked/fdk-clicked-provider.service.d.ts +24 -0
  266. package/utils/directives/clicked/index.d.ts +3 -0
  267. package/utils/directives/disabled/default-disabled-view-modifier.d.ts +9 -0
  268. package/utils/directives/disabled/disabled-behavior.directive.d.ts +35 -0
  269. package/utils/directives/disabled/disabled-behavior.interface.d.ts +7 -0
  270. package/utils/directives/disabled/disabled-behavior.module.d.ts +7 -0
  271. package/utils/directives/disabled/disabled-view-modifier.interface.d.ts +3 -0
  272. package/utils/directives/disabled/disabled.observer.d.ts +18 -0
  273. package/utils/directives/disabled/fdk-disabled-provider.service.d.ts +35 -0
  274. package/utils/directives/disabled/fdk-disabled.token.d.ts +3 -0
  275. package/utils/directives/disabled/index.d.ts +8 -0
  276. package/utils/directives/disabled/set-disabled-state.d.ts +4 -0
  277. package/utils/directives/focus-key-manager/focus-key-manager-helpers.module.d.ts +8 -0
  278. package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +37 -0
  279. package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +42 -0
  280. package/utils/directives/focus-key-manager/focus-key-manager.tokens.d.ts +3 -0
  281. package/utils/directives/focus-key-manager/index.d.ts +4 -0
  282. package/utils/directives/focusable-item/default-focusable-item-view-modifier.d.ts +11 -0
  283. package/utils/directives/focusable-item/fdk-focusable-item-provider.service.d.ts +43 -0
  284. package/utils/directives/focusable-item/focusable-item-view-modifier.interface.d.ts +3 -0
  285. package/utils/directives/focusable-item/focusable-item.directive.d.ts +37 -0
  286. package/utils/directives/focusable-item/focusable-item.module.d.ts +7 -0
  287. package/utils/directives/focusable-item/focusable.observer.d.ts +18 -0
  288. package/utils/directives/focusable-item/focusable.tokens.d.ts +2 -0
  289. package/utils/directives/focusable-item/index.d.ts +8 -0
  290. package/utils/directives/focusable-item/is-element-focusable-by-default.d.ts +4 -0
  291. package/utils/directives/focusable-item/set-focusable.d.ts +4 -0
  292. package/utils/directives/focusable-list/focusable-list.directive.d.ts +25 -0
  293. package/utils/directives/focusable-list/focusable-list.module.d.ts +8 -0
  294. package/utils/directives/focusable-list/focusable-list.service.d.ts +35 -0
  295. package/utils/directives/focusable-list/index.d.ts +3 -0
  296. package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +22 -0
  297. package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.d.ts +7 -0
  298. package/utils/directives/ignore-click-on-selection/tokens.d.ts +2 -0
  299. package/utils/directives/index.d.ts +30 -0
  300. package/utils/directives/initial-focus/initial-focus.directive.d.ts +43 -0
  301. package/utils/directives/initial-focus/initial-focus.module.d.ts +7 -0
  302. package/utils/directives/line-clamp/line-clamp.directive.d.ts +101 -0
  303. package/utils/directives/line-clamp/line-clamp.module.d.ts +7 -0
  304. package/utils/directives/only-digits/only-digits.directive.d.ts +44 -0
  305. package/utils/directives/only-digits/only-digits.module.d.ts +7 -0
  306. package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +14 -0
  307. package/utils/directives/overflow-list/overflow-list.directive.d.ts +62 -0
  308. package/utils/directives/overflow-list/overflow-list.module.d.ts +8 -0
  309. package/utils/directives/readonly/default-readonly-view-modifier.d.ts +9 -0
  310. package/utils/directives/readonly/fdk-readonly-provider.service.d.ts +35 -0
  311. package/utils/directives/readonly/fdk-readonly.token.d.ts +2 -0
  312. package/utils/directives/readonly/index.d.ts +9 -0
  313. package/utils/directives/readonly/readonly-behavior.directive.d.ts +32 -0
  314. package/utils/directives/readonly/readonly-behavior.interface.d.ts +7 -0
  315. package/utils/directives/readonly/readonly-behavior.module.d.ts +7 -0
  316. package/utils/directives/readonly/readonly-view-modifier.interface.d.ts +3 -0
  317. package/utils/directives/readonly/readonly.observer.d.ts +18 -0
  318. package/utils/directives/readonly/set-readonly-state.d.ts +4 -0
  319. package/utils/directives/repeat/repeat.directive.d.ts +28 -0
  320. package/utils/directives/repeat/repeat.module.d.ts +7 -0
  321. package/utils/directives/resize/resize-handle.directive.d.ts +14 -0
  322. package/utils/directives/resize/resize.directive.d.ts +57 -0
  323. package/utils/directives/resize/resize.module.d.ts +8 -0
  324. package/utils/directives/selectable-list/index.d.ts +7 -0
  325. package/utils/directives/selectable-list/select-component-root.token.d.ts +10 -0
  326. package/utils/directives/selectable-list/selectable-item.directive.d.ts +47 -0
  327. package/utils/directives/selectable-list/selectable-item.token.d.ts +11 -0
  328. package/utils/directives/selectable-list/selectable-list.directive.d.ts +33 -0
  329. package/utils/directives/selectable-list/selectable-list.module.d.ts +8 -0
  330. package/utils/directives/selectable-list/selectable-list.tokens.d.ts +2 -0
  331. package/utils/directives/selectable-list/selection.service.d.ts +65 -0
  332. package/utils/directives/template/template.directive.d.ts +18 -0
  333. package/utils/directives/template/template.module.d.ts +7 -0
  334. package/utils/directives/truncate/truncate.directive.d.ts +51 -0
  335. package/utils/directives/truncate/truncate.module.d.ts +7 -0
  336. package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +86 -0
  337. package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +32 -0
  338. package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +61 -0
  339. package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +65 -0
  340. package/utils/drag-and-drop/dnd.interfaces.d.ts +33 -0
  341. package/utils/drag-and-drop/drag-and-drop.module.d.ts +12 -0
  342. package/utils/drag-and-drop/index.d.ts +7 -0
  343. package/utils/drag-and-drop/tokens.d.ts +3 -0
  344. package/utils/dynamic-component/dynamic-component-config.d.ts +6 -0
  345. package/utils/dynamic-component/dynamic-component-container.d.ts +19 -0
  346. package/utils/dynamic-component/dynamic-component-injector.d.ts +13 -0
  347. package/utils/dynamic-component/dynamic-component.service.d.ts +46 -0
  348. package/utils/dynamic-component/index.d.ts +4 -0
  349. package/utils/functions/consumer-provider-factory.d.ts +5 -0
  350. package/utils/functions/element-size.d.ts +12 -0
  351. package/utils/functions/get-document-font-size.d.ts +2 -0
  352. package/utils/functions/index.d.ts +12 -0
  353. package/utils/functions/intersection-observable.d.ts +8 -0
  354. package/utils/functions/is-compact-density.d.ts +7 -0
  355. package/utils/functions/key-util.d.ts +16 -0
  356. package/utils/functions/module-deprecations-provider.d.ts +5 -0
  357. package/utils/functions/parser-file-size.d.ts +2 -0
  358. package/utils/functions/random-color-accent.d.ts +3 -0
  359. package/utils/functions/resize-observable.d.ts +8 -0
  360. package/utils/functions/scroll.d.ts +7 -0
  361. package/utils/functions/uuidv4-generator.d.ts +2 -0
  362. package/utils/helpers/get-native-element.d.ts +13 -0
  363. package/utils/helpers/index.d.ts +2 -0
  364. package/utils/helpers/range-selector.d.ts +84 -0
  365. package/utils/index.d.ts +18 -0
  366. package/utils/interfaces/content-density.d.ts +1 -0
  367. package/utils/interfaces/css-class-builder.interface.d.ts +6 -0
  368. package/utils/interfaces/css-style-builder.interface.d.ts +5 -0
  369. package/utils/interfaces/has-element-ref.interface.d.ts +5 -0
  370. package/utils/interfaces/index.d.ts +7 -0
  371. package/utils/interfaces/keyboard-support-item.interface.d.ts +6 -0
  372. package/utils/interfaces/module-deprecation.interface.d.ts +8 -0
  373. package/utils/interfaces/require.interface.d.ts +6 -0
  374. package/utils/list-item/list-item-utils.d.ts +7 -0
  375. package/utils/models/nullable.d.ts +6 -0
  376. package/utils/pipes/displayFn.pipe.d.ts +8 -0
  377. package/utils/pipes/filter-strings.pipe.d.ts +16 -0
  378. package/utils/pipes/index.d.ts +9 -0
  379. package/utils/pipes/is-compact.pipe.d.ts +9 -0
  380. package/utils/pipes/pipe.module.d.ts +14 -0
  381. package/utils/pipes/safe.pipe.d.ts +12 -0
  382. package/utils/pipes/search-highlight.pipe.d.ts +8 -0
  383. package/utils/pipes/truncate.pipe.d.ts +8 -0
  384. package/utils/pipes/two-digits.pipe.d.ts +8 -0
  385. package/utils/pipes/value-by-path.pipe.d.ts +8 -0
  386. package/utils/services/content-density.service.d.ts +19 -0
  387. package/utils/services/destroyed.service.d.ts +11 -0
  388. package/utils/services/focus-trap.service.d.ts +43 -0
  389. package/utils/services/index.d.ts +10 -0
  390. package/utils/services/keyboard-support/keyboard-support.service.d.ts +34 -0
  391. package/utils/services/local-storage.service.d.ts +13 -0
  392. package/utils/services/observers/attribute.observer.d.ts +26 -0
  393. package/utils/services/resize-observer.service.d.ts +34 -0
  394. package/utils/services/rtl.service.d.ts +12 -0
  395. package/utils/services/tabbable-element.service.d.ts +12 -0
  396. package/utils/services/themes.service.d.ts +43 -0
  397. package/utils/tokens/module-deprecations.token.d.ts +3 -0
  398. package/utils/typecheck.d.ts +47 -0
  399. package/utils/utils.module.d.ts +23 -0
@@ -0,0 +1,220 @@
1
+ import { ContentChildren, Directive, EventEmitter, forwardRef, Input, Output, QueryList } from '@angular/core';
2
+ import { merge, Subject } from 'rxjs';
3
+ import { startWith, takeUntil } from 'rxjs/operators';
4
+ import { DND_ITEM, DND_LIST } from '../tokens';
5
+ import * as i0 from "@angular/core";
6
+ export class DndListDirective {
7
+ constructor() {
8
+ /**
9
+ * Defines if the the element is allowed to be dragged in 2 dimensions,
10
+ * When true - replace indicator will be displayed vertically
11
+ */
12
+ this.gridMode = false;
13
+ /** When enabled, replace indicator will appear on whole element, instead of horizontal/vertical line before/after element */
14
+ this.replaceMode = false;
15
+ /** Event that is thrown, when items are reordered */
16
+ this.itemsChange = new EventEmitter();
17
+ /** Event that is thrown, when the item is dropped */
18
+ this.itemDropped = new EventEmitter();
19
+ /** @hidden */
20
+ this._closestItemIndex = null;
21
+ /** @hidden */
22
+ this._closestItemPosition = null;
23
+ /** An RxJS Subject that will kill the current data stream (for unsubscribing) */
24
+ this._refresh$ = new Subject();
25
+ /** @hidden */
26
+ this._onDestroy$ = new Subject();
27
+ /** @hidden */
28
+ this._draggable = true;
29
+ }
30
+ /** Defines if drag and drop feature should be enabled for list items */
31
+ set draggable(draggable) {
32
+ this._draggable = draggable;
33
+ this._changeDraggableState(draggable);
34
+ }
35
+ /** @hidden */
36
+ ngAfterContentInit() {
37
+ this._changeDraggableState(this._draggable);
38
+ this.dndItems.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => this._refreshQueryList());
39
+ }
40
+ /** @hidden */
41
+ ngOnDestroy() {
42
+ this._onDestroy$.next();
43
+ this._onDestroy$.complete();
44
+ }
45
+ /** Method called, when the item is being moved by 1 px */
46
+ onMove(mousePosition, draggedItemIndex) {
47
+ /** Temporary object, to store lowest distance values */
48
+ let closestItemIndex = null;
49
+ const closestItem = this._elementsCoordinates.find((element, index) => {
50
+ /** Check if element can be replaced */
51
+ if (!element.stickToPosition && closestItemIndex !== index) {
52
+ const isMouseOnElement = _isMouseOnElement(element, mousePosition);
53
+ if (isMouseOnElement) {
54
+ closestItemIndex = index;
55
+ return true;
56
+ }
57
+ }
58
+ return false;
59
+ });
60
+ if (!closestItem) {
61
+ closestItemIndex = null;
62
+ }
63
+ /** If the closest element is different than the old one, new one is picked. It prevents from performance issues */
64
+ if ((closestItemIndex || closestItemIndex === 0) && closestItemIndex !== this._closestItemIndex) {
65
+ this._closestItemIndex = closestItemIndex;
66
+ this._closestItemPosition = this._elementsCoordinates[closestItemIndex].position;
67
+ // If closest item index is same as dragged item, just remove indicators
68
+ if (closestItemIndex === draggedItemIndex) {
69
+ this._removeAllLines();
70
+ this._removeAllReplaceIndicators();
71
+ return;
72
+ }
73
+ /** Generating line, that shows where the element will be placed, on drop */
74
+ if (this.replaceMode) {
75
+ this._createReplaceIndicator(this._closestItemIndex);
76
+ }
77
+ else {
78
+ this._createLine(this._closestItemIndex, this._closestItemPosition);
79
+ }
80
+ }
81
+ }
82
+ /** Method called, when element is started to be dragged */
83
+ dragStart(index) {
84
+ const draggedItemElement = this._dndItemReference[index].elementRef;
85
+ /** Counting all of the elements's chords */
86
+ this._elementsCoordinates = this._dndItemReference.map((item) => item.getElementCoordinates(this._isBefore(draggedItemElement, item.elementRef), this.gridMode));
87
+ }
88
+ /** Method called, when element is released */
89
+ dragEnd(draggedItemIndex) {
90
+ const items = this.items.slice();
91
+ const replacedItemIndex = this._closestItemIndex;
92
+ const draggedItem = items[draggedItemIndex];
93
+ if (!replacedItemIndex) {
94
+ return;
95
+ }
96
+ if (draggedItemIndex !== replacedItemIndex) {
97
+ if (draggedItemIndex < replacedItemIndex) {
98
+ for (let i = draggedItemIndex; i < replacedItemIndex; i++) {
99
+ items[i] = items[i + 1];
100
+ }
101
+ }
102
+ else {
103
+ for (let i = draggedItemIndex; i > replacedItemIndex; i--) {
104
+ items[i] = items[i - 1];
105
+ }
106
+ }
107
+ /** Replacing items */
108
+ items[replacedItemIndex] = draggedItem;
109
+ this.itemsChange.emit(items);
110
+ }
111
+ this.itemDropped.emit({
112
+ replacedItemIndex,
113
+ draggedItemIndex,
114
+ items
115
+ });
116
+ this._removeAllLines();
117
+ this._removeAllReplaceIndicators();
118
+ /** Reset */
119
+ this._elementsCoordinates = [];
120
+ this._closestItemIndex = null;
121
+ this._closestItemPosition = null;
122
+ }
123
+ /** @hidden */
124
+ _removeAllLines() {
125
+ this.dndItems.forEach((item) => item.removeLine());
126
+ }
127
+ /** @hidden */
128
+ _removeAllReplaceIndicators() {
129
+ this.dndItems.forEach((item) => item.removeReplaceIndicator());
130
+ }
131
+ /** @hidden */
132
+ _createLine(closestItemIndex, linkPosition) {
133
+ this._removeAllLines();
134
+ this._dndItemReference[closestItemIndex].createLine(linkPosition, this.gridMode);
135
+ }
136
+ /** @hidden */
137
+ _createReplaceIndicator(closestItemIndex) {
138
+ this._removeAllReplaceIndicators();
139
+ this._dndItemReference[closestItemIndex].createReplaceIndicator();
140
+ }
141
+ /** @hidden */
142
+ _refreshQueryList() {
143
+ const refresh$ = merge(this._refresh$, this._onDestroy$);
144
+ this._refresh$.next();
145
+ this._dndItemReference = this.dndItems.toArray();
146
+ this._changeDraggableState(this._draggable);
147
+ this.dndItems.forEach((item, index) => {
148
+ item.moved.pipe(takeUntil(refresh$)).subscribe((position) => this.onMove(position, index));
149
+ item.started.pipe(takeUntil(refresh$)).subscribe(() => this.dragStart(index));
150
+ item.released.pipe(takeUntil(refresh$)).subscribe(() => this.dragEnd(index));
151
+ });
152
+ }
153
+ /**
154
+ * @hidden
155
+ * Return information if element is placed before the dragged element
156
+ */
157
+ _isBefore(draggedElement, targetElement) {
158
+ /** Sometimes the element are not straight in one column, that's why offset is needed */
159
+ const VERTICAL_OFFSET = 20;
160
+ /** Distances from the top of screen */
161
+ const draggedElementBound = draggedElement.nativeElement.getBoundingClientRect();
162
+ const targetElementBound = targetElement.nativeElement.getBoundingClientRect();
163
+ if (draggedElementBound.top - targetElementBound.top > VERTICAL_OFFSET) {
164
+ /** If element is higher than the dragged element, it's for sure before */
165
+ return true;
166
+ }
167
+ else if (targetElementBound.top - draggedElementBound.top > VERTICAL_OFFSET) {
168
+ /** If element is lower than the dragged element, it's for sure after */
169
+ return false;
170
+ }
171
+ else {
172
+ /** If elements are in same level, the horizontal position decides if it's before/after */
173
+ return draggedElementBound.left - targetElementBound.left > 0;
174
+ }
175
+ }
176
+ /** @hidden */
177
+ _changeDraggableState(draggable) {
178
+ if (this.dndItems) {
179
+ this.dndItems.forEach((item) => {
180
+ item.listDraggable = draggable;
181
+ item.changeCDKDragState();
182
+ });
183
+ }
184
+ }
185
+ }
186
+ DndListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DndListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
187
+ DndListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: DndListDirective, selector: "[fdkDndList], [fd-dnd-list]", inputs: { gridMode: "gridMode", replaceMode: "replaceMode", items: "items", draggable: "draggable" }, outputs: { itemsChange: "itemsChange", itemDropped: "itemDropped" }, providers: [{ provide: DND_LIST, useExisting: forwardRef(() => DndListDirective) }], queries: [{ propertyName: "dndItems", predicate: DND_ITEM }], ngImport: i0 });
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DndListDirective, decorators: [{
189
+ type: Directive,
190
+ args: [{
191
+ selector: '[fdkDndList], [fd-dnd-list]',
192
+ providers: [{ provide: DND_LIST, useExisting: forwardRef(() => DndListDirective) }]
193
+ }]
194
+ }], propDecorators: { gridMode: [{
195
+ type: Input
196
+ }], replaceMode: [{
197
+ type: Input
198
+ }], items: [{
199
+ type: Input
200
+ }], draggable: [{
201
+ type: Input
202
+ }], itemsChange: [{
203
+ type: Output
204
+ }], itemDropped: [{
205
+ type: Output
206
+ }], dndItems: [{
207
+ type: ContentChildren,
208
+ args: [DND_ITEM]
209
+ }] } });
210
+ function _isMouseOnElement(element, mousePosition) {
211
+ const startX = element.x;
212
+ const endX = element.x + element.width;
213
+ const startY = element.y;
214
+ const endY = element.y + element.height;
215
+ return _between(mousePosition.x, startX, endX) && _between(mousePosition.y, startY, endY);
216
+ }
217
+ function _between(x, min, max) {
218
+ return x >= min && x <= max;
219
+ }
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLWxpc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL2RuZC1saXN0L2RuZC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTS9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFLSTs7O1dBR0c7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLDZIQUE2SDtRQUU3SCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWFwQixxREFBcUQ7UUFFNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXBELHFEQUFxRDtRQUU1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBUzFELGNBQWM7UUFDTixzQkFBaUIsR0FBa0IsSUFBSSxDQUFDO1FBRWhELGNBQWM7UUFDTix5QkFBb0IsR0FBOEIsSUFBSSxDQUFDO1FBRS9ELGtGQUFrRjtRQUNqRSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVqRCxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBS25ELGNBQWM7UUFDTixlQUFVLEdBQUcsSUFBSSxDQUFDO0tBaUw3QjtJQXZORyx3RUFBd0U7SUFDeEUsSUFDSSxTQUFTLENBQUMs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LGlCQUFpQixDQUFDLE9BQXFCLEVBQUUsYUFBOEI7SUFDNUUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFFdkMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFeEMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxDQUFTLEVBQUUsR0FBVyxFQUFFLEdBQVc7SUFDakQsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbGVtZW50Q2hvcmQsIEZkRHJvcEV2ZW50LCBMaW5rUG9zaXRpb24sIEVsZW1lbnRQb3NpdGlvbiwgRG5kSXRlbSB9IGZyb20gJy4uL2RuZC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IERORF9JVEVNLCBETkRfTElTVCB9IGZyb20gJy4uL3Rva2Vucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0RuZExpc3RdLCBbZmQtZG5kLWxpc3RdJyxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERORF9MSVNULCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEbmRMaXN0RGlyZWN0aXZlKSB9XVxufSlcbmV4cG9ydCBjbGFzcyBEbmRMaXN0RGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIHRoZSB0aGUgZWxlbWVudCBpcyBhbGxvd2VkIHRvIGJlIGRyYWdnZWQgaW4gMiBkaW1lbnNpb25zLFxuICAgICAqIFdoZW4gdHJ1ZSAtIHJlcGxhY2UgaW5kaWNhdG9yIHdpbGwgYmUgZGlzcGxheWVkIHZlcnRpY2FsbHlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdyaWRNb2RlID0gZmFsc2U7XG5cbiAgICAvKiogV2hlbiBlbmFibGVkLCByZXBsYWNlIGluZGljYXRvciB3aWxsIGFwcGVhciBvbiB3aG9sZSBlbGVtZW50LCBpbnN0ZWFkIG9mIGhvcml6b250YWwvdmVydGljYWwgbGluZSBiZWZvcmUvYWZ0ZXIgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVwbGFjZU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKiBBcnJheSBvZiBpdGVtcywgdGhhdCB3aWxsIGJlIHNvcnRlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbXM6IEFycmF5PFQ+O1xuXG4gICAgLyoqIERlZmluZXMgaWYgZHJhZyBhbmQgZHJvcCBmZWF0dXJlIHNob3VsZCBiZSBlbmFibGVkIGZvciBsaXN0IGl0ZW1zICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZHJhZ2dhYmxlKGRyYWdnYWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kcmFnZ2FibGUgPSBkcmFnZ2FibGU7XG4gICAgICAgIHRoaXMuX2NoYW5nZURyYWdnYWJsZVN0YXRlKGRyYWdnYWJsZSk7XG4gICAgfVxuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIGl0ZW1zIGFyZSByZW9yZGVyZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8VD4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyB0aHJvd24sIHdoZW4gdGhlIGl0ZW0gaXMgZHJvcHBlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGl0ZW1Ecm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGZERyb3BFdmVudDxUPj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihETkRfSVRFTSlcbiAgICBkbmRJdGVtczogUXVlcnlMaXN0PERuZEl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9lbGVtZW50c0Nvb3JkaW5hdGVzOiBFbGVtZW50Q2hvcmRbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Nsb3Nlc3RJdGVtUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgY3VycmVudCBkYXRhIHN0cmVhbSAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAgKi9cbiAgICBwcml2YXRlIF9kbmRJdGVtUmVmZXJlbmNlOiBEbmRJdGVtW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RyYWdnYWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRHJhZ2dhYmxlU3RhdGUodGhpcy5fZHJhZ2dhYmxlKTtcbiAgICAgICAgdGhpcy5kbmRJdGVtcy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBzdGFydFdpdGgoMCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZWZyZXNoUXVlcnlMaXN0KCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBjYWxsZWQsIHdoZW4gdGhlIGl0ZW0gaXMgYmVpbmcgbW92ZWQgYnkgMSBweCAqL1xuICAgIG9uTW92ZShtb3VzZVBvc2l0aW9uOiBFbGVtZW50UG9zaXRpb24sIGRyYWdnZWRJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICAvKiogVGVtcG9yYXJ5IG9iamVjdCwgdG8gc3RvcmUgbG93ZXN0IGRpc3RhbmNlIHZhbHVlcyAqL1xuICAgICAgICBsZXQgY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgY29uc3QgY2xvc2VzdEl0ZW0gPSB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzLmZpbmQoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAvKiogQ2hlY2sgaWYgZWxlbWVudCBjYW4gYmUgcmVwbGFjZWQgKi9cbiAgICAgICAgICAgIGlmICghZWxlbWVudC5zdGlja1RvUG9zaXRpb24gJiYgY2xvc2VzdEl0ZW1JbmRleCAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc01vdXNlT25FbGVtZW50ID0gX2lzTW91c2VPbkVsZW1lbnQoZWxlbWVudCwgbW91c2VQb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKGlzTW91c2VPbkVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdEl0ZW1JbmRleCA9IGluZGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFjbG9zZXN0SXRlbSkge1xuICAgICAgICAgICAgY2xvc2VzdEl0ZW1JbmRleCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogSWYgdGhlIGNsb3Nlc3QgZWxlbWVudCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgb2xkIG9uZSwgbmV3IG9uZSBpcyBwaWNrZWQuIEl0IHByZXZlbnRzIGZyb20gcGVyZm9ybWFuY2UgaXNzdWVzICovXG4gICAgICAgIGlmICgoY2xvc2VzdEl0ZW1JbmRleCB8fCBjbG9zZXN0SXRlbUluZGV4ID09PSAwKSAmJiBjbG9zZXN0SXRlbUluZGV4ICE9PSB0aGlzLl9jbG9zZXN0SXRlbUluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zZXN0SXRlbUluZGV4ID0gY2xvc2VzdEl0ZW1JbmRleDtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3Nlc3RJdGVtUG9zaXRpb24gPSB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzW2Nsb3Nlc3RJdGVtSW5kZXhdLnBvc2l0aW9uO1xuICAgICAgICAgICAgLy8gSWYgY2xvc2VzdCBpdGVtIGluZGV4IGlzIHNhbWUgYXMgZHJhZ2dlZCBpdGVtLCBqdXN0IHJlbW92ZSBpbmRpY2F0b3JzXG4gICAgICAgICAgICBpZiAoY2xvc2VzdEl0ZW1JbmRleCA9PT0gZHJhZ2dlZEl0ZW1JbmRleCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUFsbExpbmVzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlQWxsUmVwbGFjZUluZGljYXRvcnMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKiogR2VuZXJhdGluZyBsaW5lLCB0aGF0IHNob3dzIHdoZXJlIHRoZSBlbGVtZW50IHdpbGwgYmUgcGxhY2VkLCBvbiBkcm9wICovXG4gICAgICAgICAgICBpZiAodGhpcy5yZXBsYWNlTW9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZVJlcGxhY2VJbmRpY2F0b3IodGhpcy5fY2xvc2VzdEl0ZW1JbmRleCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUxpbmUodGhpcy5fY2xvc2VzdEl0ZW1JbmRleCwgdGhpcy5fY2xvc2VzdEl0ZW1Qb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGNhbGxlZCwgd2hlbiBlbGVtZW50IGlzIHN0YXJ0ZWQgdG8gYmUgZHJhZ2dlZCAqL1xuICAgIGRyYWdTdGFydChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRyYWdnZWRJdGVtRWxlbWVudCA9IHRoaXMuX2RuZEl0ZW1SZWZlcmVuY2VbaW5kZXhdLmVsZW1lbnRSZWY7XG4gICAgICAgIC8qKiBDb3VudGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzJ3MgY2hvcmRzICovXG4gICAgICAgIHRoaXMuX2VsZW1lbnRzQ29vcmRpbmF0ZXMgPSB0aGlzLl9kbmRJdGVtUmVmZXJlbmNlLm1hcCgoaXRlbTogRG5kSXRlbSkgPT5cbiAgICAgICAgICAgIGl0ZW0uZ2V0RWxlbWVudENvb3JkaW5hdGVzKHRoaXMuX2lzQmVmb3JlKGRyYWdnZWRJdGVtRWxlbWVudCwgaXRlbS5lbGVtZW50UmVmKSwgdGhpcy5ncmlkTW9kZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGNhbGxlZCwgd2hlbiBlbGVtZW50IGlzIHJlbGVhc2VkICovXG4gICAgZHJhZ0VuZChkcmFnZ2VkSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zLnNsaWNlKCk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VkSXRlbUluZGV4ID0gdGhpcy5fY2xvc2VzdEl0ZW1JbmRleDtcbiAgICAgICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBpdGVtc1tkcmFnZ2VkSXRlbUluZGV4XTtcblxuICAgICAgICBpZiAoIXJlcGxhY2VkSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZHJhZ2dlZEl0ZW1JbmRleCAhPT0gcmVwbGFjZWRJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIGlmIChkcmFnZ2VkSXRlbUluZGV4IDwgcmVwbGFjZWRJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gZHJhZ2dlZEl0ZW1JbmRleDsgaSA8IHJlcGxhY2VkSXRlbUluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXNbaV0gPSBpdGVtc1tpICsgMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gZHJhZ2dlZEl0ZW1JbmRleDsgaSA+IHJlcGxhY2VkSXRlbUluZGV4OyBpLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXNbaV0gPSBpdGVtc1tpIC0gMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiogUmVwbGFjaW5nIGl0ZW1zICovXG4gICAgICAgICAgICBpdGVtc1tyZXBsYWNlZEl0ZW1JbmRleF0gPSBkcmFnZ2VkSXRlbTtcblxuICAgICAgICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXRlbURyb3BwZWQuZW1pdCh7XG4gICAgICAgICAgICByZXBsYWNlZEl0ZW1JbmRleCxcbiAgICAgICAgICAgIGRyYWdnZWRJdGVtSW5kZXgsXG4gICAgICAgICAgICBpdGVtc1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9yZW1vdmVBbGxMaW5lcygpO1xuICAgICAgICB0aGlzLl9yZW1vdmVBbGxSZXBsYWNlSW5kaWNhdG9ycygpO1xuXG4gICAgICAgIC8qKiBSZXNldCAqL1xuICAgICAgICB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzID0gW107XG4gICAgICAgIHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggPSBudWxsO1xuICAgICAgICB0aGlzLl9jbG9zZXN0SXRlbVBvc2l0aW9uID0gbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUFsbExpbmVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRuZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0ucmVtb3ZlTGluZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUFsbFJlcGxhY2VJbmRpY2F0b3JzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRuZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0ucmVtb3ZlUmVwbGFjZUluZGljYXRvcigpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZUxpbmUoY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyLCBsaW5rUG9zaXRpb246IExpbmtQb3NpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVBbGxMaW5lcygpO1xuICAgICAgICB0aGlzLl9kbmRJdGVtUmVmZXJlbmNlW2Nsb3Nlc3RJdGVtSW5kZXhdLmNyZWF0ZUxpbmUobGlua1Bvc2l0aW9uLCB0aGlzLmdyaWRNb2RlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZVJlcGxhY2VJbmRpY2F0b3IoY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUFsbFJlcGxhY2VJbmRpY2F0b3JzKCk7XG4gICAgICAgIHRoaXMuX2RuZEl0ZW1SZWZlcmVuY2VbY2xvc2VzdEl0ZW1JbmRleF0uY3JlYXRlUmVwbGFjZUluZGljYXRvcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaFF1ZXJ5TGlzdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVmcmVzaCQgPSBtZXJnZSh0aGlzLl9yZWZyZXNoJCwgdGhpcy5fb25EZXN0cm95JCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcblxuICAgICAgICB0aGlzLl9kbmRJdGVtUmVmZXJlbmNlID0gdGhpcy5kbmRJdGVtcy50b0FycmF5KCk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRHJhZ2dhYmxlU3RhdGUodGhpcy5fZHJhZ2dhYmxlKTtcblxuICAgICAgICB0aGlzLmRuZEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpdGVtLm1vdmVkLnBpcGUodGFrZVVudGlsKHJlZnJlc2gkKSkuc3Vic2NyaWJlKChwb3NpdGlvbjogRWxlbWVudFBvc2l0aW9uKSA9PiB0aGlzLm9uTW92ZShwb3NpdGlvbiwgaW5kZXgpKTtcbiAgICAgICAgICAgIGl0ZW0uc3RhcnRlZC5waXBlKHRha2VVbnRpbChyZWZyZXNoJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRyYWdTdGFydChpbmRleCkpO1xuICAgICAgICAgICAgaXRlbS5yZWxlYXNlZC5waXBlKHRha2VVbnRpbChyZWZyZXNoJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRyYWdFbmQoaW5kZXgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEBoaWRkZW5cbiAgICAgKiBSZXR1cm4gaW5mb3JtYXRpb24gaWYgZWxlbWVudCBpcyBwbGFjZWQgYmVmb3JlIHRoZSBkcmFnZ2VkIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pc0JlZm9yZShkcmFnZ2VkRWxlbWVudDogRWxlbWVudFJlZiwgdGFyZ2V0RWxlbWVudDogRWxlbWVudFJlZik6IGJvb2xlYW4ge1xuICAgICAgICAvKiogU29tZXRpbWVzIHRoZSBlbGVtZW50IGFyZSBub3Qgc3RyYWlnaHQgaW4gb25lIGNvbHVtbiwgdGhhdCdzIHdoeSBvZmZzZXQgaXMgbmVlZGVkICovXG4gICAgICAgIGNvbnN0IFZFUlRJQ0FMX09GRlNFVCA9IDIwO1xuXG4gICAgICAgIC8qKiBEaXN0YW5jZXMgZnJvbSB0aGUgdG9wIG9mIHNjcmVlbiAqL1xuICAgICAgICBjb25zdCBkcmFnZ2VkRWxlbWVudEJvdW5kID0gPERPTVJlY3Q+ZHJhZ2dlZEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudEJvdW5kID0gPERPTVJlY3Q+dGFyZ2V0RWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmIChkcmFnZ2VkRWxlbWVudEJvdW5kLnRvcCAtIHRhcmdldEVsZW1lbnRCb3VuZC50b3AgPiBWRVJUSUNBTF9PRkZTRVQpIHtcbiAgICAgICAgICAgIC8qKiBJZiBlbGVtZW50IGlzIGhpZ2hlciB0aGFuIHRoZSBkcmFnZ2VkIGVsZW1lbnQsIGl0J3MgZm9yIHN1cmUgYmVmb3JlICovXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0YXJnZXRFbGVtZW50Qm91bmQudG9wIC0gZHJhZ2dlZEVsZW1lbnRCb3VuZC50b3AgPiBWRVJUSUNBTF9PRkZTRVQpIHtcbiAgICAgICAgICAgIC8qKiBJZiBlbGVtZW50IGlzIGxvd2VyIHRoYW4gdGhlIGRyYWdnZWQgZWxlbWVudCwgaXQncyBmb3Igc3VyZSBhZnRlciAqL1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLyoqIElmIGVsZW1lbnRzIGFyZSBpbiBzYW1lIGxldmVsLCB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBkZWNpZGVzIGlmIGl0J3MgYmVmb3JlL2FmdGVyICovXG4gICAgICAgICAgICByZXR1cm4gZHJhZ2dlZEVsZW1lbnRCb3VuZC5sZWZ0IC0gdGFyZ2V0RWxlbWVudEJvdW5kLmxlZnQgPiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jaGFuZ2VEcmFnZ2FibGVTdGF0ZShkcmFnZ2FibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG5kSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuZG5kSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0ubGlzdERyYWdnYWJsZSA9IGRyYWdnYWJsZTtcbiAgICAgICAgICAgICAgICBpdGVtLmNoYW5nZUNES0RyYWdTdGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIF9pc01vdXNlT25FbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRDaG9yZCwgbW91c2VQb3NpdGlvbjogRWxlbWVudFBvc2l0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RhcnRYID0gZWxlbWVudC54O1xuICAgIGNvbnN0IGVuZFggPSBlbGVtZW50LnggKyBlbGVtZW50LndpZHRoO1xuXG4gICAgY29uc3Qgc3RhcnRZID0gZWxlbWVudC55O1xuICAgIGNvbnN0IGVuZFkgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcblxuICAgIHJldHVybiBfYmV0d2Vlbihtb3VzZVBvc2l0aW9uLngsIHN0YXJ0WCwgZW5kWCkgJiYgX2JldHdlZW4obW91c2VQb3NpdGlvbi55LCBzdGFydFksIGVuZFkpO1xufVxuXG5mdW5jdGlvbiBfYmV0d2Vlbih4OiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB4ID49IG1pbiAmJiB4IDw9IG1heDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RyYWctYW5kLWRyb3AvZG5kLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgTGlua1Bvc2l0aW9uID0gJ2FmdGVyJyB8ICdiZWZvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRDaG9yZCB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICBwb3NpdGlvbjogTGlua1Bvc2l0aW9uO1xuICAgIHN0aWNrVG9Qb3NpdGlvbj86IGJvb2xlYW47XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZERyb3BFdmVudDxUPiB7XG4gICAgaXRlbXM6IEFycmF5PFQ+O1xuICAgIHJlcGxhY2VkSXRlbUluZGV4OiBudW1iZXI7XG4gICAgZHJhZ2dlZEl0ZW1JbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRQb3NpdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEbmRJdGVtIHtcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIGdldEVsZW1lbnRDb29yZGluYXRlczogKGlzQmVmb3JlOiBib29sZWFuLCBncmlkTW9kZTogYm9vbGVhbikgPT4gRWxlbWVudENob3JkO1xuICAgIHJlbW92ZUxpbmU6ICgpID0+IHZvaWQ7XG4gICAgcmVtb3ZlUmVwbGFjZUluZGljYXRvcjogKCkgPT4gdm9pZDtcbiAgICBjcmVhdGVMaW5lOiAobGlua1Bvc2l0aW9uOiBMaW5rUG9zaXRpb24sIGdyaWRNb2RlOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIGNyZWF0ZVJlcGxhY2VJbmRpY2F0b3I6ICgpID0+IHZvaWQ7XG4gICAgbW92ZWQ6IE9ic2VydmFibGU8RWxlbWVudFBvc2l0aW9uPjtcbiAgICByZWxlYXNlZDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBzdGFydGVkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIGxpc3REcmFnZ2FibGU6IGJvb2xlYW47XG4gICAgY2hhbmdlQ0RLRHJhZ1N0YXRlOiAoKSA9PiB2b2lkO1xufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DndListDirective } from './dnd-list/dnd-list.directive';
4
+ import { DndItemDirective } from './dnd-item/dnd-item.directive';
5
+ import { DragDropModule } from '@angular/cdk/drag-drop';
6
+ import { DndKeyboardItemDirective } from './dnd-keyboard-item/dnd-keyboard-item.directive';
7
+ import { DndKeyboardGroupDirective } from './dnd-keyboard-group/dnd-keyboard-group.directive';
8
+ import * as i0 from "@angular/core";
9
+ export class DragAndDropModule {
10
+ }
11
+ DragAndDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ DragAndDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, declarations: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective], imports: [CommonModule, DragDropModule], exports: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective] });
13
+ DragAndDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, imports: [CommonModule, DragDropModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [CommonModule, DragDropModule],
18
+ exports: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective],
19
+ declarations: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective]
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RyYWctYW5kLWRyb3AvZHJhZy1hbmQtZHJvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQU85RixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBRlgsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLGFBRjVGLFlBQVksRUFBRSxjQUFjLGFBQzVCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLHdCQUF3QjsrR0FHeEYsaUJBQWlCLFlBSmhCLFlBQVksRUFBRSxjQUFjOzJGQUk3QixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2xHLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLHdCQUF3QixDQUFDO2lCQUMxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRG5kTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vZG5kLWxpc3QvZG5kLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IERuZEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RuZC1pdGVtL2RuZC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRG5kS2V5Ym9hcmRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kbmQta2V5Ym9hcmQtaXRlbS9kbmQta2V5Ym9hcmQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRG5kS2V5Ym9hcmRHcm91cERpcmVjdGl2ZSB9IGZyb20gJy4vZG5kLWtleWJvYXJkLWdyb3VwL2RuZC1rZXlib2FyZC1ncm91cC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERyYWdEcm9wTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRG5kSXRlbURpcmVjdGl2ZSwgRG5kTGlzdERpcmVjdGl2ZSwgRG5kS2V5Ym9hcmRHcm91cERpcmVjdGl2ZSwgRG5kS2V5Ym9hcmRJdGVtRGlyZWN0aXZlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtEbmRJdGVtRGlyZWN0aXZlLCBEbmRMaXN0RGlyZWN0aXZlLCBEbmRLZXlib2FyZEdyb3VwRGlyZWN0aXZlLCBEbmRLZXlib2FyZEl0ZW1EaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './dnd-item/dnd-item.directive';
2
+ export * from './dnd-keyboard-group/dnd-keyboard-group.directive';
3
+ export * from './dnd-keyboard-item/dnd-keyboard-item.directive';
4
+ export * from './dnd-list/dnd-list.directive';
5
+ export * from './dnd.interfaces';
6
+ export * from './drag-and-drop.module';
7
+ export * from './tokens';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RyYWctYW5kLWRyb3AvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RuZC1pdGVtL2RuZC1pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RuZC1rZXlib2FyZC1ncm91cC9kbmQta2V5Ym9hcmQtZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kLWtleWJvYXJkLWl0ZW0vZG5kLWtleWJvYXJkLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kLWxpc3QvZG5kLWxpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const DND_ITEM = new InjectionToken('Drag and drop Item');
3
+ export const DND_LIST = new InjectionToken('Drag and drop List');
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IERORF9JVEVNID0gbmV3IEluamVjdGlvblRva2VuKCdEcmFnIGFuZCBkcm9wIEl0ZW0nKTtcbmV4cG9ydCBjb25zdCBETkRfTElTVCA9IG5ldyBJbmplY3Rpb25Ub2tlbignRHJhZyBhbmQgZHJvcCBMaXN0Jyk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0NvbXBvbmVudENvbmZpZyB7XG4gICAgLyoqIERhdGEgdG8gcGFzcyBhbG9uZyB0byB0aGUgY29udGVudCB0aHJvdWdoIHRoZSBkeW5hbWljIGNvbXBvbmVudCByZWZlcmVuY2Ugc2VydmljZS4gKi9cbiAgICBkYXRhPzogYW55O1xuXG4gICAgLyoqIFRoZSBjb250YWluZXIgdGhhdCB0aGUgZHluYW1pYyBjb21wb25lbnQgaXMgYXBwZW5kZWQgdG8uIEJ5IGRlZmF1bHQsIGl0IGlzIGFwcGVuZGVkIHRvIHRoZSBib2R5LiAqL1xuICAgIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50IHwgJ2JvZHknO1xufVxuIl19
@@ -0,0 +1,21 @@
1
+ export class DynamicComponentContainer {
2
+ /** @hidden */
3
+ constructor(_elementRef, _componentFactoryResolver) {
4
+ this._elementRef = _elementRef;
5
+ this._componentFactoryResolver = _componentFactoryResolver;
6
+ /** @hidden */
7
+ this.childContent = undefined;
8
+ }
9
+ /** @hidden Load received content as component */
10
+ _createFromComponent(content) {
11
+ this.containerRef.clear();
12
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);
13
+ this._componentRef = this.containerRef.createComponent(componentFactory);
14
+ }
15
+ /** @hidden Load received content as embedded view */
16
+ _createFromTemplate(content, context) {
17
+ this.containerRef.clear();
18
+ this._componentRef = this.containerRef.createEmbeddedView(content, context);
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxPQUFnQix5QkFBeUI7SUFVM0MsY0FBYztJQUNkLFlBQXNCLFdBQXVCLEVBQVkseUJBQW1EO1FBQXRGLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVksOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQVA1RyxjQUFjO1FBQ2QsaUJBQVksR0FBa0IsU0FBUyxDQUFDO0lBTXVFLENBQUM7SUFLaEgsaURBQWlEO0lBQ3ZDLG9CQUFvQixDQUFDLE9BQWtCO1FBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxxREFBcUQ7SUFDM0MsbUJBQW1CLENBQUMsT0FBeUIsRUFBRSxPQUFZO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0NvbXBvbmVudENvbnRhaW5lcjxUID0gVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8YW55Pj4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJzdHJhY3QgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjaGlsZENvbnRlbnQ6IFQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHt9XG5cbiAgICAvKiogQGhpZGRlbiBMb2FkIHJlY2VpdmVkIGNvbnRlbnQgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2xvYWRDb250ZW50KCk6IHZvaWQ7XG5cbiAgICAvKiogQGhpZGRlbiBMb2FkIHJlY2VpdmVkIGNvbnRlbnQgYXMgY29tcG9uZW50ICovXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVGcm9tQ29tcG9uZW50KGNvbnRlbnQ6IFR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbnRlbnQpO1xuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTG9hZCByZWNlaXZlZCBjb250ZW50IGFzIGVtYmVkZGVkIHZpZXcgKi9cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUZyb21UZW1wbGF0ZShjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KGNvbnRlbnQsIGNvbnRleHQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ export class DynamicComponentInjector {
2
+ /** @hidden */
3
+ constructor(_parentInjector, _additionalTokens) {
4
+ this._parentInjector = _parentInjector;
5
+ this._additionalTokens = _additionalTokens;
6
+ }
7
+ /**
8
+ *
9
+ * @param token
10
+ * @param notFoundValue
11
+ */
12
+ get(token, notFoundValue) {
13
+ const value = this._additionalTokens.get(token);
14
+ if (value) {
15
+ return value;
16
+ }
17
+ return this._parentInjector.get(token, notFoundValue);
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsY0FBYztJQUNkLFlBQW9CLGVBQXlCLEVBQVUsaUJBQW9DO1FBQXZFLG9CQUFlLEdBQWYsZUFBZSxDQUFVO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFL0Y7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxLQUFVLEVBQUUsYUFBbUI7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCxJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBTSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnRJbmplY3RvciBpbXBsZW1lbnRzIEluamVjdG9yIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhcmVudEluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBfYWRkaXRpb25hbFRva2VuczogV2Vha01hcDxhbnksIGFueT4pIHt9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b2tlblxuICAgICAqIEBwYXJhbSBub3RGb3VuZFZhbHVlXG4gICAgICovXG4gICAgZ2V0KHRva2VuOiBhbnksIG5vdEZvdW5kVmFsdWU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9hZGRpdGlvbmFsVG9rZW5zLmdldCh0b2tlbik7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50SW5qZWN0b3IuZ2V0PGFueT4odG9rZW4sIG5vdEZvdW5kVmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,90 @@
1
+ import { ComponentFactoryResolver, Injectable, ApplicationRef, Injector, Compiler, NgModuleFactory } from '@angular/core';
2
+ import { DynamicComponentInjector } from './dynamic-component-injector';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Service used to dynamically generate components like dialogs/alerts/notifications
6
+ */
7
+ export class DynamicComponentService {
8
+ /** @hidden */
9
+ constructor(_componentFactoryResolver, _applicationRef, _injector, _compiler) {
10
+ this._componentFactoryResolver = _componentFactoryResolver;
11
+ this._applicationRef = _applicationRef;
12
+ this._injector = _injector;
13
+ this._compiler = _compiler;
14
+ }
15
+ /**
16
+ * Function that creates dynamic component and injects services to allow communication between component and outside
17
+ * @param content Type of the component content
18
+ * @param componentType Type of component that should be rendered.
19
+ * @param config Configuration that will be passed to the component.
20
+ * @param inject enables to provide preconfigured component injector and dependencies
21
+ */
22
+ createDynamicComponent(content, componentType, config, inject = {}) {
23
+ const { injector, services } = inject;
24
+ const dependenciesMap = this._createDependencyMap(services);
25
+ const componentRef = this._createComponent(componentType, dependenciesMap, injector);
26
+ this._passExternalContent(componentRef, content);
27
+ this._attachToContainer(componentRef, config);
28
+ return componentRef;
29
+ }
30
+ /**
31
+ * Function that creates dynamic component and injects services to allow communication between component and outside
32
+ * @param content Type of the component content
33
+ * @param moduleType Type of module that should be compiled.
34
+ * @param componentType Type of component that should be rendered.
35
+ * @param containerRef The container that the dynamic component is appended to.
36
+ * @param injector enables to provide preconfigured component injector
37
+ */
38
+ async createDynamicModule(content, moduleType, componentType, containerRef, injector) {
39
+ const moduleFactory = moduleType instanceof NgModuleFactory ? moduleType : await this._compiler.compileModuleAsync(moduleType);
40
+ const moduleRef = moduleFactory.create(injector || this._injector);
41
+ const componentFactory = moduleRef.componentFactoryResolver.resolveComponentFactory(componentType);
42
+ containerRef.clear();
43
+ const componentRef = containerRef.createComponent(componentFactory);
44
+ this._passExternalContent(componentRef, content);
45
+ return componentRef;
46
+ }
47
+ /** Function that destroys dynamic component */
48
+ destroyComponent(componentRef) {
49
+ this._applicationRef.detachView(componentRef.hostView);
50
+ componentRef.destroy();
51
+ }
52
+ /** @hidden */
53
+ _createDependencyMap(services = []) {
54
+ const dependencyMap = new WeakMap();
55
+ services.filter((service) => !!service).forEach((service) => dependencyMap.set(service.constructor, service));
56
+ return dependencyMap;
57
+ }
58
+ /** @hidden */
59
+ _attachToContainer(componentRef, config) {
60
+ const configObj = Object.assign({}, config);
61
+ const componentEl = componentRef.hostView.rootNodes[0];
62
+ if (configObj.container !== 'body') {
63
+ configObj.container?.appendChild(componentEl);
64
+ }
65
+ else {
66
+ document.body.appendChild(componentEl);
67
+ }
68
+ }
69
+ /** @hidden */
70
+ _createComponent(componentType, dependenciesMap, injector) {
71
+ const dynamicComponentInjector = new DynamicComponentInjector(injector || this._injector, dependenciesMap);
72
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentType);
73
+ const componentRef = componentFactory.create(dynamicComponentInjector);
74
+ this._applicationRef.attachView(componentRef.hostView);
75
+ return componentRef;
76
+ }
77
+ /** @hidden */
78
+ _passExternalContent(componentRef, content) {
79
+ // TODO: this approach should be revisited, it can cause issues, that is really hard to debug
80
+ if (Object.prototype.hasOwnProperty.call(componentRef.instance, 'childContent')) {
81
+ componentRef.instance.childContent = content;
82
+ }
83
+ }
84
+ }
85
+ DynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
86
+ DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DynamicComponentService });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DynamicComponentService, decorators: [{
88
+ type: Injectable
89
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.Compiler }]; } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUtSLFFBQVEsRUFDUixlQUFlLEVBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUd4RTs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsY0FBYztJQUNkLFlBQ3FCLHlCQUFtRCxFQUNuRCxlQUErQixFQUMvQixTQUFtQixFQUNuQixTQUFtQjtRQUhuQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQ25ELG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVU7SUFDckMsQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNJLHNCQUFzQixDQUN6QixPQUFvRSxFQUNwRSxhQUFzQixFQUN0QixNQUE4QixFQUM5QixTQUFvRCxFQUFFO1FBRXRELE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ3RDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUksYUFBYSxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsb0JBQW9CLENBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FBSSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFakQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsbUJBQW1CLENBQ3JCLE9BQW9FLEVBQ3BFLFVBQXdDLEVBQ3hDLGFBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLFFBQW1CO1FBRW5CLE1BQU0sYUFBYSxHQUNmLFVBQVUsWUFBWSxlQUFlLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFJLFVBQVUsQ0FBQyxDQUFDO1FBQ2hILE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRSxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVuRyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFckIsTUFBTSxZQUFZLEdBQW9CLFlBQVksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVyRixJQUFJLENBQUMsb0JBQW9CLENBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBELE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDeEMsZ0JBQWdCLENBQUMsWUFBK0I7UUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQixDQUFDLFdBQWtCLEVBQUU7UUFDN0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM5RyxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztJQUNOLGtCQUFrQixDQUFJLFlBQTZCLEVBQUUsTUFBOEI7UUFDdkYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUMsTUFBTSxXQUFXLEdBQUksWUFBWSxDQUFDLFFBQWlDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUNoRyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQ2hDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDSCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sZ0JBQWdCLENBQ3BCLGFBQXNCLEVBQ3RCLGVBQWtDLEVBQ2xDLFFBQW1CO1FBRW5CLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUMzRyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDTixvQkFBb0IsQ0FDeEIsWUFBNkIsRUFDN0IsT0FBb0U7UUFFcEUsNkZBQTZGO1FBQzdGLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLEVBQUU7WUFDNUUsWUFBWSxDQUFDLFFBQWdCLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztTQUN6RDtJQUNMLENBQUM7O29IQTFHUSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBJbmplY3RvcixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgQ29tcGlsZXIsXG4gICAgTmdNb2R1bGVGYWN0b3J5LFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3IgfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWNvbmZpZyc7XG5cbi8qKlxuICogU2VydmljZSB1c2VkIHRvIGR5bmFtaWNhbGx5IGdlbmVyYXRlIGNvbXBvbmVudHMgbGlrZSBkaWFsb2dzL2FsZXJ0cy9ub3RpZmljYXRpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50U2VydmljZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jb21waWxlcjogQ29tcGlsZXJcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IGNyZWF0ZXMgZHluYW1pYyBjb21wb25lbnQgYW5kIGluamVjdHMgc2VydmljZXMgdG8gYWxsb3cgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGNvbXBvbmVudCBhbmQgb3V0c2lkZVxuICAgICAqIEBwYXJhbSBjb250ZW50IFR5cGUgb2YgdGhlIGNvbXBvbmVudCBjb250ZW50XG4gICAgICogQHBhcmFtIGNvbXBvbmVudFR5cGUgVHlwZSBvZiBjb21wb25lbnQgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0gaW5qZWN0ICBlbmFibGVzIHRvIHByb3ZpZGUgcHJlY29uZmlndXJlZCBjb21wb25lbnQgaW5qZWN0b3IgYW5kIGRlcGVuZGVuY2llc1xuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVEeW5hbWljQ29tcG9uZW50PFQ+KFxuICAgICAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+IHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgICAgY29tcG9uZW50VHlwZTogVHlwZTxUPixcbiAgICAgICAgY29uZmlnOiBEeW5hbWljQ29tcG9uZW50Q29uZmlnLFxuICAgICAgICBpbmplY3Q6IHsgaW5qZWN0b3I/OiBJbmplY3Rvcjsgc2VydmljZXM/OiBhbnlbXSB9ID0ge31cbiAgICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgICAgICBjb25zdCB7IGluamVjdG9yLCBzZXJ2aWNlcyB9ID0gaW5qZWN0O1xuICAgICAgICBjb25zdCBkZXBlbmRlbmNpZXNNYXAgPSB0aGlzLl9jcmVhdGVEZXBlbmRlbmN5TWFwKHNlcnZpY2VzKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5fY3JlYXRlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFR5cGUsIGRlcGVuZGVuY2llc01hcCwgaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLl9wYXNzRXh0ZXJuYWxDb250ZW50PFQ+KGNvbXBvbmVudFJlZiwgY29udGVudCk7XG4gICAgICAgIHRoaXMuX2F0dGFjaFRvQ29udGFpbmVyPFQ+KGNvbXBvbmVudFJlZiwgY29uZmlnKTtcblxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBkeW5hbWljIGNvbXBvbmVudCBhbmQgaW5qZWN0cyBzZXJ2aWNlcyB0byBhbGxvdyBjb21tdW5pY2F0aW9uIGJldHdlZW4gY29tcG9uZW50IGFuZCBvdXRzaWRlXG4gICAgICogQHBhcmFtIGNvbnRlbnQgVHlwZSBvZiB0aGUgY29tcG9uZW50IGNvbnRlbnRcbiAgICAgKiBAcGFyYW0gbW9kdWxlVHlwZSBUeXBlIG9mIG1vZHVsZSB0aGF0IHNob3VsZCBiZSBjb21waWxlZC5cbiAgICAgKiBAcGFyYW0gY29tcG9uZW50VHlwZSBUeXBlIG9mIGNvbXBvbmVudCB0aGF0IHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIFRoZSBjb250YWluZXIgdGhhdCB0aGUgZHluYW1pYyBjb21wb25lbnQgaXMgYXBwZW5kZWQgdG8uXG4gICAgICogQHBhcmFtIGluamVjdG9yIGVuYWJsZXMgdG8gcHJvdmlkZSBwcmVjb25maWd1cmVkIGNvbXBvbmVudCBpbmplY3RvclxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZUR5bmFtaWNNb2R1bGU8TSwgQz4oXG4gICAgICAgIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT4gfCBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgICBtb2R1bGVUeXBlOiBUeXBlPE0+IHwgTmdNb2R1bGVGYWN0b3J5PE0+LFxuICAgICAgICBjb21wb25lbnRUeXBlOiBUeXBlPEM+LFxuICAgICAgICBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIGluamVjdG9yPzogSW5qZWN0b3JcbiAgICApOiBQcm9taXNlPENvbXBvbmVudFJlZjxDPj4ge1xuICAgICAgICBjb25zdCBtb2R1bGVGYWN0b3J5ID1cbiAgICAgICAgICAgIG1vZHVsZVR5cGUgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkgPyBtb2R1bGVUeXBlIDogYXdhaXQgdGhpcy5fY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jPE0+KG1vZHVsZVR5cGUpO1xuICAgICAgICBjb25zdCBtb2R1bGVSZWYgPSBtb2R1bGVGYWN0b3J5LmNyZWF0ZShpbmplY3RvciB8fCB0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSBtb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudFR5cGUpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5jbGVhcigpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEM+ID0gY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcblxuICAgICAgICB0aGlzLl9wYXNzRXh0ZXJuYWxDb250ZW50PEM+KGNvbXBvbmVudFJlZiwgY29udGVudCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdGhhdCBkZXN0cm95cyBkeW5hbWljIGNvbXBvbmVudCAqL1xuICAgIHB1YmxpYyBkZXN0cm95Q29tcG9uZW50KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlRGVwZW5kZW5jeU1hcChzZXJ2aWNlczogYW55W10gPSBbXSk6IFdlYWtNYXA8YW55LCBhbnk+IHtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeU1hcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICAgIHNlcnZpY2VzLmZpbHRlcigoc2VydmljZSkgPT4gISFzZXJ2aWNlKS5mb3JFYWNoKChzZXJ2aWNlKSA9PiBkZXBlbmRlbmN5TWFwLnNldChzZXJ2aWNlLmNvbnN0cnVjdG9yLCBzZXJ2aWNlKSk7XG4gICAgICAgIHJldHVybiBkZXBlbmRlbmN5TWFwO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXR0YWNoVG9Db250YWluZXI8Vj4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Vj4sIGNvbmZpZzogRHluYW1pY0NvbXBvbmVudENvbmZpZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWdPYmogPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRFbCA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKGNvbmZpZ09iai5jb250YWluZXIgIT09ICdib2R5Jykge1xuICAgICAgICAgICAgY29uZmlnT2JqLmNvbnRhaW5lcj8uYXBwZW5kQ2hpbGQoY29tcG9uZW50RWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb21wb25lbnRFbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZUNvbXBvbmVudDxWPihcbiAgICAgICAgY29tcG9uZW50VHlwZTogVHlwZTxWPixcbiAgICAgICAgZGVwZW5kZW5jaWVzTWFwOiBXZWFrTWFwPGFueSwgYW55PixcbiAgICAgICAgaW5qZWN0b3I/OiBJbmplY3RvclxuICAgICk6IENvbXBvbmVudFJlZjxWPiB7XG4gICAgICAgIGNvbnN0IGR5bmFtaWNDb21wb25lbnRJbmplY3RvciA9IG5ldyBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3IoaW5qZWN0b3IgfHwgdGhpcy5faW5qZWN0b3IsIGRlcGVuZGVuY2llc01hcCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKGR5bmFtaWNDb21wb25lbnRJbmplY3Rvcik7XG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Bhc3NFeHRlcm5hbENvbnRlbnQ8Vj4oXG4gICAgICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFY+LFxuICAgICAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+IHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiB0aGlzIGFwcHJvYWNoIHNob3VsZCBiZSByZXZpc2l0ZWQsIGl0IGNhbiBjYXVzZSBpc3N1ZXMsIHRoYXQgaXMgcmVhbGx5IGhhcmQgdG8gZGVidWdcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb21wb25lbnRSZWYuaW5zdGFuY2UsICdjaGlsZENvbnRlbnQnKSkge1xuICAgICAgICAgICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpLmNoaWxkQ29udGVudCA9IGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './dynamic-component-config';
2
+ export * from './dynamic-component-container';
3
+ export * from './dynamic-component-injector';
4
+ export * from './dynamic-component.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2R5bmFtaWMtY29tcG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { INJECTOR } from '@angular/core';
2
+ /**
3
+ * Creates provider for ConsumerClass
4
+ */
5
+ export function consumerProviderFactory(ConsumerClass, providedConfiguration) {
6
+ return {
7
+ provide: ConsumerClass,
8
+ useFactory: (injector) => new ConsumerClass(injector, providedConfiguration),
9
+ deps: [INJECTOR]
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtZXItcHJvdmlkZXItZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zL2NvbnN1bWVyLXByb3ZpZGVyLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ25DLGFBQTRGLEVBQzVGLHFCQUF3QztJQUV4QyxPQUFPO1FBQ0gsT0FBTyxFQUFFLGFBQWE7UUFDdEIsVUFBVSxFQUFFLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDO1FBQ3RGLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOSkVDVE9SLCBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDcmVhdGVzIHByb3ZpZGVyIGZvciBDb25zdW1lckNsYXNzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdW1lclByb3ZpZGVyRmFjdG9yeTxUID0gYW55PihcbiAgICBDb25zdW1lckNsYXNzOiBuZXcgKGluamVjdG9yOiBJbmplY3RvciwgYWRkaXRpb25hbENvbmZpZzogUmVjb3JkPGFueSwgYW55PiB8IHVuZGVmaW5lZCkgPT4gVCxcbiAgICBwcm92aWRlZENvbmZpZ3VyYXRpb24/OiBSZWNvcmQ8YW55LCBhbnk+XG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogQ29uc3VtZXJDbGFzcyxcbiAgICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gbmV3IENvbnN1bWVyQ2xhc3MoaW5qZWN0b3IsIHByb3ZpZGVkQ29uZmlndXJhdGlvbiksXG4gICAgICAgIGRlcHM6IFtJTkpFQ1RPUl1cbiAgICB9O1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { ElementRef } from '@angular/core';
2
+ export const pxToNum = (pixels) => Number(pixels.replace('px', '')) || 0;
3
+ export const toNativeElement = (element) => element instanceof ElementRef ? element.nativeElement : element;
4
+ /** Return elements capacity (width subtract by element padding)
5
+ * @param element - HTMLelement or element reference
6
+ * */
7
+ export function getElementCapacity(element) {
8
+ const _element = toNativeElement(element);
9
+ const computedStyle = window.getComputedStyle(_element);
10
+ return pxToNum(computedStyle.width) - pxToNum(computedStyle.paddingLeft) - pxToNum(computedStyle.paddingRight);
11
+ }
12
+ /** Return elements width
13
+ * @param element - HTMLelement or element reference
14
+ * @param withMargin - weather to add element margins to width
15
+ * */
16
+ export function getElementWidth(element, withMargin) {
17
+ const _element = toNativeElement(element);
18
+ const computedStyle = getComputedStyle(_element);
19
+ return withMargin
20
+ ? pxToNum(computedStyle.width) + pxToNum(computedStyle.marginLeft) + pxToNum(computedStyle.marginRight)
21
+ : pxToNum(computedStyle.width);
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9mdW5jdGlvbnMvZWxlbWVudC1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFekYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBaUMsRUFBZSxFQUFFLENBQzlFLE9BQU8sWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUVwRTs7S0FFSztBQUNMLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFpQztJQUNoRSxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhELE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbkgsQ0FBQztBQUVEOzs7S0FHSztBQUNMLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBaUMsRUFBRSxVQUFvQjtJQUNuRixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFakQsT0FBTyxVQUFVO1FBQ2IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUN2RyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgcHhUb051bSA9IChwaXhlbHM6IHN0cmluZyk6IG51bWJlciA9PiBOdW1iZXIocGl4ZWxzLnJlcGxhY2UoJ3B4JywgJycpKSB8fCAwO1xuXG5leHBvcnQgY29uc3QgdG9OYXRpdmVFbGVtZW50ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZik6IEhUTUxFbGVtZW50ID0+XG4gICAgZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgPyBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgOiBlbGVtZW50O1xuXG4vKiogUmV0dXJuIGVsZW1lbnRzIGNhcGFjaXR5ICh3aWR0aCBzdWJ0cmFjdCBieSBlbGVtZW50IHBhZGRpbmcpXG4gKiBAcGFyYW0gZWxlbWVudCAtIEhUTUxlbGVtZW50IG9yIGVsZW1lbnQgcmVmZXJlbmNlXG4gKiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRDYXBhY2l0eShlbGVtZW50OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYpOiBudW1iZXIge1xuICAgIGNvbnN0IF9lbGVtZW50ID0gdG9OYXRpdmVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShfZWxlbWVudCk7XG5cbiAgICByZXR1cm4gcHhUb051bShjb21wdXRlZFN0eWxlLndpZHRoKSAtIHB4VG9OdW0oY29tcHV0ZWRTdHlsZS5wYWRkaW5nTGVmdCkgLSBweFRvTnVtKGNvbXB1dGVkU3R5bGUucGFkZGluZ1JpZ2h0KTtcbn1cblxuLyoqIFJldHVybiBlbGVtZW50cyB3aWR0aFxuICogQHBhcmFtIGVsZW1lbnQgLSBIVE1MZWxlbWVudCBvciBlbGVtZW50IHJlZmVyZW5jZVxuICogQHBhcmFtIHdpdGhNYXJnaW4gLSB3ZWF0aGVyIHRvIGFkZCBlbGVtZW50IG1hcmdpbnMgdG8gd2lkdGhcbiAqICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFdpZHRoKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiwgd2l0aE1hcmdpbj86IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIGNvbnN0IF9lbGVtZW50ID0gdG9OYXRpdmVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKF9lbGVtZW50KTtcblxuICAgIHJldHVybiB3aXRoTWFyZ2luXG4gICAgICAgID8gcHhUb051bShjb21wdXRlZFN0eWxlLndpZHRoKSArIHB4VG9OdW0oY29tcHV0ZWRTdHlsZS5tYXJnaW5MZWZ0KSArIHB4VG9OdW0oY29tcHV0ZWRTdHlsZS5tYXJnaW5SaWdodClcbiAgICAgICAgOiBweFRvTnVtKGNvbXB1dGVkU3R5bGUud2lkdGgpO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /** Get document font size in pixels. */
2
+ export function getDocumentFontSize() {
3
+ return document?.documentElement ? parseFloat(getComputedStyle(document.documentElement).fontSize) : 16;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRvY3VtZW50LWZvbnQtc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zL2dldC1kb2N1bWVudC1mb250LXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxtQkFBbUI7SUFDL0IsT0FBTyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBHZXQgZG9jdW1lbnQgZm9udCBzaXplIGluIHBpeGVscy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREb2N1bWVudEZvbnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQgPyBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSkgOiAxNjtcbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ export * from './key-util';
2
+ export * from './element-size';
3
+ export * from './uuidv4-generator';
4
+ export * from './parser-file-size';
5
+ export * from './scroll';
6
+ export * from './random-color-accent';
7
+ export * from './resize-observable';
8
+ export * from './intersection-observable';
9
+ export * from './is-compact-density';
10
+ export * from './module-deprecations-provider';
11
+ export * from './consumer-provider-factory';
12
+ export * from './get-document-font-size';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2Z1bmN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9rZXktdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3V1aWR2NC1nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJzZXItZmlsZS1zaXplJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsJztcbmV4cG9ydCAqIGZyb20gJy4vcmFuZG9tLWNvbG9yLWFjY2VudCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1vYnNlcnZhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJzZWN0aW9uLW9ic2VydmFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jb21wYWN0LWRlbnNpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtZGVwcmVjYXRpb25zLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3VtZXItcHJvdmlkZXItZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1kb2N1bWVudC1mb250LXNpemUnO1xuIl19
@@ -0,0 +1,26 @@
1
+ import { NEVER, Observable } from 'rxjs';
2
+ /**
3
+ * RxJS wrapper for IntersectionObserver class.
4
+ * @param target HTML element to spy on.
5
+ * @param options @see {IntersectionObserverInit}
6
+ * @returns {Observable} with observer entries.
7
+ */
8
+ export function intersectionObservable(target, options) {
9
+ if ('IntersectionObserver' in window) {
10
+ return new Observable((subscriber) => {
11
+ const io = new IntersectionObserver((entries) => {
12
+ subscriber.next(entries);
13
+ }, options);
14
+ io.observe(target);
15
+ return function unsubscribe() {
16
+ io.disconnect();
17
+ };
18
+ });
19
+ }
20
+ else {
21
+ // If browser doesn't support IntersectionObserver API never emit a value
22
+ // since we're not supporting IE11 and any other browser should have it.
23
+ return NEVER;
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLW9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2Z1bmN0aW9ucy9pbnRlcnNlY3Rpb24tb2JzZXJ2YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6Qzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsTUFBZSxFQUNmLE9BQWtDO0lBRWxDLElBQUksc0JBQXNCLElBQUksTUFBTSxFQUFFO1FBQ2xDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzVDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRVosRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuQixPQUFPLFNBQVMsV0FBVztnQkFDdkIsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILHlFQUF5RTtRQUN6RSx3RUFBd0U7UUFDeEUsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTkVWRVIsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBSeEpTIHdyYXBwZXIgZm9yIEludGVyc2VjdGlvbk9ic2VydmVyIGNsYXNzLlxuICogQHBhcmFtIHRhcmdldCBIVE1MIGVsZW1lbnQgdG8gc3B5IG9uLlxuICogQHBhcmFtIG9wdGlvbnMgQHNlZSB7SW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0fVxuICogQHJldHVybnMge09ic2VydmFibGV9IHdpdGggb2JzZXJ2ZXIgZW50cmllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVyc2VjdGlvbk9ic2VydmFibGUoXG4gICAgdGFyZ2V0OiBFbGVtZW50LFxuICAgIG9wdGlvbnM/OiBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXRcbik6IE9ic2VydmFibGU8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeVtdPiB7XG4gICAgaWYgKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93KSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZW50cmllcyk7XG4gICAgICAgICAgICB9LCBvcHRpb25zKTtcblxuICAgICAgICAgICAgaW8ub2JzZXJ2ZSh0YXJnZXQpO1xuXG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gdW5zdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgaW8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgQVBJIG5ldmVyIGVtaXQgYSB2YWx1ZVxuICAgICAgICAvLyBzaW5jZSB3ZSdyZSBub3Qgc3VwcG9ydGluZyBJRTExIGFuZCBhbnkgb3RoZXIgYnJvd3NlciBzaG91bGQgaGF2ZSBpdC5cbiAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ /** Determines whether provided value is valid content density */
2
+ export function isValidContentDensity(size) {
3
+ return size === 'cozy' || size === 'compact' || size === 'condensed';
4
+ }
5
+ /**
6
+ * Determines if "compact" styles should be applied based on provided content density
7
+ */
8
+ export function isCompactDensity(size) {
9
+ return isValidContentDensity(size) && size !== 'cozy';
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29tcGFjdC1kZW5zaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9mdW5jdGlvbnMvaXMtY29tcGFjdC1kZW5zaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGlFQUFpRTtBQUNqRSxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBUztJQUMzQyxPQUFPLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3pFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFvQjtJQUNqRCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxNQUFNLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnREZW5zaXR5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb250ZW50LWRlbnNpdHknO1xuXG4vKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHByb3ZpZGVkIHZhbHVlIGlzIHZhbGlkIGNvbnRlbnQgZGVuc2l0eSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRDb250ZW50RGVuc2l0eShzaXplOiBhbnkpOiBzaXplIGlzIENvbnRlbnREZW5zaXR5IHtcbiAgICByZXR1cm4gc2l6ZSA9PT0gJ2NvenknIHx8IHNpemUgPT09ICdjb21wYWN0JyB8fCBzaXplID09PSAnY29uZGVuc2VkJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIFwiY29tcGFjdFwiIHN0eWxlcyBzaG91bGQgYmUgYXBwbGllZCBiYXNlZCBvbiBwcm92aWRlZCBjb250ZW50IGRlbnNpdHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29tcGFjdERlbnNpdHkoc2l6ZTogQ29udGVudERlbnNpdHkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZENvbnRlbnREZW5zaXR5KHNpemUpICYmIHNpemUgIT09ICdjb3p5Jztcbn1cbiJdfQ==