@veloceapps/sdk 5.0.13-8 → 5.0.13

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 (248) hide show
  1. package/bundles/{veloceapps-sdk-cms.umd.js → veloce-sdk-cms.umd.js} +13 -14
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -0
  3. package/bundles/{veloceapps-sdk-core.umd.js → veloce-sdk-core.umd.js} +10 -42
  4. package/bundles/veloce-sdk-core.umd.js.map +1 -0
  5. package/bundles/{veloceapps-sdk-runtime.umd.js → veloce-sdk-runtime.umd.js} +4 -4
  6. package/bundles/veloce-sdk-runtime.umd.js.map +1 -0
  7. package/bundles/{veloceapps-sdk.umd.js → veloce-sdk.umd.js} +14 -14
  8. package/bundles/veloce-sdk.umd.js.map +1 -0
  9. package/cms/cms.default.d.ts +1 -1
  10. package/cms/components/element-renderer/element-renderer.component.d.ts +1 -1
  11. package/cms/components/preview/preview.component.d.ts +1 -1
  12. package/cms/components/preview/preview.module.d.ts +1 -1
  13. package/cms/injection-tokens.d.ts +1 -1
  14. package/cms/launcher.module.d.ts +3 -3
  15. package/cms/modules/federated/federated.module.d.ts +1 -1
  16. package/cms/package.json +7 -7
  17. package/cms/services/launcher.service.d.ts +1 -1
  18. package/cms/types/configuration.types.d.ts +1 -1
  19. package/cms/utils/element.utils.d.ts +1 -1
  20. package/cms/utils/elements-resolver.d.ts +1 -1
  21. package/{veloceapps-sdk.d.ts → cms/veloce-sdk-cms.d.ts} +1 -1
  22. package/cms/vendor-map.d.ts +70 -71
  23. package/core/modules/configuration/configuration.module.d.ts +1 -1
  24. package/core/modules/configuration/helpers.d.ts +1 -1
  25. package/core/modules/configuration/services/configuration-runtime.service.d.ts +2 -2
  26. package/core/modules/configuration/services/configuration.service.d.ts +2 -2
  27. package/core/modules/configuration/services/runtime-context.service.d.ts +1 -1
  28. package/core/modules/configuration/types/configuration-runtime.types.d.ts +1 -1
  29. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -2
  30. package/core/modules/flow-configuration/services/flow-update.service.d.ts +1 -1
  31. package/core/package.json +7 -7
  32. package/core/services/context.service.d.ts +2 -2
  33. package/core/services/product-images.service.d.ts +1 -1
  34. package/core/services/quote-draft.service.d.ts +3 -5
  35. package/core/types/quote-states.types.d.ts +1 -1
  36. package/core/types/runtime.types.d.ts +1 -1
  37. package/core/utils/line-item.utils.d.ts +1 -2
  38. package/core/utils/line-item.worker.d.ts +1 -1
  39. package/{cms/veloceapps-sdk-cms.d.ts → core/veloce-sdk-core.d.ts} +1 -1
  40. package/esm2015/cms/cms.default.js +1 -1
  41. package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
  42. package/esm2015/cms/components/preview/preview.component.js +3 -3
  43. package/esm2015/cms/components/preview/preview.module.js +2 -2
  44. package/esm2015/cms/injection-tokens.js +1 -1
  45. package/esm2015/cms/launcher.module.js +4 -4
  46. package/esm2015/cms/modules/federated/federated.component.js +1 -1
  47. package/esm2015/cms/modules/federated/federated.module.js +2 -2
  48. package/esm2015/cms/plugins/configuration.plugin.js +2 -2
  49. package/esm2015/cms/plugins/script.plugin.js +2 -2
  50. package/esm2015/cms/services/launcher.service.js +1 -1
  51. package/esm2015/cms/types/configuration.types.js +1 -1
  52. package/esm2015/cms/utils/element.utils.js +1 -1
  53. package/esm2015/cms/utils/elements-resolver.js +1 -1
  54. package/esm2015/cms/veloce-sdk-cms.js +5 -0
  55. package/esm2015/cms/vendor-map.js +12 -9
  56. package/esm2015/core/modules/configuration/configuration.module.js +3 -3
  57. package/esm2015/core/modules/configuration/helpers.js +2 -2
  58. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +3 -3
  59. package/esm2015/core/modules/configuration/services/configuration.service.js +4 -4
  60. package/esm2015/core/modules/configuration/services/runtime-context.service.js +3 -3
  61. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +1 -1
  62. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +2 -2
  63. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +3 -10
  64. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +2 -2
  65. package/esm2015/core/services/context.service.js +3 -3
  66. package/esm2015/core/services/product-images.service.js +2 -2
  67. package/esm2015/core/services/quote-draft.service.js +7 -17
  68. package/esm2015/core/types/quote-states.types.js +1 -1
  69. package/esm2015/core/types/runtime.types.js +1 -1
  70. package/esm2015/core/utils/line-item.utils.js +3 -14
  71. package/esm2015/core/utils/line-item.worker.js +1 -1
  72. package/esm2015/core/veloce-sdk-core.js +5 -0
  73. package/esm2015/runtime/components/component-preview/component-preview.component.js +3 -3
  74. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +1 -1
  75. package/esm2015/runtime/components/ui-runtime/runtime.component.js +5 -5
  76. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +5 -5
  77. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +2 -2
  78. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +2 -2
  79. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +1 -1
  80. package/esm2015/runtime/execution/components/federated/federated.component.js +1 -1
  81. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +1 -1
  82. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +3 -3
  83. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +1 -1
  84. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +2 -2
  85. package/esm2015/runtime/execution/directives/section-script.directive.js +3 -3
  86. package/esm2015/runtime/execution/directives/sf-query.directive.js +2 -2
  87. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +2 -2
  88. package/esm2015/runtime/execution/directives/velo-port.directive.js +3 -3
  89. package/esm2015/runtime/execution/directives/vl-approval.directive.js +2 -2
  90. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +2 -2
  91. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +2 -2
  92. package/esm2015/runtime/execution/directives/vl-quote.directive.js +3 -3
  93. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +3 -3
  94. package/esm2015/runtime/execution/runtime-execution.module.js +6 -6
  95. package/esm2015/runtime/runtime.module.js +6 -6
  96. package/esm2015/runtime/services/cart.service.js +3 -3
  97. package/esm2015/runtime/services/configuration.service.js +6 -6
  98. package/esm2015/runtime/services/current-state.service.js +1 -1
  99. package/esm2015/runtime/services/product-model-cache.service.js +2 -2
  100. package/esm2015/runtime/services/runtime-context.service.js +5 -5
  101. package/esm2015/runtime/services/runtime-form.service.js +2 -2
  102. package/esm2015/runtime/services/runtime.service.js +3 -3
  103. package/esm2015/runtime/services/section-helper.service.js +2 -2
  104. package/esm2015/runtime/services/section-scope.service.js +1 -1
  105. package/esm2015/runtime/services/section-store.service.js +1 -1
  106. package/esm2015/runtime/services/section.service.js +3 -3
  107. package/esm2015/runtime/types/bound-data.types.js +1 -1
  108. package/esm2015/runtime/types/runtime.types.js +1 -1
  109. package/esm2015/runtime/types/script-registry.types.js +2 -2
  110. package/esm2015/runtime/utils/line-item.util.js +2 -2
  111. package/esm2015/runtime/utils/section.utils.js +2 -2
  112. package/esm2015/runtime/utils/sections-binder.helper.js +2 -2
  113. package/esm2015/runtime/veloce-sdk-runtime.js +5 -0
  114. package/esm2015/src/components/doc-gen/doc-gen.component.js +8 -8
  115. package/esm2015/src/components/doc-gen/doc-gen.module.js +2 -2
  116. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +3 -3
  117. package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +2 -2
  118. package/esm2015/src/components/header/header.component.js +7 -7
  119. package/esm2015/src/components/header/header.module.js +2 -2
  120. package/esm2015/src/components/header/metrics/metrics.component.js +9 -9
  121. package/esm2015/src/components/header/metrics/metrics.definitions.js +1 -1
  122. package/esm2015/src/components/header/metrics/metrics.module.js +2 -2
  123. package/esm2015/src/flow.component.js +4 -4
  124. package/esm2015/src/flow.module.js +5 -5
  125. package/esm2015/src/guards/context.guard.js +3 -3
  126. package/esm2015/src/guards/product-unload.guard.js +2 -2
  127. package/esm2015/src/pages/catalog/catalog.component.js +7 -7
  128. package/esm2015/src/pages/catalog/catalog.module.js +3 -3
  129. package/esm2015/src/pages/debug/debug.component.js +3 -3
  130. package/esm2015/src/pages/empty-account/empty-account.component.js +1 -1
  131. package/esm2015/src/pages/empty-account/empty-account.module.js +3 -3
  132. package/esm2015/src/pages/legacy-product/legacy-product.component.js +6 -6
  133. package/esm2015/src/pages/legacy-product/legacy-product.module.js +2 -2
  134. package/esm2015/src/pages/product/product.component.js +4 -4
  135. package/esm2015/src/pages/product/product.module.js +3 -3
  136. package/esm2015/src/pages/remote/remote.component.js +7 -7
  137. package/esm2015/src/pages/remote/remote.module.js +3 -3
  138. package/esm2015/src/pages/remote/remote.types.js +1 -1
  139. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +7 -7
  140. package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +3 -3
  141. package/esm2015/src/resolvers/flow.resolver.js +3 -3
  142. package/esm2015/src/resolvers/quote.resolver.js +11 -11
  143. package/esm2015/src/services/doc-gen.service.js +3 -3
  144. package/esm2015/src/services/flow-dialog.service.js +2 -2
  145. package/esm2015/src/services/flow-router.service.js +3 -3
  146. package/esm2015/src/services/flow.service.js +4 -4
  147. package/esm2015/src/types/context-route.types.js +1 -1
  148. package/esm2015/src/types/flow-customization.types.js +1 -1
  149. package/esm2015/src/utils/flow.utils.js +2 -2
  150. package/esm2015/veloce-sdk.js +5 -0
  151. package/fesm2015/{veloceapps-sdk-cms.js → veloce-sdk-cms.js} +16 -13
  152. package/fesm2015/veloce-sdk-cms.js.map +1 -0
  153. package/fesm2015/{veloceapps-sdk-core.js → veloce-sdk-core.js} +13 -40
  154. package/fesm2015/veloce-sdk-core.js.map +1 -0
  155. package/fesm2015/{veloceapps-sdk-runtime.js → veloce-sdk-runtime.js} +10 -10
  156. package/fesm2015/veloce-sdk-runtime.js.map +1 -0
  157. package/fesm2015/{veloceapps-sdk.js → veloce-sdk.js} +23 -23
  158. package/fesm2015/veloce-sdk.js.map +1 -0
  159. package/package.json +12 -13
  160. package/runtime/components/component-preview/component-preview.component.d.ts +1 -1
  161. package/runtime/components/section-renderer/section-renderer.component.d.ts +1 -1
  162. package/runtime/components/ui-runtime/runtime.component.d.ts +2 -2
  163. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
  164. package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +1 -1
  165. package/runtime/execution/components/context-provider/context-provider.component.d.ts +2 -2
  166. package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +1 -1
  167. package/runtime/execution/components/federated/federated.component.d.ts +1 -1
  168. package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +1 -1
  169. package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +1 -1
  170. package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +1 -1
  171. package/runtime/execution/components/velo-type/velo-type.component.d.ts +1 -1
  172. package/runtime/execution/directives/section-script.directive.d.ts +1 -1
  173. package/runtime/execution/directives/sf-query.directive.d.ts +2 -2
  174. package/runtime/execution/directives/velo-attribute.directive.d.ts +1 -1
  175. package/runtime/execution/directives/velo-port.directive.d.ts +1 -1
  176. package/runtime/execution/directives/vl-approval.directive.d.ts +2 -2
  177. package/runtime/execution/directives/vl-document-attachments.directive.d.ts +2 -2
  178. package/runtime/execution/directives/vl-document-templates.directive.d.ts +2 -2
  179. package/runtime/execution/directives/vl-quote.directive.d.ts +2 -2
  180. package/runtime/execution/directives/vl-ramp.directive.d.ts +3 -3
  181. package/runtime/execution/runtime-execution.module.d.ts +5 -5
  182. package/runtime/package.json +7 -7
  183. package/runtime/runtime.module.d.ts +5 -5
  184. package/runtime/services/cart.service.d.ts +3 -3
  185. package/runtime/services/configuration.service.d.ts +3 -3
  186. package/runtime/services/current-state.service.d.ts +1 -1
  187. package/runtime/services/product-model-cache.service.d.ts +2 -2
  188. package/runtime/services/runtime-context.service.d.ts +2 -2
  189. package/runtime/services/runtime-form.service.d.ts +1 -1
  190. package/runtime/services/runtime.service.d.ts +2 -2
  191. package/runtime/services/section-helper.service.d.ts +1 -1
  192. package/runtime/services/section-scope.service.d.ts +1 -1
  193. package/runtime/services/section-store.service.d.ts +1 -1
  194. package/runtime/services/section.service.d.ts +1 -1
  195. package/runtime/types/bound-data.types.d.ts +1 -1
  196. package/runtime/types/runtime.types.d.ts +2 -2
  197. package/runtime/utils/line-item.util.d.ts +1 -1
  198. package/runtime/utils/section.utils.d.ts +1 -1
  199. package/runtime/utils/sections-binder.helper.d.ts +1 -1
  200. package/{core/veloceapps-sdk-core.d.ts → runtime/veloce-sdk-runtime.d.ts} +1 -1
  201. package/src/components/doc-gen/doc-gen.component.d.ts +3 -3
  202. package/src/components/doc-gen/doc-gen.module.d.ts +1 -1
  203. package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
  204. package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
  205. package/src/components/header/header.component.d.ts +4 -4
  206. package/src/components/header/header.module.d.ts +1 -1
  207. package/src/components/header/metrics/metrics.component.d.ts +3 -3
  208. package/src/components/header/metrics/metrics.definitions.d.ts +1 -1
  209. package/src/components/header/metrics/metrics.module.d.ts +1 -1
  210. package/src/flow.component.d.ts +2 -2
  211. package/src/flow.module.d.ts +4 -4
  212. package/src/guards/context.guard.d.ts +1 -1
  213. package/src/guards/product-unload.guard.d.ts +1 -1
  214. package/src/pages/catalog/catalog.component.d.ts +3 -3
  215. package/src/pages/catalog/catalog.module.d.ts +2 -2
  216. package/src/pages/debug/debug.component.d.ts +3 -3
  217. package/src/pages/empty-account/empty-account.module.d.ts +2 -2
  218. package/src/pages/legacy-product/legacy-product.component.d.ts +4 -4
  219. package/src/pages/legacy-product/legacy-product.module.d.ts +1 -1
  220. package/src/pages/product/product.component.d.ts +1 -1
  221. package/src/pages/product/product.module.d.ts +2 -2
  222. package/src/pages/remote/remote.component.d.ts +3 -3
  223. package/src/pages/remote/remote.module.d.ts +2 -2
  224. package/src/pages/remote/remote.types.d.ts +1 -1
  225. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  226. package/src/pages/shopping-cart/shopping-cart.module.d.ts +2 -2
  227. package/src/resolvers/flow.resolver.d.ts +2 -2
  228. package/src/resolvers/quote.resolver.d.ts +1 -1
  229. package/src/services/doc-gen.service.d.ts +1 -1
  230. package/src/services/flow-dialog.service.d.ts +1 -1
  231. package/src/services/flow-router.service.d.ts +1 -1
  232. package/src/services/flow.service.d.ts +2 -2
  233. package/src/types/context-route.types.d.ts +1 -1
  234. package/src/types/flow-customization.types.d.ts +2 -2
  235. package/src/utils/flow.utils.d.ts +1 -1
  236. package/{runtime/veloceapps-sdk-runtime.d.ts → veloce-sdk.d.ts} +1 -1
  237. package/bundles/veloceapps-sdk-cms.umd.js.map +0 -1
  238. package/bundles/veloceapps-sdk-core.umd.js.map +0 -1
  239. package/bundles/veloceapps-sdk-runtime.umd.js.map +0 -1
  240. package/bundles/veloceapps-sdk.umd.js.map +0 -1
  241. package/esm2015/cms/veloceapps-sdk-cms.js +0 -5
  242. package/esm2015/core/veloceapps-sdk-core.js +0 -5
  243. package/esm2015/runtime/veloceapps-sdk-runtime.js +0 -5
  244. package/esm2015/veloceapps-sdk.js +0 -5
  245. package/fesm2015/veloceapps-sdk-cms.js.map +0 -1
  246. package/fesm2015/veloceapps-sdk-core.js.map +0 -1
  247. package/fesm2015/veloceapps-sdk-runtime.js.map +0 -1
  248. package/fesm2015/veloceapps-sdk.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('lodash'), require('@angular/common'), require('@veloceapps/core'), require('@angular/cdk/drag-drop'), require('@angular/forms'), require('@veloceapps/sdk/core'), require('@veloceapps/components'), require('@babel/standalone'), require('@veloceapps/api'), require('rxjs/operators'), require('primeng/api'), require('primeng/dynamicdialog')) :
