@veloceapps/sdk 4.0.21-0

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 (375) hide show
  1. package/README.md +3 -0
  2. package/bundles/veloceapps-sdk-cms.umd.js +1946 -0
  3. package/bundles/veloceapps-sdk-cms.umd.js.map +1 -0
  4. package/bundles/veloceapps-sdk-core.umd.js +1671 -0
  5. package/bundles/veloceapps-sdk-core.umd.js.map +1 -0
  6. package/bundles/veloceapps-sdk-runtime.umd.js +4414 -0
  7. package/bundles/veloceapps-sdk-runtime.umd.js.map +1 -0
  8. package/bundles/veloceapps-sdk.umd.js +3043 -0
  9. package/bundles/veloceapps-sdk.umd.js.map +1 -0
  10. package/cms/cms.actions.d.ts +22 -0
  11. package/cms/cms.default.d.ts +5 -0
  12. package/cms/cms.elements.d.ts +4 -0
  13. package/cms/components/element-children/element-children.component.d.ts +10 -0
  14. package/cms/components/element-children/element-children.module.d.ts +8 -0
  15. package/cms/components/element-renderer/element-renderer.component.d.ts +35 -0
  16. package/cms/components/element-renderer/element-renderer.module.d.ts +7 -0
  17. package/cms/components/element.component.d.ts +17 -0
  18. package/cms/components/index.d.ts +1 -0
  19. package/cms/components/plugin.component.d.ts +15 -0
  20. package/cms/components/preview/index.d.ts +2 -0
  21. package/cms/components/preview/preview.component.d.ts +34 -0
  22. package/cms/components/preview/preview.module.d.ts +11 -0
  23. package/cms/decorators/element.decorator.d.ts +2 -0
  24. package/cms/decorators/index.d.ts +1 -0
  25. package/cms/directives/custom-template.directive.d.ts +12 -0
  26. package/cms/engine/models/entity.d.ts +11 -0
  27. package/cms/engine/models/plugin.d.ts +5 -0
  28. package/cms/index.d.ts +11 -0
  29. package/cms/injection-tokens.d.ts +11 -0
  30. package/cms/launcher.module.d.ts +10 -0
  31. package/cms/modules/federated/default-options.d.ts +4 -0
  32. package/cms/modules/federated/export.d.ts +1 -0
  33. package/cms/modules/federated/federated.component.d.ts +26 -0
  34. package/cms/modules/federated/federated.module.d.ts +9 -0
  35. package/cms/modules/federated/federated.types.d.ts +30 -0
  36. package/cms/modules/federated/federated.utils.d.ts +1 -0
  37. package/cms/package.json +10 -0
  38. package/cms/plugins/configuration.plugin.d.ts +23 -0
  39. package/cms/plugins/io.plugin.d.ts +9 -0
  40. package/cms/plugins/script.plugin.d.ts +13 -0
  41. package/cms/services/dynamic-module.service.d.ts +15 -0
  42. package/cms/services/element-context.service.d.ts +8 -0
  43. package/cms/services/index.d.ts +3 -0
  44. package/cms/services/integration.state.d.ts +17 -0
  45. package/cms/services/io-provider.service.d.ts +15 -0
  46. package/cms/services/launcher.service.d.ts +18 -0
  47. package/cms/services/templates.service.d.ts +14 -0
  48. package/cms/types/common.types.d.ts +103 -0
  49. package/cms/types/configuration.types.d.ts +20 -0
  50. package/cms/types/elements.types.d.ts +2 -0
  51. package/cms/types/index.d.ts +5 -0
  52. package/cms/types/integration.types.d.ts +4 -0
  53. package/cms/types/path.types.d.ts +11 -0
  54. package/cms/utils/element.utils.d.ts +15 -0
  55. package/cms/utils/elements-resolver.d.ts +20 -0
  56. package/cms/utils/index.d.ts +3 -0
  57. package/cms/utils/path.utils.d.ts +5 -0
  58. package/cms/veloceapps-sdk-cms.d.ts +5 -0
  59. package/cms/vendor-map.d.ts +707 -0
  60. package/core/core.module.d.ts +8 -0
  61. package/core/index.d.ts +6 -0
  62. package/core/modules/configuration/configuration.module.d.ts +7 -0
  63. package/core/modules/configuration/helpers.d.ts +3 -0
  64. package/core/modules/configuration/index.d.ts +4 -0
  65. package/core/modules/configuration/services/configuration-runtime.service.d.ts +29 -0
  66. package/core/modules/configuration/services/configuration.service.d.ts +45 -0
  67. package/core/modules/configuration/services/runtime-context.service.d.ts +12 -0
  68. package/core/modules/configuration/types/configuration-runtime.types.d.ts +7 -0
  69. package/core/modules/flow-configuration/flow-configuration.module.d.ts +6 -0
  70. package/core/modules/flow-configuration/index.d.ts +4 -0
  71. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +38 -0
  72. package/core/modules/flow-configuration/services/flow-update.service.d.ts +12 -0
  73. package/core/modules/flow-configuration/types/update.types.d.ts +12 -0
  74. package/core/modules/index.d.ts +2 -0
  75. package/core/package.json +10 -0
  76. package/core/services/context.service.d.ts +18 -0
  77. package/core/services/index.d.ts +3 -0
  78. package/core/services/product-images.service.d.ts +12 -0
  79. package/core/services/quote-draft.service.d.ts +60 -0
  80. package/core/types/index.d.ts +3 -0
  81. package/core/types/quote-states.types.d.ts +6 -0
  82. package/core/types/runtime.types.d.ts +31 -0
  83. package/core/types/ui-definition.types.d.ts +26 -0
  84. package/core/utils/index.d.ts +2 -0
  85. package/core/utils/line-item.utils.d.ts +26 -0
  86. package/core/utils/line-item.worker.d.ts +12 -0
  87. package/core/veloceapps-sdk-core.d.ts +5 -0
  88. package/esm2015/cms/cms.actions.js +37 -0
  89. package/esm2015/cms/cms.default.js +6 -0
  90. package/esm2015/cms/cms.elements.js +29 -0
  91. package/esm2015/cms/components/element-children/element-children.component.js +23 -0
  92. package/esm2015/cms/components/element-children/element-children.module.js +18 -0
  93. package/esm2015/cms/components/element-renderer/element-renderer.component.js +143 -0
  94. package/esm2015/cms/components/element-renderer/element-renderer.module.js +16 -0
  95. package/esm2015/cms/components/element.component.js +44 -0
  96. package/esm2015/cms/components/index.js +2 -0
  97. package/esm2015/cms/components/plugin.component.js +16 -0
  98. package/esm2015/cms/components/preview/index.js +3 -0
  99. package/esm2015/cms/components/preview/preview.component.js +105 -0
  100. package/esm2015/cms/components/preview/preview.module.js +23 -0
  101. package/esm2015/cms/decorators/element.decorator.js +6 -0
  102. package/esm2015/cms/decorators/index.js +2 -0
  103. package/esm2015/cms/directives/custom-template.directive.js +25 -0
  104. package/esm2015/cms/engine/models/entity.js +18 -0
  105. package/esm2015/cms/engine/models/plugin.js +6 -0
  106. package/esm2015/cms/index.js +11 -0
  107. package/esm2015/cms/injection-tokens.js +8 -0
  108. package/esm2015/cms/launcher.module.js +23 -0
  109. package/esm2015/cms/modules/federated/default-options.js +5 -0
  110. package/esm2015/cms/modules/federated/export.js +2 -0
  111. package/esm2015/cms/modules/federated/federated.component.js +82 -0
  112. package/esm2015/cms/modules/federated/federated.module.js +19 -0
  113. package/esm2015/cms/modules/federated/federated.types.js +2 -0
  114. package/esm2015/cms/modules/federated/federated.utils.js +37 -0
  115. package/esm2015/cms/plugins/configuration.plugin.js +98 -0
  116. package/esm2015/cms/plugins/io.plugin.js +37 -0
  117. package/esm2015/cms/plugins/script.plugin.js +66 -0
  118. package/esm2015/cms/services/dynamic-module.service.js +33 -0
  119. package/esm2015/cms/services/element-context.service.js +10 -0
  120. package/esm2015/cms/services/index.js +4 -0
  121. package/esm2015/cms/services/integration.state.js +40 -0
  122. package/esm2015/cms/services/io-provider.service.js +51 -0
  123. package/esm2015/cms/services/launcher.service.js +57 -0
  124. package/esm2015/cms/services/templates.service.js +31 -0
  125. package/esm2015/cms/types/common.types.js +2 -0
  126. package/esm2015/cms/types/configuration.types.js +2 -0
  127. package/esm2015/cms/types/elements.types.js +2 -0
  128. package/esm2015/cms/types/index.js +6 -0
  129. package/esm2015/cms/types/integration.types.js +2 -0
  130. package/esm2015/cms/types/path.types.js +2 -0
  131. package/esm2015/cms/utils/element.utils.js +149 -0
  132. package/esm2015/cms/utils/elements-resolver.js +108 -0
  133. package/esm2015/cms/utils/index.js +4 -0
  134. package/esm2015/cms/utils/path.utils.js +67 -0
  135. package/esm2015/cms/veloceapps-sdk-cms.js +5 -0
  136. package/esm2015/cms/vendor-map.js +39 -0
  137. package/esm2015/core/core.module.js +18 -0
  138. package/esm2015/core/index.js +7 -0
  139. package/esm2015/core/modules/configuration/configuration.module.js +34 -0
  140. package/esm2015/core/modules/configuration/helpers.js +10 -0
  141. package/esm2015/core/modules/configuration/index.js +5 -0
  142. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +92 -0
  143. package/esm2015/core/modules/configuration/services/configuration.service.js +173 -0
  144. package/esm2015/core/modules/configuration/services/runtime-context.service.js +51 -0
  145. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +2 -0
  146. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +18 -0
  147. package/esm2015/core/modules/flow-configuration/index.js +5 -0
  148. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +135 -0
  149. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +129 -0
  150. package/esm2015/core/modules/flow-configuration/types/update.types.js +2 -0
  151. package/esm2015/core/modules/index.js +3 -0
  152. package/esm2015/core/services/context.service.js +50 -0
  153. package/esm2015/core/services/index.js +4 -0
  154. package/esm2015/core/services/product-images.service.js +30 -0
  155. package/esm2015/core/services/quote-draft.service.js +201 -0
  156. package/esm2015/core/types/index.js +4 -0
  157. package/esm2015/core/types/quote-states.types.js +2 -0
  158. package/esm2015/core/types/runtime.types.js +16 -0
  159. package/esm2015/core/types/ui-definition.types.js +2 -0
  160. package/esm2015/core/utils/index.js +3 -0
  161. package/esm2015/core/utils/line-item.utils.js +100 -0
  162. package/esm2015/core/utils/line-item.worker.js +19 -0
  163. package/esm2015/core/veloceapps-sdk-core.js +5 -0
  164. package/esm2015/index.js +2 -0
  165. package/esm2015/runtime/components/component-preview/component-preview.component.js +125 -0
  166. package/esm2015/runtime/components/index.js +5 -0
  167. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +71 -0
  168. package/esm2015/runtime/components/ui-runtime/runtime.component.js +427 -0
  169. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +109 -0
  170. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +68 -0
  171. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +36 -0
  172. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +72 -0
  173. package/esm2015/runtime/execution/components/federated/federated.component.js +81 -0
  174. package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +65 -0
  175. package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +136 -0
  176. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +80 -0
  177. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +101 -0
  178. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +150 -0
  179. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +121 -0
  180. package/esm2015/runtime/execution/directives/section-script.directive.js +242 -0
  181. package/esm2015/runtime/execution/directives/sf-query.directive.js +34 -0
  182. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +86 -0
  183. package/esm2015/runtime/execution/directives/velo-port.directive.js +373 -0
  184. package/esm2015/runtime/execution/directives/vl-approval.directive.js +22 -0
  185. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +35 -0
  186. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +59 -0
  187. package/esm2015/runtime/execution/directives/vl-quote.directive.js +41 -0
  188. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +51 -0
  189. package/esm2015/runtime/execution/runtime-execution.module.js +163 -0
  190. package/esm2015/runtime/execution/utils/federated.util.js +37 -0
  191. package/esm2015/runtime/index.js +5 -0
  192. package/esm2015/runtime/runtime.module.js +104 -0
  193. package/esm2015/runtime/services/cart.service.js +27 -0
  194. package/esm2015/runtime/services/collapsible-state.service.js +34 -0
  195. package/esm2015/runtime/services/configuration.service.js +102 -0
  196. package/esm2015/runtime/services/current-state.service.js +17 -0
  197. package/esm2015/runtime/services/form-scope.service.js +30 -0
  198. package/esm2015/runtime/services/index.js +4 -0
  199. package/esm2015/runtime/services/product-model-cache.service.js +30 -0
  200. package/esm2015/runtime/services/runtime-context.service.js +56 -0
  201. package/esm2015/runtime/services/runtime-form.service.js +224 -0
  202. package/esm2015/runtime/services/runtime.service.js +108 -0
  203. package/esm2015/runtime/services/section-helper.service.js +27 -0
  204. package/esm2015/runtime/services/section-scope.service.js +36 -0
  205. package/esm2015/runtime/services/section-store.service.js +22 -0
  206. package/esm2015/runtime/services/section.service.js +124 -0
  207. package/esm2015/runtime/types/bound-data.types.js +7 -0
  208. package/esm2015/runtime/types/index.js +2 -0
  209. package/esm2015/runtime/types/runtime.types.js +2 -0
  210. package/esm2015/runtime/types/script-registry.types.js +51 -0
  211. package/esm2015/runtime/utils/line-item.util.js +273 -0
  212. package/esm2015/runtime/utils/section.utils.js +26 -0
  213. package/esm2015/runtime/utils/sections-binder.helper.js +105 -0
  214. package/esm2015/runtime/veloceapps-sdk-runtime.js +5 -0
  215. package/esm2015/src/components/dialog/dialog.component.js +30 -0
  216. package/esm2015/src/components/dialog/dialog.module.js +19 -0
  217. package/esm2015/src/components/dialog/dialog.types.js +2 -0
  218. package/esm2015/src/components/doc-gen/doc-gen.component.js +109 -0
  219. package/esm2015/src/components/doc-gen/doc-gen.module.js +19 -0
  220. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +122 -0
  221. package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +46 -0
  222. package/esm2015/src/components/header/header.component.js +284 -0
  223. package/esm2015/src/components/header/header.module.js +46 -0
  224. package/esm2015/src/components/header/header.types.js +2 -0
  225. package/esm2015/src/constants.js +2 -0
  226. package/esm2015/src/flow-routing.module.js +137 -0
  227. package/esm2015/src/flow.component.js +45 -0
  228. package/esm2015/src/flow.module.js +60 -0
  229. package/esm2015/src/guards/context.guard.js +84 -0
  230. package/esm2015/src/guards/index.js +2 -0
  231. package/esm2015/src/guards/product-unload.guard.js +43 -0
  232. package/esm2015/src/guards/root.guard.js +41 -0
  233. package/esm2015/src/index.js +7 -0
  234. package/esm2015/src/pages/catalog/catalog.component.js +117 -0
  235. package/esm2015/src/pages/catalog/catalog.module.js +20 -0
  236. package/esm2015/src/pages/debug/debug.component.js +61 -0
  237. package/esm2015/src/pages/debug/debug.module.js +48 -0
  238. package/esm2015/src/pages/empty-account/empty-account.component.js +17 -0
  239. package/esm2015/src/pages/empty-account/empty-account.module.js +20 -0
  240. package/esm2015/src/pages/legacy-product/legacy-product.component.js +132 -0
  241. package/esm2015/src/pages/legacy-product/legacy-product.module.js +21 -0
  242. package/esm2015/src/pages/product/product.component.js +108 -0
  243. package/esm2015/src/pages/product/product.module.js +20 -0
  244. package/esm2015/src/pages/record-not-found/record-not-found.component.js +29 -0
  245. package/esm2015/src/pages/record-not-found/record-not-found.module.js +20 -0
  246. package/esm2015/src/pages/remote/remote.component.js +353 -0
  247. package/esm2015/src/pages/remote/remote.module.js +20 -0
  248. package/esm2015/src/pages/remote/remote.types.js +2 -0
  249. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +117 -0
  250. package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +20 -0
  251. package/esm2015/src/resolvers/flow.resolver.js +62 -0
  252. package/esm2015/src/resolvers/quote.resolver.js +74 -0
  253. package/esm2015/src/services/doc-gen.service.js +33 -0
  254. package/esm2015/src/services/flow-dialog.service.js +123 -0
  255. package/esm2015/src/services/flow-router.service.js +124 -0
  256. package/esm2015/src/services/flow.service.js +71 -0
  257. package/esm2015/src/services/index.js +2 -0
  258. package/esm2015/src/types/context-route.types.js +2 -0
  259. package/esm2015/src/types/flow-customization.types.js +3 -0
  260. package/esm2015/src/types/index.js +3 -0
  261. package/esm2015/src/types/route.types.js +2 -0
  262. package/esm2015/src/utils/flow.utils.js +22 -0
  263. package/esm2015/src/utils/index.js +2 -0
  264. package/esm2015/veloceapps-sdk.js +5 -0
  265. package/fesm2015/veloceapps-sdk-cms.js +1357 -0
  266. package/fesm2015/veloceapps-sdk-cms.js.map +1 -0
  267. package/fesm2015/veloceapps-sdk-core.js +1029 -0
  268. package/fesm2015/veloceapps-sdk-core.js.map +1 -0
  269. package/fesm2015/veloceapps-sdk-runtime.js +3894 -0
  270. package/fesm2015/veloceapps-sdk-runtime.js.map +1 -0
  271. package/fesm2015/veloceapps-sdk.js +2449 -0
  272. package/fesm2015/veloceapps-sdk.js.map +1 -0
  273. package/index.d.ts +1 -0
  274. package/package.json +50 -0
  275. package/runtime/components/component-preview/component-preview.component.d.ts +27 -0
  276. package/runtime/components/index.d.ts +4 -0
  277. package/runtime/components/section-renderer/section-renderer.component.d.ts +25 -0
  278. package/runtime/components/ui-runtime/runtime.component.d.ts +53 -0
  279. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +27 -0
  280. package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +30 -0
  281. package/runtime/execution/components/context-provider/context-provider.component.d.ts +14 -0
  282. package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +25 -0
  283. package/runtime/execution/components/federated/federated.component.d.ts +36 -0
  284. package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +19 -0
  285. package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +35 -0
  286. package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +22 -0
  287. package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +22 -0
  288. package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +28 -0
  289. package/runtime/execution/components/velo-type/velo-type.component.d.ts +31 -0
  290. package/runtime/execution/directives/section-script.directive.d.ts +59 -0
  291. package/runtime/execution/directives/sf-query.directive.d.ts +15 -0
  292. package/runtime/execution/directives/velo-attribute.directive.d.ts +26 -0
  293. package/runtime/execution/directives/velo-port.directive.d.ts +74 -0
  294. package/runtime/execution/directives/vl-approval.directive.d.ts +10 -0
  295. package/runtime/execution/directives/vl-document-attachments.directive.d.ts +15 -0
  296. package/runtime/execution/directives/vl-document-templates.directive.d.ts +33 -0
  297. package/runtime/execution/directives/vl-quote.directive.d.ts +14 -0
  298. package/runtime/execution/directives/vl-ramp.directive.d.ts +15 -0
  299. package/runtime/execution/runtime-execution.module.d.ts +27 -0
  300. package/runtime/execution/utils/federated.util.d.ts +6 -0
  301. package/runtime/index.d.ts +4 -0
  302. package/runtime/package.json +10 -0
  303. package/runtime/runtime.module.d.ts +18 -0
  304. package/runtime/services/cart.service.d.ts +15 -0
  305. package/runtime/services/collapsible-state.service.d.ts +15 -0
  306. package/runtime/services/configuration.service.d.ts +19 -0
  307. package/runtime/services/current-state.service.d.ts +8 -0
  308. package/runtime/services/form-scope.service.d.ts +20 -0
  309. package/runtime/services/index.d.ts +3 -0
  310. package/runtime/services/product-model-cache.service.d.ts +14 -0
  311. package/runtime/services/runtime-context.service.d.ts +16 -0
  312. package/runtime/services/runtime-form.service.d.ts +24 -0
  313. package/runtime/services/runtime.service.d.ts +43 -0
  314. package/runtime/services/section-helper.service.d.ts +8 -0
  315. package/runtime/services/section-scope.service.d.ts +14 -0
  316. package/runtime/services/section-store.service.d.ts +11 -0
  317. package/runtime/services/section.service.d.ts +30 -0
  318. package/runtime/types/bound-data.types.d.ts +13 -0
  319. package/runtime/types/index.d.ts +1 -0
  320. package/runtime/types/runtime.types.d.ts +19 -0
  321. package/runtime/types/script-registry.types.d.ts +13 -0
  322. package/runtime/utils/line-item.util.d.ts +34 -0
  323. package/runtime/utils/section.utils.d.ts +2 -0
  324. package/runtime/utils/sections-binder.helper.d.ts +16 -0
  325. package/runtime/veloceapps-sdk-runtime.d.ts +5 -0
  326. package/src/components/dialog/dialog.component.d.ts +13 -0
  327. package/src/components/dialog/dialog.module.d.ts +9 -0
  328. package/src/components/dialog/dialog.types.d.ts +6 -0
  329. package/src/components/doc-gen/doc-gen.component.d.ts +26 -0
  330. package/src/components/doc-gen/doc-gen.module.d.ts +9 -0
  331. package/src/components/header/cart-overlay/cart-preview.component.d.ts +36 -0
  332. package/src/components/header/cart-overlay/cart-preview.module.d.ts +14 -0
  333. package/src/components/header/header.component.d.ts +63 -0
  334. package/src/components/header/header.module.d.ts +14 -0
  335. package/src/components/header/header.types.d.ts +20 -0
  336. package/src/constants.d.ts +1 -0
  337. package/src/flow-routing.module.d.ts +13 -0
  338. package/src/flow.component.d.ts +23 -0
  339. package/src/flow.module.d.ts +16 -0
  340. package/src/guards/context.guard.d.ts +19 -0
  341. package/src/guards/index.d.ts +1 -0
  342. package/src/guards/product-unload.guard.d.ts +16 -0
  343. package/src/guards/root.guard.d.ts +15 -0
  344. package/src/index.d.ts +6 -0
  345. package/src/pages/catalog/catalog.component.d.ts +32 -0
  346. package/src/pages/catalog/catalog.module.d.ts +10 -0
  347. package/src/pages/debug/debug.component.d.ts +25 -0
  348. package/src/pages/debug/debug.module.d.ts +14 -0
  349. package/src/pages/empty-account/empty-account.component.d.ts +5 -0
  350. package/src/pages/empty-account/empty-account.module.d.ts +10 -0
  351. package/src/pages/legacy-product/legacy-product.component.d.ts +37 -0
  352. package/src/pages/legacy-product/legacy-product.module.d.ts +10 -0
  353. package/src/pages/product/product.component.d.ts +32 -0
  354. package/src/pages/product/product.module.d.ts +10 -0
  355. package/src/pages/record-not-found/record-not-found.component.d.ts +11 -0
  356. package/src/pages/record-not-found/record-not-found.module.d.ts +9 -0
  357. package/src/pages/remote/remote.component.d.ts +47 -0
  358. package/src/pages/remote/remote.module.d.ts +10 -0
  359. package/src/pages/remote/remote.types.d.ts +4 -0
  360. package/src/pages/shopping-cart/shopping-cart.component.d.ts +32 -0
  361. package/src/pages/shopping-cart/shopping-cart.module.d.ts +10 -0
  362. package/src/resolvers/flow.resolver.d.ts +16 -0
  363. package/src/resolvers/quote.resolver.d.ts +20 -0
  364. package/src/services/doc-gen.service.d.ts +13 -0
  365. package/src/services/flow-dialog.service.d.ts +26 -0
  366. package/src/services/flow-router.service.d.ts +35 -0
  367. package/src/services/flow.service.d.ts +17 -0
  368. package/src/services/index.d.ts +1 -0
  369. package/src/types/context-route.types.d.ts +5 -0
  370. package/src/types/flow-customization.types.d.ts +11 -0
  371. package/src/types/index.d.ts +2 -0
  372. package/src/types/route.types.d.ts +9 -0
  373. package/src/utils/flow.utils.d.ts +8 -0
  374. package/src/utils/index.d.ts +1 -0
  375. package/veloceapps-sdk.d.ts +5 -0
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { RecordNotFoundComponent } from './record-not-found.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [{ path: '', component: RecordNotFoundComponent }];
8
+ export class RecordNotFoundModule {
9
+ }
10
+ RecordNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RecordNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1.RouterModule] });
12
+ RecordNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RecordNotFoundModule, imports: [[CommonModule, RouterModule.forChild(routes)]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RecordNotFoundModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [RecordNotFoundComponent],
17
+ imports: [CommonModule, RouterModule.forChild(routes)],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW5vdC1mb3VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcmVjb3JkLW5vdC1mb3VuZC9yZWNvcmQtbm90LWZvdW5kLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUV2RSxNQUFNLE1BQU0sR0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0FBTTFFLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFIaEIsdUJBQXVCLGFBQzVCLFlBQVk7bUhBRVgsb0JBQW9CLFlBRnRCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7NEZBRTNDLG9CQUFvQjtrQkFKaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSZWNvcmROb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLW5vdC1mb3VuZC5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFt7IHBhdGg6ICcnLCBjb21wb25lbnQ6IFJlY29yZE5vdEZvdW5kQ29tcG9uZW50IH1dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtSZWNvcmROb3RGb3VuZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkTm90Rm91bmRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,353 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { UUID, } from '@veloceapps/core';
3
+ import { FlowAction } from '@veloceapps/sdk/cms';
4
+ import { BehaviorSubject, catchError, first, of, Subject, switchMap, takeUntil, tap, throwError, } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@veloceapps/sdk/core";
7
+ import * as i2 from "@veloceapps/api";
8
+ import * as i3 from "primeng/api";
9
+ import * as i4 from "@veloceapps/sdk/cms";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "@veloceapps/components";
12
+ export class RemoteComponent {
13
+ constructor(contextService, quoteDraftService, quoteApiService, runtimeService, configurationService, messageService, integrationState, location) {
14
+ this.contextService = contextService;
15
+ this.quoteDraftService = quoteDraftService;
16
+ this.quoteApiService = quoteApiService;
17
+ this.runtimeService = runtimeService;
18
+ this.configurationService = configurationService;
19
+ this.messageService = messageService;
20
+ this.integrationState = integrationState;
21
+ this.location = location;
22
+ this.state$ = new BehaviorSubject({ loading: true, failure: false });
23
+ this.DYNAMIC_OPTION_PRODUCTS_KEY = 'Dynamic';
24
+ this.destroyed$ = new Subject();
25
+ this.rpcMessage = JSON.parse(window.RPC_MESSAGE);
26
+ this.rpcMessage.options.sort((a, b) => { var _a, _b; return ((_a = a.featureNumber) !== null && _a !== void 0 ? _a : 99999) - ((_b = b.featureNumber) !== null && _b !== void 0 ? _b : 99999); });
27
+ this.updateHasChildrenFlag(this.rpcMessage.product.configuredProductId);
28
+ // update context properties
29
+ if (this.rpcMessage.quote) {
30
+ const properties = {};
31
+ if (this.rpcMessage.quote.SBQQ__Opportunity2__c) {
32
+ properties.OpportunityId = this.rpcMessage.quote.SBQQ__Opportunity2__c;
33
+ }
34
+ Object.entries(this.rpcMessage.quote).forEach(([key, value]) => {
35
+ if (value !== undefined && !(value instanceof Object)) {
36
+ properties[key] = value;
37
+ }
38
+ });
39
+ this.contextService.update({ properties });
40
+ }
41
+ this.initSubscriptions();
42
+ this.initConfiguration();
43
+ }
44
+ ngOnDestroy() {
45
+ this.destroyed$.next();
46
+ this.destroyed$.complete();
47
+ }
48
+ initConfiguration() {
49
+ const productId = this.rpcMessage.product.configuredProductId;
50
+ const quote = this.quoteDraftService.quoteDraft;
51
+ if (!productId || !quote) {
52
+ return;
53
+ }
54
+ this.runtimeService
55
+ .init({ productId })
56
+ .pipe(first(), tap(context => {
57
+ var _a, _b, _c, _d, _e;
58
+ const pricingEnabled = ((_b = (_a = context === null || context === void 0 ? void 0 : context.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.pricingEnabled) ? 'true' : 'false';
59
+ const priceListId = (_d = (_c = context === null || context === void 0 ? void 0 : context.uiDefinition) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.priceList;
60
+ const runtimeContextProperties = (_e = this.runtimeService.runtimeContext) === null || _e === void 0 ? void 0 : _e.properties;
61
+ if (runtimeContextProperties) {
62
+ runtimeContextProperties.PriceListId = priceListId;
63
+ runtimeContextProperties.PricingEnabled = pricingEnabled;
64
+ }
65
+ this.contextService.update({
66
+ properties: {
67
+ ModelId: context === null || context === void 0 ? void 0 : context.modelId,
68
+ RuntimeMode: 'TEST',
69
+ PricingEnabled: pricingEnabled,
70
+ PriceListId: priceListId,
71
+ },
72
+ });
73
+ this.uiDefinition = context === null || context === void 0 ? void 0 : context.uiDefinition;
74
+ this.configurationService.updateCurrentStates({
75
+ configurableRamp: this.createLineItem(),
76
+ currentState: quote.currentState,
77
+ });
78
+ }), this.throwIfNoUIDefinition(), switchMap(() => this.configurationService.configure()), tap(() => this.state$.next({ loading: false, failure: false })), catchError(error => {
79
+ var _a, _b;
80
+ if (!((_b = (_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
81
+ this.messageService.add({ severity: 'error', summary: error });
82
+ }
83
+ this.state$.next({ loading: false, failure: true });
84
+ return of();
85
+ }), takeUntil(this.destroyed$))
86
+ .subscribe();
87
+ }
88
+ throwIfNoUIDefinition() {
89
+ return (source$) => {
90
+ return source$.pipe(switchMap(() => {
91
+ if (!this.uiDefinition) {
92
+ return throwError(() => 'Product does not have Configuration UI');
93
+ }
94
+ return source$;
95
+ }));
96
+ };
97
+ }
98
+ initSubscriptions() {
99
+ this.integrationState
100
+ .listen$(FlowAction.REMOTE_CANCEL)
101
+ .pipe(tap(() => this.location.back()), takeUntil(this.destroyed$))
102
+ .subscribe();
103
+ this.integrationState
104
+ .listen$(FlowAction.REMOTE_APPLY)
105
+ .pipe(tap(() => this.saveRpcMessage()), takeUntil(this.destroyed$))
106
+ .subscribe();
107
+ }
108
+ createLineItem() {
109
+ var _a, _b;
110
+ const [quoteDraftLineItem] = (_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState) !== null && _b !== void 0 ? _b : [];
111
+ if (quoteDraftLineItem && (quoteDraftLineItem.attributes.length > 0 || quoteDraftLineItem.lineItems.length > 0)) {
112
+ return quoteDraftLineItem;
113
+ }
114
+ const lineItem = this.createRootLineItem();
115
+ const dynamicOptionProducts = this.rpcMessage.product.optionConfigurations[this.DYNAMIC_OPTION_PRODUCTS_KEY];
116
+ if (dynamicOptionProducts) {
117
+ const options = this.toParentChildMap(dynamicOptionProducts);
118
+ let items = [lineItem];
119
+ for (let i = 0; i < items.length; i++) {
120
+ const item = items[i];
121
+ const children = options.get(item.id);
122
+ if (children) {
123
+ item.lineItems = children;
124
+ items = items.concat(children);
125
+ }
126
+ }
127
+ }
128
+ return lineItem;
129
+ }
130
+ createRootLineItem() {
131
+ var _a, _b, _c, _d;
132
+ const product = this.rpcMessage.product;
133
+ const runtimeContext = this.runtimeService.runtimeContext;
134
+ const veloceInstanceId = product.configurationAttributes.VeloceInstanceId__c;
135
+ const quoteId = (_b = (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState[0]) === null || _b === void 0 ? void 0 : _b.id;
136
+ return {
137
+ id: quoteId || veloceInstanceId || UUID.UUID(),
138
+ type: (_c = runtimeContext.productType) !== null && _c !== void 0 ? _c : '',
139
+ name: ((_d = runtimeContext.properties) === null || _d === void 0 ? void 0 : _d.displayName) || runtimeContext.productName,
140
+ productName: runtimeContext.productName,
141
+ productId: runtimeContext.productId,
142
+ cfgStatus: 'Default',
143
+ actionCode: 'ADD',
144
+ qty: 1,
145
+ };
146
+ }
147
+ toParentChildMap(remoteOptionProducts) {
148
+ var _a;
149
+ const result = new Map();
150
+ for (const option of remoteOptionProducts) {
151
+ const configurationData = (_a = option === null || option === void 0 ? void 0 : option.readOnly) === null || _a === void 0 ? void 0 : _a.line;
152
+ const id = configurationData === null || configurationData === void 0 ? void 0 : configurationData.VeloceInstanceId__c;
153
+ const parentId = configurationData === null || configurationData === void 0 ? void 0 : configurationData.VeloceParentInstanceId__c;
154
+ if (!option.selected || !configurationData || !id || !parentId) {
155
+ continue;
156
+ }
157
+ const productId = option.productId;
158
+ const lineItem = {
159
+ id,
160
+ productId,
161
+ parentId,
162
+ type: configurationData.ModelType__c,
163
+ port: configurationData.ModelPort__c,
164
+ cfgStatus: configurationData.ConfigurationStatus__c,
165
+ actionCode: configurationData.ActionCode__c,
166
+ qty: option.Quantity,
167
+ };
168
+ let siblings = result.get(productId);
169
+ if (!siblings) {
170
+ result.set(parentId, (siblings = []));
171
+ }
172
+ siblings.push(lineItem);
173
+ }
174
+ return result;
175
+ }
176
+ saveRpcMessage() {
177
+ var _a;
178
+ const quote = this.quoteDraftService.quoteDraft;
179
+ const lineItem = this.configurationService.getSnapshot();
180
+ if (!quote || !lineItem) {
181
+ return;
182
+ }
183
+ this.rpcMessage.VeloceReferenceId = quote.quoteId;
184
+ this.rpcMessage.product.configurationData.VeloceInstanceId__c = lineItem.id;
185
+ const childItems = this.flattenChildLineItems(lineItem);
186
+ const savingMode = window.SavingMode;
187
+ this.updateContentData(this.rpcMessage.product, lineItem);
188
+ this.rpcMessage.quote = this.mapAttributesTo('Quote', lineItem);
189
+ if (savingMode === 'ALL') {
190
+ const optionConfigurations = this.getOptionConfigurations(this.rpcMessage.product);
191
+ const rootProductOptions = this.rpcMessage.options.filter(po => po.configuredProductId === lineItem.productId);
192
+ childItems.forEach(lineItem => {
193
+ var _a, _b, _c;
194
+ const rootOption = rootProductOptions.find(po => po.optionalProductId === lineItem.productId);
195
+ if (rootOption) {
196
+ const featureOptions = (_a = optionConfigurations[rootOption.featureName]) !== null && _a !== void 0 ? _a : (optionConfigurations[rootOption.featureName] = []);
197
+ const originOption = !rootOption.hasChildren
198
+ ? optionConfigurations[rootOption.featureName].find(({ optionId }) => optionId === rootOption.optionId)
199
+ : undefined;
200
+ const option = originOption !== null && originOption !== void 0 ? originOption : {};
201
+ option.optionId = (_b = option.optionId) !== null && _b !== void 0 ? _b : rootOption.optionId;
202
+ this.updateContentData(option, lineItem);
203
+ option.index = (_c = option.index) !== null && _c !== void 0 ? _c : featureOptions.length;
204
+ option.selected = true;
205
+ if (!originOption) {
206
+ featureOptions.push(option);
207
+ }
208
+ if (lineItem.parentLineItem) {
209
+ const nestedProductOption = this.rpcMessage.options.find(po => {
210
+ var _a;
211
+ return po.configuredProductId === ((_a = lineItem.parentLineItem) === null || _a === void 0 ? void 0 : _a.productId) &&
212
+ po.optionalProductId === lineItem.productId;
213
+ });
214
+ if (nestedProductOption) {
215
+ option.configurationData = Object.assign(Object.assign({}, option.configurationData), { VeloceParentInstanceId__c: lineItem.parentLineItem.id, VeloceNestedOptionId__c: nestedProductOption.optionId, VeloceNestedFeatureId__c: nestedProductOption.featureId });
216
+ }
217
+ }
218
+ }
219
+ else {
220
+ this.rpcMessage.dynamicFeatures.forEach(feature => {
221
+ var _a, _b;
222
+ const featureOptions = (_a = optionConfigurations[feature.name]) !== null && _a !== void 0 ? _a : (optionConfigurations[feature.name] = []);
223
+ const originOption = featureOptions.find(({ productId }) => productId === lineItem.productId);
224
+ const option = originOption !== null && originOption !== void 0 ? originOption : {};
225
+ this.updateContentData(option, lineItem);
226
+ option.index = (_b = option.index) !== null && _b !== void 0 ? _b : featureOptions.length;
227
+ option.selected = true;
228
+ if (!originOption) {
229
+ featureOptions.push(option);
230
+ }
231
+ });
232
+ }
233
+ });
234
+ this.rpcMessage.product = Object.assign(Object.assign({}, this.rpcMessage.product), { optionConfigurations });
235
+ }
236
+ (_a = window.RPC_BROADCAST) === null || _a === void 0 ? void 0 : _a.apply(null, [this.rpcMessage]);
237
+ }
238
+ updateHasChildrenFlag(bundleProductId) {
239
+ const bundleOptionsByOptionId = {};
240
+ const notBundleOptions = [];
241
+ for (const productOption of this.rpcMessage.options) {
242
+ if (productOption.configuredProductId === bundleProductId) {
243
+ bundleOptionsByOptionId[productOption.optionalProductId] = productOption;
244
+ }
245
+ else {
246
+ notBundleOptions.push(productOption);
247
+ }
248
+ }
249
+ for (const option of notBundleOptions) {
250
+ if (bundleOptionsByOptionId[option.configuredProductId]) {
251
+ bundleOptionsByOptionId[option.configuredProductId].hasChildren = true;
252
+ }
253
+ }
254
+ }
255
+ flattenChildLineItems(lineItem) {
256
+ var _a;
257
+ let items = (_a = lineItem.lineItems) !== null && _a !== void 0 ? _a : [];
258
+ for (let i = 0; i < items.length; i++) {
259
+ const item = items[i];
260
+ if (item.lineItems) {
261
+ items = items.concat(item.lineItems.map(li => (Object.assign(Object.assign({}, li), { parentLineItem: item }))));
262
+ }
263
+ }
264
+ return items;
265
+ }
266
+ updateContentData(entity, lineItem) {
267
+ var _a, _b;
268
+ if (lineItem.productId) {
269
+ entity.productId = lineItem.productId;
270
+ }
271
+ const quantityAttribute = lineItem.properties.quantityAttribute;
272
+ entity.Quantity = quantityAttribute
273
+ ? (_b = (_a = lineItem.attributes.find(attribute => attribute.name === quantityAttribute)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1
274
+ : lineItem.qty;
275
+ const totalPrice = this.computeNetPrice(lineItem);
276
+ const targetTotalPriceField = lineItem.properties.TargetTotalPriceField || 'TotalPrice__c';
277
+ entity.configurationData[targetTotalPriceField] = entity.configurationData[targetTotalPriceField]
278
+ ? entity.configurationData[targetTotalPriceField] + totalPrice
279
+ : totalPrice;
280
+ const targetPriceField = lineItem.properties.TargetPriceField || 'SBQQ__ListPrice__c';
281
+ const price = entity.Quantity != null ? entity.configurationData[targetTotalPriceField] / entity.Quantity || 0 : 0;
282
+ const targetPriceValue = Number(entity.configurationData[targetPriceField]) || 0;
283
+ entity.configurationData[targetPriceField] = targetPriceValue
284
+ ? (targetPriceValue + price).toFixed(2)
285
+ : price.toFixed(2);
286
+ entity.configurationAttributes = this.mapAttributesTo('Attribute', lineItem);
287
+ entity.configurationData = Object.assign(Object.assign(Object.assign(Object.assign({}, entity.configurationData), this.mapAttributesTo('Field', lineItem)), this.mapAttributesTo('', lineItem)), { VeloceInstanceId__c: lineItem.id });
288
+ }
289
+ computeNetPrice(lineItem) {
290
+ if (lineItem.properties.GroupCharges) {
291
+ return this.sumNetPrice(lineItem.chargeGroupItems, this.getChargeNameSet(lineItem.properties.GroupCharges));
292
+ }
293
+ return this.sumNetPrice(lineItem.chargeItems, this.getChargeNameSet(lineItem.properties.Charges));
294
+ }
295
+ getChargeNameSet(property) {
296
+ if (property && property.length > 0) {
297
+ return new Set(property.split(','));
298
+ }
299
+ return new Set();
300
+ }
301
+ sumNetPrice(chargeItems, charges) {
302
+ var _a;
303
+ let netPrice = 0;
304
+ for (const chargeItem of chargeItems) {
305
+ if (!charges || charges.has(chargeItem.chargeType)) {
306
+ netPrice += (_a = chargeItem.netPrice) !== null && _a !== void 0 ? _a : 0;
307
+ }
308
+ }
309
+ return netPrice;
310
+ }
311
+ mapAttributesTo(target, lineItem) {
312
+ var _a;
313
+ const result = {};
314
+ const component = (_a = this.runtimeService.runtimeModel) === null || _a === void 0 ? void 0 : _a.components.get(lineItem.type);
315
+ if (!component) {
316
+ return result;
317
+ }
318
+ const propertyName = 'mapTo' + target;
319
+ component.attributes
320
+ .filter(a => a.properties && a.properties[propertyName])
321
+ .forEach(mapping => {
322
+ const attribute = lineItem.attributes.find(a => a.name === mapping.name);
323
+ if (attribute) {
324
+ new Set(mapping.properties[propertyName].split(',')).forEach(k => (result[k] = attribute.value));
325
+ }
326
+ });
327
+ return result;
328
+ }
329
+ getOptionConfigurations(product) {
330
+ var _a;
331
+ const optionConfigurations = {};
332
+ const requestOptionConfigurations = (_a = product.optionConfigurations) !== null && _a !== void 0 ? _a : {};
333
+ Object.keys(requestOptionConfigurations).forEach(k => {
334
+ var _a;
335
+ optionConfigurations[k] = ((_a = requestOptionConfigurations[k]) !== null && _a !== void 0 ? _a : []).map(opt => {
336
+ return Object.assign(Object.assign({}, opt), { selected: false });
337
+ });
338
+ });
339
+ return optionConfigurations;
340
+ }
341
+ }
342
+ RemoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteComponent, deps: [{ token: i1.ContextService }, { token: i1.QuoteDraftService }, { token: i2.QuoteApiService }, { token: i1.ConfigurationRuntimeService }, { token: i1.ConfigurationService }, { token: i3.MessageService }, { token: i4.IntegrationState }, { token: i5.Location }], target: i0.ɵɵFactoryTarget.Component });
343
+ RemoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RemoteComponent, selector: "vl-flow-remote", ngImport: i0, template: "<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-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [""], components: [{ type: i6.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteComponent, decorators: [{
345
+ type: Component,
346
+ args: [{
347
+ selector: 'vl-flow-remote',
348
+ templateUrl: './remote.component.html',
349
+ styleUrls: ['./remote.component.scss'],
350
+ changeDetection: ChangeDetectionStrategy.OnPush,
351
+ }]
352
+ }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.QuoteDraftService }, { type: i2.QuoteApiService }, { type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationService }, { type: i3.MessageService }, { type: i4.IntegrationState }, { type: i5.Location }]; } });
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQVNMLElBQUksR0FFTCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFVbkUsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsS0FBSyxFQUVMLEVBQUUsRUFDRixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQWdCZCxNQUFNLE9BQU8sZUFBZTtJQVMxQixZQUNVLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxjQUEyQyxFQUMzQyxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBUGxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZnJCLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLE9BQU8s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QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNsRztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQW1COztRQUNqRCxNQUFNLG9CQUFvQixHQUE2QyxFQUFFLENBQUM7UUFDMUUsTUFBTSwyQkFBMkIsR0FBRyxNQUFBLE9BQU8sQ0FBQyxvQkFBb0IsbUNBQUksRUFBRSxDQUFDO1FBRXZFLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7O1lBQ25ELG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBQSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN6RSx1Q0FBWSxHQUFHLEtBQUUsUUFBUSxFQUFFLEtBQUssSUFBRztZQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDOzs2R0ExWlUsZUFBZTtpR0FBZixlQUFlLHNEQ3BENUIsd1ZBU0E7NEZEMkNhLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVvdGVBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7XG4gIENoYXJnZUdyb3VwSXRlbSxcbiAgQ29udGV4dFByb3BlcnRpZXMsXG4gIExpbmVJdGVtLFxuICBScGNNZXNzYWdlLFxuICBScGNPcHRpb24sXG4gIFJwY09wdGlvbkNvbmZpZ3VyYXRpb24sXG4gIFJwY1Byb2R1Y3QsXG4gIFJwY1F1b3RlLFxuICBVVUlELFxuICBWbFdpbmRvdyxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBGbG93QWN0aW9uLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBDb250ZXh0U2VydmljZSxcbiAgUXVvdGVEcmFmdFNlcnZpY2UsXG4gIFJ1bnRpbWVDb250ZXh0LFxuICBVSURlZmluaXRpb24sXG59IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBmaXJzdCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZUl0ZW1XaXRoUGFyZW50IH0gZnJvbSAnLi9yZW1vdGUudHlwZXMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctcmVtb3RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlbW90ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlbW90ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBEWU5BTUlDX09QVElPTl9QUk9EVUNUU19LRVkgPSAnRHluYW1pYyc7XG5cbiAgcHJpdmF0ZSBycGNNZXNzYWdlOiBScGNNZXNzYWdlO1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVBcGlTZXJ2aWNlOiBRdW90ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgKSB7XG4gICAgdGhpcy5ycGNNZXNzYWdlID0gSlNPTi5wYXJzZSh3aW5kb3cuUlBDX01FU1NBR0UgYXMgc3RyaW5nKTtcbiAgICB0aGlzLnJwY01lc3NhZ2Uub3B0aW9ucy5zb3J0KChhLCBiKSA9PiAoYS5mZWF0dXJlTnVtYmVyID8/IDk5OTk5KSAtIChiLmZlYXR1cmVOdW1iZXIgPz8gOTk5OTkpKTtcbiAgICB0aGlzLnVwZGF0ZUhhc0NoaWxkcmVuRmxhZyh0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5jb25maWd1cmVkUHJvZHVjdElkKTtcblxuICAgIC8vIHVwZGF0ZSBjb250ZXh0IHByb3BlcnRpZXNcbiAgICBpZiAodGhpcy5ycGNNZXNzYWdlLnF1b3RlKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBDb250ZXh0UHJvcGVydGllcyA9IHt9O1xuXG4gICAgICBpZiAodGhpcy5ycGNNZXNzYWdlLnF1b3RlLlNCUVFfX09wcG9ydHVuaXR5Ml9fYykge1xuICAgICAgICBwcm9wZXJ0aWVzLk9wcG9ydHVuaXR5SWQgPSB0aGlzLnJwY01lc3NhZ2UucXVvdGUuU0JRUV9fT3Bwb3J0dW5pdHkyX19jO1xuICAgICAgfVxuXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLnJwY01lc3NhZ2UucXVvdGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSkge1xuICAgICAgICAgIHByb3BlcnRpZXNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMoKTtcbiAgICB0aGlzLmluaXRDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbmZpZ3VyYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZHVjdElkID0gdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QuY29uZmlndXJlZFByb2R1Y3RJZDtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcHJvZHVjdElkIHx8ICFxdW90ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZVNlcnZpY2VcbiAgICAgIC5pbml0KHsgcHJvZHVjdElkIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFwKGNvbnRleHQgPT4ge1xuICAgICAgICAgIGNvbnN0IHByaWNpbmdFbmFibGVkID0gY29udGV4dD8udWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzPy5wcmljaW5nRW5hYmxlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgICAgICAgY29uc3QgcHJpY2VMaXN0SWQgPSBjb250ZXh0Py51aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnByaWNlTGlzdDtcblxuICAgICAgICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0UHJvcGVydGllcyA9IHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ/LnByb3BlcnRpZXM7XG4gICAgICAgICAgaWYgKHJ1bnRpbWVDb250ZXh0UHJvcGVydGllcykge1xuICAgICAgICAgICAgcnVudGltZUNvbnRleHRQcm9wZXJ0aWVzLlByaWNlTGlzdElkID0gcHJpY2VMaXN0SWQ7XG4gICAgICAgICAgICBydW50aW1lQ29udGV4dFByb3BlcnRpZXMuUHJpY2luZ0VuYWJsZWQgPSBwcmljaW5nRW5hYmxlZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIE1vZGVsSWQ6IGNvbnRleHQ/Lm1vZGVsSWQsXG4gICAgICAgICAgICAgIFJ1bnRpbWVNb2RlOiAnVEVTVCcsXG4gICAgICAgICAgICAgIFByaWNpbmdFbmFibGVkOiBwcmljaW5nRW5hYmxlZCxcbiAgICAgICAgICAgICAgUHJpY2VMaXN0SWQ6IHByaWNlTGlzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uID0gY29udGV4dD8udWlEZWZpbml0aW9uO1xuXG4gICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS51cGRhdGVDdXJyZW50U3RhdGVzKHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZVJhbXA6IHRoaXMuY3JlYXRlTGluZUl0ZW0oKSxcbiAgICAgICAgICAgIGN1cnJlbnRTdGF0ZTogcXVvdGUuY3VycmVudFN0YXRlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGhpcy50aHJvd0lmTm9VSURlZmluaXRpb24oKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlKCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiBmYWxzZSB9KSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHRocm93SWZOb1VJRGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gPFQ+KHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ1Byb2R1Y3QgZG9lcyBub3QgaGF2ZSBDb25maWd1cmF0aW9uIFVJJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHNvdXJjZSQ7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uUkVNT1RFX0NBTkNFTClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5sb2NhdGlvbi5iYWNrKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQoRmxvd0FjdGlvbi5SRU1PVEVfQVBQTFkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2F2ZVJwY01lc3NhZ2UoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lSXRlbSgpOiBMaW5lSXRlbSB7XG4gICAgY29uc3QgW3F1b3RlRHJhZnRMaW5lSXRlbV0gPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgICBpZiAocXVvdGVEcmFmdExpbmVJdGVtICYmIChxdW90ZURyYWZ0TGluZUl0ZW0uYXR0cmlidXRlcy5sZW5ndGggPiAwIHx8IHF1b3RlRHJhZnRMaW5lSXRlbS5saW5lSXRlbXMubGVuZ3RoID4gMCkpIHtcbiAgICAgIHJldHVybiBxdW90ZURyYWZ0TGluZUl0ZW07XG4gICAgfVxuXG4gICAgY29uc3QgbGluZUl0ZW0gPSB0aGlzLmNyZWF0ZVJvb3RMaW5lSXRlbSgpO1xuICAgIGNvbnN0IGR5bmFtaWNPcHRpb25Qcm9kdWN0cyA9IHRoaXMucnBjTWVzc2FnZS5wcm9kdWN0Lm9wdGlvbkNvbmZpZ3VyYXRpb25zW3RoaXMuRFlOQU1JQ19PUFRJT05fUFJPRFVDVFNfS0VZXTtcblxuICAgIGlmIChkeW5hbWljT3B0aW9uUHJvZHVjdHMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnRvUGFyZW50Q2hpbGRNYXAoZHluYW1pY09wdGlvblByb2R1Y3RzKTtcbiAgICAgIGxldCBpdGVtcyA9IFtsaW5lSXRlbV07XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBvcHRpb25zLmdldChpdGVtLmlkKTtcbiAgICAgICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgICAgaXRlbS5saW5lSXRlbXMgPSBjaGlsZHJlbjtcbiAgICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxpbmVJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSb290TGluZUl0ZW0oKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IHByb2R1Y3QgPSB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdDtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQgYXMgUnVudGltZUNvbnRleHQ7XG4gICAgY29uc3QgdmVsb2NlSW5zdGFuY2VJZCA9IHByb2R1Y3QuY29uZmlndXJhdGlvbkF0dHJpYnV0ZXMuVmVsb2NlSW5zdGFuY2VJZF9fYztcbiAgICBjb25zdCBxdW90ZUlkID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGVbMF0/LmlkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBxdW90ZUlkIHx8IHZlbG9jZUluc3RhbmNlSWQgfHwgVVVJRC5VVUlEKCksXG4gICAgICB0eXBlOiBydW50aW1lQ29udGV4dC5wcm9kdWN0VHlwZSA/PyAnJyxcbiAgICAgIG5hbWU6IHJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXM/LmRpc3BsYXlOYW1lIHx8IHJ1bnRpbWVDb250ZXh0LnByb2R1Y3ROYW1lLFxuICAgICAgcHJvZHVjdE5hbWU6IHJ1bnRpbWVDb250ZXh0LnByb2R1Y3ROYW1lLFxuICAgICAgcHJvZHVjdElkOiBydW50aW1lQ29udGV4dC5wcm9kdWN0SWQsXG4gICAgICBjZmdTdGF0dXM6ICdEZWZhdWx0JyxcbiAgICAgIGFjdGlvbkNvZGU6ICdBREQnLFxuICAgICAgcXR5OiAxLFxuICAgIH0gYXMgTGluZUl0ZW07XG4gIH1cblxuICBwcml2YXRlIHRvUGFyZW50Q2hpbGRNYXAocmVtb3RlT3B0aW9uUHJvZHVjdHM6IFJwY09wdGlvbkNvbmZpZ3VyYXRpb25bXSk6IE1hcDxzdHJpbmcsIExpbmVJdGVtW10+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgTGluZUl0ZW1bXT4oKTtcblxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHJlbW90ZU9wdGlvblByb2R1Y3RzKSB7XG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uRGF0YSA9IG9wdGlvbj8ucmVhZE9ubHk/LmxpbmU7XG4gICAgICBjb25zdCBpZCA9IGNvbmZpZ3VyYXRpb25EYXRhPy5WZWxvY2VJbnN0YW5jZUlkX19jO1xuICAgICAgY29uc3QgcGFyZW50SWQgPSBjb25maWd1cmF0aW9uRGF0YT8uVmVsb2NlUGFyZW50SW5zdGFuY2VJZF9fYztcblxuICAgICAgaWYgKCFvcHRpb24uc2VsZWN0ZWQgfHwgIWNvbmZpZ3VyYXRpb25EYXRhIHx8ICFpZCB8fCAhcGFyZW50SWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb2R1Y3RJZCA9IG9wdGlvbi5wcm9kdWN0SWQ7XG4gICAgICBjb25zdCBsaW5lSXRlbSA9IHtcbiAgICAgICAgaWQsXG4gICAgICAgIHByb2R1Y3RJZCxcbiAgICAgICAgcGFyZW50SWQsXG4gICAgICAgIHR5cGU6IGNvbmZpZ3VyYXRpb25EYXRhLk1vZGVsVHlwZV9fYyxcbiAgICAgICAgcG9ydDogY29uZmlndXJhdGlvbkRhdGEuTW9kZWxQb3J0X19jLFxuICAgICAgICBjZmdTdGF0dXM6IGNvbmZpZ3VyYXRpb25EYXRhLkNvbmZpZ3VyYXRpb25TdGF0dXNfX2MsXG4gICAgICAgIGFjdGlvbkNvZGU6IGNvbmZpZ3VyYXRpb25EYXRhLkFjdGlvbkNvZGVfX2MsXG4gICAgICAgIHF0eTogb3B0aW9uLlF1YW50aXR5LFxuICAgICAgfSBhcyBMaW5lSXRlbTtcblxuICAgICAgbGV0IHNpYmxpbmdzID0gcmVzdWx0LmdldChwcm9kdWN0SWQpO1xuICAgICAgaWYgKCFzaWJsaW5ncykge1xuICAgICAgICByZXN1bHQuc2V0KHBhcmVudElkLCAoc2libGluZ3MgPSBbXSkpO1xuICAgICAgfVxuXG4gICAgICBzaWJsaW5ncy5wdXNoKGxpbmVJdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVJwY01lc3NhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG4gICAgY29uc3QgbGluZUl0ZW0gPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldFNuYXBzaG90KCk7XG5cbiAgICBpZiAoIXF1b3RlIHx8ICFsaW5lSXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnBjTWVzc2FnZS5WZWxvY2VSZWZlcmVuY2VJZCA9IHF1b3RlLnF1b3RlSWQ7XG4gICAgdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QuY29uZmlndXJhdGlvbkRhdGEuVmVsb2NlSW5zdGFuY2VJZF9fYyA9IGxpbmVJdGVtLmlkO1xuICAgIGNvbnN0IGNoaWxkSXRlbXMgPSB0aGlzLmZsYXR0ZW5DaGlsZExpbmVJdGVtcyhsaW5lSXRlbSk7XG4gICAgY29uc3Qgc2F2aW5nTW9kZSA9IHdpbmRvdy5TYXZpbmdNb2RlO1xuXG4gICAgdGhpcy51cGRhdGVDb250ZW50RGF0YSh0aGlzLnJwY01lc3NhZ2UucHJvZHVjdCwgbGluZUl0ZW0pO1xuICAgIHRoaXMucnBjTWVzc2FnZS5xdW90ZSA9IHRoaXMubWFwQXR0cmlidXRlc1RvKCdRdW90ZScsIGxpbmVJdGVtKSBhcyBScGNRdW90ZTtcblxuICAgIGlmIChzYXZpbmdNb2RlID09PSAnQUxMJykge1xuICAgICAgY29uc3Qgb3B0aW9uQ29uZmlndXJhdGlvbnMgPSB0aGlzLmdldE9wdGlvbkNvbmZpZ3VyYXRpb25zKHRoaXMucnBjTWVzc2FnZS5wcm9kdWN0KTtcbiAgICAgIGNvbnN0IHJvb3RQcm9kdWN0T3B0aW9ucyA9IHRoaXMucnBjTWVzc2FnZS5vcHRpb25zLmZpbHRlcihwbyA9PiBwby5jb25maWd1cmVkUHJvZHVjdElkID09PSBsaW5lSXRlbS5wcm9kdWN0SWQpO1xuXG4gICAgICBjaGlsZEl0ZW1zLmZvckVhY2gobGluZUl0ZW0gPT4ge1xuICAgICAgICBjb25zdCByb290T3B0aW9uID0gcm9vdFByb2R1Y3RPcHRpb25zLmZpbmQocG8gPT4gcG8ub3B0aW9uYWxQcm9kdWN0SWQgPT09IGxpbmVJdGVtLnByb2R1Y3RJZCk7XG4gICAgICAgIGlmIChyb290T3B0aW9uKSB7XG4gICAgICAgICAgY29uc3QgZmVhdHVyZU9wdGlvbnMgPVxuICAgICAgICAgICAgb3B0aW9uQ29uZmlndXJhdGlvbnNbcm9vdE9wdGlvbi5mZWF0dXJlTmFtZV0gPz8gKG9wdGlvbkNvbmZpZ3VyYXRpb25zW3Jvb3RPcHRpb24uZmVhdHVyZU5hbWVdID0gW10pO1xuICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbiA9ICFyb290T3B0aW9uLmhhc0NoaWxkcmVuXG4gICAgICAgICAgICA/IG9wdGlvbkNvbmZpZ3VyYXRpb25zW3Jvb3RPcHRpb24uZmVhdHVyZU5hbWVdLmZpbmQoKHsgb3B0aW9uSWQgfSkgPT4gb3B0aW9uSWQgPT09IHJvb3RPcHRpb24ub3B0aW9uSWQpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICBjb25zdCBvcHRpb246IFJwY09wdGlvbkNvbmZpZ3VyYXRpb24gPSBvcmlnaW5PcHRpb24gPz8gKHt9IGFzIFJwY09wdGlvbkNvbmZpZ3VyYXRpb24pO1xuXG4gICAgICAgICAgb3B0aW9uLm9wdGlvbklkID0gb3B0aW9uLm9wdGlvbklkID8/IHJvb3RPcHRpb24ub3B0aW9uSWQ7XG4gICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50RGF0YShvcHRpb24sIGxpbmVJdGVtKTtcbiAgICAgICAgICBvcHRpb24uaW5kZXggPSBvcHRpb24uaW5kZXggPz8gZmVhdHVyZU9wdGlvbnMubGVuZ3RoO1xuICAgICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHRydWU7XG5cbiAgICAgICAgICBpZiAoIW9yaWdpbk9wdGlvbikge1xuICAgICAgICAgICAgZmVhdHVyZU9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChsaW5lSXRlbS5wYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgY29uc3QgbmVzdGVkUHJvZHVjdE9wdGlvbiA9IHRoaXMucnBjTWVzc2FnZS5vcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIHBvID0+XG4gICAgICAgICAgICAgICAgcG8uY29uZmlndXJlZFByb2R1Y3RJZCA9PT0gbGluZUl0ZW0ucGFyZW50TGluZUl0ZW0/LnByb2R1Y3RJZCAmJlxuICAgICAgICAgICAgICAgIHBvLm9wdGlvbmFsUHJvZHVjdElkID09PSBsaW5lSXRlbS5wcm9kdWN0SWQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAobmVzdGVkUHJvZHVjdE9wdGlvbikge1xuICAgICAgICAgICAgICBvcHRpb24uY29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uLmNvbmZpZ3VyYXRpb25EYXRhLFxuICAgICAgICAgICAgICAgIFZlbG9jZVBhcmVudEluc3RhbmNlSWRfX2M6IGxpbmVJdGVtLnBhcmVudExpbmVJdGVtLmlkLFxuICAgICAgICAgICAgICAgIFZlbG9jZU5lc3RlZE9wdGlvbklkX19jOiBuZXN0ZWRQcm9kdWN0T3B0aW9uLm9wdGlvbklkLFxuICAgICAgICAgICAgICAgIFZlbG9jZU5lc3RlZEZlYXR1cmVJZF9fYzogbmVzdGVkUHJvZHVjdE9wdGlvbi5mZWF0dXJlSWQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucnBjTWVzc2FnZS5keW5hbWljRmVhdHVyZXMuZm9yRWFjaChmZWF0dXJlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVPcHRpb25zID0gb3B0aW9uQ29uZmlndXJhdGlvbnNbZmVhdHVyZS5uYW1lXSA/PyAob3B0aW9uQ29uZmlndXJhdGlvbnNbZmVhdHVyZS5uYW1lXSA9IFtdKTtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbiA9IGZlYXR1cmVPcHRpb25zLmZpbmQoKHsgcHJvZHVjdElkIH0pID0+IHByb2R1Y3RJZCA9PT0gbGluZUl0ZW0ucHJvZHVjdElkKTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbjogUnBjT3B0aW9uQ29uZmlndXJhdGlvbiA9IG9yaWdpbk9wdGlvbiA/PyAoe30gYXMgUnBjT3B0aW9uQ29uZmlndXJhdGlvbik7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudERhdGEob3B0aW9uLCBsaW5lSXRlbSk7XG4gICAgICAgICAgICBvcHRpb24uaW5kZXggPSBvcHRpb24uaW5kZXggPz8gZmVhdHVyZU9wdGlvbnMubGVuZ3RoO1xuICAgICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKCFvcmlnaW5PcHRpb24pIHtcbiAgICAgICAgICAgICAgZmVhdHVyZU9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QgPSB7IC4uLnRoaXMucnBjTWVzc2FnZS5wcm9kdWN0LCBvcHRpb25Db25maWd1cmF0aW9ucyB9O1xuICAgIH1cblxuICAgIHdpbmRvdy5SUENfQlJPQURDQVNUPy5hcHBseShudWxsLCBbdGhpcy5ycGNNZXNzYWdlXSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUhhc0NoaWxkcmVuRmxhZyhidW5kbGVQcm9kdWN0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGJ1bmRsZU9wdGlvbnNCeU9wdGlvbklkOiBSZWNvcmQ8c3RyaW5nLCBScGNPcHRpb24+ID0ge307XG4gICAgY29uc3Qgbm90QnVuZGxlT3B0aW9uczogUnBjT3B0aW9uW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHByb2R1Y3RPcHRpb24gb2YgdGhpcy5ycGNNZXNzYWdlLm9wdGlvbnMpIHtcbiAgICAgIGlmIChwcm9kdWN0T3B0aW9uLmNvbmZpZ3VyZWRQcm9kdWN0SWQgPT09IGJ1bmRsZVByb2R1Y3RJZCkge1xuICAgICAgICBidW5kbGVPcHRpb25zQnlPcHRpb25JZFtwcm9kdWN0T3B0aW9uLm9wdGlvbmFsUHJvZHVjdElkXSA9IHByb2R1Y3RPcHRpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub3RCdW5kbGVPcHRpb25zLnB1c2gocHJvZHVjdE9wdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG5vdEJ1bmRsZU9wdGlvbnMpIHtcbiAgICAgIGlmIChidW5kbGVPcHRpb25zQnlPcHRpb25JZFtvcHRpb24uY29uZmlndXJlZFByb2R1Y3RJZF0pIHtcbiAgICAgICAgYnVuZGxlT3B0aW9uc0J5T3B0aW9uSWRbb3B0aW9uLmNvbmZpZ3VyZWRQcm9kdWN0SWRdLmhhc0NoaWxkcmVuID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5DaGlsZExpbmVJdGVtcyhsaW5lSXRlbTogTGluZUl0ZW0pOiBMaW5lSXRlbVdpdGhQYXJlbnRbXSB7XG4gICAgbGV0IGl0ZW1zID0gbGluZUl0ZW0ubGluZUl0ZW1zID8/IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXTtcbiAgICAgIGlmIChpdGVtLmxpbmVJdGVtcykge1xuICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChpdGVtLmxpbmVJdGVtcy5tYXAobGkgPT4gKHsgLi4ubGksIHBhcmVudExpbmVJdGVtOiBpdGVtIH0pKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udGVudERhdGEoZW50aXR5OiBScGNQcm9kdWN0IHwgUnBjT3B0aW9uQ29uZmlndXJhdGlvbiwgbGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGxpbmVJdGVtLnByb2R1Y3RJZCkge1xuICAgICAgZW50aXR5LnByb2R1Y3RJZCA9IGxpbmVJdGVtLnByb2R1Y3RJZDtcbiAgICB9XG5cbiAgICBjb25zdCBxdWFudGl0eUF0dHJpYnV0ZSA9IGxpbmVJdGVtLnByb3BlcnRpZXMucXVhbnRpdHlBdHRyaWJ1dGU7XG4gICAgZW50aXR5LlF1YW50aXR5ID0gcXVhbnRpdHlBdHRyaWJ1dGVcbiAgICAgID8gbGluZUl0ZW0uYXR0cmlidXRlcy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gcXVhbnRpdHlBdHRyaWJ1dGUpPy52YWx1ZSA/PyAxXG4gICAgICA6IGxpbmVJdGVtLnF0eTtcblxuICAgIGNvbnN0IHRvdGFsUHJpY2UgPSB0aGlzLmNvbXB1dGVOZXRQcmljZShsaW5lSXRlbSk7XG4gICAgY29uc3QgdGFyZ2V0VG90YWxQcmljZUZpZWxkID0gbGluZUl0ZW0ucHJvcGVydGllcy5UYXJnZXRUb3RhbFByaWNlRmllbGQgfHwgJ1RvdGFsUHJpY2VfX2MnO1xuICAgIGVudGl0eS5jb25maWd1cmF0aW9uRGF0YVt0YXJnZXRUb3RhbFByaWNlRmllbGRdID0gZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhW3RhcmdldFRvdGFsUHJpY2VGaWVsZF1cbiAgICAgID8gZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhW3RhcmdldFRvdGFsUHJpY2VGaWVsZF0gKyB0b3RhbFByaWNlXG4gICAgICA6IHRvdGFsUHJpY2U7XG5cbiAgICBjb25zdCB0YXJnZXRQcmljZUZpZWxkID0gbGluZUl0ZW0ucHJvcGVydGllcy5UYXJnZXRQcmljZUZpZWxkIHx8ICdTQlFRX19MaXN0UHJpY2VfX2MnO1xuICAgIGNvbnN0IHByaWNlID0gZW50aXR5LlF1YW50aXR5ICE9IG51bGwgPyBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGFbdGFyZ2V0VG90YWxQcmljZUZpZWxkXSAvIGVudGl0eS5RdWFudGl0eSB8fCAwIDogMDtcbiAgICBjb25zdCB0YXJnZXRQcmljZVZhbHVlID0gTnVtYmVyKGVudGl0eS5jb25maWd1cmF0aW9uRGF0YVt0YXJnZXRQcmljZUZpZWxkXSkgfHwgMDtcbiAgICBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGFbdGFyZ2V0UHJpY2VGaWVsZF0gPSB0YXJnZXRQcmljZVZhbHVlXG4gICAgICA/ICh0YXJnZXRQcmljZVZhbHVlICsgcHJpY2UpLnRvRml4ZWQoMilcbiAgICAgIDogcHJpY2UudG9GaXhlZCgyKTtcblxuICAgIGVudGl0eS5jb25maWd1cmF0aW9uQXR0cmlidXRlcyA9IHRoaXMubWFwQXR0cmlidXRlc1RvKCdBdHRyaWJ1dGUnLCBsaW5lSXRlbSk7XG4gICAgZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhID0ge1xuICAgICAgLi4uZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhLFxuICAgICAgLi4udGhpcy5tYXBBdHRyaWJ1dGVzVG8oJ0ZpZWxkJywgbGluZUl0ZW0pLFxuICAgICAgLi4udGhpcy5tYXBBdHRyaWJ1dGVzVG8oJycsIGxpbmVJdGVtKSxcbiAgICAgIFZlbG9jZUluc3RhbmNlSWRfX2M6IGxpbmVJdGVtLmlkLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVOZXRQcmljZShsaW5lSXRlbTogTGluZUl0ZW0pOiBudW1iZXIge1xuICAgIGlmIChsaW5lSXRlbS5wcm9wZXJ0aWVzLkdyb3VwQ2hhcmdlcykge1xuICAgICAgcmV0dXJuIHRoaXMuc3VtTmV0UHJpY2UobGluZUl0ZW0uY2hhcmdlR3JvdXBJdGVtcywgdGhpcy5nZXRDaGFyZ2VOYW1lU2V0KGxpbmVJdGVtLnByb3BlcnRpZXMuR3JvdXBDaGFyZ2VzKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3VtTmV0UHJpY2UobGluZUl0ZW0uY2hhcmdlSXRlbXMsIHRoaXMuZ2V0Q2hhcmdlTmFtZVNldChsaW5lSXRlbS5wcm9wZXJ0aWVzLkNoYXJnZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hhcmdlTmFtZVNldChwcm9wZXJ0eT86IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgICBpZiAocHJvcGVydHkgJiYgcHJvcGVydHkubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIG5ldyBTZXQocHJvcGVydHkuc3BsaXQoJywnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3VtTmV0UHJpY2UoY2hhcmdlSXRlbXM6IENoYXJnZUdyb3VwSXRlbVtdLCBjaGFyZ2VzOiBTZXQ8c3RyaW5nPik6IG51bWJlciB7XG4gICAgbGV0IG5ldFByaWNlID0gMDtcblxuICAgIGZvciAoY29uc3QgY2hhcmdlSXRlbSBvZiBjaGFyZ2VJdGVtcykge1xuICAgICAgaWYgKCFjaGFyZ2VzIHx8IGNoYXJnZXMuaGFzKGNoYXJnZUl0ZW0uY2hhcmdlVHlwZSkpIHtcbiAgICAgICAgbmV0UHJpY2UgKz0gY2hhcmdlSXRlbS5uZXRQcmljZSA/PyAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXRQcmljZTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwQXR0cmlidXRlc1RvKHRhcmdldDogc3RyaW5nLCBsaW5lSXRlbTogTGluZUl0ZW0pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVNb2RlbD8uY29tcG9uZW50cy5nZXQobGluZUl0ZW0udHlwZSk7XG5cbiAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSAnbWFwVG8nICsgdGFyZ2V0O1xuICAgIGNvbXBvbmVudC5hdHRyaWJ1dGVzXG4gICAgICAuZmlsdGVyKGEgPT4gYS5wcm9wZXJ0aWVzICYmIGEucHJvcGVydGllc1twcm9wZXJ0eU5hbWVdKVxuICAgICAgLmZvckVhY2gobWFwcGluZyA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGxpbmVJdGVtLmF0dHJpYnV0ZXMuZmluZChhID0+IGEubmFtZSA9PT0gbWFwcGluZy5uYW1lKTtcblxuICAgICAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICAgICAgbmV3IFNldChtYXBwaW5nLnByb3BlcnRpZXNbcHJvcGVydHlOYW1lXS5zcGxpdCgnLCcpKS5mb3JFYWNoKGsgPT4gKHJlc3VsdFtrXSA9IGF0dHJpYnV0ZS52YWx1ZSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE9wdGlvbkNvbmZpZ3VyYXRpb25zKHByb2R1Y3Q6IFJwY1Byb2R1Y3QpOiBSZWNvcmQ8c3RyaW5nLCBScGNPcHRpb25Db25maWd1cmF0aW9uW10+IHtcbiAgICBjb25zdCBvcHRpb25Db25maWd1cmF0aW9uczogUmVjb3JkPHN0cmluZywgUnBjT3B0aW9uQ29uZmlndXJhdGlvbltdPiA9IHt9O1xuICAgIGNvbnN0IHJlcXVlc3RPcHRpb25Db25maWd1cmF0aW9ucyA9IHByb2R1Y3Qub3B0aW9uQ29uZmlndXJhdGlvbnMgPz8ge307XG5cbiAgICBPYmplY3Qua2V5cyhyZXF1ZXN0T3B0aW9uQ29uZmlndXJhdGlvbnMpLmZvckVhY2goayA9PiB7XG4gICAgICBvcHRpb25Db25maWd1cmF0aW9uc1trXSA9IChyZXF1ZXN0T3B0aW9uQ29uZmlndXJhdGlvbnNba10gPz8gW10pLm1hcChvcHQgPT4ge1xuICAgICAgICByZXR1cm4geyAuLi5vcHQsIHNlbGVjdGVkOiBmYWxzZSB9O1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0aW9uQ29uZmlndXJhdGlvbnM7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICA8dmwtbG9hZGVyICpuZ0lmPVwic3RhdGUubG9hZGluZzsgZWxzZSBjb250ZW50XCIgW2xhYmVsXT1cIidMb2FkaW5nIFVJJ1wiPjwvdmwtbG9hZGVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlLmZhaWx1cmVcIj5cbiAgICAgIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { LoaderModule } from '@veloceapps/components';
4
+ import { PreviewModule } from '@veloceapps/sdk/cms';
5
+ import { RemoteComponent } from './remote.component';
6
+ import * as i0 from "@angular/core";
7
+ export class RemoteModule {
8
+ }
9
+ RemoteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ RemoteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteModule, declarations: [RemoteComponent], imports: [CommonModule, PreviewModule, LoaderModule], exports: [RemoteComponent] });
11
+ RemoteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteModule, imports: [[CommonModule, PreviewModule, LoaderModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [RemoteComponent],
16
+ imports: [CommonModule, PreviewModule, LoaderModule],
17
+ exports: [RemoteComponent],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFPckQsTUFBTSxPQUFPLFlBQVk7OzBHQUFaLFlBQVk7MkdBQVosWUFBWSxpQkFKUixlQUFlLGFBQ3BCLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxhQUN6QyxlQUFlOzJHQUVkLFlBQVksWUFIZCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDOzRGQUd6QyxZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJldmlld01vZHVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jbXMnO1xuaW1wb3J0IHsgUmVtb3RlQ29tcG9uZW50IH0gZnJvbSAnLi9yZW1vdGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUmVtb3RlQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHJldmlld01vZHVsZSwgTG9hZGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW1JlbW90ZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL3BhZ2VzL3JlbW90ZS9yZW1vdGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUl0ZW1XaXRoUGFyZW50IGV4dGVuZHMgTGluZUl0ZW0ge1xuICBwYXJlbnRMaW5lSXRlbT86IExpbmVJdGVtO1xufVxuIl19