@pepperi-addons/ngx-lib 0.4.0-angular14.9 → 0.4.0-beta.3

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 (234) hide show
  1. package/chips/chips.component.d.ts +93 -0
  2. package/chips/chips.component.theme.scss +58 -0
  3. package/chips/chips.model.d.ts +13 -0
  4. package/chips/chips.module.d.ts +20 -0
  5. package/chips/chips.service.d.ts +15 -0
  6. package/{plugin → chips}/index.d.ts +1 -1
  7. package/chips/public-api.d.ts +3 -0
  8. package/color/color-picker.component.d.ts +1 -1
  9. package/core/common/model/wapi.model.d.ts +1 -0
  10. package/core/common/services/addon.service.d.ts +13 -9
  11. package/core/common/services/utilities.service.d.ts +5 -4
  12. package/core/customization/customization.model.d.ts +7 -0
  13. package/esm2020/address/address.component.mjs +1 -1
  14. package/esm2020/attachment/attachment.component.mjs +1 -1
  15. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  16. package/esm2020/chips/chips.component.mjs +158 -0
  17. package/esm2020/chips/chips.model.mjs +2 -0
  18. package/esm2020/chips/chips.module.mjs +81 -0
  19. package/esm2020/chips/chips.service.mjs +44 -0
  20. package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
  21. package/esm2020/chips/public-api.mjs +7 -0
  22. package/esm2020/color/color-picker.component.mjs +4 -4
  23. package/esm2020/color/color.component.mjs +1 -1
  24. package/esm2020/core/common/model/wapi.model.mjs +1 -1
  25. package/esm2020/core/common/services/addon.service.mjs +43 -38
  26. package/esm2020/core/common/services/utilities.service.mjs +66 -13
  27. package/esm2020/core/customization/customization.model.mjs +10 -1
  28. package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
  29. package/esm2020/core/http/services/loader.service.mjs +4 -4
  30. package/esm2020/date/date.component.mjs +3 -3
  31. package/esm2020/field-title/field-title.component.mjs +6 -3
  32. package/esm2020/form/field-generator.component.mjs +7 -7
  33. package/esm2020/form/form.component.mjs +12 -3
  34. package/esm2020/form/internal-button.component.mjs +1 -1
  35. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  36. package/esm2020/form/internal-form.component.mjs +4 -2
  37. package/esm2020/form/internal-list.component.mjs +5 -2
  38. package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
  39. package/esm2020/icon/icon-generated-all.model.mjs +8 -1
  40. package/esm2020/icon/icon-generated.model.mjs +29 -1
  41. package/esm2020/image/image.component.mjs +1 -1
  42. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
  43. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
  44. package/esm2020/link/link.component.mjs +1 -1
  45. package/esm2020/list/list-pager.component.mjs +1 -1
  46. package/esm2020/list/list.component.mjs +5 -2
  47. package/esm2020/list/virtual-scroller.mjs +11 -10
  48. package/esm2020/menu/menu.component.mjs +11 -3
  49. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  50. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  51. package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
  52. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  53. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
  54. package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
  55. package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
  56. package/esm2020/remote-loader/public-api.mjs +2 -1
  57. package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
  58. package/esm2020/remote-loader/remote-loader.component.mjs +37 -59
  59. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  60. package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
  61. package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
  62. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
  63. package/esm2020/select/select.component.mjs +33 -7
  64. package/esm2020/side-bar/side-bar.component.mjs +11 -27
  65. package/esm2020/side-bar/side-bar.module.mjs +7 -3
  66. package/esm2020/signature/signature.component.mjs +1 -1
  67. package/esm2020/size-detector/size-detector.component.mjs +2 -2
  68. package/esm2020/slider/slider.component.mjs +1 -1
  69. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  70. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  71. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  72. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  73. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  74. package/esm2020/textarea/textarea.component.mjs +1 -1
  75. package/esm2020/textbox/textbox.component.mjs +48 -7
  76. package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
  77. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  78. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  79. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  80. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  81. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  82. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
  84. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  85. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  86. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
  88. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  90. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +23 -12
  92. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  93. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  94. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  95. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
  96. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  97. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
  98. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  99. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  100. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  101. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +1 -1
  102. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
  104. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
  106. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  107. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  108. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  109. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  110. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  111. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  112. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  113. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
  114. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  115. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +249 -105
  116. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  118. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  119. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
  120. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  121. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  122. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  123. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
  124. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  126. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  127. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
  128. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  129. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
  130. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  131. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  132. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  133. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  134. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  135. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +49 -8
  136. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  137. package/fesm2015/pepperi-addons-ngx-lib.mjs +128 -57
  138. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  139. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  140. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  141. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  142. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  143. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  144. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  145. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
  146. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  147. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  148. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
  150. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  152. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  153. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +26 -12
  154. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  155. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  156. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  157. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
  158. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  159. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
  160. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  161. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  162. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  163. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +1 -1
  164. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  165. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
  166. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  167. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
  168. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  169. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  170. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  171. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  172. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  173. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  174. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  175. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
  176. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  177. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +230 -98
  178. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  179. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  180. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  181. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
  182. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  183. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  184. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  185. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
  186. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  187. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  188. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  189. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
  190. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  191. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
  192. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  193. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  194. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  195. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  196. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  197. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +48 -8
  198. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  199. package/fesm2020/pepperi-addons-ngx-lib.mjs +125 -58
  200. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  201. package/field-title/field-title.component.d.ts +2 -1
  202. package/form/field-generator.component.d.ts +1 -1
  203. package/group-buttons/group-buttons.component.d.ts +2 -1
  204. package/icon/icon-generated-all.model.d.ts +7 -0
  205. package/icon/icon-generated.model.d.ts +29 -1
  206. package/menu/menu.component.d.ts +2 -0
  207. package/package.json +14 -13
  208. package/page-layout/page-layout.component.d.ts +1 -1
  209. package/quantity-selector/quantity-selector.component.d.ts +7 -1
  210. package/remote-loader/addon-block-loader.component.d.ts +10 -6
  211. package/remote-loader/addon-block-loader.service.d.ts +2 -3
  212. package/remote-loader/public-api.d.ts +1 -0
  213. package/remote-loader/remote-loader-element.component.d.ts +30 -0
  214. package/remote-loader/remote-loader.component.d.ts +3 -5
  215. package/remote-loader/remote-loader.model.d.ts +16 -11
  216. package/remote-loader/remote-loader.module.d.ts +8 -6
  217. package/remote-loader/remote-loader.service.d.ts +5 -7
  218. package/select/select.component.d.ts +10 -4
  219. package/side-bar/side-bar.component.d.ts +3 -3
  220. package/src/assets/i18n/en.ngx-lib.json +4 -0
  221. package/src/core/style/components/checkbox.scss +20 -1
  222. package/src/core/style/components/general.scss +5 -4
  223. package/textbox/textbox.component.d.ts +16 -1
  224. package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +0 -5
  225. package/esm2020/plugin/plugin-proxy.component.mjs +0 -90
  226. package/esm2020/plugin/plugin.model.mjs +0 -2
  227. package/esm2020/plugin/public-api.mjs +0 -6
  228. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +0 -107
  229. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
  230. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +0 -101
  231. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
  232. package/plugin/plugin-proxy.component.d.ts +0 -22
  233. package/plugin/plugin.model.d.ts +0 -5
  234. package/plugin/public-api.d.ts +0 -2
