@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,77 +1,106 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, createNgModuleRef, ViewContainerRef, Component, ViewChild, Input, Output, Optional, TemplateRef, NgModule } from '@angular/core';
3
3
  import { __awaiter } from 'tslib';
4
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
4
5
  import * as i1 from '@pepperi-addons/ngx-lib';
5
6
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
6
- import * as i2 from '@angular/router';
7
- import * as i2$1 from '@angular/common';
7
+ import * as i2 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i1$1 from '@pepperi-addons/ngx-lib/dialog';
10
10
  import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
11
11
  import { loadRemoteModule } from '@angular-architects/module-federation';
12
+ import * as i3 from '@angular/router';
12
13
  import { HttpClientModule } from '@angular/common/http';
13
14
  import { MatDialogModule } from '@angular/material/dialog';
15
+ import { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
14
16
 
15
17
  class PepRemoteLoaderService {
16
- constructor(httpService, sessionService, addonService, route) {
18
+ constructor(httpService, sessionService, addonService) {
17
19
  this.httpService = httpService;
18
20
  this.sessionService = sessionService;
19
21
  this.addonService = addonService;
20
- this.route = route;
21
22
  //
22
23
  }
23
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
24
- return {
25
- addonId: blockLoaderData.relation.AddonUUID,
26
- remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
24
+ getRemoteLoaderOptions(blockLoaderData, blockRemoteEntry = '', type = 'module') {
25
+ var _a, _b;
26
+ const exposedModule = ((_a = blockLoaderData.relation.ElementsModule) === null || _a === void 0 ? void 0 : _a.length) > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;
27
+ const res = {
28
+ type: type,
29
+ remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
27
30
  remoteName: blockLoaderData.relation.AddonRelativeURL,
28
- exposedModule: `./${blockLoaderData.relation.ModuleName}`,
29
- componentName: blockLoaderData.relation.ComponentName,
31
+ exposedModule: `./${exposedModule}`,
32
+ addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).
30
33
  };
34
+ // If it's web components
35
+ if (((_b = blockLoaderData.relation.ElementsModule) === null || _b === void 0 ? void 0 : _b.length) > 0) {
36
+ res['elementName'] = blockLoaderData.relation.ElementName;
37
+ }
38
+ else { // For load the component from the module.
39
+ res['componentName'] = blockLoaderData.relation.ComponentName;
40
+ }
41
+ return res;
31
42
  }
32
- getAddonBaseUrl(addonUUID, fileName = 'api') {
43
+ getBlockLoaderDataUrl(options) {
44
+ var _a;
45
+ const fileName = 'addon_blocks';
46
+ const pagesAddonUuid = this.addonService.getPagesAddonUUID();
47
+ let pagesBaseUrl;
33
48
  // For devServer run server on localhost.
34
- const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';
35
- if (devServer) {
36
- return `http://localhost:4500/${fileName}`;
49
+ if (((_a = options.pagesDevServer) === null || _a === void 0 ? void 0 : _a.length) > 0) {
50
+ pagesBaseUrl = `${options.pagesDevServer}/${fileName}`;
37
51
  }
38
52
  else {
39
53
  const baseUrl = this.sessionService.getPapiBaseUrl();
40
- return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;
54
+ pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;
41
55
  }
56
+ const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${options.name}&slugName=${options.slugName}&blockType=${options.blockType}&addonUUID=${options.addonUUID}`;
57
+ return url;
42
58
  }
43
- getBlockRemoteLoaderOptions(name, blockType = 'AddonBlock', remoteEntry = '') {
59
+ getBlockRemoteLoaderOptions(options) {
60
+ var _a, _b, _c, _d;
44
61
  return __awaiter(this, void 0, void 0, function* () {
62
+ options.blockType = (_a = options.blockType) !== null && _a !== void 0 ? _a : 'AddonBlock';
63
+ options.name = (_b = options.name) !== null && _b !== void 0 ? _b : '';
64
+ options.slugName = (_c = options.slugName) !== null && _c !== void 0 ? _c : '';
65
+ options.addonUUID = (_d = options.addonUUID) !== null && _d !== void 0 ? _d : '';
45
66
  return new Promise((resolve, reject) => {
46
- const pagesAddonUuid = this.addonService.getPagesAddonUUID();
47
- const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');
48
- const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;
49
- this.httpService.getHttpCall(url).toPromise().then((data) => {
50
- if (data) {
51
- resolve(this.getRemoteLoaderOptions(data, remoteEntry));
67
+ var _a, _b;
68
+ if (((_a = options.name) === null || _a === void 0 ? void 0 : _a.length) > 0 || (((_b = options.slugName) === null || _b === void 0 ? void 0 : _b.length) > 0 && options.blockType === 'SettingsBlock')) {
69
+ const blockLoaderDataUrl = this.getBlockLoaderDataUrl(options);
70
+ this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data) => {
71
+ var _a, _b;
72
+ const ngVersionNumber = coerceNumberProperty((_b = (_a = data.relation) === null || _a === void 0 ? void 0 : _a.SubType) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase().replace('ng', ''), 14);
73
+ const type = ngVersionNumber >= 14 ? 'module' : 'script';
74
+ resolve(this.getRemoteLoaderOptions(data, options.blockRemoteEntry, type));
75
+ }).catch(err => {
76
+ const nameMsg = options.blockType === 'SettingsBlock' ? `slugName - ${options.slugName}` : `name - ${options.name}`;
77
+ reject(`Block with ${nameMsg} is not found for type - ${options.blockType}`);
78
+ });
79
+ }
80
+ else {
81
+ if (options.blockType === 'SettingsBlock') {
82
+ reject(`slugName is not supplied`);
52
83
  }
53
84
  else {
54
- reject(`Addon block with name - ${name} is not found for type - ${blockType}`);
85
+ reject(`name is not supplied`);
55
86
  }
56
- });
87
+ }
57
88
  });
58
89
  });
59
90
  }
60
91
  }
61
- 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 });
92
+ 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 });
62
93
  PepRemoteLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, providedIn: 'root' });
63
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, decorators: [{
64
95
  type: Injectable,
65
96
  args: [{
66
97
  providedIn: 'root'
67
98
  }]
68
- }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
99
+ }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }]; } });
69
100
 
70
101
  class PepRemoteLoaderComponent {
71
- constructor(injector, cfr, compiler, pepAddonService) {
102
+ constructor(injector, pepAddonService) {
72
103
  this.injector = injector;
73
- this.cfr = cfr;
74
- this.compiler = compiler;
75
104
  this.pepAddonService = pepAddonService;
76
105
  this._options = null;
77
106
  // This is the data passed by the API Design documentation.
@@ -96,81 +125,59 @@ class PepRemoteLoaderComponent {
96
125
  return this._hostObject;
97
126
  }
98
127
  setHostComponentIntoComponentRef() {
99
- var _a, _b, _c;
128
+ var _a;
100
129
  if (this.hostObject && ((_a = this.compRef) === null || _a === void 0 ? void 0 : _a.instance)) {
101
130
  this.compRef.instance.hostObject = this.hostObject;
102
131
  // TODO: Check if this is needed?? if not remove this.
103
- if ((_c = (_b = this.compRef) === null || _b === void 0 ? void 0 : _b.instance) === null || _c === void 0 ? void 0 : _c.ngOnChanges) {
104
- this.compRef.instance.ngOnChanges(this.hostObject);
105
- }
132
+ // if (this.compRef?.instance?.ngOnChanges) {
133
+ // this.compRef.instance.ngOnChanges(this.hostObject);
134
+ // }
106
135
  }
107
136
  }
108
137
  ngOnChanges(changes) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- // if (changes?.options?.currentValue) {
111
- // this.loadModule(changes?.options?.currentValue);
112
- // }
113
- });
138
+ // if (changes?.options?.currentValue) {
139
+ // this.loadModule(changes?.options?.currentValue);
140
+ // }
114
141
  }
115
142
  loadModule() {
116
- var _a, _b, _c, _d, _e, _f, _g;
143
+ var _a, _b, _c, _d, _e, _f;
117
144
  return __awaiter(this, void 0, void 0, function* () {
118
- const t0 = performance.now();
119
- // Check if only need update
120
- if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.update)) {
121
- (_b = this.viewContainer) === null || _b === void 0 ? void 0 : _b.clear();
122
- // try {
123
- // if (this.options.addonId) {
124
- // const publicPathArr = this.options.remoteEntry.split('/');
125
- // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
126
- // __webpack_public_path__ = publicPath;
127
- // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
128
- // }
129
- // const module = await loadRemoteModule(this.options).then(m => m);
130
- // const component = module[this.options.componentName];
131
- // this.compRef = this.viewContainer.createComponent(component);
132
- // } catch (e) {
133
- (_c = this.viewContainer) === null || _c === void 0 ? void 0 : _c.clear();
134
- // Load Component
135
- if ((_d = this.options) === null || _d === void 0 ? void 0 : _d.noModule) {
136
- const component = yield loadRemoteModule(this.options).then(m => m[this.options.componentName]);
137
- // New code
138
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
139
- // Old code
140
- const componentFactory = this.cfr.resolveComponentFactory(component);
141
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);
142
- }
143
- // Load Module
144
- else {
145
- // const publicPathArr = this.options.remoteEntry.split('/');
146
- // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
147
- // __webpack_public_path__ = publicPath;
148
- // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
145
+ try {
146
+ const t0 = performance.now();
147
+ (_a = this.viewContainer) === null || _a === void 0 ? void 0 : _a.clear();
148
+ if (((_b = this.options.exposedModule) === null || _b === void 0 ? void 0 : _b.length) > 0) { // Load module
149
+ if (((_c = this.options) === null || _c === void 0 ? void 0 : _c.addonId) && (this.options.type === 'module' || this.options.type === 'script')) {
150
+ const lastSlashIndex = ((_d = this.options.remoteEntry) === null || _d === void 0 ? void 0 : _d.lastIndexOf('/')) || -1;
151
+ if (lastSlashIndex > 0) {
152
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
153
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
154
+ }
155
+ }
149
156
  const module = yield loadRemoteModule(this.options).then(m => m);
150
- // New code
151
- // const moduleRef = createNgModuleRef(module, this.injector);
152
- // const component = module[this.options.componentName];
153
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
154
- // Old code
155
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
156
- const moduleRef = moduleFactory.create(this.injector);
157
- const componentFactory = (_e = moduleRef === null || moduleRef === void 0 ? void 0 : moduleRef.componentFactoryResolver) === null || _e === void 0 ? void 0 : _e.resolveComponentFactory(module[this.options.componentName]);
158
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
157
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
158
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
159
159
  const t1 = performance.now();
160
160
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
161
161
  }
162
+ // Check if this is in use??? (comment out in Angular 14 version)
163
+ // else { // Load Component
164
+ // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
165
+ // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
162
166
  // }
163
167
  this.load.emit();
168
+ if (this.compRef) {
169
+ this.setHostComponentIntoComponentRef();
170
+ (_f = (_e = this.compRef) === null || _e === void 0 ? void 0 : _e.instance['hostEvents']) === null || _f === void 0 ? void 0 : _f.subscribe(e => {
171
+ // switch(e.action){
172
+ // case 'addon-loaded':
173
+ // this.showSpinner = false;
174
+ // }
175
+ this.hostEvents.emit(e);
176
+ });
177
+ }
164
178
  }
165
- if (this.compRef) {
166
- this.setHostComponentIntoComponentRef();
167
- (_g = (_f = this.compRef) === null || _f === void 0 ? void 0 : _f.instance['hostEvents']) === null || _g === void 0 ? void 0 : _g.subscribe(e => {
168
- // switch(e.action){
169
- // case 'addon-loaded':
170
- // this.showSpinner = false;
171
- // }
172
- this.hostEvents.emit(e);
173
- });
179
+ catch (error) {
180
+ console.error(error);
174
181
  }
175
182
  });
176
183
  }
@@ -180,7 +187,7 @@ class PepRemoteLoaderComponent {
180
187
  (_b = this.viewContainer) === null || _b === void 0 ? void 0 : _b.clear();
181
188
  }
182
189
  }
183
- 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 });
190
+ 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 });
184
191
  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: `
185
192
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
186
193
  <ng-template #placeHolder></ng-template>
@@ -194,7 +201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
194
201
  <ng-template #placeHolder></ng-template>
195
202
  `
196
203
  }]
197
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
204
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
198
205
  type: ViewChild,
199
206
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
200
207
  }], options: [{
@@ -207,10 +214,123 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
207
214
  type: Output
208
215
  }] } });
209
216
 
217
+ class PepRemoteLoaderElementComponent {
218
+ constructor(renderer, el, pepAddonService, remoteLoaderService, route) {
219
+ this.renderer = renderer;
220
+ this.el = el;
221
+ this.pepAddonService = pepAddonService;
222
+ this.remoteLoaderService = remoteLoaderService;
223
+ this.route = route;
224
+ this.load = new EventEmitter();
225
+ this.element = null;
226
+ }
227
+ ngOnChanges() {
228
+ if (!this.element)
229
+ return;
230
+ this.populateProps();
231
+ }
232
+ populateProps() {
233
+ for (const prop in this.props) {
234
+ this.element[prop] = this.props[prop];
235
+ }
236
+ }
237
+ setupEvents() {
238
+ for (const event in this.events) {
239
+ this.element.addEventListener(event, this.events[event]);
240
+ }
241
+ }
242
+ loadOptionsFromRoute() {
243
+ var _a, _b;
244
+ return __awaiter(this, void 0, void 0, function* () {
245
+ const params = (_a = this.route) === null || _a === void 0 ? void 0 : _a.snapshot.params;
246
+ const data = (_b = this.route) === null || _b === void 0 ? void 0 : _b.snapshot.data;
247
+ const blockType = (data === null || data === void 0 ? void 0 : data.blockType) || 'SettingsBlock';
248
+ const slugName = (params === null || params === void 0 ? void 0 : params.slugName) || (data === null || data === void 0 ? void 0 : data.slugName);
249
+ const blockName = (params === null || params === void 0 ? void 0 : params.blockName) || (data === null || data === void 0 ? void 0 : data.blockName);
250
+ if ((blockName === null || blockName === void 0 ? void 0 : blockName.length) > 0 || ((slugName === null || slugName === void 0 ? void 0 : slugName.length) > 0 && blockType === 'SettingsBlock')) {
251
+ const addonUUID = (params === null || params === void 0 ? void 0 : params.addonUUID) || (data === null || data === void 0 ? void 0 : data.addonUUID) || '';
252
+ const blockRemoteEntry = (data === null || data === void 0 ? void 0 : data.blockRemoteEntry) || '';
253
+ this.options = yield this.remoteLoaderService.getBlockRemoteLoaderOptions({
254
+ name: blockName,
255
+ slugName,
256
+ blockType,
257
+ addonUUID,
258
+ blockRemoteEntry
259
+ });
260
+ const fileName = `${this.options['remoteName']}.js`;
261
+ if (window.location.search.indexOf('dev=true') > 0) {
262
+ this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;
263
+ }
264
+ // Set the data into the props cause this component is loading from the route.
265
+ this.props = data;
266
+ }
267
+ });
268
+ }
269
+ ngAfterContentInit() {
270
+ var _a, _b;
271
+ return __awaiter(this, void 0, void 0, function* () {
272
+ try {
273
+ const t0 = performance.now();
274
+ // If the options is not supplied then we need to get it from the route.
275
+ if (!this.options) {
276
+ yield this.loadOptionsFromRoute();
277
+ }
278
+ if (!this.options) {
279
+ throw new Error('No options supplied to the component.');
280
+ }
281
+ else {
282
+ if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.addonId) && (this.options.type === 'module' || this.options.type === 'script')) {
283
+ const lastSlashIndex = ((_b = this.options.remoteEntry) === null || _b === void 0 ? void 0 : _b.lastIndexOf('/')) || -1;
284
+ if (lastSlashIndex > 0) {
285
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
286
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
287
+ }
288
+ }
289
+ yield loadRemoteModule(this.options);
290
+ this.element = this.renderer.createElement(this.options.elementName);
291
+ this.populateProps();
292
+ this.setupEvents();
293
+ this.renderer.appendChild(this.el.nativeElement, this.element);
294
+ const t1 = performance.now();
295
+ console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
296
+ this.load.emit();
297
+ }
298
+ }
299
+ catch (error) {
300
+ console.error(error);
301
+ }
302
+ });
303
+ }
304
+ }
305
+ PepRemoteLoaderElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.PepAddonService }, { token: PepRemoteLoaderService }, { token: i3.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Component });
306
+ PepRemoteLoaderElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: { options: "options", props: "props", events: "events" }, outputs: { load: "load" }, usesOnChanges: true, ngImport: i0, template: `
307
+ <!--<div #vc style="height: inherit;"></div>-->
308
+ `, isInline: true, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, decorators: [{
310
+ type: Component,
311
+ args: [{ selector: 'pep-remote-loader-element', template: `
312
+ <!--<div #vc style="height: inherit;"></div>-->
313
+ `, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] }]
314
+ }], ctorParameters: function () {
315
+ return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PepAddonService }, { type: PepRemoteLoaderService }, { type: i3.ActivatedRoute, decorators: [{
316
+ type: Optional
317
+ }] }];
318
+ }, propDecorators: { options: [{
319
+ type: Input
320
+ }], props: [{
321
+ type: Input
322
+ }], events: [{
323
+ type: Input
324
+ }], load: [{
325
+ type: Output
326
+ }] } });
327
+
210
328
  class PepAddonBlockLoaderComponent {
211
329
  constructor(remoteLoaderService) {
212
330
  this.remoteLoaderService = remoteLoaderService;
331
+ this.addonId = '';
213
332
  this.remoteEntry = '';
333
+ this.slugName = '';
214
334
  this._blockType = 'AddonBlock';
215
335
  this._name = '';
216
336
  this.hostObject = null;
@@ -219,7 +339,10 @@ class PepAddonBlockLoaderComponent {
219
339
  this.blockLoad = new EventEmitter();
220
340
  this.inDialog = false;
221
341
  this.remotePathOptions = null;
222
- //
342
+ this.loadElement = false;
343
+ this.onHostEventsCallback = (event) => {
344
+ this.onHostEvents(event.detail);
345
+ };
223
346
  }
224
347
  set blockType(value) {
225
348
  this._blockType = value;
@@ -241,7 +364,16 @@ class PepAddonBlockLoaderComponent {
241
364
  return this._dialogRef;
242
365
  }
243
366
  ngOnInit() {
244
- this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {
367
+ const options = {
368
+ name: this.name,
369
+ slugName: this.slugName,
370
+ blockType: this.blockType,
371
+ addonUUID: this.addonId,
372
+ blockRemoteEntry: this.remoteEntry
373
+ };
374
+ this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options) => {
375
+ var _a;
376
+ this.loadElement = ((_a = options.elementName) === null || _a === void 0 ? void 0 : _a.length) > 0;
245
377
  this.remotePathOptions = options;
246
378
  });
247
379
  }
@@ -263,15 +395,19 @@ class PepAddonBlockLoaderComponent {
263
395
  }
264
396
  }
265
397
  PepAddonBlockLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, deps: [{ token: PepRemoteLoaderService }], target: i0.ɵɵFactoryTarget.Component });
266
- PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { remoteEntry: "remoteEntry", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }] });
398
+ PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { addonId: "addonId", remoteEntry: "remoteEntry", slugName: "slugName", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }, { kind: "component", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: ["options", "props", "events"], outputs: ["load"] }] });
267
399
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, decorators: [{
268
400
  type: Component,
269
- args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>" }]
401
+ args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>" }]
270
402
  }], ctorParameters: function () { return [{ type: PepRemoteLoaderService }]; }, propDecorators: { dialogTemplate: [{
271
403
  type: ViewChild,
272
404
  args: ['dialogTemplate', { static: true, read: TemplateRef }]
405
+ }], addonId: [{
406
+ type: Input
273
407
  }], remoteEntry: [{
274
408
  type: Input
409
+ }], slugName: [{
410
+ type: Input
275
411
  }], blockType: [{
276
412
  type: Input
277
413
  }], name: [{
@@ -287,18 +423,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
287
423
  }] } });
288
424
 
289
425
  class PepAddonBlockLoaderService {
290
- constructor(resolver, dialogService) {
291
- this.resolver = resolver;
426
+ constructor(dialogService) {
292
427
  this.dialogService = dialogService;
293
428
  //
294
429
  }
295
430
  loadAddonBlockInternal(options) {
296
431
  if (options.container !== null) {
297
- const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
298
- const componentRef = options.container.createComponent(factory);
432
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
299
433
  const addonBlockInstance = componentRef.instance;
300
- addonBlockInstance.blockType = options.blockType || 'AddonBlock';
301
434
  addonBlockInstance.name = options.name;
435
+ addonBlockInstance.slugName = options.slugName;
436
+ addonBlockInstance.blockType = options.blockType || 'AddonBlock';
437
+ addonBlockInstance.addonId = options.addonUUID;
438
+ addonBlockInstance.remoteEntry = options.blockRemoteEntry;
302
439
  addonBlockInstance.hostObject = options.hostObject;
303
440
  addonBlockInstance.hostEvents.subscribe((event) => {
304
441
  if (options.hostEventsCallback) {
@@ -334,32 +471,36 @@ class PepAddonBlockLoaderService {
334
471
  }
335
472
  }
336
473
  }
337
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
474
+ PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
338
475
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
339
476
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
340
477
  type: Injectable,
341
478
  args: [{
342
479
  providedIn: 'root'
343
480
  }]
344
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1$1.PepDialogService }]; } });
481
+ }], ctorParameters: function () { return [{ type: i1$1.PepDialogService }]; } });
345
482
 
346
483
  class PepRemoteLoaderModule {
347
484
  }
348
485
  PepRemoteLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
349
486
  PepRemoteLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, declarations: [PepAddonBlockLoaderComponent,
350
- PepRemoteLoaderComponent], imports: [CommonModule,
487
+ PepRemoteLoaderComponent,
488
+ PepRemoteLoaderElementComponent], imports: [CommonModule,
351
489
  HttpClientModule,
490
+ ModuleFederationToolsModule,
352
491
  // Material modules,
353
492
  MatDialogModule,
354
493
  // ngx-lib modules
355
494
  PepNgxLibModule,
356
495
  PepDialogModule], exports: [PepAddonBlockLoaderComponent,
357
- PepRemoteLoaderComponent] });
496
+ PepRemoteLoaderComponent,
497
+ PepRemoteLoaderElementComponent] });
358
498
  PepRemoteLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, providers: [
359
499
  PepAddonBlockLoaderService,
360
500
  PepRemoteLoaderService
361
501
  ], imports: [CommonModule,
362
502
  HttpClientModule,
503
+ ModuleFederationToolsModule,
363
504
  // Material modules,
364
505
  MatDialogModule,
365
506
  // ngx-lib modules
@@ -371,10 +512,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
371
512
  declarations: [
372
513
  PepAddonBlockLoaderComponent,
373
514
  PepRemoteLoaderComponent,
515
+ PepRemoteLoaderElementComponent,
374
516
  ],
375
517
  imports: [
376
518
  CommonModule,
377
519
  HttpClientModule,
520
+ ModuleFederationToolsModule,
378
521
  // Material modules,
379
522
  MatDialogModule,
380
523
  // ngx-lib modules
@@ -384,6 +527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
384
527
  exports: [
385
528
  PepAddonBlockLoaderComponent,
386
529
  PepRemoteLoaderComponent,
530
+ PepRemoteLoaderElementComponent
387
531
  ],
388
532
  providers: [
389
533
  PepAddonBlockLoaderService,
@@ -400,5 +544,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
400
544
  * Generated bundle index. Do not edit.
401
545
  */
402
546
 
403
- export { PepAddonBlockLoaderComponent, PepAddonBlockLoaderService, PepRemoteLoaderComponent, PepRemoteLoaderModule, PepRemoteLoaderService };
547
+ export { PepAddonBlockLoaderComponent, PepAddonBlockLoaderService, PepRemoteLoaderComponent, PepRemoteLoaderElementComponent, PepRemoteLoaderModule, PepRemoteLoaderService };
404
548
  //# sourceMappingURL=pepperi-addons-ngx-lib-remote-loader.mjs.map