3
- typeof define === 'function' && define.amd ? define('@veloceapps/sdk/cms', ['exports', '@angular/core', 'rxjs', 'lodash', '@angular/common', '@veloceapps/core', '@angular/cdk/drag-drop', '@angular/forms', '@veloceapps/sdk/core', '@veloceapps/components', '@babel/standalone', '@veloceapps/api', 'rxjs/operators', 'primeng/api', 'primeng/dynamicdialog'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloceapps = global.veloceapps || {}, global.veloceapps.sdk = global.veloceapps.sdk || {}, global.veloceapps.sdk.cms = {}), global.ng.core, global.rxjs, global.lodash, global.ng.common, global["@veloceapps/core"], global.ng.cdk.dragDrop, global.ng.forms, global.veloceapps.sdk.core, global["@veloceapps/components"], global["@babel/standalone"], global["@veloceapps/api"], global.rxjs.operators, global["primeng/api"], global["primeng/dynamicdialog"]));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('lodash'), require('@angular/common'), require('@veloce/core'), require('@angular/cdk/drag-drop'), require('@angular/forms'), require('@veloce/sdk/core'), require('@veloce/components'), require('@babel/standalone'), require('@veloce/api'), require('rxjs/operators'), require('primeng/api'), require('primeng/dynamicdialog')) :
3
+ typeof define === 'function' && define.amd ? define('@veloce/sdk/cms', ['exports', '@angular/core', 'rxjs', 'lodash', '@angular/common', '@veloce/core', '@angular/cdk/drag-drop', '@angular/forms', '@veloce/sdk/core', '@veloce/components', '@babel/standalone', '@veloce/api', 'rxjs/operators', 'primeng/api', 'primeng/dynamicdialog'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloce = global.veloce || {}, global.veloce.sdk = global.veloce.sdk || {}, global.veloce.sdk.cms = {}), global.ng.core, global.rxjs, global.lodash, global.ng.common, global["@veloce/core"], global.ng.cdk.dragDrop, global.ng.forms, global.veloce.sdk.core, global["@veloce/components"], global["@babel/standalone"], global["@veloce/api"], global.rxjs.operators, global["primeng/api"], global["primeng/dynamicdialog"]));
5
5
  })(this, (function (exports, i0, rxjs, lodash, i7, core, dragDrop, angularForms, i2, i1, standalone, api, rxjsOperators, i3, dynamicdialog) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
@@ -1517,10 +1517,10 @@
1517
1517
  args: [{ providedIn: 'root' }]
1518
1518
  }] });
1519
1519
 