@@ -1,12 +1,10 @@
1
- import { Component, Input, ViewChild, ViewContainerRef, EventEmitter, Output } from '@angular/core';
1
+ import { Component, Input, ViewChild, ViewContainerRef, EventEmitter, Output, createNgModuleRef } from '@angular/core';
2
2
  import { loadRemoteModule } from '@angular-architects/module-federation';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@pepperi-addons/ngx-lib";
5
5
  export class PepRemoteLoaderComponent {
6
- constructor(injector, cfr, compiler, pepAddonService) {
6
+ constructor(injector, pepAddonService) {
7
7
  this.injector = injector;
8
- this.cfr = cfr;
9
- this.compiler = compiler;
10
8
  this.pepAddonService = pepAddonService;
11
9
  this._options = null;
12
10
  // This is the data passed by the API Design documentation.
@@ -34,73 +32,53 @@ export class PepRemoteLoaderComponent {
34
32
  if (this.hostObject && this.compRef?.instance) {
35
33
  this.compRef.instance.hostObject = this.hostObject;
36
34
  // TODO: Check if this is needed?? if not remove this.
37
- if (this.compRef?.instance?.ngOnChanges) {
38
- this.compRef.instance.ngOnChanges(this.hostObject);
39
- }
35
+ // if (this.compRef?.instance?.ngOnChanges) {
36
+ // this.compRef.instance.ngOnChanges(this.hostObject);
37
+ // }
40
38
  }
41
39
  }
42
- async ngOnChanges(changes) {
40
+ ngOnChanges(changes) {
43
41
  // if (changes?.options?.currentValue) {
44
42
  // this.loadModule(changes?.options?.currentValue);
45
43
  // }
46
44
  }
47
45
  async loadModule() {
48
- const t0 = performance.now();
49
- // Check if only need update
50
- if (!this.options?.update) {
51
- this.viewContainer?.clear();
52
- // try {
53
- // if (this.options.addonId) {
54
- // const publicPathArr = this.options.remoteEntry.split('/');
55
- // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
56
- // __webpack_public_path__ = publicPath;
57
- // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
58
- // }
59
- // const module = await loadRemoteModule(this.options).then(m => m);
60
- // const component = module[this.options.componentName];
61
- // this.compRef = this.viewContainer.createComponent(component);
62
- // } catch (e) {
46
+ try {
47
+ const t0 = performance.now();
63
48
  this.viewContainer?.clear();
64
- // Load Component
65
- if (this.options?.noModule) {
66
- const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
67
- // New code
68
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
69
- // Old code
70
- const componentFactory = this.cfr.resolveComponentFactory(component);
71
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);
72
- }
73
- // Load Module
74
- else {
75
- // const publicPathArr = this.options.remoteEntry.split('/');
76
- // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
77
- // __webpack_public_path__ = publicPath;
78
- // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
49
+ if (this.options.exposedModule?.length > 0) { // Load module
50
+ if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
51
+ const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
52
+ if (lastSlashIndex > 0) {
53
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
54
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
55
+ }
56
+ }
79
57
  const module = await loadRemoteModule(this.options).then(m => m);
80
- // New code
81
- // const moduleRef = createNgModuleRef(module, this.injector);
82
- // const component = module[this.options.componentName];
83
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
84
- // Old code
85
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
86
- const moduleRef = moduleFactory.create(this.injector);
87
- const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);
88
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
58
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
59
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
89
60
  const t1 = performance.now();
90
61
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
91
62
  }
63
+ // Check if this is in use??? (comment out in Angular 14 version)
64
+ // else { // Load Component
65
+ // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
66
+ // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
92
67
  // }
93
68
  this.load.emit();
69
+ if (this.compRef) {
70
+ this.setHostComponentIntoComponentRef();
71
+ this.compRef?.instance['hostEvents']?.subscribe(e => {
72
+ // switch(e.action){
73
+ // case 'addon-loaded':
74
+ // this.showSpinner = false;
75
+ // }
76
+ this.hostEvents.emit(e);
77
+ });
78
+ }
94
79
  }
95
- if (this.compRef) {
96
- this.setHostComponentIntoComponentRef();
97
- this.compRef?.instance['hostEvents']?.subscribe(e => {
98
- // switch(e.action){
99
- // case 'addon-loaded':
100
- // this.showSpinner = false;
101
- // }
102
- this.hostEvents.emit(e);
103
- });
80
+ catch (error) {
81
+ console.error(error);
104
82
  }
105
83
  }
106
84
  ngOnDestroy() {
@@ -108,7 +86,7 @@ export class PepRemoteLoaderComponent {
108
86
  this.viewContainer?.clear();
109
87
  }
110
88
  }
111
- PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
89
+ PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
112
90
  PepRemoteLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: { options: "options", hostObject: "hostObject" }, outputs: { hostEvents: "hostEvents", load: "load" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["placeHolder"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
113
91
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
114
92
  <ng-template #placeHolder></ng-template>
@@ -122,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
122
100
  <ng-template #placeHolder></ng-template>
123
101
  `
124
102
  }]
125
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
103
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
126
104
  type: ViewChild,
127
105
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
128
106
  }], options: [{
@@ -134,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
134
112
  }], load: [{
135
113
  type: Output
136
114
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUMxQixZQUFZLEVBQUUsTUFBTSxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBV3pFLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ2pDLFlBQ1ksUUFBa0IsRUFDbEIsR0FBNkIsRUFDN0IsUUFBa0IsRUFDbEIsZUFBZ0M7UUFIaEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWpDcEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFZaEQsMkRBQTJEO1FBQ25ELGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBVXRCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFXcEQsQ0FBQztJQWxDTCxJQUNJLE9BQU8sQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFD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QUFFLElBQUksRUFBRTtnQkFJOUQsT0FBTztzQkFEVixLQUFLO2dCQWNGLFVBQVU7c0JBRGIsS0FBSztnQkFTSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcEFkZG9uU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLCBOZ01vZHVsZUZhY3RvcnksIENvbXBpbGVyLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ29tcG9uZW50UmVmLCBTaW1wbGVDaGFuZ2VzLCBOZ1pvbmUsIGNyZWF0ZU5nTW9kdWxlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbic7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmRlY2xhcmUgbGV0IF9fd2VicGFja19wdWJsaWNfcGF0aF9fO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8IS0tIDxtYXQtc3Bpbm5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIHBsYWNlSG9sZGVyXCI+PC9tYXQtc3Bpbm5lcj4gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2VIb2xkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZCgncGxhY2VIb2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIFxuICAgIHByaXZhdGUgX29wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG9wdGlvbnModmFsdWU6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZE1vZHVsZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBvcHRpb25zKCk6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG4gICAgXG4gICAgLy8gVGhpcyBpcyB0aGUgZGF0YSBwYXNzZWQgYnkgdGhlIEFQSSBEZXNpZ24gZG9jdW1lbnRhdGlvbi5cbiAgICBwcml2YXRlIF9ob3N0T2JqZWN0OiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhvc3RPYmplY3QodmFsdWU6IGFueSkgeyBcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldEhvc3RDb21wb25lbnRJbnRvQ29tcG9uZW50UmVmKCk7XG4gICAgfVxuICAgIGdldCBob3N0T2JqZWN0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3N0T2JqZWN0O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBob3N0RXZlbnRzOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvLyBzaG93U3Bpbm5lciA9IHRydWU7XG4gICAgXG4gICAgcHJpdmF0ZSBjb21wUmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgICAgIHByaXZhdGUgcGVwQWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UsXG4gICAgICAgIC8vIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIHNldEhvc3RDb21wb25lbnRJbnRvQ29tcG9uZW50UmVmKCkge1xuICAgICAgICBpZiAodGhpcy5ob3N0T2JqZWN0ICYmIHRoaXMuY29tcFJlZj8uaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5ob3N0T2JqZWN0ID0gdGhpcy5ob3N0T2JqZWN0O1xuXG4gICAgICAgICAgICAvLyBUT0RPOiBDaGVjayBpZiB0aGlzIGlzIG5lZWRlZD8/IGlmIG5vdCByZW1vdmUgdGhpcy5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBSZWY/Lmluc3RhbmNlPy5uZ09uQ2hhbmdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcyh0aGlzLmhvc3RPYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICAvLyBpZiAoY2hhbmdlcz8ub3B0aW9ucz8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmxvYWRNb2R1bGUoY2hhbmdlcz8ub3B0aW9ucz8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZE1vZHVsZSgpIHtcbiAgICAgICAgY29uc3QgdDAgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgXG4gICAgICAgIC8vIENoZWNrIGlmIG9ubHkgbmVlZCB1cGRhdGVcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5jbGVhcigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyB0cnkge1xuICAgICAgICAgICAgICAgIC8vIGlmICh0aGlzLm9wdGlvbnMuYWRkb25JZCkge1xuICAgICAgICAgICAgICAgIC8vICAgICBjb25zdCBwdWJsaWNQYXRoQXJyID0gdGhpcy5vcHRpb25zLnJlbW90ZUVudHJ5LnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnN0IHB1YmxpY1BhdGggPSBwdWJsaWNQYXRoQXJyLnNsaWNlKDAsIHB1YmxpY1BhdGhBcnIubGVuZ3RoIC0gMSkuam9pbignLycpKycvJztcbiAgICAgICAgICAgICAgICAvLyAgICAgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gPSBwdWJsaWNQYXRoO1xuICAgICAgICAgICAgICAgIC8vICAgICB0aGlzLnBlcEFkZG9uU2VydmljZS5zZXRBZGRvblN0YXRpY0ZvbGRlcihwdWJsaWNQYXRoLCB0aGlzLm9wdGlvbnMuYWRkb25JZCk7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIGNvbnN0IG1vZHVsZSA9ICBhd2FpdCBsb2FkUmVtb3RlTW9kdWxlKHRoaXMub3B0aW9ucykudGhlbihtID0+IG0pO1xuICAgICAgICAgICAgICAgIC8vIGNvbnN0IGNvbXBvbmVudCA9IG1vZHVsZVt0aGlzLm9wdGlvbnMuY29tcG9uZW50TmFtZV07XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5jb21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuXG4gICAgICAgICAgICAvLyB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5jbGVhcigpO1xuICAgICAgICAgICAgICAgIC8vIExvYWQgQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubm9Nb2R1bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gYXdhaXQgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpLnRoZW4obSA9PiBtW3RoaXMub3B0aW9ucy5jb21wb25lbnROYW1lXSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyBOZXcgY29kZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgLy8gT2xkIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgbnVsbCwgdGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIExvYWQgTW9kdWxlXG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IHB1YmxpY1BhdGhBcnIgPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgcHVibGljUGF0aCA9IHB1YmxpY1BhdGhBcnIuc2xpY2UoMCwgcHVibGljUGF0aEFyci5sZW5ndGggLSAxKS5qb2luKCcvJykrJy8nO1xuICAgICAgICAgICAgICAgICAgICAvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyA9IHB1YmxpY1BhdGg7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMucGVwQWRkb25TZXJ2aWNlLnNldEFkZG9uU3RhdGljRm9sZGVyKHB1YmxpY1BhdGgsIHRoaXMub3B0aW9ucy5hZGRvbklkKTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gIGF3YWl0IGxvYWRSZW1vdGVNb2R1bGUodGhpcy5vcHRpb25zKS50aGVuKG0gPT4gbSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyBOZXcgY29kZVxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBtb2R1bGVSZWYgPSBjcmVhdGVOZ01vZHVsZVJlZihtb2R1bGUsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBjb21wb25lbnQgPSBtb2R1bGVbdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciwgbmdNb2R1bGVSZWY6IG1vZHVsZVJlZiB9KTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC8vIE9sZCBjb2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZHVsZUZhY3Rvcnk6IE5nTW9kdWxlRmFjdG9yeTxhbnk+ID0gdGhpcy5jb21waWxlci5jb21waWxlTW9kdWxlU3luYyhtb2R1bGVbdGhpcy5vcHRpb25zLmV4cG9zZWRNb2R1bGUucmVwbGFjZSgnLi8nLCcnKV0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVSZWYgPSBtb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSBtb2R1bGVSZWY/LmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj8ucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkobW9kdWxlW3RoaXMub3B0aW9ucy5jb21wb25lbnROYW1lXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgbnVsbCwgdGhpcy5pbmplY3RvciwgbnVsbCwgbW9kdWxlUmVmKTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdDEgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlbW90ZSBtb2R1bGUgbG9hZCBwZXJmb3JtYW5jZTogJyArICh0MS10MCkvMTAwMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5sb2FkLmVtaXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SG9zdENvbXBvbmVudEludG9Db21wb25lbnRSZWYoKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5jb21wUmVmPy5pbnN0YW5jZVsnaG9zdEV2ZW50cyddPy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gc3dpdGNoKGUuYWN0aW9uKXtcbiAgICAgICAgICAgICAgICAvLyAgICAgY2FzZSAnYWRkb24tbG9hZGVkJzpcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHRoaXMuc2hvd1NwaW5uZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0RXZlbnRzLmVtaXQoZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcFJlZj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXI/LmNsZWFyKCk7XG4gICAgfVxufVxuXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUFZLFlBQVksRUFBRSxNQUFNLEVBQStCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFXekUsTUFBTSxPQUFPLHdCQUF3QjtJQWdDakMsWUFDWSxRQUFrQixFQUNsQixlQUFnQztRQURoQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQS9CcEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFZaEQsMkRBQTJEO1FBQ25ELGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBVXRCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFRcEQsQ0FBQztJQS9CTCxJQUNJLE9BQU8sQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8s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Q0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFBQyxPQUFNLEtBQUssRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDOztxSEF4R1Esd0JBQXdCO3lHQUF4Qix3QkFBd0IsaVFBQ0MsZ0JBQWdCLGdFQU54Qzs7O0tBR1Q7MkZBRVEsd0JBQXdCO2tCQVBwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7O0tBR1Q7aUJBQ0o7NkhBRXVFLGFBQWE7c0JBQWhGLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTlELE9BQU87c0JBRFYsS0FBSztnQkFjRixVQUFVO3NCQURiLEtBQUs7Z0JBU0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBDb21wb25lbnRSZWYsIFNpbXBsZUNoYW5nZXMsIGNyZWF0ZU5nTW9kdWxlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbic7XG5pbXBvcnQgeyBQZXBBZGRvblNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcmVtb3RlLWxvYWRlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPCEtLSA8bWF0LXNwaW5uZXIgKm5nSWY9XCJzaG93U3Bpbm5lcjsgZWxzZSBwbGFjZUhvbGRlclwiPjwvbWF0LXNwaW5uZXI+IC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3BsYWNlSG9sZGVyPjwvbmctdGVtcGxhdGU+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBQZXBSZW1vdGVMb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ3BsYWNlSG9sZGVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcbiAgICBcbiAgICBwcml2YXRlIF9vcHRpb25zOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBvcHRpb25zKHZhbHVlOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRNb2R1bGUoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgb3B0aW9ucygpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuICAgIFxuICAgIC8vIFRoaXMgaXMgdGhlIGRhdGEgcGFzc2VkIGJ5IHRoZSBBUEkgRGVzaWduIGRvY3VtZW50YXRpb24uXG4gICAgcHJpdmF0ZSBfaG9zdE9iamVjdDogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBob3N0T2JqZWN0KHZhbHVlOiBhbnkpIHsgXG4gICAgICAgIHRoaXMuX2hvc3RPYmplY3QgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpO1xuICAgIH1cbiAgICBnZXQgaG9zdE9iamVjdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5faG9zdE9iamVjdDtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgaG9zdEV2ZW50czogRXZlbnRFbWl0dGVyPGFueT4gPSAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gc2hvd1NwaW5uZXIgPSB0cnVlO1xuICAgIFxuICAgIHByaXZhdGUgY29tcFJlZjogQ29tcG9uZW50UmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcGVwQWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2VcbiAgICApIHsgfVxuXG4gICAgcHJpdmF0ZSBzZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdE9iamVjdCAmJiB0aGlzLmNvbXBSZWY/Lmluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UuaG9zdE9iamVjdCA9IHRoaXMuaG9zdE9iamVjdDtcblxuICAgICAgICAgICAgLy8gVE9ETzogQ2hlY2sgaWYgdGhpcyBpcyBuZWVkZWQ/PyBpZiBub3QgcmVtb3ZlIHRoaXMuXG4gICAgICAgICAgICAvLyBpZiAodGhpcy5jb21wUmVmPy5pbnN0YW5jZT8ubmdPbkNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vICAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UubmdPbkNoYW5nZXModGhpcy5ob3N0T2JqZWN0KTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgLy8gaWYgKGNoYW5nZXM/Lm9wdGlvbnM/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAvLyAgICAgdGhpcy5sb2FkTW9kdWxlKGNoYW5nZXM/Lm9wdGlvbnM/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGxvYWRNb2R1bGUoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICBcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uY2xlYXIoKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5leHBvc2VkTW9kdWxlPy5sZW5ndGggPiAwKSB7IC8vIExvYWQgbW9kdWxlXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8uYWRkb25JZCAmJiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICdtb2R1bGUnIHx8IHRoaXMub3B0aW9ucy50eXBlID09PSAnc2NyaXB0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnk/Lmxhc3RJbmRleE9mKCcvJykgfHwgLTE7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdWJsaWNQYXRoID0gdGhpcy5vcHRpb25zLnJlbW90ZUVudHJ5LnN1YnN0cmluZygwLCBsYXN0U2xhc2hJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2Uuc2V0QWRkb25TdGF0aWNGb2xkZXIocHVibGljUGF0aCwgdGhpcy5vcHRpb25zLmFkZG9uSWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gIGF3YWl0IGxvYWRSZW1vdGVNb2R1bGUodGhpcy5vcHRpb25zKS50aGVuKG0gPT4gbSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlUmVmID0gY3JlYXRlTmdNb2R1bGVSZWYobW9kdWxlW3RoaXMub3B0aW9ucy5leHBvc2VkTW9kdWxlLnJlcGxhY2UoJy4vJywnJyldLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KG1vZHVsZVt0aGlzLm9wdGlvbnMuY29tcG9uZW50TmFtZV0sIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsIG5nTW9kdWxlUmVmOiBtb2R1bGVSZWYgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgaW4gdXNlPz8/IChjb21tZW50IG91dCBpbiBBbmd1bGFyIDE0IHZlcnNpb24pXG4gICAgICAgICAgICAvLyBlbHNlIHsgLy8gTG9hZCBDb21wb25lbnRcbiAgICAgICAgICAgIC8vICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gYXdhaXQgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpLnRoZW4obSA9PiBtW3RoaXMub3B0aW9ucy5jb21wb25lbnROYW1lXSk7XG4gICAgICAgICAgICAvLyAgICAgdGhpcy5jb21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pO1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWQuZW1pdCgpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb21wUmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZj8uaW5zdGFuY2VbJ2hvc3RFdmVudHMnXT8uc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBzd2l0Y2goZS5hY3Rpb24pe1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgY2FzZSAnYWRkb24tbG9hZGVkJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB0aGlzLnNob3dTcGlubmVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0RXZlbnRzLmVtaXQoZSlcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wUmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uY2xlYXIoKTtcbiAgICB9XG59XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkUmVtb3RlTW9kdWxlU2NyaXB0T3B0aW9ucyB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uXCJcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2l6ZVR5cGUgfSBmcm9tIFwiQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudFJlbGF0aW9uIH0gZnJvbSBcIkBwZXBwZXJpLWFkZG9ucy9wYXBpLXNka1wiO1xuXG50eXBlIFBlcFJlbW90ZUxvYWRlckRhdGEgPSB7XG4gICAgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuICAgIGFkZG9uSWQ6IHN0cmluZztcbiAgICB1cGRhdGU/OiBib29sZWFuO1xuICAgIG5vTW9kdWxlPzogYm9vbGVhbjtcbiAgICAvLyB0aXRsZTogc3RyaW5nO1xuICAgIC8vIG1vZHVsZURhdGE/OiBvYmplY3Q7XG4gICAgLy8gdmlzaWJsZUVuZHBvaW50Pzogc3RyaW5nO1xuICAgIC8vIG11bHRpU2VsZWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyA7XG4gICAgLy8gY29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAvLyB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBba2V5OnN0cmluZ106IGFueTsgLy8gSWYgYW55b25lIHdpbGwgbmVlZCBpdCB0aGVuIGFkZCBpdCEhIVxufVxuXG5leHBvcnQgdHlwZSBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gTG9hZFJlbW90ZU1vZHVsZVNjcmlwdE9wdGlvbnMgJiBQZXBSZW1vdGVMb2FkZXJEYXRhO1xuXG5leHBvcnQgdHlwZSBQZXBCbG9ja0RhdGFUeXBlID0gJ1NldHRpbmdzQmxvY2snIHwgJ0FkZG9uQmxvY2snIHwgJ1BhZ2VCbG9jayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsb2NrTG9hZGVyRGF0YSB7XG4gICAgcmVsYXRpb246IE5nQ29tcG9uZW50UmVsYXRpb24sIFxuICAgIGFkZG9uUHVibGljQmFzZVVSTDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJPcHRpb25zIHtcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgYmxvY2tUeXBlPzogUGVwQmxvY2tEYXRhVHlwZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaG9zdE9iamVjdD86IGFueTtcbiAgICBob3N0RXZlbnRzQ2FsbGJhY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMge1xuICAgIGRhdGE/OiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ0RhdGFPcHRpb25zO1xuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgICBzaXplPzogUGVwRGlhbG9nU2l6ZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dEYXRhT3B0aW9ucyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgICBzaG93SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uXCI7XG5pbXBvcnQgeyBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IFBlcERpYWxvZ1NpemVUeXBlIH0gZnJvbSBcIkBwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZ1wiO1xuaW1wb3J0IHsgSW5zdGFsbGVkQWRkb24sIE5nQ29tcG9uZW50UmVsYXRpb24gfSBmcm9tIFwiQHBlcHBlcmktYWRkb25zL3BhcGktc2RrXCI7XG5cbnR5cGUgUGVwUmVtb3RlTG9hZGVyRGF0YSA9IHtcbiAgICBhZGRvbklkPzogc3RyaW5nO1xuICAgIGNvbXBvbmVudE5hbWU/OiBzdHJpbmc7XG4gICAgLy8gRm9yIHdlYiBjb21wb25lbnRzXG4gICAgZWxlbWVudE5hbWU/OiBzdHJpbmc7XG4gICAgXG4gICAgLy8gZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgLy8gTWF5YmUgdGhvc2UgcHJvcGVydGllcyBhcmUgbm90IGluIHVzZSBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGVtLlxuICAgIC8vIHVwZGF0ZT86IGJvb2xlYW47XG4gICAgLy8gbm9Nb2R1bGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gUGVwUmVtb3RlTG9hZGVyRGF0YSAmIExvYWRSZW1vdGVNb2R1bGVPcHRpb25zO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBSZW1vdGVMb2FkZXJQYXJhbXNPcHRpb25zIHtcbiAgICBuYW1lPzogc3RyaW5nLCBcbiAgICBzbHVnTmFtZT86IHN0cmluZywgXG4gICAgYmxvY2tUeXBlPzogc3RyaW5nLFxuICAgIGFkZG9uVVVJRD86IHN0cmluZyxcbiAgICBibG9ja1JlbW90ZUVudHJ5Pzogc3RyaW5nLFxuICAgIHBhZ2VzRGV2U2VydmVyPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsb2NrTG9hZGVyRGF0YSB7XG4gICAgcmVsYXRpb246IE5nQ29tcG9uZW50UmVsYXRpb24sIFxuICAgIGFkZG9uOiBJbnN0YWxsZWRBZGRvbixcbiAgICBhZGRvblB1YmxpY0Jhc2VVUkw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucyBleHRlbmRzIElQZXBSZW1vdGVMb2FkZXJQYXJhbXNPcHRpb25zIHtcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgaG9zdE9iamVjdD86IGFueTtcbiAgICBob3N0RXZlbnRzQ2FsbGJhY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMge1xuICAgIGRhdGE/OiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ0RhdGFPcHRpb25zO1xuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgICBzaXplPzogUGVwRGlhbG9nU2l6ZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dEYXRhT3B0aW9ucyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgICBzaG93SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbn0iXX0=
@@ -4,28 +4,34 @@ import { CommonModule } from '@angular/common';
4
4
  import { MatDialogModule } from '@angular/material/dialog';
5
5
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
6
6
  import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
7
+ import { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
7
8
  import { PepAddonBlockLoaderComponent } from './addon-block-loader.component';
8
9
  import { PepAddonBlockLoaderService } from './addon-block-loader.service';
9
10
  import { PepRemoteLoaderComponent } from './remote-loader.component';
10
11
  import { PepRemoteLoaderService } from './remote-loader.service';
12
+ import { PepRemoteLoaderElementComponent } from './remote-loader-element.component';
11
13
  import * as i0 from "@angular/core";
12
14
  export class PepRemoteLoaderModule {
13
15
  }
14
16
  PepRemoteLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
17
  PepRemoteLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, declarations: [PepAddonBlockLoaderComponent,
16
- PepRemoteLoaderComponent], imports: [CommonModule,
18
+ PepRemoteLoaderComponent,
19
+ PepRemoteLoaderElementComponent], imports: [CommonModule,
17
20
  HttpClientModule,
21
+ ModuleFederationToolsModule,
18
22
  // Material modules,
19
23
  MatDialogModule,
20
24
  // ngx-lib modules
21
25
  PepNgxLibModule,
22
26
  PepDialogModule], exports: [PepAddonBlockLoaderComponent,
23
- PepRemoteLoaderComponent] });
27
+ PepRemoteLoaderComponent,
28
+ PepRemoteLoaderElementComponent] });
24
29
  PepRemoteLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, providers: [
25
30
  PepAddonBlockLoaderService,
26
31
  PepRemoteLoaderService
27
32
  ], imports: [CommonModule,
28
33
  HttpClientModule,
34
+ ModuleFederationToolsModule,
29
35
  // Material modules,
30
36
  MatDialogModule,
31
37
  // ngx-lib modules
@@ -37,10 +43,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
37
43
  declarations: [
38
44
  PepAddonBlockLoaderComponent,
39
45
  PepRemoteLoaderComponent,
46
+ PepRemoteLoaderElementComponent,
40
47
  ],
41
48
  imports: [
42
49
  CommonModule,
43
50
  HttpClientModule,
51
+ ModuleFederationToolsModule,
44
52
  // Material modules,
45
53
  MatDialogModule,
46
54
  // ngx-lib modules
@@ -50,6 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
50
58
  exports: [
51
59
  PepAddonBlockLoaderComponent,
52
60
  PepRemoteLoaderComponent,
61
+ PepRemoteLoaderElementComponent
53
62
  ],
54
63
  providers: [
55
64
  PepAddonBlockLoaderService,
@@ -57,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
57
66
  ]
58
67
  }]
59
68
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBeUJqRSxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBckIxQiw0QkFBNEI7UUFDNUIsd0JBQXdCLGFBR3hCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGVBQWUsYUFHZiw0QkFBNEI7UUFDNUIsd0JBQXdCO21IQU9uQixxQkFBcUIsYUFMbkI7UUFDUCwwQkFBMEI7UUFDMUIsc0JBQXNCO0tBQ3pCLFlBZkcsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsZUFBZTsyRkFXVixxQkFBcUI7a0JBdkJqQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDViw0QkFBNEI7d0JBQzVCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDTCw0QkFBNEI7d0JBQzVCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3FCQUN6QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQsXG4gICAgICAgIFBlcFJlbW90ZUxvYWRlckNvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIC8vIG5neC1saWIgbW9kdWxlc1xuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCxcbiAgICAgICAgUGVwUmVtb3RlTG9hZGVyQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFBlcEFkZG9uQmxvY2tMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBSZW1vdGVMb2FkZXJNb2R1bGUge1xuXG5cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFMUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBNEJwRixNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBeEIxQiw0QkFBNEI7UUFDNUIsd0JBQXdCO1FBQ3hCLCtCQUErQixhQUcvQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLDJCQUEyQjtRQUMzQixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsZUFBZSxhQUdmLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIsK0JBQStCO21IQU8xQixxQkFBcUIsYUFMbkI7UUFDUCwwQkFBMEI7UUFDMUIsc0JBQXNCO0tBQ3pCLFlBakJHLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsMkJBQTJCO1FBQzNCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixlQUFlOzJGQVlWLHFCQUFxQjtrQkExQmpDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3dCQUN4QiwrQkFBK0I7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDTCw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQixzQkFBc0I7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBQZXBOZ3hMaWJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuaW1wb3J0IHsgTW9kdWxlRmVkZXJhdGlvblRvb2xzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbi10b29scyc7XG5cbmltcG9ydCB7IFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlclNlcnZpY2UgfSBmcm9tICcuL2FkZG9uLWJsb2NrLWxvYWRlci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQsXG4gICAgICAgIFBlcFJlbW90ZUxvYWRlckNvbXBvbmVudCxcbiAgICAgICAgUGVwUmVtb3RlTG9hZGVyRWxlbWVudENvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgICAgICBNb2R1bGVGZWRlcmF0aW9uVG9vbHNNb2R1bGUsXG4gICAgICAgIC8vIE1hdGVyaWFsIG1vZHVsZXMsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50LFxuICAgICAgICBQZXBSZW1vdGVMb2FkZXJDb21wb25lbnQsXG4gICAgICAgIFBlcFJlbW90ZUxvYWRlckVsZW1lbnRDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSxcbiAgICAgICAgUGVwUmVtb3RlTG9hZGVyU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyTW9kdWxlIHtcblxuXG59XG4iXX0=
@@ -1,57 +1,81 @@
1
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
1
2
  import { Injectable } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@pepperi-addons/ngx-lib";
4
- import * as i2 from "@angular/router";
5
5
  export class PepRemoteLoaderService {
6
- constructor(httpService, sessionService, addonService, route) {
6
+ constructor(httpService, sessionService, addonService) {
7
7
  this.httpService = httpService;
8
8
  this.sessionService = sessionService;
9
9
  this.addonService = addonService;
10
- this.route = route;
11
10
  //
12
11
  }
13
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
14
- return {
15
- addonId: blockLoaderData.relation.AddonUUID,
16
- remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
12
+ getRemoteLoaderOptions(blockLoaderData, blockRemoteEntry = '', type = 'module') {
13
+ const exposedModule = blockLoaderData.relation.ElementsModule?.length > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;
14
+ const res = {
15
+ type: type,
16
+ remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
17
17
  remoteName: blockLoaderData.relation.AddonRelativeURL,
18
- exposedModule: `./${blockLoaderData.relation.ModuleName}`,
19
- componentName: blockLoaderData.relation.ComponentName,
18
+ exposedModule: `./${exposedModule}`,
19
+ addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).
20
20
  };
21
+ // If it's web components
22
+ if (blockLoaderData.relation.ElementsModule?.length > 0) {
23
+ res['elementName'] = blockLoaderData.relation.ElementName;
24
+ }
25
+ else { // For load the component from the module.
26
+ res['componentName'] = blockLoaderData.relation.ComponentName;
27
+ }
28
+ return res;
21
29
  }
22
- getAddonBaseUrl(addonUUID, fileName = 'api') {
30
+ getBlockLoaderDataUrl(options) {
31
+ const fileName = 'addon_blocks';
32
+ const pagesAddonUuid = this.addonService.getPagesAddonUUID();
33
+ let pagesBaseUrl;
23
34
  // For devServer run server on localhost.
24
- const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';
25
- if (devServer) {
26
- return `http://localhost:4500/${fileName}`;
35
+ if (options.pagesDevServer?.length > 0) {
36
+ pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;
27
37
  }
28
38
  else {
29
39
  const baseUrl = this.sessionService.getPapiBaseUrl();
30
- return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;
40
+ pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;
31
41
  }
42
+ const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;
43
+ return url;
32
44
  }
33
- async getBlockRemoteLoaderOptions(name, blockType = 'AddonBlock', remoteEntry = '') {
45
+ async getBlockRemoteLoaderOptions(options) {
46
+ options.blockType = options.blockType ?? 'AddonBlock';
47
+ options.name = options.name ?? '';
48
+ options.slugName = options.slugName ?? '';
49
+ options.addonUUID = options.addonUUID ?? '';
34
50
  return new Promise((resolve, reject) => {
35
- const pagesAddonUuid = this.addonService.getPagesAddonUUID();
36
- const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');
37
- const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;
38
- this.httpService.getHttpCall(url).toPromise().then((data) => {
39
- if (data) {
40
- resolve(this.getRemoteLoaderOptions(data, remoteEntry));
51
+ if (options.name?.length > 0 || (options.slugName?.length > 0 && options.blockType === 'SettingsBlock')) {
52
+ const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);
53
+ this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data) => {
54
+ const ngVersionNumber = coerceNumberProperty(data.relation?.SubType?.toLocaleLowerCase().replace('ng', ''), 14);
55
+ const type = ngVersionNumber >= 14 ? 'module' : 'script';
56
+ resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));
57
+ }).catch(err => {
58
+ const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`;
59
+ reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);
60
+ });
61
+ }
62
+ else {
63
+ if (options.blockType === 'SettingsBlock') {
64
+ reject(`slugName is not supplied`);
41
65
  }
42
66
  else {
43
- reject(`Addon block with name - ${name} is not found for type - ${blockType}`);
67
+ reject(`name is not supplied`);
44
68
  }
45
- });
69
+ }
46
70
  });
47
71
  }
48
72
  }
49
- PepRemoteLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, deps: [{ token: i1.PepHttpService }, { token: i1.PepSessionService }, { token: i1.PepAddonService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ PepRemoteLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, deps: [{ token: i1.PepHttpService }, { token: i1.PepSessionService }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Injectable });
50
74
  PepRemoteLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, providedIn: 'root' });
51
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, decorators: [{
52
76
  type: Injectable,
53
77
  args: [{
54
78
  providedIn: 'root'
55
79
  }]
56
- }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL3JlbW90ZS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsWUFDWSxXQUEyQixFQUMzQixjQUFpQyxFQUNqQyxZQUE2QixFQUM3QixLQUFxQjtRQUhyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixFQUFFO0lBQ04sQ0FBQztJQUVELHNCQUFzQixDQUFDLGVBQWlDLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDdEUsT0FBTztZQUNILE9BQU8sRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVM7WUFDM0MsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUs7WUFDMUksVUFBVSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ3JELGFBQWEsRUFBRSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3pELGFBQWEsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWE7U0FDeEQsQ0FBQTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBaUIsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUN2RCx5Q0FBeUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUM7UUFDaEYsSUFBRyxTQUFTLEVBQUU7WUFDVixPQUFPLHlCQUF5QixRQUFRLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyRCxPQUFPLEdBQUcsT0FBTyxlQUFlLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBWSxFQUFFLFlBQThCLFlBQVksRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUN4RyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVkscUNBQXFDLElBQUksY0FBYyxTQUFTLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUU7Z0JBQzFFLElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sQ0FBQywyQkFBMkIsSUFBSSw0QkFBNEIsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDbEY7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBN0NRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSwgUGVwSHR0cFNlcnZpY2UsIFBlcFNlc3Npb25TZXJ2aWNlfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBCbG9ja0RhdGFUeXBlLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7IFxuICAgIHByb3ZpZGVkSW46ICdyb290JyBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UmVtb3RlTG9hZGVyT3B0aW9ucyhibG9ja0xvYWRlckRhdGE6IElCbG9ja0xvYWRlckRhdGEsIHJlbW90ZUVudHJ5ID0gJycpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFkZG9uSWQ6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblVVSUQsXG4gICAgICAgICAgICByZW1vdGVFbnRyeTogcmVtb3RlRW50cnkubGVuZ3RoID4gMCA/IHJlbW90ZUVudHJ5IDogYCR7YmxvY2tMb2FkZXJEYXRhLmFkZG9uUHVibGljQmFzZVVSTH0ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblJlbGF0aXZlVVJMfS5qc2AsXG4gICAgICAgICAgICByZW1vdGVOYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25SZWxhdGl2ZVVSTCxcbiAgICAgICAgICAgIGV4cG9zZWRNb2R1bGU6IGAuLyR7YmxvY2tMb2FkZXJEYXRhLnJlbGF0aW9uLk1vZHVsZU5hbWV9YCxcbiAgICAgICAgICAgIGNvbXBvbmVudE5hbWU6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5Db21wb25lbnROYW1lLCBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkb25CYXNlVXJsKGFkZG9uVVVJRDogc3RyaW5nLCBmaWxlTmFtZSA9ICdhcGknKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRm9yIGRldlNlcnZlciBydW4gc2VydmVyIG9uIGxvY2FsaG9zdC5cbiAgICAgICAgY29uc3QgZGV2U2VydmVyID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGV2U2VydmVyJykgPT09ICd0cnVlJztcbiAgICAgICAgaWYoZGV2U2VydmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gYGh0dHA6Ly9sb2NhbGhvc3Q6NDUwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRQYXBpQmFzZVVybCgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9L2FkZG9ucy9hcGkvJHthZGRvblVVSUR9LyR7ZmlsZU5hbWV9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBhc3luYyBnZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMobmFtZTogc3RyaW5nLCBibG9ja1R5cGU6IFBlcEJsb2NrRGF0YVR5cGUgPSAnQWRkb25CbG9jaycsIHJlbW90ZUVudHJ5ID0gJycpOiBQcm9taXNlPFBlcFJlbW90ZUxvYWRlck9wdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VzQWRkb25VdWlkID0gdGhpcy5hZGRvblNlcnZpY2UuZ2V0UGFnZXNBZGRvblVVSUQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VzQmFzZVVybCA9IHRoaXMuZ2V0QWRkb25CYXNlVXJsKHBhZ2VzQWRkb25VdWlkLCAnYWRkb25fYmxvY2tzJyk7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtwYWdlc0Jhc2VVcmx9L2dldF9hZGRvbl9ibG9ja19sb2FkZXJfZGF0YT9uYW1lPSR7bmFtZX0mYmxvY2tUeXBlPSR7YmxvY2tUeXBlfWA7XG4gICAgICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLmdldEh0dHBDYWxsKHVybCkudG9Qcm9taXNlKCkudGhlbigoZGF0YTogSUJsb2NrTG9hZGVyRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5nZXRSZW1vdGVMb2FkZXJPcHRpb25zKGRhdGEsIHJlbW90ZUVudHJ5KSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGBBZGRvbiBibG9jayB3aXRoIG5hbWUgLSAke25hbWV9IGlzIG5vdCBmb3VuZCBmb3IgdHlwZSAtICR7YmxvY2tUeXBlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyBcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
80
+ }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }]; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL3JlbW90ZS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUUvQixZQUNZLFdBQTJCLEVBQzNCLGNBQWlDLEVBQ2pDLFlBQTZCO1FBRjdCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBRXJDLEVBQUU7SUFDTixDQUFDO0lBRUQsc0JBQXNCLENBQUMsZUFBaUMsRUFBRSxnQkFBZ0IsR0FBRyxFQUFFLEVBQUUsT0FBeUMsUUFBUTtRQUM5SCxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDMUosTUFBTSxHQUFHLEdBQUc7WUFDUixJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsS0FBSztZQUNwSixVQUFVLEVBQUUsZUFBZSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7WUFDckQsYUFBYSxFQUFFLEtBQUssYUFBYSxFQUFFO1lBQ25DLE9BQU8s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Q1gsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtvQkFDbkgsTUFBTSxDQUFDLGNBQWMsT0FBTyw0QkFBNEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pGLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0gsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLGVBQWUsRUFBRTtvQkFDdkMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7aUJBQ3RDO3FCQUNJO29CQUNELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2lCQUNsQzthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzttSEExRVEsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTsyRkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwQWRkb25TZXJ2aWNlLCBQZXBIdHRwU2VydmljZSwgUGVwU2Vzc2lvblNlcnZpY2V9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IElQZXBSZW1vdGVMb2FkZXJQYXJhbXNPcHRpb25zLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7IFxuICAgIHByb3ZpZGVkSW46ICdyb290JyBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZVxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIGdldFJlbW90ZUxvYWRlck9wdGlvbnMoYmxvY2tMb2FkZXJEYXRhOiBJQmxvY2tMb2FkZXJEYXRhLCBibG9ja1JlbW90ZUVudHJ5ID0gJycsIHR5cGU6ICdzY3JpcHQnIHwgJ21vZHVsZScgfCAnbWFuaWZlc3QnID0gJ21vZHVsZScpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgY29uc3QgZXhwb3NlZE1vZHVsZSA9IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5FbGVtZW50c01vZHVsZT8ubGVuZ3RoID4gMCA/IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5FbGVtZW50c01vZHVsZSA6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5Nb2R1bGVOYW1lO1xuICAgICAgICBjb25zdCByZXMgPSB7XG4gICAgICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICAgICAgcmVtb3RlRW50cnk6IGJsb2NrUmVtb3RlRW50cnkubGVuZ3RoID4gMCA/IGJsb2NrUmVtb3RlRW50cnkgOiBgJHtibG9ja0xvYWRlckRhdGEuYWRkb25QdWJsaWNCYXNlVVJMfSR7YmxvY2tMb2FkZXJEYXRhLnJlbGF0aW9uLkFkZG9uUmVsYXRpdmVVUkx9LmpzYCxcbiAgICAgICAgICAgIHJlbW90ZU5hbWU6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblJlbGF0aXZlVVJMLCAvLyBGb3Igc2NyaXB0IHR5cGUsIHRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHNjcmlwdC5cbiAgICAgICAgICAgIGV4cG9zZWRNb2R1bGU6IGAuLyR7ZXhwb3NlZE1vZHVsZX1gLFxuICAgICAgICAgICAgYWRkb25JZDogYmxvY2tMb2FkZXJEYXRhLnJlbGF0aW9uLkFkZG9uVVVJRCwgLy8gRm9yIGxvY2FsIHVzZSAoYWRkaW5nIHRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhc3NldHMpLlxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBJZiBpdCdzIHdlYiBjb21wb25lbnRzXG4gICAgICAgIGlmIChibG9ja0xvYWRlckRhdGEucmVsYXRpb24uRWxlbWVudHNNb2R1bGU/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJlc1snZWxlbWVudE5hbWUnXSA9IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5FbGVtZW50TmFtZVxuICAgICAgICB9IGVsc2UgeyAvLyBGb3IgbG9hZCB0aGUgY29tcG9uZW50IGZyb20gdGhlIG1vZHVsZS5cbiAgICAgICAgICAgIHJlc1snY29tcG9uZW50TmFtZSddID0gYmxvY2tMb2FkZXJEYXRhLnJlbGF0aW9uLkNvbXBvbmVudE5hbWU7IFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJsb2NrTG9hZGVyRGF0YVVybChvcHRpb25zOiBJUGVwUmVtb3RlTG9hZGVyUGFyYW1zT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gJ2FkZG9uX2Jsb2Nrcyc7XG4gICAgICAgIGNvbnN0IHBhZ2VzQWRkb25VdWlkID0gdGhpcy5hZGRvblNlcnZpY2UuZ2V0UGFnZXNBZGRvblVVSUQoKTtcbiAgICAgICAgbGV0IHBhZ2VzQmFzZVVybDtcblxuICAgICAgICAvLyBGb3IgZGV2U2VydmVyIHJ1biBzZXJ2ZXIgb24gbG9jYWxob3N0LlxuICAgICAgICBpZihvcHRpb25zLnBhZ2VzRGV2U2VydmVyPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYWdlc0Jhc2VVcmwgPSBgJHtvcHRpb25zLnBhZ2VzRGV2U2VydmVyfS8ke2ZpbGVOYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRQYXBpQmFzZVVybCgpO1xuICAgICAgICAgICAgcGFnZXNCYXNlVXJsID0gYCR7YmFzZVVybH0vYWRkb25zL2FwaS8ke3BhZ2VzQWRkb25VdWlkfS8ke2ZpbGVOYW1lfWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cmwgPSBgJHtwYWdlc0Jhc2VVcmx9L2dldF9hZGRvbl9ibG9ja19sb2FkZXJfZGF0YT9uYW1lPSR7b3B0aW9ucy5uYW1lfSZzbHVnTmFtZT0ke29wdGlvbnMuc2x1Z05hbWV9JmJsb2NrVHlwZT0ke29wdGlvbnMuYmxvY2tUeXBlfSZhZGRvblVVSUQ9JHtvcHRpb25zLmFkZG9uVVVJRH1gO1xuICAgICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEJsb2NrUmVtb3RlTG9hZGVyT3B0aW9ucyhvcHRpb25zOiBJUGVwUmVtb3RlTG9hZGVyUGFyYW1zT3B0aW9ucyk6IFByb21pc2U8UGVwUmVtb3RlTG9hZGVyT3B0aW9ucz4ge1xuICAgICAgICBvcHRpb25zLmJsb2NrVHlwZSA9IG9wdGlvbnMuYmxvY2tUeXBlID8/ICdBZGRvbkJsb2NrJztcbiAgICAgICAgb3B0aW9ucy5uYW1lID0gb3B0aW9ucy5uYW1lID8/ICcnO1xuICAgICAgICBvcHRpb25zLnNsdWdOYW1lID0gb3B0aW9ucy5zbHVnTmFtZSA/PyAnJztcbiAgICAgICAgb3B0aW9ucy5hZGRvblVVSUQgPSBvcHRpb25zLmFkZG9uVVVJRCA/PyAnJztcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubmFtZT8ubGVuZ3RoID4gMCB8fCAob3B0aW9ucy5zbHVnTmFtZT8ubGVuZ3RoID4gMCAmJiBvcHRpb25zLmJsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrTG9hZGVyRGF0YVVybCA9IHRoaXMuZ2V0QmxvY2tMb2FkZXJEYXRhVXJsKG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuaHR0cFNlcnZpY2UuZ2V0SHR0cENhbGwoYmxvY2tMb2FkZXJEYXRhVXJsKS50b1Byb21pc2UoKS50aGVuKChkYXRhOiBJQmxvY2tMb2FkZXJEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5nVmVyc2lvbk51bWJlciA9IGNvZXJjZU51bWJlclByb3BlcnR5KGRhdGEucmVsYXRpb24/LlN1YlR5cGU/LnRvTG9jYWxlTG93ZXJDYXNlKCkucmVwbGFjZSgnbmcnLCAnJyksIDE0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IG5nVmVyc2lvbk51bWJlciA+PSAxNCA/ICdtb2R1bGUnIDogJ3NjcmlwdCc7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmdldFJlbW90ZUxvYWRlck9wdGlvbnMoZGF0YSwgb3B0aW9ucy5ibG9ja1JlbW90ZUVudHJ5LCB0eXBlKSk7XG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmFtZU1zZyA9IG9wdGlvbnMuYmxvY2tUeXBlID09PSAnU2V0dGluZ3NCbG9jaycgPyBgc2x1Z05hbWUgLSAke29wdGlvbnMuc2x1Z05hbWV9YCA6IGBuYW1lIC0gJHtvcHRpb25zLm5hbWV9YFxuICAgICAgICAgICAgICAgICAgICByZWplY3QoYEJsb2NrIHdpdGggJHtuYW1lTXNnfSBpcyBub3QgZm91bmQgZm9yIHR5cGUgLSAke29wdGlvbnMuYmxvY2tUeXBlfWApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ibG9ja1R5cGUgPT09ICdTZXR0aW5nc0Jsb2NrJykge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoYHNsdWdOYW1lIGlzIG5vdCBzdXBwbGllZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGBuYW1lIGlzIG5vdCBzdXBwbGllZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19