1520
- var VELOCE_LIBS = {
1521
- '@veloceapps/sdk/core': Object.assign({ ConfigurationService: i2.ConfigurationService, QuoteDraftService: i2.QuoteDraftService, FlowConfigurationService: i2.FlowConfigurationService, LineItemWorker: i2.LineItemWorker, ProductImagesService: i2.ProductImagesService }, i2.lineItemUtils),
1522
- '@veloceapps/sdk/cms': Object.assign(Object.assign(Object.assign({}, cmsInjectionTokens), cmsActions), { TemplatesService: TemplatesService, IntegrationState: IntegrationState }),
1523
- '@veloceapps/api': {
1520
+ var vendorMap = {
1521
+ '@veloce/sdk/core': Object.assign({ ConfigurationService: i2.ConfigurationService, QuoteDraftService: i2.QuoteDraftService, FlowConfigurationService: i2.FlowConfigurationService, LineItemWorker: i2.LineItemWorker, ProductImagesService: i2.ProductImagesService }, i2.lineItemUtils),
1522
+ '@veloce/sdk/cms': Object.assign(Object.assign(Object.assign({}, cmsInjectionTokens), cmsActions), { TemplatesService: TemplatesService, IntegrationState: IntegrationState }),
1523
+ '@veloce/api': {
1524
1524
  SalesforceApiService: api.SalesforceApiService,
1525
1525
  QuoteApiService: api.QuoteApiService,
1526
1526
  DocumentTemplatesApiService: api.DocumentTemplatesApiService,
@@ -1531,13 +1531,12 @@
1531
1531
  PicklistsApiService: api.PicklistsApiService,
1532
1532
  PriceApiService: api.PriceApiService,
1533
1533
  },
1534
+ '@angular/core': i0__namespace,
1535
+ '@angular/forms': angularForms__namespace,
1536
+ rxjs: rxjs__namespace,
1537
+ 'rxjs/operators': rxjsOperators__namespace,
1538
+ lodash: lodash__namespace,
1534
1539
  };
1535
- var VELOCE_LIBS_BACKWARDS_COMPATIBLE = Object.entries(VELOCE_LIBS).reduce(function (trunk, _a) {
1536
- var _b;
1537
- var _c = __read(_a, 2), key = _c[0], value = _c[1];
1538
- return (Object.assign(Object.assign({}, trunk), (_b = {}, _b[key.replace('@veloceapps/', '@veloce/')] = value, _b)));
1539
- }, {});
1540
- var vendorMap = Object.assign(Object.assign(Object.assign({}, VELOCE_LIBS), VELOCE_LIBS_BACKWARDS_COMPATIBLE), { '@angular/core': i0__namespace, '@angular/forms': angularForms__namespace, rxjs: rxjs__namespace, 'rxjs/operators': rxjsOperators__namespace, lodash: lodash__namespace });
1541
1540
 
1542
1541
  var ElementsResolver = /** @class */ (function () {
1543
1542
  function ElementsResolver(uiDef, elements) {
@@ -1972,4 +1971,4 @@
1972
1971
  Object.defineProperty(exports, '__esModule', { value: true });
1973
1972
 
1974
1973
  }));
1975
- //# sourceMappingURL=veloceapps-sdk-cms.umd.js.map
1974
+ //# sourceMappingURL=veloce-sdk-cms.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"veloce-sdk-cms.umd.js","sources":["../../../../libs/sdk/cms/cms.actions.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/sdk/cms/injection-tokens.ts","../../../../libs/sdk/cms/engine/models/entity.ts","../../../../libs/sdk/cms/components/element.component.ts","../../../../libs/sdk/cms/utils/path.utils.ts","../../../../libs/sdk/cms/services/dynamic-module.service.ts","../../../../libs/sdk/cms/services/io-provider.service.ts","../../../../libs/sdk/cms/services/templates.service.ts","../../../../libs/sdk/cms/plugins/io.plugin.ts","../../../../libs/sdk/cms/plugins/script.plugin.ts","../../../../libs/sdk/cms/cms.elements.ts","../../../../libs/sdk/cms/utils/element.utils.ts","../../../../libs/sdk/cms/services/element-context.service.ts","../../../../libs/sdk/cms/components/element-renderer/element-renderer.component.ts","../../../../libs/sdk/cms/components/element-renderer/element-renderer.component.html","../../../../libs/sdk/cms/components/element-children/element-children.component.ts","../../../../libs/sdk/cms/components/element-children/element-children.component.html","../../../../libs/sdk/cms/directives/custom-template.directive.ts","../../../../libs/sdk/cms/modules/federated/default-options.ts","../../../../libs/sdk/cms/modules/federated/federated.utils.ts","../../../../libs/sdk/cms/modules/federated/federated.component.ts","../../../../libs/sdk/cms/modules/federated/federated.component.html","../../../../libs/sdk/cms/modules/federated/federated.module.ts","../../../../libs/sdk/cms/plugins/configuration.plugin.ts","../../../../libs/sdk/cms/cms.default.ts","../../../../libs/sdk/cms/services/integration.state.ts","../../../../libs/sdk/cms/vendor-map.ts","../../../../libs/sdk/cms/utils/elements-resolver.ts","../../../../libs/sdk/cms/services/launcher.service.ts","../../../../libs/sdk/cms/components/preview/preview.component.ts","../../../../libs/sdk/cms/components/preview/preview.component.html","../../../../libs/sdk/cms/components/element-renderer/element-renderer.module.ts","../../../../libs/sdk/cms/components/element-children/element-children.module.ts","../../../../libs/sdk/cms/components/preview/preview.module.ts","../../../../libs/sdk/cms/decorators/element.decorator.ts","../../../../libs/sdk/cms/launcher.module.ts","../../../../libs/sdk/cms/veloce-sdk-cms.ts"],"sourcesContent":["import { IntegrationAction, Metric } from './types';\n\nexport enum FlowAction {\n FLOW_CONFIGURE_PRODUCT = 'FLOW_CONFIGURE_PRODUCT',\n FLOW_NAVIGATE_BACK = 'FLOW_NAVIGATE_BACK',\n FLOW_NAVIGATE_TO_CATALOG = 'FLOW_NAVIGATE_TO_CATALOG',\n FLOW_APPLY_PRODUCT_CONFIGURATION = 'FLOW_APPLY_PRODUCT_CONFIGURATION',\n FLOW_OPEN_DOC_GEN = 'FLOW_OPEN_DOC_GEN',\n FLOW_CLOSE_DOC_GEN = 'FLOW_CLOSE_DOC_GEN',\n FLOW_SWITCH_OBJECT = 'FLOW_SWITCH_OBJECT',\n REMOTE_APPLY = 'REMOTE_APPLY',\n REMOTE_CANCEL = 'REMOTE_CANCEL',\n SET_DEFAULT_METRICS = 'SET_DEFAULT_METRICS',\n}\n\nexport const ConfigureProductAction = ({\n lineItemId,\n productId,\n}: {\n lineItemId?: string;\n productId?: string;\n}): IntegrationAction => ({\n type: FlowAction.FLOW_CONFIGURE_PRODUCT,\n payload: { lineItemId, productId },\n});\n\nexport const NavigateBackAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_NAVIGATE_BACK,\n});\n\nexport const NavigateToCatalogAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_NAVIGATE_TO_CATALOG,\n});\n\nexport const ApplyProductConfigurationAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION,\n});\n\nexport const OpenDocGenAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_OPEN_DOC_GEN,\n});\n\nexport const CloseDocGenAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_CLOSE_DOC_GEN,\n});\n\nexport const RemoteApplyAction = (): IntegrationAction => ({\n type: FlowAction.REMOTE_APPLY,\n});\n\nexport const RemoteCancelAction = (): IntegrationAction => ({\n type: FlowAction.REMOTE_CANCEL,\n});\n\nexport const SwitchObjectAction = (payload: { id: string }): IntegrationAction => ({\n type: FlowAction.FLOW_SWITCH_OBJECT,\n payload,\n});\n\nexport const SetDefaultMetrics = (metrics: Metric[]): IntegrationAction => ({\n type: FlowAction.SET_DEFAULT_METRICS,\n payload: { metrics },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { UIDefinitionMetadata } from '@veloce/sdk/core';\nimport { Dictionary } from 'lodash';\nimport { Plugin } from './engine/models/plugin';\nimport { ElementConfig, ElementMetadata } from './types/common.types';\n\nexport const DEFAULT_PLUGINS_TOKEN = new InjectionToken<typeof Plugin[]>('DEFAULT_PLUGINS_TOKEN');\n\nexport const UI_DEFINITION_METADATA = new InjectionToken<UIDefinitionMetadata>('UI_DEFINITION_METADATA_TOKEN');\nexport const ELEMENT_METADATA = new InjectionToken<ElementMetadata>('ELEMENT_METADATA_TOKEN');\nexport const SHARED_ELEMENT_METADATA = new InjectionToken<ElementMetadata>('SHARED_ELEMENT_METADATA_TOKEN');\nexport const ELEMENT_CONFIG = new InjectionToken<ElementConfig>('ELEMENT_CONFIG_TOKEN');\nexport const VENDOR_MAP = new InjectionToken<Dictionary<any>>('VENDOR_MAP');\n","import { Injector } from '@angular/core';\nimport { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG } from '../../injection-tokens';\nimport { ElementConfig } from '../../types/common.types';\nimport { Plugin } from './plugin';\n\nexport class Entity {\n protected readonly plugins: Plugin[] = [];\n\n private config: ElementConfig;\n private defaultPlugins: typeof Plugin[];\n\n constructor(public injector: Injector) {\n this.config = this.injector.get(ELEMENT_CONFIG);\n this.defaultPlugins = this.injector.get(DEFAULT_PLUGINS_TOKEN);\n }\n\n public initPlugins(): void {\n this.defaultPlugins.forEach(plugin => this.registerPlugin(new plugin(this)));\n this.config.plugins?.forEach(plugin => this.registerPlugin(new plugin(this)));\n }\n\n public registerPlugin(plugin: Plugin): void {\n this.plugins.push(plugin);\n }\n}\n","/* eslint-disable @angular-eslint/no-conflicting-lifecycle */\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Injector,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Entity } from '../engine/models/entity';\nimport { IPluginComponent } from './plugin.component';\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n jit: true,\n})\nexport class ElementComponent\n extends Entity\n implements OnChanges, OnInit, DoCheck, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy\n{\n public readonly model$ = new BehaviorSubject<any | undefined>(undefined);\n public readonly plugins!: IPluginComponent[];\n\n constructor(@Inject(Injector) public injector: Injector) {\n super(injector);\n\n super.initPlugins();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.plugins.forEach(plugin => plugin.ngOnChanges?.(changes));\n }\n\n public ngOnInit(): void {\n this.plugins.forEach(plugin => plugin.ngOnInit?.());\n }\n\n public ngDoCheck(): void {\n this.plugins.forEach(plugin => plugin.ngDoCheck?.());\n }\n\n public ngAfterContentInit(): void {\n this.plugins.forEach(plugin => plugin.ngAfterContentInit?.());\n }\n\n public ngAfterViewInit(): void {\n this.plugins.forEach(plugin => plugin.ngAfterViewInit?.());\n }\n\n public ngAfterViewChecked(): void {\n this.plugins.forEach(plugin => plugin.ngAfterViewChecked?.());\n }\n\n public ngOnDestroy(): void {\n this.plugins.forEach(plugin => plugin.ngOnDestroy?.());\n }\n}\n","import { compact } from 'lodash';\nimport { ElementMetadata, ElementPath, PathBlock } from '../types';\n\nexport const parseBoundPath = (path: string): PathBlock[] => {\n const regexp = new RegExp(`(?:\\\\/)(?:\\\\w+)(?:\\\\/)(?:ports|attributes)(?:\\\\/)(?:\\\\w+)|(?:\\\\/)(?:\\\\w+)`, 'g');\n const blocks: PathBlock[] =\n path.match(regexp)?.map(match => {\n const [type, property, name] = compact(match.split('/'));\n return { type, property, name };\n }) ?? [];\n\n return blocks;\n};\n\nexport const parsePath = (path: string): ElementPath => {\n const segments = path.split('/');\n let module: string | undefined;\n let variable: string | undefined;\n\n if (segments[0]?.startsWith('@')) {\n module = segments.shift()?.substring(1);\n }\n\n if (segments[segments.length - 1]?.[0] === ':') {\n variable = segments.pop()?.substring(1);\n }\n\n const isAbsolute = !segments[0];\n const nonEmptySegments = segments.filter(Boolean);\n\n if (!isAbsolute && nonEmptySegments[0] === '.') {\n nonEmptySegments.shift();\n }\n\n return {\n isAbsolute,\n segments: nonEmptySegments,\n module,\n variable,\n };\n};\n\nexport const findElementByModule = (\n elements: ElementMetadata[],\n module: string,\n elementName: string,\n): ElementMetadata | undefined => {\n for (const el of elements) {\n if (el.module === module && el.name === elementName) {\n return el;\n }\n\n const child = findElementByModule(el.children, module, elementName);\n if (child) {\n return child;\n }\n }\n\n return;\n};\n\nexport const getAbsolutePath = (\n elements: ElementMetadata[],\n subject: ElementMetadata,\n path: ElementPath,\n): string | undefined => {\n if (path.module) {\n return findElementByModule(elements, path.module, path.segments[0])?.path;\n }\n\n const subjectSegments = subject.path?.split('/') ?? [];\n const segments = [...path.segments];\n\n if (path.isAbsolute) {\n return segments.join('/');\n }\n\n while (segments.length) {\n const segment = segments.shift();\n\n if (segment === '..') {\n subjectSegments.pop();\n } else if (segment) {\n subjectSegments.push(segment);\n }\n }\n\n return subjectSegments.join('/');\n};\n","import { ComponentFactory, Injectable } from '@angular/core';\nimport { ElementMetadata } from '../types/common.types';\n\n@Injectable()\nexport class DynamicModuleService {\n private _elementsTree: ElementMetadata[] = [];\n private _componentFactories: ComponentFactory<any>[] = [];\n\n public set componentFactories(data: ComponentFactory<any>[]) {\n this._componentFactories = data;\n }\n\n public get componentFactories(): ComponentFactory<any>[] {\n return this._componentFactories;\n }\n\n public getComponentFactory(element: ElementMetadata): ComponentFactory<any> | undefined {\n return this.componentFactories.find(f => (f.componentType as any).path === element.path);\n }\n\n public get elementsTree(): ElementMetadata[] {\n return this._elementsTree;\n }\n\n public set elementsTree(tree: ElementMetadata[]) {\n this._elementsTree = tree;\n }\n\n public clear(): void {\n this._elementsTree = [];\n this.componentFactories = [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ElementMetadata } from '../types/common.types';\nimport { getAbsolutePath, parsePath } from '../utils/path.utils';\nimport { DynamicModuleService } from './dynamic-module.service';\n\n@Injectable()\nexport class IOProviderService {\n private inputs: Dictionary<Dictionary<BehaviorSubject<any>>> = {};\n\n constructor(private dynamicModuleService: DynamicModuleService) {}\n\n public connect(el: ElementMetadata, name: string, target?: string | null): Observable<any> | undefined {\n return this.resolveTarget(el, name, target)?.asObservable();\n }\n\n public provide(el: ElementMetadata, name: string, target?: string | null): BehaviorSubject<any> | undefined {\n return this.resolveTarget(el, name, target);\n }\n\n private resolveTarget(el: ElementMetadata, name: string, target?: string | null): BehaviorSubject<any> | undefined {\n const isHost = !target;\n\n if (isHost) {\n return this.createSubjectSafe(el.path ?? '', name);\n }\n\n const elPath = parsePath(target as string);\n const pathIsValue =\n elPath.segments.length === 1 && elPath.segments[0].startsWith('\"') && elPath.segments[0].endsWith('\"');\n\n const finalName = elPath.variable ?? name;\n const value = pathIsValue ? new BehaviorSubject(elPath.segments[0].slice(1, -1)) : undefined;\n\n const absolutePath = !pathIsValue ? getAbsolutePath(this.dynamicModuleService.elementsTree, el, elPath) : el.path;\n return this.createSubjectSafe(absolutePath ?? '', finalName, value);\n }\n\n private createSubjectSafe(path: string, name: string, subject?: BehaviorSubject<any>): BehaviorSubject<any> {\n if (!this.inputs[path]) {\n this.inputs[path] = {};\n }\n\n const subjectAlreadyExists = Boolean(this.inputs[path][name]);\n\n if (!this.inputs[path][name]) {\n this.inputs[path][name] = subject ?? new BehaviorSubject<any>(undefined);\n }\n\n if (subject && subjectAlreadyExists) {\n // push delayed value to workaround 'changed after it was checked' issue\n setTimeout(() => this.inputs[path][name].next(subject.value));\n }\n\n return this.inputs[path][name];\n }\n}\n","import { Injectable, TemplateRef } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\ntype Template = TemplateRef<any> | undefined;\n\n@Injectable()\nexport class TemplatesService {\n private templates: Dictionary<BehaviorSubject<Template>> = {};\n\n public register(name: string, templateRef: TemplateRef<any>): void {\n this.ensureStorage(name);\n this.templates[name].next(templateRef);\n }\n\n public get(name: string): Template {\n this.ensureStorage(name);\n return this.templates[name].value;\n }\n\n public get$(name: string): Observable<Template> {\n this.ensureStorage(name);\n return this.templates[name].asObservable();\n }\n\n private ensureStorage(name: string): void {\n if (!this.templates[name]) {\n this.templates[name] = new BehaviorSubject<Template>(undefined);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA } from '../injection-tokens';\nimport { IOProviderService } from '../services/io-provider.service';\nimport { ElementMetadata } from '../types/common.types';\n\n@Directive()\nexport class IOPlugin implements PluginComponent {\n constructor(public host: ElementComponent) {\n const elementMetadata: ElementMetadata = this.host.injector.get(ELEMENT_METADATA);\n const inputProvider: IOProviderService = this.host.injector.get(IOProviderService);\n\n const inputs = Object.entries(elementMetadata.inputs ?? {});\n const outputs = Object.entries(elementMetadata.outputs ?? {});\n\n inputs.forEach(([key, path]) => {\n if (path && typeof path !== 'string') {\n console.error(`The value of '${key}' input should be a string`);\n }\n\n if (elementMetadata.outputs?.[key] !== undefined) {\n console.warn(\n `'${key}' appears both in inputs and outputs. To prevent inconsistent behavior please keep them unique `,\n );\n }\n\n (this.host as any)[key] = inputProvider.connect(elementMetadata, key, path);\n });\n\n outputs.forEach(([key, path]) => {\n if (path && typeof path !== 'string') {\n console.error(`The value of '${key}' output should be a string`);\n }\n\n (this.host as any)[key] = inputProvider.provide(elementMetadata, key, path);\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Directive } from '@angular/core';\nimport { UUID } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA, SHARED_ELEMENT_METADATA, VENDOR_MAP } from '../injection-tokens';\nimport { ElementMetadata } from '../types/common.types';\n\n@Directive()\nexport class ScriptPlugin implements PluginComponent {\n private document: Document;\n private vendorMap: Dictionary<any>;\n\n constructor(public host: ElementComponent) {\n this.document = this.host.injector.get(DOCUMENT);\n this.vendorMap = this.host.injector.get(VENDOR_MAP);\n const elementMetadata: ElementMetadata = this.host.injector.get(ELEMENT_METADATA);\n const sharedElementMetadata: ElementMetadata | undefined = this.host.injector.get(SHARED_ELEMENT_METADATA);\n\n this.addScript(sharedElementMetadata);\n this.addScript(elementMetadata);\n }\n\n private addScript(metadata?: ElementMetadata): void {\n if (!metadata?.script) {\n return;\n }\n\n const id = btoa(UUID.UUID());\n const script = this.document.createElement('script');\n script.type = `text/javascript`;\n\n let scriptContent = this.normalizeImports(metadata.script, metadata.path ?? metadata.name);\n\n const classMatch = /export class (\\S+)/.exec(scriptContent);\n const className = classMatch?.[1];\n\n if (!classMatch || !className) {\n console.error(\"Script doesn't have exported class\");\n return;\n }\n\n scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);\n\n script.text = `var ${id} = function(vendor) {${scriptContent}\n return ${className}; };`;\n\n this.document.body.appendChild(script);\n\n const ScriptClass = (window as any)[id](this.vendorMap);\n if (ScriptClass instanceof Object) {\n this.host.registerPlugin(new ScriptClass(this.host));\n }\n\n this.document.body.removeChild(script);\n }\n\n private normalizeImports = (script: string, elementPath: string): string => {\n const regexp = new RegExp(\n `import([ \\\\n\\\\t]*(?:[^ \\\\n\\\\t\\\\{\\\\}]+[ \\\\n\\\\t]*,?)?(?:[ \\\\n\\\\t]*\\\\{(?:[ \\\\n\\\\t]*[^ \\\\n\\\\t\"'\\\\{\\\\}]+[ \\\\n\\\\t]*,?)+\\\\})?[ \\\\n\\\\t]*)from[ \\\\n\\\\t]*(['\"])([^'\"\\\\n]+)(?:['\"]);`,\n 'g',\n );\n const result = script.replace(regexp, (match, g1, g2, src) => {\n const imports = (g1 as string)\n .trim()\n .slice(1, -1)\n .split(',')\n .map(item => item.trim());\n\n imports.forEach(item => {\n if (!this.vendorMap[src]?.[item]) {\n throw new Error(`Failed to import ${item} from '${src}' in ${elementPath}/script.ts`);\n }\n });\n\n return `const ${g1} = vendor['${src}'];`;\n });\n return result;\n };\n}\n","import { ElementComponent } from './components/element.component';\nimport { IOPlugin } from './plugins/io.plugin';\nimport { ScriptPlugin } from './plugins/script.plugin';\nimport { ElementConfig, ELEMENT_TYPE } from './types/common.types';\n\n/*\n * ScriptPlugin must always be the last plugin in the list to make sure user code is running after all pre-initializers.\n */\n\nexport const CONFIG: { [key in ELEMENT_TYPE]: ElementConfig } = {\n CUSTOM: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n },\n CONTAINER: {\n component: ElementComponent,\n defaultTemplate: '<element-children></element-children>',\n plugins: [ScriptPlugin],\n },\n SERVICE: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n suppressTemplate: true,\n suppressStyles: true,\n },\n REFERENCE: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n suppressTemplate: true,\n },\n};\n","import { UIElement } from '@veloce/sdk/core';\nimport { flatten } from 'lodash';\nimport { CONFIG } from '../cms.elements';\nimport { IOPlugin } from '../plugins/io.plugin';\nimport { ElementConfig, ElementDefaultMetadata, ElementMetadata, ElementModel, ELEMENT_TYPE } from '../types';\n\nconst EXPORTED_CLASS_REGEX = /export class (\\S+)/;\nconst METADATA_DECORATOR_REGEX = /@ElementDefinition\\(([\\s\\S]+)\\)(\\n|\\r\\n|.)*export class/g;\n\nexport class UiBuildError extends Error {\n public affectedMetadata: ElementMetadata;\n constructor(message: string, affectedMetadata: ElementMetadata) {\n super(message);\n this.name = this.constructor.name;\n this.affectedMetadata = affectedMetadata;\n }\n}\n\nexport const elementToMetadata = (el: UIElement, parentPath?: string): ElementMetadata => {\n const script = el.script && window.atob(el.script);\n const template = el.template && window.atob(el.template);\n const styles = el.styles && window.atob(el.styles);\n\n const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];\n\n if (!exportedClassName) {\n throw new Error(\"Script doesn't have exported class\");\n }\n\n const elementMetadata = extractElementMetadata(script || '');\n const path = (parentPath ? parentPath + '/' : '') + elementMetadata.name;\n\n return {\n ...elementMetadata,\n path,\n script: script?.replace(METADATA_DECORATOR_REGEX, 'export class'),\n template,\n styles,\n children: el.children.map(child => elementToMetadata(child, path)),\n };\n};\n\nexport const metadataToElement = (metadata: ElementMetadata, recursive: boolean = true): UIElement => {\n const elMetadata: ElementDefaultMetadata = {\n name: metadata.name,\n isShared: metadata.isShared,\n type: metadata.type,\n model: metadata.model,\n module: metadata.module,\n reference: metadata.reference,\n inputs: metadata.inputs,\n outputs: metadata.outputs,\n children: metadata.children.map(({ name }) => name),\n configuredStyles: metadata.configuredStyles,\n };\n const normalizedElMetadata = normalizeElementMetadata(elMetadata);\n\n if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {\n throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);\n }\n\n const script =\n metadata.script &&\n window.btoa(\n metadata.script.replace(\n EXPORTED_CLASS_REGEX,\n `@ElementDefinition(${stringifyElementMetadata(normalizedElMetadata)})\\nexport class Script`,\n ),\n );\n const template = metadata.template && window.btoa(metadata.template);\n const styles = metadata.styles && window.btoa(metadata.styles);\n\n return {\n script,\n template,\n styles,\n children: recursive ? metadata.children.map(meta => metadataToElement(meta)) : [],\n };\n};\n\nexport const normalizeElementMetadata = (elementMetadata: ElementDefaultMetadata): ElementDefaultMetadata => {\n const metadata = { ...elementMetadata };\n\n // model\n const { lineItem, path } = metadata.model ?? {};\n const model: ElementModel | undefined = lineItem ? { lineItem } : path ? { path } : undefined;\n if (model) {\n metadata.model = model;\n } else {\n delete metadata.model;\n }\n\n // module\n if (!metadata.module) {\n delete metadata.module;\n }\n\n // reference\n if (!metadata.reference) {\n delete metadata.reference;\n }\n\n // inputs\n const inputs = Object.entries(metadata.inputs ?? {}).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value || null };\n }, {});\n if (inputs && Object.keys(inputs).length > 0) {\n metadata.inputs = inputs;\n } else {\n delete metadata.inputs;\n }\n\n // outputs\n const outputs = Object.entries(metadata.outputs ?? {}).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value || null };\n }, {});\n if (outputs && Object.keys(outputs).length > 0) {\n metadata.outputs = outputs;\n } else {\n delete metadata.outputs;\n }\n\n // children\n if (!metadata.children?.length) {\n delete metadata.children;\n }\n\n // isShared\n if (!metadata.isShared) {\n delete metadata.isShared;\n }\n\n // configuredStyles\n if (!metadata.configuredStyles) {\n delete metadata.configuredStyles;\n }\n\n return metadata;\n};\n\nexport const extractElementMetadata = (script: string): ElementDefaultMetadata => {\n const metadataString = (METADATA_DECORATOR_REGEX.exec(script) ?? [])[1];\n\n // need to reset regex last index to prevent null result for next execution\n METADATA_DECORATOR_REGEX.lastIndex = 0;\n\n return new Function(`return ${metadataString}`)();\n};\n\nexport const extendElementMetadata = (script: string, extend: Partial<ElementDefaultMetadata>): string => {\n const metadataString = (METADATA_DECORATOR_REGEX.exec(script) ?? [])[1];\n\n // need to reset regex last index to prevent null result for next execution\n METADATA_DECORATOR_REGEX.lastIndex = 0;\n\n if (!metadataString) {\n return script;\n }\n\n const updated = { ...new Function(`return ${metadataString}`)(), ...extend };\n return script.replace(metadataString, stringifyElementMetadata(updated));\n};\n\nexport const getElementConfig = (type: ELEMENT_TYPE): ElementConfig => {\n return CONFIG[type];\n};\n\nexport const doesElementSupportIO = (type: ELEMENT_TYPE): boolean => {\n return getElementConfig(type).plugins?.includes(IOPlugin) ?? false;\n};\n\nexport function stringifyElementMetadata(elementMetadata: ElementDefaultMetadata): string {\n const cleaned = JSON.stringify(elementMetadata, null, 2);\n\n return cleaned.replace(/^[\\t ]*\"[^:\\n\\r]+(?<!\\\\)\":/gm, function (match) {\n return match.replace(/\"/g, '');\n });\n}\n\nexport const isValidScript = (script?: string): boolean => {\n if (!script) {\n return false;\n }\n\n const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];\n if (!exportedClassName) {\n return false;\n }\n\n const meta = extractElementMetadata(script);\n if (!meta.name || !meta.type) {\n return false;\n }\n\n return true;\n};\n\nexport function flattenElements(elements: ElementMetadata[]): ElementMetadata[] {\n return flatten(elements.map(el => [el, ...flattenElements(el.children)]));\n}\n\nexport function isSharedElement(el: ElementMetadata): boolean {\n return Boolean(el.isShared) && el.type !== 'REFERENCE';\n}\n","import { Injectable } from '@angular/core';\nimport { ElementMetadata } from '../types/common.types';\n\n@Injectable()\nexport class ElementContextService {\n public metadata?: ElementMetadata;\n public parentModelId?: string;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactory,\n ComponentRef,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n SkipSelf,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { LineItem, UUID } from '@veloce/core';\nimport { ConfigurationService } from '@veloce/sdk/core';\nimport { Dictionary, isArray, pull } from 'lodash';\nimport { map, Observable, Subject, takeUntil } from 'rxjs';\nimport { DynamicModuleService } from '../../services/dynamic-module.service';\nimport { ElementContextService } from '../../services/element-context.service';\nimport { IOProviderService } from '../../services/io-provider.service';\nimport { ElementMetadata } from '../../types/common.types';\nimport { parseBoundPath } from '../../utils/path.utils';\n\n@Component({\n selector: 'vl-cms-element-renderer',\n templateUrl: './element-renderer.component.html',\n styleUrls: ['./element-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [ElementContextService],\n})\nexport class ElementRendererComponent implements OnInit, OnDestroy {\n @ViewChild('el', { read: ViewContainerRef, static: true }) public el?: ViewContainerRef;\n\n @Input() public meta!: ElementMetadata;\n\n private factory?: ComponentFactory<any>;\n private refs: Dictionary<ComponentRef<any> | undefined> = {};\n private destroy$ = new Subject<void>();\n\n constructor(\n @SkipSelf() private parentInjector: Injector,\n private dynamicModuleService: DynamicModuleService,\n private elementContext: ElementContextService,\n private ioProviderService: IOProviderService,\n private configurationService: ConfigurationService,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this.elementContext.metadata = this.meta;\n this.factory = this.dynamicModuleService.getComponentFactory(this.meta);\n\n this.createComponents();\n }\n\n public ngOnDestroy(): void {\n this.destroyComponents();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private createComponents(): void {\n const modelMeta = this.meta.model;\n\n if (!modelMeta) {\n this.refs[UUID.UUID()] = this.createComponent();\n return;\n }\n\n if (modelMeta.lineItem) {\n this.createFromLineItem(modelMeta.lineItem);\n } else if (modelMeta.path) {\n this.createFromPath(modelMeta.path);\n }\n }\n\n private createFromPath(path: string): void {\n const array$ = this.ioProviderService.connect(this.meta, 'children$', path);\n\n array$?.pipe(takeUntil(this.destroy$)).subscribe(children => {\n if (!isArray(children)) {\n return;\n }\n\n this.processChildren(children);\n });\n }\n\n private getModelComponent(): ElementRendererComponent | null {\n let component: ElementRendererComponent | null = null;\n let injector = this.parentInjector;\n\n while (!component) {\n const parentComp = injector.get(ElementRendererComponent, null);\n\n if (parentComp?.meta.model) {\n component = parentComp;\n break;\n }\n\n if (parentComp) {\n injector = parentComp.parentInjector;\n } else {\n break;\n }\n }\n\n return component;\n }\n\n private createFromLineItem(path: string): void {\n const parentComp = this.getModelComponent();\n const parentPath = parentComp?.meta.model?.lineItem;\n\n const pathBlocks = parseBoundPath(path).reverse();\n const { property, name } = pathBlocks[1] ?? {};\n const finalPath = pathBlocks[0];\n\n const children$ = this.getParentLineItem$(parentComp).pipe(\n map(model => {\n if (!model) {\n return [];\n }\n\n if (property === 'ports' && !finalPath.property && parentPath !== path) {\n return model.lineItems.filter(({ port }) => port === name) ?? [];\n }\n\n return [model];\n }),\n );\n\n children$.pipe(takeUntil(this.destroy$)).subscribe(children => {\n this.processChildren(children);\n });\n }\n\n private processChildren(children: any[]): void {\n const refs = children.reduce((acc, data, index) => {\n const key = String(data?.id ?? UUID.UUID());\n const existingRef = this.refs[key];\n\n const ref = existingRef ?? this.createComponent(data, index);\n if (existingRef) {\n this.updateComponent(existingRef, data, index);\n }\n\n return ref ? { ...acc, [key]: ref } : acc;\n }, {} as Dictionary<ComponentRef<any>>);\n\n const existingKeys = Object.keys(this.refs);\n const newKeys = Object.keys(refs);\n\n pull(existingKeys, ...newKeys).forEach(key => {\n this.destroyComponent(key);\n });\n\n this.refs = refs;\n this.cdr.detectChanges();\n }\n\n private getParentLineItem$(parentComp: ElementRendererComponent | null): Observable<LineItem | undefined> {\n const parentRefs = Object.values(parentComp?.refs ?? {});\n const parentRef = parentRefs.find(ref =>\n (ref?.location.nativeElement as HTMLElement)?.contains(this.elementRef.nativeElement),\n );\n\n const parentModel$ = parentRef?.instance.model$;\n\n return parentModel$ ?? this.configurationService.get();\n }\n\n private createComponent(data?: any, index?: number): ComponentRef<any> | undefined {\n if (!this.factory) {\n return;\n }\n\n const componentRef = this.el?.createComponent(this.factory, index);\n\n if (componentRef) {\n componentRef.location.nativeElement.setAttribute('name', this.meta.name);\n componentRef.location.nativeElement.setAttribute('path', this.meta.path);\n componentRef.instance?.model$.next(data);\n }\n\n return componentRef;\n }\n\n private updateComponent(ref: ComponentRef<any>, data: any, index: number): void {\n ref.instance.model$.next(data);\n\n if (this.el && this.el.indexOf(ref.hostView) !== index) {\n this.el.move(ref.hostView, index);\n }\n }\n\n private destroyComponent(key: string): void {\n this.refs[key]?.destroy();\n delete this.refs[key];\n }\n\n private destroyComponents(): void {\n Object.values(this.refs).forEach(ref => ref?.destroy());\n this.refs = {};\n }\n}\n","<ng-template #el></ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ElementContextService } from '../../services/element-context.service';\nimport { ElementMetadata } from '../../types/common.types';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'element-children',\n templateUrl: 'element-children.component.html',\n styleUrls: ['./element-children.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ElementChildrenComponent {\n public metadata?: ElementMetadata;\n\n constructor(private elementContext: ElementContextService) {\n this.metadata = this.elementContext.metadata;\n }\n}\n","<ng-container *ngIf=\"metadata?.children.length\">\n <ng-container *ngFor=\"let child of metadata.children\">\n <vl-cms-element-renderer [meta]=\"child\"></vl-cms-element-renderer>\n </ng-container>\n</ng-container>\n","import { AfterViewInit, Directive, Input, TemplateRef } from '@angular/core';\nimport { TemplatesService } from '../services/templates.service';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[customTemplate]' })\nexport class CustomTemplateDirective implements AfterViewInit {\n constructor(private templateRef: TemplateRef<any>, private templatesService: TemplatesService) {}\n\n @Input() public customTemplate: string | undefined;\n\n public ngAfterViewInit(): void {\n if (!this.customTemplate) {\n return;\n }\n\n this.templatesService.register(this.customTemplate, this.templateRef);\n }\n}\n","export const defaultOptions = {\n suppressLoading: false,\n loadingLabel: 'LOADING',\n};\n","import { Dictionary } from 'lodash';\n\ntype Scope = unknown;\ntype Factory = () => any;\n\ntype Container = {\n init(shareScope: Scope): void;\n get(module: string): Factory;\n};\n\ndeclare const __webpack_init_sharing__: (shareScope: string) => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: Scope };\n\nconst moduleMap: Dictionary<boolean> = {};\n\nfunction loadRemoteEntry(remoteEntry: string): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (moduleMap[remoteEntry]) {\n resolve();\n return;\n }\n\n const script = document.createElement('script');\n script.src = remoteEntry;\n\n script.onerror = reject;\n\n script.onload = (): void => {\n moduleMap[remoteEntry] = true;\n resolve(); // window is the global namespace\n };\n\n document.body.append(script);\n });\n}\n\nasync function lookupExposedModule(remoteName: string, exposedModule: string): Promise<any> {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n await __webpack_init_sharing__('default');\n const container = (window as any)[remoteName] as Container; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n\n await container.init(__webpack_share_scopes__.default);\n const factory = await container.get(exposedModule);\n const Module = factory();\n return Module;\n}\n\nexport async function loadRemoteModule(remoteEntry: string, remoteName: string, exposedModule: string): Promise<any> {\n await loadRemoteEntry(remoteEntry);\n\n return await lookupExposedModule(remoteName, exposedModule);\n}\n","import {\n AfterViewInit,\n ApplicationRef,\n ChangeDetectionStrategy,\n Compiler,\n Component,\n ElementRef,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultOptions } from './default-options';\nimport { FederatedComponentInstance, FederatedModuleOptions } from './federated.types';\nimport { loadRemoteModule } from './federated.utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'veloce-host-federated',\n templateUrl: './federated.component.html',\n styleUrls: ['./federated.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FederatedComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('moduleHost', { static: false }) public moduleHostRef?: ElementRef;\n\n @Input() public remoteEntry?: string;\n @Input() public remoteName?: string;\n @Input() public exposedModule?: string;\n @Input() public data?: any;\n @Input() public options?: FederatedModuleOptions;\n\n public isLoading$ = new BehaviorSubject(false);\n\n // configs\n public suppressLoading = defaultOptions.suppressLoading;\n public loadingLabel = defaultOptions.loadingLabel;\n\n private instance?: FederatedComponentInstance;\n\n constructor(\n private injector: Injector,\n private compiler: Compiler,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.data && this.instance) {\n this.instance.data = this.data;\n }\n\n if (changes.options) {\n this.suppressLoading = this.options?.suppressLoading ?? defaultOptions.suppressLoading;\n this.loadingLabel = this.options?.loadingLabel ?? defaultOptions.loadingLabel;\n }\n }\n\n public ngOnInit(): void {\n this.isLoading$.next(true);\n }\n\n public ngAfterViewInit(): void {\n const remoteEntry = this.options?.remoteEntry ?? this.remoteEntry;\n const remoteName = this.options?.remoteName ?? this.remoteName;\n const exposedModule = this.options?.exposedModule ?? this.exposedModule;\n\n if (!remoteEntry || !remoteName || !exposedModule) {\n return;\n }\n\n loadRemoteModule(remoteEntry, remoteName, exposedModule).then(federated => {\n this.compiler.compileModuleAsync(federated[exposedModule as string]).then(moduleFactory => {\n const rootModuleRef = moduleFactory.create(this.injector);\n const rootComponentFactory = rootModuleRef.componentFactoryResolver.resolveComponentFactory(\n federated[exposedModule as string].rootComponent,\n );\n const node = document.createElement('div');\n const { instance, hostView } = rootComponentFactory.create(this.injector, [], node);\n\n this.instance = instance as FederatedComponentInstance;\n this.instance.data = this.data;\n\n this.renderer.appendChild(this.moduleHostRef?.nativeElement, node);\n this.appRef.attachView(hostView);\n\n this.options?.onReady?.();\n this.isLoading$.next(false);\n });\n });\n }\n}\n","<div #moduleHost></div>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloce/components';\nimport { FederatedComponent } from './federated.component';\n\n@NgModule({\n declarations: [FederatedComponent],\n imports: [CommonModule, LoaderModule],\n exports: [FederatedComponent],\n})\nexport class FederatedModule {}\n","import { Directive, OnDestroy } from '@angular/core';\nimport { LineItem } from '@veloce/core';\nimport { ConfigurationService, generateLineItem, getAttributeValue, LineItemWorker } from '@veloce/sdk/core';\nimport { map, Observable, Subject, takeUntil } from 'rxjs';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA } from '../injection-tokens';\nimport { AttributeElement, ConfigurationElement, PortElement, TypeElement } from '../types';\nimport { ElementMetadata } from '../types/common.types';\nimport { parseBoundPath } from '../utils/path.utils';\n\n@Directive()\nexport class ConfigurationPlugin implements PluginComponent, OnDestroy {\n private modelSnapshot?: LineItem;\n private destroy$ = new Subject<void>();\n\n private elementMetadata: ElementMetadata;\n private configurationService: ConfigurationService;\n\n constructor(public host: ElementComponent & ConfigurationElement) {\n this.elementMetadata = this.host.injector.get(ELEMENT_METADATA);\n this.configurationService = this.host.injector.get(ConfigurationService);\n\n if (this.elementMetadata.model?.lineItem) {\n this.host.model$.pipe(takeUntil(this.destroy$)).subscribe(model => (this.modelSnapshot = model));\n\n const pathBlocks = parseBoundPath(this.elementMetadata.model?.lineItem);\n const { type, property, name } = pathBlocks.reverse()[0];\n\n this.host.boundName = name ?? type;\n\n this.register(type, property, name);\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private register(type?: string, property?: string, name?: string): void {\n if (!type) {\n return;\n }\n\n if (!property) {\n this.registerType();\n } else if (property === 'ports' && name) {\n this.registerPort(name);\n } else if (property === 'attributes' && name) {\n this.registerAttribute(name);\n }\n }\n\n private registerType(): void {\n const remove = (): void => {\n const rootLineItem = this.configurationService.getSnapshot();\n if (!rootLineItem || !this.modelSnapshot) {\n return;\n }\n this.configurationService.patch(new LineItemWorker(rootLineItem).remove(this.modelSnapshot.id).li);\n };\n\n this.typeHost.remove = remove;\n }\n\n private registerPort(name: string): void {\n const model$ = this.host.model$ as Observable<LineItem | undefined>;\n\n const portItems$ = model$.pipe(map(model => model?.lineItems.filter(li => li.port === this.host.boundName) ?? []));\n const portDomain$ = model$.pipe(map(model => model?.portDomains[this.host.boundName]));\n\n const add = (type: string, attributes: { name: string; value: any }[] = []): void => {\n if (!this.modelSnapshot) {\n return;\n }\n\n const portDomain = this.modelSnapshot.portDomains[name];\n if (!portDomain) {\n return;\n }\n\n const generated = generateLineItem(portDomain.name, type, this.modelSnapshot.id, attributes);\n this.configurationService.patch(\n new LineItemWorker(this.modelSnapshot).insert(this.modelSnapshot.id, generated).li,\n );\n };\n\n this.portHost.portItems$ = portItems$;\n this.portHost.portDomain$ = portDomain$;\n this.portHost.addPortItem = add;\n }\n\n private registerAttribute(name: string): void {\n if (!this.host.model$) {\n return;\n }\n\n const value$ = this.host.model$.pipe(map(model => getAttributeValue(model?.attributes ?? [], name)));\n\n const patch = (value: any): void => {\n if (!this.modelSnapshot) {\n return;\n }\n this.configurationService.patch(new LineItemWorker(this.modelSnapshot).patchAttribute([{ name, value }]).li);\n };\n\n this.attributeHost.value$ = value$;\n this.attributeHost.patch = patch;\n }\n\n private get attributeHost(): ElementComponent & AttributeElement {\n return this.host as ElementComponent & AttributeElement;\n }\n\n private get typeHost(): ElementComponent & TypeElement {\n return this.host as ElementComponent & TypeElement;\n }\n\n private get portHost(): ElementComponent & PortElement {\n return this.host as ElementComponent & PortElement;\n }\n}\n","import { UIDefinitionType } from '@veloce/sdk/core';\nimport { Plugin } from './engine/models/plugin';\nimport { ConfigurationPlugin } from './plugins/configuration.plugin';\n\nexport const DEFAULT_PLUGINS: { [key in UIDefinitionType]: typeof Plugin[] } = {\n CONFIGURATION: [ConfigurationPlugin],\n DEFAULT: [],\n};\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, filter, map, Observable } from 'rxjs';\nimport { IntegrationAction } from '../types/integration.types';\n\nconst InitAction: IntegrationAction = { type: 'INIT' };\nconst ClearAction: IntegrationAction = { type: 'CLEAR' };\n\n@Injectable({ providedIn: 'root' })\nexport class IntegrationState<S = Dictionary<any>> {\n private readonly stateSubj$ = new BehaviorSubject<S>({} as S);\n private readonly action$ = new BehaviorSubject<IntegrationAction>(InitAction);\n\n public get state$(): Observable<S> {\n return this.stateSubj$.asObservable();\n }\n\n public get state(): S {\n return this.stateSubj$.getValue();\n }\n\n public patchState(update: Partial<S>): void {\n this.stateSubj$.next({ ...this.stateSubj$.getValue(), ...update });\n }\n\n public dispatch(action: IntegrationAction): void {\n this.action$.next(action);\n }\n\n public listen$<P = any>(actionType: string): Observable<P> {\n return this.action$.pipe(\n filter(action => action.type === actionType),\n map(action => action.payload as P),\n );\n }\n\n public listenAll$<T extends IntegrationAction>(): Observable<T> {\n return this.action$.asObservable() as Observable<T>;\n }\n\n public clear(): void {\n this.stateSubj$.next({} as S);\n this.action$.next(ClearAction);\n }\n}\n","import * as angularCore from '@angular/core';\nimport * as angularForms from '@angular/forms';\nimport {\n CatalogApiService,\n DeltaApiService,\n DocumentAttachmentApiService,\n DocumentTemplatesApiService,\n PicklistsApiService,\n PriceApiService,\n QuoteApiService,\n RampApiService,\n SalesforceApiService,\n} from '@veloce/api';\nimport {\n ConfigurationService,\n FlowConfigurationService,\n lineItemUtils,\n LineItemWorker,\n ProductImagesService,\n QuoteDraftService,\n} from '@veloce/sdk/core';\nimport * as lodash from 'lodash';\nimport * as rxjs from 'rxjs';\nimport * as rxjsOperators from 'rxjs/operators';\nimport * as cmsActions from './cms.actions';\nimport * as cmsInjectionTokens from './injection-tokens';\nimport { IntegrationState } from './services/integration.state';\nimport { TemplatesService } from './services/templates.service';\n\nexport const vendorMap = {\n '@veloce/sdk/core': {\n ConfigurationService,\n QuoteDraftService,\n FlowConfigurationService,\n LineItemWorker,\n ProductImagesService,\n ...lineItemUtils,\n },\n '@veloce/sdk/cms': {\n ...cmsInjectionTokens,\n ...cmsActions,\n TemplatesService,\n IntegrationState,\n },\n '@veloce/api': {\n SalesforceApiService,\n QuoteApiService,\n DocumentTemplatesApiService,\n DocumentAttachmentApiService,\n RampApiService,\n CatalogApiService,\n DeltaApiService,\n PicklistsApiService,\n PriceApiService,\n },\n '@angular/core': angularCore,\n '@angular/forms': angularForms,\n rxjs: rxjs,\n 'rxjs/operators': rxjsOperators,\n lodash: lodash,\n};\n\nexport type VendorMap = typeof vendorMap;\n","import { Component, Type } from '@angular/core';\nimport { transform } from '@babel/standalone';\nimport { UIDefinitionMetadata } from '@veloce/sdk/core';\nimport { flatten, kebabCase, set } from 'lodash';\nimport { DEFAULT_PLUGINS } from '../cms.default';\nimport { CONFIG } from '../cms.elements';\nimport {\n DEFAULT_PLUGINS_TOKEN,\n ELEMENT_CONFIG,\n ELEMENT_METADATA,\n SHARED_ELEMENT_METADATA,\n UI_DEFINITION_METADATA,\n VENDOR_MAP,\n} from '../injection-tokens';\nimport { ElementMetadata, ElementStyleDeclaration } from '../types';\nimport { vendorMap } from '../vendor-map';\n\nexport class ElementsResolver {\n public readonly elements: ElementMetadata[];\n\n private renderableElements: ElementMetadata[] = [];\n private sharedElements: ElementMetadata[] = [];\n\n constructor(private uiDef: UIDefinitionMetadata, elements: ElementMetadata[]) {\n const transpiledElements = this.transpileScripts(elements);\n\n this.sharedElements = this.flattenElements(transpiledElements).filter(el => this.isSharedElement(el));\n\n this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(Boolean) as ElementMetadata[];\n\n this.renderableElements = this.getRenderableElements(this.elements);\n }\n\n public getNgComponents(): Type<any>[] {\n return this.renderableElements.map(el => this.resolveElement(el)).filter(Boolean) as Type<any>[];\n }\n\n private transpile(el: ElementMetadata): string | undefined {\n if (!el.script) {\n return;\n }\n\n const transformed = transform(el.script, {\n filename: el.name + '.ts',\n presets: ['typescript'],\n sourceMaps: 'inline',\n });\n\n return transformed.code ?? undefined;\n }\n\n private transpileScripts(elements: ElementMetadata[]): ElementMetadata[] {\n return elements.map(el => ({\n ...el,\n script: this.transpile(el),\n children: this.transpileScripts(el.children),\n }));\n }\n\n private flattenElements(elements: ElementMetadata[]): ElementMetadata[] {\n return flatten(elements.map(el => [el, ...this.flattenElements(el.children)]));\n }\n\n private isSharedElement(el: ElementMetadata): boolean {\n return Boolean(el.isShared) && el.type !== 'REFERENCE';\n }\n\n private getRenderableElements(elements: ElementMetadata[]): ElementMetadata[] {\n const renderable: ElementMetadata[] = [];\n\n for (const el of elements) {\n if (!this.isSharedElement(el)) {\n const children = el.children.filter(child => !this.isSharedElement(child));\n const renderableChildren = this.getRenderableElements(children);\n renderable.push({ ...el, children }, ...renderableChildren);\n }\n }\n\n return renderable;\n }\n\n private getSharedElement(element: ElementMetadata): ElementMetadata | undefined {\n if (!element.reference) {\n return;\n }\n\n return this.sharedElements.find(el => element.reference === el.name);\n }\n\n private resolveElementTemplate(element: ElementMetadata): string {\n const config = CONFIG[element.type];\n const template = !config.suppressTemplate ? element.template : '';\n\n return template || config.defaultTemplate || '';\n }\n\n private resolveElementStyles(element: ElementMetadata): string {\n const config = CONFIG[element.type];\n return !config.suppressStyles ? element.styles ?? '' : '';\n }\n\n private processElementMetadata(sourceElement: ElementMetadata): ElementMetadata | undefined {\n let finalElement: ElementMetadata;\n\n if (sourceElement.type === 'REFERENCE') {\n const sharedElement = this.getSharedElement(sourceElement);\n\n if (!sharedElement) {\n console.warn(`Shared element \"${sourceElement.reference}\" not found`);\n return;\n }\n\n finalElement = {\n ...sourceElement,\n children: this.getSharedChildren(sharedElement.children, sourceElement.path),\n type: sharedElement.type,\n template: sharedElement.template,\n styles: (sharedElement.styles ?? '') + '\\n' + (sourceElement.styles ?? ''),\n inputs: {\n ...sharedElement.inputs,\n ...sourceElement.inputs,\n },\n outputs: {\n ...sharedElement.outputs,\n ...sourceElement.outputs,\n },\n };\n } else {\n finalElement = sourceElement;\n delete sourceElement.reference;\n }\n\n finalElement.template = this.resolveElementTemplate(finalElement);\n finalElement.styles = this.resolveElementStyles(finalElement);\n\n return {\n ...finalElement,\n children: finalElement.children\n .map(child => this.processElementMetadata(child))\n .filter(Boolean) as ElementMetadata[],\n };\n }\n\n private getSharedChildren(children: ElementMetadata[], parentPath?: string): ElementMetadata[] {\n return children.map(c => {\n if (!c.path) {\n return c;\n }\n\n const [elName] = c.path.split('/').reverse();\n const path = parentPath + '/' + elName;\n\n return {\n ...c,\n path,\n children: this.getSharedChildren(c.children, path),\n };\n });\n }\n\n private resolveElement(element: ElementMetadata): Type<any> | undefined {\n const config = CONFIG[element.type];\n const defaultPlugins = DEFAULT_PLUGINS[this.uiDef.type] ?? [];\n\n if (!config) {\n console.warn(`Unknown element type \"${element.type}\"`);\n return;\n }\n\n const styles = this.getElementStyles(element);\n\n const component: Component = {\n selector: 'vl-element',\n template: element.template,\n ...(styles ? { styles: [styles] } : {}),\n providers: [\n { provide: DEFAULT_PLUGINS_TOKEN, useValue: defaultPlugins },\n { provide: UI_DEFINITION_METADATA, useValue: this.uiDef },\n { provide: ELEMENT_METADATA, useValue: element },\n { provide: SHARED_ELEMENT_METADATA, useValue: this.getSharedElement(element) },\n { provide: ELEMENT_CONFIG, useValue: config },\n { provide: VENDOR_MAP, useValue: vendorMap },\n ],\n };\n\n const cmp = Component(component)(class C extends config.component {});\n\n set(cmp, 'path', element.path);\n\n return cmp;\n }\n\n private getElementStyles(element: ElementMetadata): string | undefined {\n let result = '';\n\n const configuredStyles = this.convertInlineStylesToCSS(element.configuredStyles);\n if (configuredStyles) {\n // order is important: styles written by user in CSS code should has higher priority\n result += configuredStyles;\n }\n\n if (element.styles) {\n result += element.styles;\n }\n\n return result || undefined;\n }\n\n private convertInlineStylesToCSS(styles?: ElementStyleDeclaration): string {\n if (!styles) {\n return '';\n }\n\n const entries = Object.entries(styles);\n let result = ':host {\\n';\n\n entries.forEach(([style, value]) => {\n result += ` ${kebabCase(style)}:${value};\\n`;\n });\n\n result += '}\\n';\n\n return result;\n }\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { Compiler, Injectable, ModuleWithComponentFactories, NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UIDefinitionMetadata } from '@veloce/sdk/core';\nimport { from, map, Observable, tap } from 'rxjs';\nimport { ElementChildrenComponent } from '../components/element-children/element-children.component';\nimport { ElementRendererComponent } from '../components/element-renderer/element-renderer.component';\nimport { CustomTemplateDirective } from '../directives/custom-template.directive';\nimport { FederatedModule } from '../modules/federated/federated.module';\nimport { CompilationResult, ElementMetadata } from '../types';\nimport { ElementsResolver } from '../utils';\nimport { DynamicModuleService } from './dynamic-module.service';\n\n@Injectable()\nexport class LauncherService {\n private module?: Type<NgModule>;\n private moduleInstance?: ModuleWithComponentFactories<NgModule>;\n\n constructor(private compiler: Compiler, private dynamicModuleService: DynamicModuleService) {}\n\n public compileModule(uiDef: UIDefinitionMetadata, elements: ElementMetadata[]): Observable<CompilationResult> {\n const elementsResolver = new ElementsResolver(uiDef, elements);\n\n this.dynamicModuleService.elementsTree = elementsResolver.elements;\n this.module = this.getModule(elementsResolver.getNgComponents());\n\n return from(this.compiler.compileModuleAndAllComponentsAsync(this.module)).pipe(\n tap(m => {\n this.dynamicModuleService.componentFactories = m.componentFactories;\n this.moduleInstance = m;\n }),\n map(m => ({ module: m, elements: elementsResolver.elements })),\n );\n }\n\n public destroy(): void {\n if (this.moduleInstance) {\n this.dynamicModuleService.clear();\n this.moduleInstance = undefined;\n }\n\n if (this.module) {\n this.compiler.clearCacheFor(this.module);\n this.module = undefined;\n }\n }\n\n private getModule(components: Type<any>[]): Type<NgModule> {\n const staticComponents = [ElementChildrenComponent, ElementRendererComponent, CustomTemplateDirective];\n\n @NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, FederatedModule, DragDropModule],\n declarations: [...staticComponents, ...components],\n jit: true,\n })\n class DynamicModule {}\n\n return DynamicModule;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ConfigurationRuntimeService, ConfigurationService, UIDefinition, UIElement } from '@veloce/sdk/core';\nimport { MessageService } from 'primeng/api';\nimport { BehaviorSubject, catchError, forkJoin, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\nimport { IntegrationState } from '../../services';\nimport { IOProviderService } from '../../services/io-provider.service';\nimport { LauncherService } from '../../services/launcher.service';\nimport { TemplatesService } from '../../services/templates.service';\nimport { ElementMetadata } from '../../types/common.types';\nimport { elementToMetadata } from '../../utils/element.utils';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-cms-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [IOProviderService, TemplatesService],\n // use shadow DOM to prevent UI from being affected by global styles\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class PreviewComponent implements OnInit, OnDestroy {\n @Input() public modelId?: string;\n @Input() public uiDefinition?: UIDefinition;\n @Input() public clearState = false;\n\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n public elements: ElementMetadata[] = [];\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private launcherService: LauncherService,\n private configurationService: ConfigurationService,\n private messageService: MessageService,\n private runtimeService: ConfigurationRuntimeService,\n private integrationState: IntegrationState,\n ) {}\n\n public ngOnInit(): void {\n if (this.clearState) {\n this.integrationState.clear();\n }\n\n this.startPreview();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n\n this.configurationService.reset();\n }\n\n private initializeConfiguration$(): Observable<any> {\n const isAlreadyInitialized = this.runtimeService.isInitialized;\n if (!this.uiDefinition || this.uiDefinition.type !== 'CONFIGURATION' || isAlreadyInitialized) {\n return of({});\n }\n\n if (!this.modelId) {\n console.warn(`No modelId is given for uiDefinition with '${this.uiDefinition.type}' type`);\n return of({});\n }\n\n // If still not initialized - init configuration in Test mode\n return this.runtimeService\n .initTestMode(this.modelId, this.uiDefinition)\n .pipe(switchMap(() => this.configurationService.configure()));\n }\n\n private elementToMetadataSafe(elements: UIElement[]): ElementMetadata[] {\n try {\n return elements.map(element => elementToMetadata(element));\n } catch (e) {\n console.error(e);\n\n if (!this.uiDefinition?.properties?.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: String(e) });\n }\n\n return [];\n }\n }\n\n private startPreview(): void {\n if (!this.uiDefinition) {\n return;\n }\n\n const { children, ...uiDefinitionMeta } = this.uiDefinition;\n const elements = this.elementToMetadataSafe(children);\n\n const compilation$ = this.launcherService.compileModule(uiDefinitionMeta, elements);\n\n forkJoin([compilation$, this.initializeConfiguration$()])\n .pipe(\n tap(([result]) => {\n this.elements = result.elements;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(error => {\n console.error(error);\n\n if (!this.uiDefinition?.properties?.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: error });\n }\n\n this.state$.next({ loading: false, failure: true });\n\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { ElementRendererComponent } from './element-renderer.component';\n\n@NgModule({\n declarations: [ElementRendererComponent],\n exports: [ElementRendererComponent],\n})\nexport class ElementRendererModule {}\n","import { NgModule } from '@angular/core';\nimport { ElementRendererModule } from '../element-renderer/element-renderer.module';\nimport { ElementChildrenComponent } from './element-children.component';\n\n@NgModule({\n declarations: [ElementChildrenComponent],\n imports: [ElementRendererModule],\n exports: [ElementChildrenComponent],\n})\nexport class ElementChildrenModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloce/components';\nimport { IntegrationState } from '../../services';\nimport { ElementChildrenModule } from '../element-children/element-children.module';\nimport { ElementRendererModule } from '../element-renderer/element-renderer.module';\nimport { PreviewComponent } from './preview.component';\n\n@NgModule({\n declarations: [PreviewComponent],\n imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule],\n providers: [IntegrationState],\n exports: [PreviewComponent],\n})\nexport class PreviewModule {}\n","import { ElementDefaultMetadata } from '../types';\n\nexport function ElementDefinition(definition: ElementDefaultMetadata) {\n return function (constructor: any): any {\n return constructor;\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ApiModule } from '@veloce/api';\nimport { CoreModule } from '@veloce/core';\nimport { SdkCoreModule } from '@veloce/sdk/core';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { IntegrationState } from './services';\nimport { DynamicModuleService } from './services/dynamic-module.service';\nimport { LauncherService } from './services/launcher.service';\n\n@NgModule({\n imports: [CommonModule, CoreModule, ApiModule, SdkCoreModule],\n providers: [LauncherService, IntegrationState, DynamicModuleService, DialogService],\n})\nexport class LauncherModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FlowAction","InjectionToken","ElementComponent","BehaviorSubject","Component","ChangeDetectionStrategy","Inject","Injector","compact","Injectable","Directive","DOCUMENT","UUID","flatten","Subject","takeUntil","isArray","map","pull","ViewContainerRef","SkipSelf","ViewChild","Input","CommonModule","LoaderModule","NgModule","ConfigurationService","LineItemWorker","generateLineItem","getAttributeValue","filter","lineItemUtils","angularCore","angularForms","rxjs","rxjsOperators","lodash","transform","set","kebabCase","from","tap","FormsModule","ReactiveFormsModule","DragDropModule","of","switchMap","forkJoin","catchError","ViewEncapsulation","CoreModule","ApiModule","SdkCoreModule","DialogService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@veloceapps/core'), require('rxjs'), require('rxjs/operators'), require('@veloceapps/api'), require('lodash'), require('@veloceapps/components'), require('primeng/api'), require('primeng/dynamicdialog'), require('moment')) :
3
- typeof define === 'function' && define.amd ? define('@veloceapps/sdk/core', ['exports', '@angular/core', '@veloceapps/core', 'rxjs', 'rxjs/operators', '@veloceapps/api', 'lodash', '@veloceapps/components', 'primeng/api', 'primeng/dynamicdialog', 'moment'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloceapps = global.veloceapps || {}, global.veloceapps.sdk = global.veloceapps.sdk || {}, global.veloceapps.sdk.core = {}), global.ng.core, global["@veloceapps/core"], global.rxjs, global.rxjs.operators, global["@veloceapps/api"], global.lodash, global["@veloceapps/components"], global["primeng/api"], global["primeng/dynamicdialog"], global.moment));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@veloce/core'), require('rxjs'), require('rxjs/operators'), require('@veloce/api'), require('lodash'), require('@veloce/components'), require('primeng/api'), require('primeng/dynamicdialog'), require('moment')) :
3
+ typeof define === 'function' && define.amd ? define('@veloce/sdk/core', ['exports', '@angular/core', '@veloce/core', 'rxjs', 'rxjs/operators', '@veloce/api', 'lodash', '@veloce/components', 'primeng/api', 'primeng/dynamicdialog', 'moment'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.veloce = global.veloce || {}, global.veloce.sdk = global.veloce.sdk || {}, global.veloce.sdk.core = {}), global.ng.core, global["@veloce/core"], global.rxjs, global.rxjs.operators, global["@veloce/api"], global.lodash, global["@veloce/components"], global["primeng/api"], global["primeng/dynamicdialog"], global.moment));
5
5
  })(this, (function (exports, i0, core, rxjs, operators, i1, lodash, components, i4, i5, moment) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -465,9 +465,9 @@
465
465
  this.resetSubj$ = new rxjs.BehaviorSubject(true);
466
466
  this.isInitializedSubj$ = new rxjs.BehaviorSubject(false);
467
467
  this.initialCurrentState = [];
468
- this._hasUnsavedChanges = false;
469
468
  this.allPriceLists = [];
470
469
  this.assetPriceLists = [];
470
+ this.hasUnsavedChanges = false;
471
471
  this.reset$ = this.resetSubj$.asObservable();
472
472
  this.activePriceList$ = this.context.resolve$().pipe(operators.map(function (ctx) { return _this.allPriceLists.find(function (priceList) { return priceList.id === ctx.properties.PriceListId; }); }), operators.map(function (priceList) { return priceList !== null && priceList !== void 0 ? priceList : null; }));
473
473
  this.isInitializedSubj$
@@ -486,20 +486,6 @@
486
486
  enumerable: false,
487
487
  configurable: true
488
488
  });
489
- Object.defineProperty(QuoteDraftService.prototype, "hasUnsavedChanges", {
490
- get: function () {
491
- return this._hasUnsavedChanges;
492
- },
493
- set: function (value) {
494
- var _a, _b;
495
- this._hasUnsavedChanges = value;
496
- if (!this._hasUnsavedChanges) {
497
- this.initialCurrentState = (_b = (_a = this.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState) !== null && _b !== void 0 ? _b : [];
498
- }
499
- },
500
- enumerable: false,
501
- configurable: true
502
- });
503
489
  Object.defineProperty(QuoteDraftService.prototype, "hasAssets$", {
504
490
  get: function () {
505
491
  var _this = this;
@@ -519,7 +505,7 @@
519
505
  QuoteDraftService.prototype.reset = function () {
520
506
  this.resetSubj$.next(true);
521
507
  this.quoteSubj$.next(null);
522
- this.hasUnsavedChanges = false;
508
+ this.initialCurrentState = [];
523
509
  };
524
510
  QuoteDraftService.prototype.init = function (quoteId, params) {
525
511
  var _this = this;
@@ -527,6 +513,7 @@
527
513
  var _d = __read(_c, 2), quote = _d[0], allPriceLists = _d[1];
528
514
  _this.allPriceLists = allPriceLists;
529
515
  _this.quoteSubj$.next(quote);
516
+ _this.initialCurrentState = quote.currentState;
530
517
  _this.context.update(quote.context);
531
518
  _this.populateActivePriceLists$();
532
519
  }), operators.map(function () { return rxjs.noop(); }), operators.take(1));
@@ -725,7 +712,7 @@
725
712
  this.hasUnsavedChanges = !!quote && !quote.currentState.every(function (li) { return li.actionCode === 'EXIST'; });
726
713
  }
727
714
  else {
728
- this.hasUnsavedChanges = !lodash.isEqual(this.initialCurrentState, quote === null || quote === void 0 ? void 0 : quote.currentState);
715
+ this.hasUnsavedChanges = true;
729
716
  }
730
717
  };
731
718
  return QuoteDraftService;
@@ -999,17 +986,6 @@
999
986
  }, [0, 0])) !== null && _b !== void 0 ? _b : [0, 0], 2), net = _c[0], list = _c[1];
1000
987
  return { net: net, list: list };
1001
988
  };
1002
- var multiplyLineItems = function (lineItem, qty, split) {
1003
- if (split) {
1004
- var unifyIds_1 = function (lineItem) { return (Object.assign(Object.assign({}, lineItem), { id: core.UUID.UUID(), lineItems: lineItem.lineItems.map(unifyIds_1) })); };
1005
- return lodash.map(new Array(qty), function () { return unifyIds_1(lineItem); });
1006
- }
1007
- else {
1008
- return [
1009
- Object.assign(Object.assign({}, lineItem), { qty: qty }),
1010
- ];
1011
- }
1012
- };
1013
989
 
1014
990
  var lineItem_utils = /*#__PURE__*/Object.freeze({
1015
991
  __proto__: null,
@@ -1024,8 +1000,7 @@
1024
1000
  patchAttributes: patchAttributes,
1025
1001
  getAttributeValue: getAttributeValue,
1026
1002
  generateLineItem: generateLineItem,
1027
- getRecommendedPrices: getRecommendedPrices,
1028
- multiplyLineItems: multiplyLineItems
1003
+ getRecommendedPrices: getRecommendedPrices
1029
1004
  });
1030
1005
 
1031
1006
  var LineItemWorker = /** @class */ (function () {
@@ -1456,13 +1431,7 @@
1456
1431
  if (!quoteDraft) {
1457
1432
  return rxjs.of(null);
1458
1433
  }
1459
- return this.configurationService.configureExternal$(productId, qty).pipe(rxjs.map(function (lineItem) {
1460
- var _a, _b;
1461
- var model = _this.configurationService.getRuntimeModel();
1462
- var split = (_b = (_a = model === null || model === void 0 ? void 0 : model.types.find(function (type) { return type.name === lineItem.type; })) === null || _a === void 0 ? void 0 : _a.split) !== null && _b !== void 0 ? _b : false;
1463
- var lineItems = multiplyLineItems(lineItem, qty !== null && qty !== void 0 ? qty : 1, split);
1464
- return __spreadArray(__spreadArray([], __read(quoteDraft.currentState)), __read(lineItems));
1465
- }), rxjs.switchMap(function (updatedState) { return _this.calculate$(Object.assign(Object.assign({}, quoteDraft), { currentState: updatedState })); }), rxjs.map(function () { return _this.quoteDraftService.quoteDraft; }), this.handleErrorAndBounceBack());
1434
+ return this.configurationService.configureExternal$(productId, qty).pipe(rxjs.map(function (lineItem) { return __spreadArray(__spreadArray([], __read(quoteDraft.currentState)), [lineItem]); }), rxjs.switchMap(function (updatedState) { return _this.calculate$(Object.assign(Object.assign({}, quoteDraft), { currentState: updatedState })); }), rxjs.map(function () { return _this.quoteDraftService.quoteDraft; }), this.handleErrorAndBounceBack());
1466
1435
  };
1467
1436
  FlowConfigurationService.prototype.get = function () {
1468
1437
  var _this = this;
@@ -1630,7 +1599,6 @@
1630
1599
  exports.insertLineItem = insertLineItem;
1631
1600
  exports.lineItemUtils = lineItem_utils;
1632
1601
  exports.mapAttributes = mapAttributes;
1633
- exports.multiplyLineItems = multiplyLineItems;
1634
1602
  exports.patchAttributes = patchAttributes;
1635
1603
  exports.removeLineItem = removeLineItem;
1636
1604
  exports.replaceLineItem = replaceLineItem;
@@ -1639,4 +1607,4 @@
1639
1607
  Object.defineProperty(exports, '__esModule', { value: true });
1640
1608
 
1641
1609
  }));
1642
- //# sourceMappingURL=veloceapps-sdk-core.umd.js.map
1610
+ //# sourceMappingURL=veloce-sdk-core.umd.js.map