@veloceapps/sdk 5.0.14-8 → 5.0.14-GOOGLE

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 (257) hide show
  1. package/bundles/{veloceapps-sdk-cms.umd.js → veloce-sdk-cms.umd.js} +15 -16
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -0
  3. package/bundles/{veloceapps-sdk-core.umd.js → veloce-sdk-core.umd.js} +42 -197
  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} +23 -27
  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/index.d.ts +0 -1
  34. package/core/services/product-images.service.d.ts +1 -1
  35. package/core/services/quote-draft.service.d.ts +3 -5
  36. package/core/types/quote-states.types.d.ts +1 -1
  37. package/core/types/runtime.types.d.ts +1 -1
  38. package/core/utils/line-item.utils.d.ts +1 -2
  39. package/core/utils/line-item.worker.d.ts +1 -1
  40. package/{cms/veloceapps-sdk-cms.d.ts → core/veloce-sdk-core.d.ts} +1 -1
  41. package/esm2015/cms/cms.default.js +1 -1
  42. package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
  43. package/esm2015/cms/components/preview/preview.component.js +3 -3
  44. package/esm2015/cms/components/preview/preview.module.js +2 -2
  45. package/esm2015/cms/injection-tokens.js +1 -1
  46. package/esm2015/cms/launcher.module.js +4 -4
  47. package/esm2015/cms/modules/federated/federated.component.js +1 -1
  48. package/esm2015/cms/modules/federated/federated.module.js +2 -2
  49. package/esm2015/cms/plugins/configuration.plugin.js +2 -2
  50. package/esm2015/cms/plugins/script.plugin.js +2 -2
  51. package/esm2015/cms/services/launcher.service.js +2 -3
  52. package/esm2015/cms/types/configuration.types.js +1 -1
  53. package/esm2015/cms/utils/element.utils.js +1 -1
  54. package/esm2015/cms/utils/elements-resolver.js +1 -1
  55. package/esm2015/cms/veloce-sdk-cms.js +5 -0
  56. package/esm2015/cms/vendor-map.js +12 -9
  57. package/esm2015/core/core.module.js +4 -4
  58. package/esm2015/core/modules/configuration/configuration.module.js +3 -3
  59. package/esm2015/core/modules/configuration/helpers.js +2 -2
  60. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +3 -3
  61. package/esm2015/core/modules/configuration/services/configuration.service.js +4 -4
  62. package/esm2015/core/modules/configuration/services/runtime-context.service.js +3 -3
  63. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +1 -1
  64. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +2 -2
  65. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +3 -10
  66. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +2 -2
  67. package/esm2015/core/services/context.service.js +3 -3
  68. package/esm2015/core/services/index.js +1 -2
  69. package/esm2015/core/services/product-images.service.js +2 -2
  70. package/esm2015/core/services/quote-draft.service.js +7 -17
  71. package/esm2015/core/types/quote-states.types.js +1 -1
  72. package/esm2015/core/types/runtime.types.js +1 -1
  73. package/esm2015/core/utils/line-item.utils.js +3 -14
  74. package/esm2015/core/utils/line-item.worker.js +1 -1
  75. package/esm2015/core/veloce-sdk-core.js +5 -0
  76. package/esm2015/runtime/components/component-preview/component-preview.component.js +3 -3
  77. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +1 -1
  78. package/esm2015/runtime/components/ui-runtime/runtime.component.js +5 -5
  79. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +5 -5
  80. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +2 -2
  81. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +2 -2
  82. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +1 -1
  83. package/esm2015/runtime/execution/components/federated/federated.component.js +1 -1
  84. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +1 -1
  85. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +3 -3
  86. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +1 -1
  87. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +2 -2
  88. package/esm2015/runtime/execution/directives/section-script.directive.js +3 -3
  89. package/esm2015/runtime/execution/directives/sf-query.directive.js +2 -2
  90. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +2 -2
  91. package/esm2015/runtime/execution/directives/velo-port.directive.js +3 -3
  92. package/esm2015/runtime/execution/directives/vl-approval.directive.js +2 -2
  93. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +2 -2
  94. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +2 -2
  95. package/esm2015/runtime/execution/directives/vl-quote.directive.js +3 -3
  96. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +3 -3
  97. package/esm2015/runtime/execution/runtime-execution.module.js +6 -6
  98. package/esm2015/runtime/runtime.module.js +6 -6
  99. package/esm2015/runtime/services/cart.service.js +3 -3
  100. package/esm2015/runtime/services/configuration.service.js +6 -6
  101. package/esm2015/runtime/services/current-state.service.js +1 -1
  102. package/esm2015/runtime/services/product-model-cache.service.js +2 -2
  103. package/esm2015/runtime/services/runtime-context.service.js +5 -5
  104. package/esm2015/runtime/services/runtime-form.service.js +2 -2
  105. package/esm2015/runtime/services/runtime.service.js +3 -3
  106. package/esm2015/runtime/services/section-helper.service.js +2 -2
  107. package/esm2015/runtime/services/section-scope.service.js +1 -1
  108. package/esm2015/runtime/services/section-store.service.js +1 -1
  109. package/esm2015/runtime/services/section.service.js +3 -3
  110. package/esm2015/runtime/types/bound-data.types.js +1 -1
  111. package/esm2015/runtime/types/runtime.types.js +1 -1
  112. package/esm2015/runtime/types/script-registry.types.js +2 -2
  113. package/esm2015/runtime/utils/line-item.util.js +2 -2
  114. package/esm2015/runtime/utils/section.utils.js +2 -2
  115. package/esm2015/runtime/utils/sections-binder.helper.js +2 -2
  116. package/esm2015/runtime/veloce-sdk-runtime.js +5 -0
  117. package/esm2015/src/components/doc-gen/doc-gen.component.js +8 -8
  118. package/esm2015/src/components/doc-gen/doc-gen.module.js +2 -2
  119. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +3 -3
  120. package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +2 -2
  121. package/esm2015/src/components/header/header.component.js +7 -7
  122. package/esm2015/src/components/header/header.module.js +2 -2
  123. package/esm2015/src/components/header/metrics/metrics.component.js +15 -19
  124. package/esm2015/src/components/header/metrics/metrics.definitions.js +6 -6
  125. package/esm2015/src/components/header/metrics/metrics.module.js +2 -2
  126. package/esm2015/src/flow.component.js +4 -4
  127. package/esm2015/src/flow.module.js +5 -5
  128. package/esm2015/src/guards/context.guard.js +3 -3
  129. package/esm2015/src/guards/product-unload.guard.js +2 -2
  130. package/esm2015/src/pages/catalog/catalog.component.js +7 -7
  131. package/esm2015/src/pages/catalog/catalog.module.js +3 -3
  132. package/esm2015/src/pages/debug/debug.component.js +3 -3
  133. package/esm2015/src/pages/empty-account/empty-account.component.js +1 -1
  134. package/esm2015/src/pages/empty-account/empty-account.module.js +3 -3
  135. package/esm2015/src/pages/legacy-product/legacy-product.component.js +6 -6
  136. package/esm2015/src/pages/legacy-product/legacy-product.module.js +2 -2
  137. package/esm2015/src/pages/product/product.component.js +4 -4
  138. package/esm2015/src/pages/product/product.module.js +3 -3
  139. package/esm2015/src/pages/remote/remote.component.js +7 -7
  140. package/esm2015/src/pages/remote/remote.module.js +3 -3
  141. package/esm2015/src/pages/remote/remote.types.js +1 -1
  142. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +7 -7
  143. package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +3 -3
  144. package/esm2015/src/resolvers/flow.resolver.js +3 -3
  145. package/esm2015/src/resolvers/quote.resolver.js +11 -11
  146. package/esm2015/src/services/doc-gen.service.js +3 -3
  147. package/esm2015/src/services/flow-dialog.service.js +2 -2
  148. package/esm2015/src/services/flow-router.service.js +3 -3
  149. package/esm2015/src/services/flow.service.js +4 -4
  150. package/esm2015/src/types/context-route.types.js +1 -1
  151. package/esm2015/src/types/flow-customization.types.js +1 -1
  152. package/esm2015/src/utils/flow.utils.js +2 -2
  153. package/esm2015/veloce-sdk.js +5 -0
  154. package/fesm2015/{veloceapps-sdk-cms.js → veloce-sdk-cms.js} +17 -15
  155. package/fesm2015/veloce-sdk-cms.js.map +1 -0
  156. package/fesm2015/{veloceapps-sdk-core.js → veloce-sdk-core.js} +38 -174
  157. package/fesm2015/veloce-sdk-core.js.map +1 -0
  158. package/fesm2015/{veloceapps-sdk-runtime.js → veloce-sdk-runtime.js} +10 -10
  159. package/fesm2015/veloce-sdk-runtime.js.map +1 -0
  160. package/fesm2015/{veloceapps-sdk.js → veloce-sdk.js} +32 -36
  161. package/fesm2015/veloce-sdk.js.map +1 -0
  162. package/package.json +13 -14
  163. package/runtime/components/component-preview/component-preview.component.d.ts +1 -1
  164. package/runtime/components/section-renderer/section-renderer.component.d.ts +1 -1
  165. package/runtime/components/ui-runtime/runtime.component.d.ts +2 -2
  166. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
  167. package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +1 -1
  168. package/runtime/execution/components/context-provider/context-provider.component.d.ts +2 -2
  169. package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +1 -1
  170. package/runtime/execution/components/federated/federated.component.d.ts +1 -1
  171. package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +1 -1
  172. package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +1 -1
  173. package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +1 -1
  174. package/runtime/execution/components/velo-type/velo-type.component.d.ts +1 -1
  175. package/runtime/execution/directives/section-script.directive.d.ts +1 -1
  176. package/runtime/execution/directives/sf-query.directive.d.ts +2 -2
  177. package/runtime/execution/directives/velo-attribute.directive.d.ts +1 -1
  178. package/runtime/execution/directives/velo-port.directive.d.ts +1 -1
  179. package/runtime/execution/directives/vl-approval.directive.d.ts +2 -2
  180. package/runtime/execution/directives/vl-document-attachments.directive.d.ts +2 -2
  181. package/runtime/execution/directives/vl-document-templates.directive.d.ts +2 -2
  182. package/runtime/execution/directives/vl-quote.directive.d.ts +2 -2
  183. package/runtime/execution/directives/vl-ramp.directive.d.ts +3 -3
  184. package/runtime/execution/runtime-execution.module.d.ts +5 -5
  185. package/runtime/package.json +7 -7
  186. package/runtime/runtime.module.d.ts +5 -5
  187. package/runtime/services/cart.service.d.ts +3 -3
  188. package/runtime/services/configuration.service.d.ts +3 -3
  189. package/runtime/services/current-state.service.d.ts +1 -1
  190. package/runtime/services/product-model-cache.service.d.ts +2 -2
  191. package/runtime/services/runtime-context.service.d.ts +2 -2
  192. package/runtime/services/runtime-form.service.d.ts +1 -1
  193. package/runtime/services/runtime.service.d.ts +2 -2
  194. package/runtime/services/section-helper.service.d.ts +1 -1
  195. package/runtime/services/section-scope.service.d.ts +1 -1
  196. package/runtime/services/section-store.service.d.ts +1 -1
  197. package/runtime/services/section.service.d.ts +1 -1
  198. package/runtime/types/bound-data.types.d.ts +1 -1
  199. package/runtime/types/runtime.types.d.ts +2 -2
  200. package/runtime/utils/line-item.util.d.ts +1 -1
  201. package/runtime/utils/section.utils.d.ts +1 -1
  202. package/runtime/utils/sections-binder.helper.d.ts +1 -1
  203. package/{core/veloceapps-sdk-core.d.ts → runtime/veloce-sdk-runtime.d.ts} +1 -1
  204. package/src/components/doc-gen/doc-gen.component.d.ts +3 -3
  205. package/src/components/doc-gen/doc-gen.module.d.ts +1 -1
  206. package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
  207. package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
  208. package/src/components/header/header.component.d.ts +4 -4
  209. package/src/components/header/header.module.d.ts +1 -1
  210. package/src/components/header/metrics/metrics.component.d.ts +4 -5
  211. package/src/components/header/metrics/metrics.definitions.d.ts +1 -1
  212. package/src/components/header/metrics/metrics.module.d.ts +1 -1
  213. package/src/flow.component.d.ts +2 -2
  214. package/src/flow.module.d.ts +4 -4
  215. package/src/guards/context.guard.d.ts +1 -1
  216. package/src/guards/product-unload.guard.d.ts +1 -1
  217. package/src/pages/catalog/catalog.component.d.ts +3 -3
  218. package/src/pages/catalog/catalog.module.d.ts +2 -2
  219. package/src/pages/debug/debug.component.d.ts +3 -3
  220. package/src/pages/empty-account/empty-account.module.d.ts +2 -2
  221. package/src/pages/legacy-product/legacy-product.component.d.ts +4 -4
  222. package/src/pages/legacy-product/legacy-product.module.d.ts +1 -1
  223. package/src/pages/product/product.component.d.ts +1 -1
  224. package/src/pages/product/product.module.d.ts +2 -2
  225. package/src/pages/remote/remote.component.d.ts +3 -3
  226. package/src/pages/remote/remote.module.d.ts +2 -2
  227. package/src/pages/remote/remote.types.d.ts +1 -1
  228. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  229. package/src/pages/shopping-cart/shopping-cart.module.d.ts +2 -2
  230. package/src/resolvers/flow.resolver.d.ts +2 -2
  231. package/src/resolvers/quote.resolver.d.ts +1 -1
  232. package/src/services/doc-gen.service.d.ts +1 -1
  233. package/src/services/flow-dialog.service.d.ts +1 -1
  234. package/src/services/flow-router.service.d.ts +1 -1
  235. package/src/services/flow.service.d.ts +2 -2
  236. package/src/types/context-route.types.d.ts +1 -1
  237. package/src/types/flow-customization.types.d.ts +2 -2
  238. package/src/utils/flow.utils.d.ts +1 -1
  239. package/{runtime/veloceapps-sdk-runtime.d.ts → veloce-sdk.d.ts} +1 -1
  240. package/bundles/veloceapps-sdk-cms.umd.js.map +0 -1
  241. package/bundles/veloceapps-sdk-core.umd.js.map +0 -1
  242. package/bundles/veloceapps-sdk-runtime.umd.js.map +0 -1
  243. package/bundles/veloceapps-sdk.umd.js.map +0 -1
  244. package/core/services/metric-calculation/metric-calculation.service.d.ts +0 -21
  245. package/core/services/metric-calculation/metric-calculation.types.d.ts +0 -1
  246. package/core/services/metric-calculation/metric-calculation.utils.d.ts +0 -5
  247. package/esm2015/cms/veloceapps-sdk-cms.js +0 -5
  248. package/esm2015/core/services/metric-calculation/metric-calculation.service.js +0 -74
  249. package/esm2015/core/services/metric-calculation/metric-calculation.types.js +0 -2
  250. package/esm2015/core/services/metric-calculation/metric-calculation.utils.js +0 -42
  251. package/esm2015/core/veloceapps-sdk-core.js +0 -5
  252. package/esm2015/runtime/veloceapps-sdk-runtime.js +0 -5
  253. package/esm2015/veloceapps-sdk.js +0 -5
  254. package/fesm2015/veloceapps-sdk-cms.js.map +0 -1
  255. package/fesm2015/veloceapps-sdk-core.js.map +0 -1
  256. package/fesm2015/veloceapps-sdk-runtime.js.map +0 -1
  257. package/fesm2015/veloceapps-sdk.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { UIDefinitionType } from '@veloceapps/sdk/core';
1
+ import { UIDefinitionType } from '@veloce/sdk/core';
2
2
  import { Plugin } from './engine/models/plugin';
3
3
  export declare const DEFAULT_PLUGINS: {
4
4
  [key in UIDefinitionType]: typeof Plugin[];
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, ElementRef, Injector, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
2
- import { ConfigurationService } from '@veloceapps/sdk/core';
2
+ import { ConfigurationService } from '@veloce/sdk/core';
3
3
  import { DynamicModuleService } from '../../services/dynamic-module.service';
4
4
  import { ElementContextService } from '../../services/element-context.service';
5
5
  import { IOProviderService } from '../../services/io-provider.service';
@@ -1,5 +1,5 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
- import { ConfigurationRuntimeService, ConfigurationService, UIDefinition } from '@veloceapps/sdk/core';
2
+ import { ConfigurationRuntimeService, ConfigurationService, UIDefinition } from '@veloce/sdk/core';
3
3
  import { MessageService } from 'primeng/api';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import { IntegrationState } from '../../services';
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./preview.component";
3
3
  import * as i2 from "@angular/common";
4
- import * as i3 from "@veloceapps/components";
4
+ import * as i3 from "@veloce/components";
5
5
  import * as i4 from "../element-renderer/element-renderer.module";
6
6
  import * as i5 from "../element-children/element-children.module";
7
7
  export declare class PreviewModule {
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { UIDefinitionMetadata } from '@veloceapps/sdk/core';
2
+ import { UIDefinitionMetadata } from '@veloce/sdk/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { Plugin } from './engine/models/plugin';
5
5
  import { ElementConfig, ElementMetadata } from './types/common.types';
@@ -1,8 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@angular/common";
3
- import * as i2 from "@veloceapps/core";
4
- import * as i3 from "@veloceapps/api";
5
- import * as i4 from "@veloceapps/sdk/core";
3
+ import * as i2 from "@veloce/core";
4
+ import * as i3 from "@veloce/api";
5
+ import * as i4 from "@veloce/sdk/core";
6
6
  export declare class LauncherModule {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<LauncherModule, never>;
8
8
  static ɵmod: i0.ɵɵNgModuleDeclaration<LauncherModule, never, [typeof i1.CommonModule, typeof i2.CoreModule, typeof i3.ApiModule, typeof i4.SdkCoreModule], never>;
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./federated.component";
3
3
  import * as i2 from "@angular/common";
4
- import * as i3 from "@veloceapps/components";
4
+ import * as i3 from "@veloce/components";
5
5
  export declare class FederatedModule {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<FederatedModule, never>;
7
7
  static ɵmod: i0.ɵɵNgModuleDeclaration<FederatedModule, [typeof i1.FederatedComponent], [typeof i2.CommonModule, typeof i3.LoaderModule], [typeof i1.FederatedComponent]>;
package/cms/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
- "name": "@veloceapps/sdk/cms",
2
+ "name": "@veloce/sdk/cms",
3
3
  "sideEffects": false,
4
- "main": "../bundles/veloceapps-sdk-cms.umd.js",
5
- "module": "../fesm2015/veloceapps-sdk-cms.js",
6
- "es2015": "../fesm2015/veloceapps-sdk-cms.js",
7
- "esm2015": "../esm2015/cms/veloceapps-sdk-cms.js",
8
- "fesm2015": "../fesm2015/veloceapps-sdk-cms.js",
9
- "typings": "veloceapps-sdk-cms.d.ts"
4
+ "main": "../bundles/veloce-sdk-cms.umd.js",
5
+ "module": "../fesm2015/veloce-sdk-cms.js",
6
+ "es2015": "../fesm2015/veloce-sdk-cms.js",
7
+ "esm2015": "../esm2015/cms/veloce-sdk-cms.js",
8
+ "fesm2015": "../fesm2015/veloce-sdk-cms.js",
9
+ "typings": "veloce-sdk-cms.d.ts"
10
10
  }
@@ -1,5 +1,5 @@
1
1
  import { Compiler } from '@angular/core';
2
- import { UIDefinitionMetadata } from '@veloceapps/sdk/core';
2
+ import { UIDefinitionMetadata } from '@veloce/sdk/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { CompilationResult, ElementMetadata } from '../types';
5
5
  import { DynamicModuleService } from './dynamic-module.service';
@@ -1,4 +1,4 @@
1
- import { LineItem, PortDomain } from '@veloceapps/core';
1
+ import { LineItem, PortDomain } from '@veloce/core';
2
2
  import { Observable } from 'rxjs';
3
3
  export interface ConfigurationElement {
4
4
  boundName: string;
@@ -1,4 +1,4 @@
1
- import { UIElement } from '@veloceapps/sdk/core';
1
+ import { UIElement } from '@veloce/sdk/core';
2
2
  import { ElementConfig, ElementDefaultMetadata, ElementMetadata, ELEMENT_TYPE } from '../types';
3
3
  export declare class UiBuildError extends Error {
4
4
  affectedMetadata: ElementMetadata;
@@ -1,5 +1,5 @@
1
1
  import { Type } from '@angular/core';
2
- import { UIDefinitionMetadata } from '@veloceapps/sdk/core';
2
+ import { UIDefinitionMetadata } from '@veloce/sdk/core';
3
3
  import { ElementMetadata } from '../types';
4
4
  export declare class ElementsResolver {
5
5
  private uiDef;
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- /// <amd-module name="@veloceapps/sdk" />
4
+ /// <amd-module name="@veloce/sdk/cms" />
5
5
  export * from './index';
@@ -1,7 +1,7 @@
1
1
  import * as angularCore from '@angular/core';
2
2
  import * as angularForms from '@angular/forms';
3
- import { CatalogApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService } from '@veloceapps/api';
4
- import { ConfigurationService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService } from '@veloceapps/sdk/core';
3
+ import { CatalogApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService } from '@veloce/api';
4
+ import { ConfigurationService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService } from '@veloce/sdk/core';
5
5
  import * as lodash from 'lodash';
6
6
  import * as rxjs from 'rxjs';
7
7
  import * as rxjsOperators from 'rxjs/operators';
@@ -9,6 +9,74 @@ import * as cmsActions from './cms.actions';
9
9
  import { IntegrationState } from './services/integration.state';
10
10
  import { TemplatesService } from './services/templates.service';
11
11
  export declare const vendorMap: {
12
+ '@veloce/sdk/core': {
13
+ findLineItem: (id: string, lineItems: import("@veloce/core").LineItem[]) => import("@veloce/core").LineItem | undefined;
14
+ findLineItemWithComparator: (lineItems: import("@veloce/core").LineItem[], comparator: (li: import("@veloce/core").LineItem) => boolean) => import("@veloce/core").LineItem | undefined;
15
+ insertLineItem: (lineItem: import("@veloce/core").LineItem, parentId: string, toInsert: import("@veloce/core").LineItem) => import("@veloce/core").LineItem;
16
+ removeLineItem: (lineItem: import("@veloce/core").LineItem, idToRemove: string) => import("@veloce/core").LineItem;
17
+ replaceLineItem: (lineItem: import("@veloce/core").LineItem, replaceTo: import("@veloce/core").LineItem) => import("@veloce/core").LineItem;
18
+ mapAttributes: (attributes: import("@veloce/core").Attribute[]) => lodash.Dictionary<any>;
19
+ getAttributes: (attributes: import("@veloce/core").Attribute[], names?: string[] | undefined) => import("@veloce/core").Attribute[];
20
+ upsertAttributes: (originalAttributes: import("@veloce/core").Attribute[], attributesToUpsert: {
21
+ name: string;
22
+ value: any;
23
+ }[]) => import("@veloce/core").Attribute[];
24
+ patchAttributes: (rootLineItem: import("@veloce/core").LineItem, id: string, attrs: {
25
+ name: string;
26
+ value: any;
27
+ }[]) => import("@veloce/core").LineItem;
28
+ getAttributeValue: (attributes: import("@veloce/core").Attribute[], name: string) => any;
29
+ generateLineItem: (port: string, type: string, parentId: string, attributes?: {
30
+ name: string;
31
+ value: any;
32
+ }[] | undefined, lineItems?: import("@veloce/core").LineItem[] | undefined) => import("@veloce/core").LineItem;
33
+ getRecommendedPrices: (portDomain: import("@veloce/core").PortDomain, type: string) => {
34
+ net: number;
35
+ list: number;
36
+ };
37
+ ConfigurationService: typeof ConfigurationService;
38
+ QuoteDraftService: typeof QuoteDraftService;
39
+ FlowConfigurationService: typeof FlowConfigurationService;
40
+ LineItemWorker: typeof LineItemWorker;
41
+ ProductImagesService: typeof ProductImagesService;
42
+ };
43
+ '@veloce/sdk/cms': {
44
+ TemplatesService: typeof TemplatesService;
45
+ IntegrationState: typeof IntegrationState;
46
+ FlowAction: typeof cmsActions.FlowAction;
47
+ ConfigureProductAction: ({ lineItemId, productId, }: {
48
+ lineItemId?: string | undefined;
49
+ productId?: string | undefined;
50
+ }) => import("@veloce/sdk/cms").IntegrationAction<any>;
51
+ NavigateBackAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
52
+ NavigateToCatalogAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
53
+ ApplyProductConfigurationAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
54
+ OpenDocGenAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
55
+ CloseDocGenAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
56
+ RemoteApplyAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
57
+ RemoteCancelAction: () => import("@veloce/sdk/cms").IntegrationAction<any>;
58
+ SwitchObjectAction: (payload: {
59
+ id: string;
60
+ }) => import("@veloce/sdk/cms").IntegrationAction<any>;
61
+ SetDefaultMetrics: (metrics: import("@veloce/sdk/cms").Metric[]) => import("@veloce/sdk/cms").IntegrationAction<any>;
62
+ DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
63
+ UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloce/sdk/core").UIDefinitionMetadata>;
64
+ ELEMENT_METADATA: angularCore.InjectionToken<import("@veloce/sdk/cms").ElementMetadata>;
65
+ SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloce/sdk/cms").ElementMetadata>;
66
+ ELEMENT_CONFIG: angularCore.InjectionToken<import("@veloce/sdk/cms").ElementConfig>;
67
+ VENDOR_MAP: angularCore.InjectionToken<lodash.Dictionary<any>>;
68
+ };
69
+ '@veloce/api': {
70
+ SalesforceApiService: typeof SalesforceApiService;
71
+ QuoteApiService: typeof QuoteApiService;
72
+ DocumentTemplatesApiService: typeof DocumentTemplatesApiService;
73
+ DocumentAttachmentApiService: typeof DocumentAttachmentApiService;
74
+ RampApiService: typeof RampApiService;
75
+ CatalogApiService: typeof CatalogApiService;
76
+ DeltaApiService: typeof DeltaApiService;
77
+ PicklistsApiService: typeof PicklistsApiService;
78
+ PriceApiService: typeof PriceApiService;
79
+ };
12
80
  '@angular/core': typeof angularCore;
13
81
  '@angular/forms': typeof angularForms;
14
82
  rxjs: typeof rxjs;
@@ -636,74 +704,5 @@ export declare const vendorMap: {
636
704
  toPath(value: any): string[];
637
705
  uniqueId(prefix?: string | undefined): string;
638
706
  };
639
- '@veloceapps/sdk/core': {
640
- findLineItem: (id: string, lineItems: import("@veloceapps/core").LineItem[]) => import("@veloceapps/core").LineItem | undefined;
641
- findLineItemWithComparator: (lineItems: import("@veloceapps/core").LineItem[], comparator: (li: import("@veloceapps/core").LineItem) => boolean) => import("@veloceapps/core").LineItem | undefined;
642
- insertLineItem: (lineItem: import("@veloceapps/core").LineItem, parentId: string, toInsert: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
643
- removeLineItem: (lineItem: import("@veloceapps/core").LineItem, idToRemove: string) => import("@veloceapps/core").LineItem;
644
- replaceLineItem: (lineItem: import("@veloceapps/core").LineItem, replaceTo: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
645
- mapAttributes: (attributes: import("@veloceapps/core").Attribute[]) => lodash.Dictionary<any>;
646
- getAttributes: (attributes: import("@veloceapps/core").Attribute[], names?: string[] | undefined) => import("@veloceapps/core").Attribute[];
647
- upsertAttributes: (originalAttributes: import("@veloceapps/core").Attribute[], attributesToUpsert: {
648
- name: string;
649
- value: any;
650
- }[]) => import("@veloceapps/core").Attribute[];
651
- patchAttributes: (rootLineItem: import("@veloceapps/core").LineItem, id: string, attrs: {
652
- name: string;
653
- value: any;
654
- }[]) => import("@veloceapps/core").LineItem;
655
- getAttributeValue: (attributes: import("@veloceapps/core").Attribute[], name: string) => any;
656
- generateLineItem: (port: string, type: string, parentId: string, attributes?: {
657
- name: string;
658
- value: any;
659
- }[] | undefined, lineItems?: import("@veloceapps/core").LineItem[] | undefined) => import("@veloceapps/core").LineItem;
660
- getRecommendedPrices: (portDomain: import("@veloceapps/core").PortDomain, type: string) => {
661
- net: number;
662
- list: number;
663
- };
664
- multiplyLineItems: (lineItem: import("@veloceapps/core").LineItem, qty: number, split: boolean) => import("@veloceapps/core").LineItem[];
665
- ConfigurationService: typeof ConfigurationService;
666
- QuoteDraftService: typeof QuoteDraftService;
667
- FlowConfigurationService: typeof FlowConfigurationService;
668
- LineItemWorker: typeof LineItemWorker;
669
- ProductImagesService: typeof ProductImagesService;
670
- };
671
- '@veloceapps/sdk/cms': {
672
- TemplatesService: typeof TemplatesService;
673
- IntegrationState: typeof IntegrationState;
674
- FlowAction: typeof cmsActions.FlowAction;
675
- ConfigureProductAction: ({ lineItemId, productId, }: {
676
- lineItemId?: string | undefined;
677
- productId?: string | undefined;
678
- }) => import("@veloceapps/sdk/cms").IntegrationAction<any>;
679
- NavigateBackAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
680
- NavigateToCatalogAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
681
- ApplyProductConfigurationAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
682
- OpenDocGenAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
683
- CloseDocGenAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
684
- RemoteApplyAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
685
- RemoteCancelAction: () => import("@veloceapps/sdk/cms").IntegrationAction<any>;
686
- SwitchObjectAction: (payload: {
687
- id: string;
688
- }) => import("@veloceapps/sdk/cms").IntegrationAction<any>;
689
- SetDefaultMetrics: (metrics: import("@veloceapps/sdk/cms").Metric[]) => import("@veloceapps/sdk/cms").IntegrationAction<any>;
690
- DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
691
- UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/core").UIDefinitionMetadata>;
692
- ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
693
- SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
694
- ELEMENT_CONFIG: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementConfig>;
695
- VENDOR_MAP: angularCore.InjectionToken<lodash.Dictionary<any>>;
696
- };
697
- '@veloceapps/api': {
698
- SalesforceApiService: typeof SalesforceApiService;
699
- QuoteApiService: typeof QuoteApiService;
700
- DocumentTemplatesApiService: typeof DocumentTemplatesApiService;
701
- DocumentAttachmentApiService: typeof DocumentAttachmentApiService;
702
- RampApiService: typeof RampApiService;
703
- CatalogApiService: typeof CatalogApiService;
704
- DeltaApiService: typeof DeltaApiService;
705
- PicklistsApiService: typeof PicklistsApiService;
706
- PriceApiService: typeof PriceApiService;
707
- };
708
707
  };
709
708
  export declare type VendorMap = typeof vendorMap;
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "@veloceapps/components";
2
+ import * as i1 from "@veloce/components";
3
3
  export declare class ConfigurationModule {
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationModule, never>;
5
5
  static ɵmod: i0.ɵɵNgModuleDeclaration<ConfigurationModule, never, [typeof i1.ConfirmationDialogModule], never>;
@@ -1,3 +1,3 @@
1
- import { LineItem } from '@veloceapps/core';
1
+ import { LineItem } from '@veloce/core';
2
2
  import { RuntimeContext, UIDefinitionProps } from '../../types';
3
3
  export declare const getDefaultLineItem: (context: RuntimeContext, uiDefinitionProperties: UIDefinitionProps, qty?: number) => LineItem;
@@ -1,5 +1,5 @@
1
- import { ConfigurationApiService } from '@veloceapps/api';
2
- import { LineItem, RuntimeModel } from '@veloceapps/core';
1
+ import { ConfigurationApiService } from '@veloce/api';
2
+ import { LineItem, RuntimeModel } from '@veloce/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { ContextService } from '../../../services';
5
5
  import { RuntimeContext, UIDefinition, UIDefinitionProps } from '../../../types';
@@ -1,5 +1,5 @@
1
- import { ConfigurationApiService } from '@veloceapps/api';
2
- import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, RuntimeModel } from '@veloceapps/core';
1
+ import { ConfigurationApiService } from '@veloce/api';
2
+ import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, RuntimeModel } from '@veloce/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { MessageService } from 'primeng/api';
5
5
  import { DialogService } from 'primeng/dynamicdialog';
@@ -1,4 +1,4 @@
1
- import { ConfigurationApiService } from '@veloceapps/api';
1
+ import { ConfigurationApiService } from '@veloce/api';
2
2
  import { Observable } from 'rxjs';
3
3
  import { RuntimeContext } from '../../../types';
4
4
  import * as i0 from "@angular/core";
@@ -1,4 +1,4 @@
1
- import { LineItem } from '@veloceapps/core';
1
+ import { LineItem } from '@veloce/core';
2
2
  export interface RuntimeInitializationProps {
3
3
  productId: string;
4
4
  offeringId?: string;
@@ -1,5 +1,5 @@
1
- import { ProceduresApiService } from '@veloceapps/api';
2
- import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, QuoteDraft } from '@veloceapps/core';
1
+ import { ProceduresApiService } from '@veloce/api';
2
+ import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, QuoteDraft } from '@veloce/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ContextService, QuoteDraftService } from '../../../services';
@@ -1,4 +1,4 @@
1
- import { LineItem } from '@veloceapps/core';
1
+ import { LineItem } from '@veloce/core';
2
2
  import { FlowUpdateParams } from '../types/update.types';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class FlowUpdateService {
package/core/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
- "name": "@veloceapps/sdk/core",
2
+ "name": "@veloce/sdk/core",
3
3
  "sideEffects": false,
4
- "main": "../bundles/veloceapps-sdk-core.umd.js",
5
- "module": "../fesm2015/veloceapps-sdk-core.js",
6
- "es2015": "../fesm2015/veloceapps-sdk-core.js",
7
- "esm2015": "../esm2015/core/veloceapps-sdk-core.js",
8
- "fesm2015": "../fesm2015/veloceapps-sdk-core.js",
9
- "typings": "veloceapps-sdk-core.d.ts"
4
+ "main": "../bundles/veloce-sdk-core.umd.js",
5
+ "module": "../fesm2015/veloce-sdk-core.js",
6
+ "es2015": "../fesm2015/veloce-sdk-core.js",
7
+ "esm2015": "../esm2015/core/veloce-sdk-core.js",
8
+ "fesm2015": "../fesm2015/veloce-sdk-core.js",
9
+ "typings": "veloce-sdk-core.d.ts"
10
10
  }
@@ -1,5 +1,5 @@
1
- import { ContextApiService } from '@veloceapps/api';
2
- import { ConfigurationContext, ConfigurationContextMode } from '@veloceapps/core';
1
+ import { ContextApiService } from '@veloce/api';
2
+ import { ConfigurationContext, ConfigurationContextMode } from '@veloce/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ContextService {
@@ -1,4 +1,3 @@
1
1
  export * from './context.service';
2
- export * from './metric-calculation/metric-calculation.service';
3
2
  export * from './product-images.service';
4
3
  export * from './quote-draft.service';
@@ -1,4 +1,4 @@
1
- import { ProductApiService } from '@veloceapps/api';
1
+ import { ProductApiService } from '@veloce/api';
2
2
  import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ProductImagesService {
@@ -1,5 +1,5 @@
1
- import { PriceApiService, QuoteApiService } from '@veloceapps/api';
2
- import { LineItem, PriceList, PriceSummary, QuoteDraft } from '@veloceapps/core';
1
+ import { PriceApiService, QuoteApiService } from '@veloce/api';
2
+ import { LineItem, PriceList, PriceSummary, QuoteDraft } from '@veloce/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ContextService } from './context.service';
@@ -12,15 +12,13 @@ export declare class QuoteDraftService {
12
12
  private resetSubj$;
13
13
  private isInitializedSubj$;
14
14
  private initialCurrentState;
15
- private _hasUnsavedChanges;
16
15
  get isInitialized(): boolean;
17
16
  set isInitialized(value: boolean);
18
- get hasUnsavedChanges(): boolean;
19
- set hasUnsavedChanges(value: boolean);
20
17
  get hasAssets$(): Observable<boolean>;
21
18
  get hasAssets(): boolean;
22
19
  allPriceLists: PriceList[];
23
20
  assetPriceLists: PriceList[];
21
+ hasUnsavedChanges: boolean;
24
22
  reset$: Observable<boolean>;
25
23
  activePriceList$: Observable<PriceList | null>;
26
24
  constructor(context: ContextService, quoteApiService: QuoteApiService, priceApiService: PriceApiService);
@@ -1,4 +1,4 @@
1
- import { LineItem } from '@veloceapps/core';
1
+ import { LineItem } from '@veloce/core';
2
2
  export interface QuoteStates {
3
3
  configurableRamp?: LineItem;
4
4
  currentState?: LineItem[];
@@ -1,4 +1,4 @@
1
- import { ContextProperties, RuntimeModel } from '@veloceapps/core';
1
+ import { ContextProperties, RuntimeModel } from '@veloce/core';
2
2
  import { UIDefinition } from './ui-definition.types';
3
3
  export declare enum RuntimeMode {
4
4
  TEST = 0,
@@ -1,4 +1,4 @@
1
- import { Attribute, LineItem, PortDomain } from '@veloceapps/core';
1
+ import { Attribute, LineItem, PortDomain } from '@veloce/core';
2
2
  import { Dictionary } from 'lodash';
3
3
  export declare const findLineItem: (id: string, lineItems: LineItem[]) => LineItem | undefined;
4
4
  export declare const findLineItemWithComparator: (lineItems: LineItem[], comparator: (li: LineItem) => boolean) => LineItem | undefined;
@@ -24,4 +24,3 @@ export declare const getRecommendedPrices: (portDomain: PortDomain, type: string
24
24
  net: number;
25
25
  list: number;
26
26
  };
27
- export declare const multiplyLineItems: (lineItem: LineItem, qty: number, split: boolean) => LineItem[];
@@ -1,4 +1,4 @@
1
- import { LineItem } from '@veloceapps/core';
1
+ import { LineItem } from '@veloce/core';
2
2
  export declare class LineItemWorker {
3
3
  li: LineItem;
4
4
  constructor(src: LineItem);
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- /// <amd-module name="@veloceapps/sdk/cms" />
4
+ /// <amd-module name="@veloce/sdk/core" />
5
5
  export * from './index';
@@ -3,4 +3,4 @@ export const DEFAULT_PLUGINS = {
3
3
  CONFIGURATION: [ConfigurationPlugin],
4
4
  DEFAULT: [],
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtRDtJQUM3RSxhQUFhLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxPQUFPLEVBQUUsRUFBRTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSURlZmluaXRpb25UeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2NvbmZpZ3VyYXRpb24ucGx1Z2luJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExVR0lOUzogeyBba2V5IGluIFVJRGVmaW5pdGlvblR5cGVdOiB0eXBlb2YgUGx1Z2luW10gfSA9IHtcbiAgQ09ORklHVVJBVElPTjogW0NvbmZpZ3VyYXRpb25QbHVnaW5dLFxuICBERUZBVUxUOiBbXSxcbn07XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtRDtJQUM3RSxhQUFhLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxPQUFPLEVBQUUsRUFBRTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSURlZmluaXRpb25UeXBlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuL2VuZ2luZS9tb2RlbHMvcGx1Z2luJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvY29uZmlndXJhdGlvbi5wbHVnaW4nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5TOiB7IFtrZXkgaW4gVUlEZWZpbml0aW9uVHlwZV06IHR5cGVvZiBQbHVnaW5bXSB9ID0ge1xuICBDT05GSUdVUkFUSU9OOiBbQ29uZmlndXJhdGlvblBsdWdpbl0sXG4gIERFRkFVTFQ6IFtdLFxufTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, SkipSelf, ViewChild, ViewContainerRef, } from '@angular/core';
2
- import { UUID } from '@veloceapps/core';
2
+ import { UUID } from '@veloce/core';
3
3
  import { isArray, pull } from 'lodash';
4
4
  import { map, Subject, takeUntil } from 'rxjs';
5
5
  import { ElementContextService } from '../../services/element-context.service';
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../services/dynamic-module.service";
9
9
  import * as i2 from "../../services/element-context.service";
10
10
  import * as i3 from "../../services/io-provider.service";
11
- import * as i4 from "@veloceapps/sdk/core";
11
+ import * as i4 from "@veloce/sdk/core";
12
12
  export class ElementRendererComponent {
13
13
  constructor(parentInjector, dynamicModuleService, elementContext, ioProviderService, configurationService, elementRef, cdr) {
14
14
  this.parentInjector = parentInjector;
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
166
166
  }], meta: [{
167
167
  type: Input
168
168
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvZWxlbWVudC1yZW5kZXJlci9lbGVtZW50LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUtULEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVksSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBU3hELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDc0IsY0FBd0IsRUFDcEMsb0JBQTBDLEVBQzFDLGNBQXFDLEVBQ3JDLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDMUMsVUFBc0IsRUFDdEIsR0FBc0I7UUFOVixtQkFBYyxHQUFkLGNBQWMsQ0FBVTtRQUNwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FB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ImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNraXBTZWxmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFVVSUQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgaXNBcnJheSwgcHVsbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY01vZHVsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLW1vZHVsZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VsZW1lbnQtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VCb3VuZFBhdGggfSBmcm9tICcuLi8uLi91dGlscy9wYXRoLnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtY21zLWVsZW1lbnQtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0VsZW1lbnRDb250ZXh0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZWwnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgZWw/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtZXRhITogRWxlbWVudE1ldGFkYXRhO1xuXG4gIHByaXZhdGUgZmFjdG9yeT86IENvbXBvbmVudEZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSByZWZzOiBEaWN0aW9uYXJ5PENvbXBvbmVudFJlZjxhbnk+IHwgdW5kZWZpbmVkPiA9IHt9O1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2tpcFNlbGYoKSBwcml2YXRlIHBhcmVudEluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGR5bmFtaWNNb2R1bGVTZXJ2aWNlOiBEeW5hbWljTW9kdWxlU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRDb250ZXh0OiBFbGVtZW50Q29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpb1Byb3ZpZGVyU2VydmljZTogSU9Qcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRDb250ZXh0Lm1ldGFkYXRhID0gdGhpcy5tZXRhO1xuICAgIHRoaXMuZmFjdG9yeSA9IHRoaXMuZHluYW1pY01vZHVsZVNlcnZpY2UuZ2V0Q29tcG9uZW50RmFjdG9yeSh0aGlzLm1ldGEpO1xuXG4gICAgdGhpcy5jcmVhdGVDb21wb25lbnRzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95Q29tcG9uZW50cygpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCBtb2RlbE1ldGEgPSB0aGlzLm1ldGEubW9kZWw7XG5cbiAgICBpZiAoIW1vZGVsTWV0YSkge1xuICAgICAgdGhpcy5yZWZzW1VVSUQuVVVJRCgpXSA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG1vZGVsTWV0YS5saW5lSXRlbSkge1xuICAgICAgdGhpcy5jcmVhdGVGcm9tTGluZUl0ZW0obW9kZWxNZXRhLmxpbmVJdGVtKTtcbiAgICB9IGVsc2UgaWYgKG1vZGVsTWV0YS5wYXRoKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZyb21QYXRoKG1vZGVsTWV0YS5wYXRoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZyb21QYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGFycmF5JCA9IHRoaXMuaW9Qcm92aWRlclNlcnZpY2UuY29ubmVjdCh0aGlzLm1ldGEsICdjaGlsZHJlbiQnLCBwYXRoKTtcblxuICAgIGFycmF5JD8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShjaGlsZHJlbiA9PiB7XG4gICAgICBpZiAoIWlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wcm9jZXNzQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbENvbXBvbmVudCgpOiBFbGVtZW50UmVuZGVyZXJDb21wb25lbnQgfCBudWxsIHtcbiAgICBsZXQgY29tcG9uZW50OiBFbGVtZW50UmVuZGVyZXJDb21wb25lbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgaW5qZWN0b3IgPSB0aGlzLnBhcmVudEluamVjdG9yO1xuXG4gICAgd2hpbGUgKCFjb21wb25lbnQpIHtcbiAgICAgIGNvbnN0IHBhcmVudENvbXAgPSBpbmplY3Rvci5nZXQoRWxlbWVudFJlbmRlcmVyQ29tcG9uZW50LCBudWxsKTtcblxuICAgICAgaWYgKHBhcmVudENvbXA/Lm1ldGEubW9kZWwpIHtcbiAgICAgICAgY29tcG9uZW50ID0gcGFyZW50Q29tcDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnRDb21wKSB7XG4gICAgICAgIGluamVjdG9yID0gcGFyZW50Q29tcC5wYXJlbnRJbmplY3RvcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZyb21MaW5lSXRlbShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnRDb21wID0gdGhpcy5nZXRNb2RlbENvbXBvbmVudCgpO1xuICAgIGNvbnN0IHBhcmVudFBhdGggPSBwYXJlbnRDb21wPy5tZXRhLm1vZGVsPy5saW5lSXRlbTtcblxuICAgIGNvbnN0IHBhdGhCbG9ja3MgPSBwYXJzZUJvdW5kUGF0aChwYXRoKS5yZXZlcnNlKCk7XG4gICAgY29uc3QgeyBwcm9wZXJ0eSwgbmFtZSB9ID0gcGF0aEJsb2Nrc1sxXSA/PyB7fTtcbiAgICBjb25zdCBmaW5hbFBhdGggPSBwYXRoQmxvY2tzWzBdO1xuXG4gICAgY29uc3QgY2hpbGRyZW4kID0gdGhpcy5nZXRQYXJlbnRMaW5lSXRlbSQocGFyZW50Q29tcCkucGlwZShcbiAgICAgIG1hcChtb2RlbCA9PiB7XG4gICAgICAgIGlmICghbW9kZWwpIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHkgPT09ICdwb3J0cycgJiYgIWZpbmFsUGF0aC5wcm9wZXJ0eSAmJiBwYXJlbnRQYXRoICE9PSBwYXRoKSB7XG4gICAgICAgICAgcmV0dXJuIG1vZGVsLmxpbmVJdGVtcy5maWx0ZXIoKHsgcG9ydCB9KSA9PiBwb3J0ID09PSBuYW1lKSA/PyBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbbW9kZWxdO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNoaWxkcmVuJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGNoaWxkcmVuID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc0NoaWxkcmVuKGNoaWxkcmVuKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0NoaWxkcmVuKGNoaWxkcmVuOiBhbnlbXSk6IHZvaWQge1xuICAgIGNvbnN0IHJlZnMgPSBjaGlsZHJlbi5yZWR1Y2UoKGFjYywgZGF0YSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IFN0cmluZyhkYXRhPy5pZCA/PyBVVUlELlVVSUQoKSk7XG4gICAgICBjb25zdCBleGlzdGluZ1JlZiA9IHRoaXMucmVmc1trZXldO1xuXG4gICAgICBjb25zdCByZWYgPSBleGlzdGluZ1JlZiA/PyB0aGlzLmNyZWF0ZUNvbXBvbmVudChkYXRhLCBpbmRleCk7XG4gICAgICBpZiAoZXhpc3RpbmdSZWYpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDb21wb25lbnQoZXhpc3RpbmdSZWYsIGRhdGEsIGluZGV4KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlZiA/IHsgLi4uYWNjLCBba2V5XTogcmVmIH0gOiBhY2M7XG4gICAgfSwge30gYXMgRGljdGlvbmFyeTxDb21wb25lbnRSZWY8YW55Pj4pO1xuXG4gICAgY29uc3QgZXhpc3RpbmdLZXlzID0gT2JqZWN0LmtleXModGhpcy5yZWZzKTtcbiAgICBjb25zdCBuZXdLZXlzID0gT2JqZWN0LmtleXMocmVmcyk7XG5cbiAgICBwdWxsKGV4aXN0aW5nS2V5cywgLi4ubmV3S2V5cykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGhpcy5kZXN0cm95Q29tcG9uZW50KGtleSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZnMgPSByZWZzO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50TGluZUl0ZW0kKHBhcmVudENvbXA6IEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCB8IG51bGwpOiBPYnNlcnZhYmxlPExpbmVJdGVtIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgcGFyZW50UmVmcyA9IE9iamVjdC52YWx1ZXMocGFyZW50Q29tcD8ucmVmcyA/PyB7fSk7XG4gICAgY29uc3QgcGFyZW50UmVmID0gcGFyZW50UmVmcy5maW5kKHJlZiA9PlxuICAgICAgKHJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk/LmNvbnRhaW5zKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSxcbiAgICApO1xuXG4gICAgY29uc3QgcGFyZW50TW9kZWwkID0gcGFyZW50UmVmPy5pbnN0YW5jZS5tb2RlbCQ7XG5cbiAgICByZXR1cm4gcGFyZW50TW9kZWwkID8/IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudChkYXRhPzogYW55LCBpbmRleD86IG51bWJlcik6IENvbXBvbmVudFJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuZmFjdG9yeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuZWw/LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZhY3RvcnksIGluZGV4KTtcblxuICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnbmFtZScsIHRoaXMubWV0YS5uYW1lKTtcbiAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgncGF0aCcsIHRoaXMubWV0YS5wYXRoKTtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZT8ubW9kZWwkLm5leHQoZGF0YSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29tcG9uZW50KHJlZjogQ29tcG9uZW50UmVmPGFueT4sIGRhdGE6IGFueSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHJlZi5pbnN0YW5jZS5tb2RlbCQubmV4dChkYXRhKTtcblxuICAgIGlmICh0aGlzLmVsICYmIHRoaXMuZWwuaW5kZXhPZihyZWYuaG9zdFZpZXcpICE9PSBpbmRleCkge1xuICAgICAgdGhpcy5lbC5tb3ZlKHJlZi5ob3N0VmlldywgaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUNvbXBvbmVudChrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVmc1trZXldPy5kZXN0cm95KCk7XG4gICAgZGVsZXRlIHRoaXMucmVmc1trZXldO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95Q29tcG9uZW50cygpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMucmVmcykuZm9yRWFjaChyZWYgPT4gcmVmPy5kZXN0cm95KCkpO1xuICAgIHRoaXMucmVmcyA9IHt9O1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2VsPjwvbmctdGVtcGxhdGU+XG4iXX0=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvZWxlbWVudC1yZW5kZXJlci9lbGVtZW50LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUtULEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVksSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVN4RCxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQ3NCLGNBQXdCLEVBQ3BDLG9CQUEwQyxFQUMxQyxjQUFxQyxFQUNyQyxpQkFBb0MsRUFDcEMsb0JBQTBDLEVBQzFDLFVBQXNCLEVBQ3RCLEdBQXNCO1FBTlYsbUJBQWMsR0FBZCxjQUFjLENBQVU7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNC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bXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTa2lwU2VsZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtLCBVVUlEIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBpc0FycmF5LCBwdWxsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEeW5hbWljTW9kdWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtbW9kdWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWxlbWVudC1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9Qcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5pbXBvcnQgeyBwYXJzZUJvdW5kUGF0aCB9IGZyb20gJy4uLy4uL3V0aWxzL3BhdGgudXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtZWxlbWVudC1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGVtZW50LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxlbWVudC1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbRWxlbWVudENvbnRleHRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudFJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdlbCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBlbD86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgQElucHV0KCkgcHVibGljIG1ldGEhOiBFbGVtZW50TWV0YWRhdGE7XG5cbiAgcHJpdmF0ZSBmYWN0b3J5PzogQ29tcG9uZW50RmFjdG9yeTxhbnk+O1xuICBwcml2YXRlIHJlZnM6IERpY3Rpb25hcnk8Q29tcG9uZW50UmVmPGFueT4gfCB1bmRlZmluZWQ+ID0ge307XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTa2lwU2VsZigpIHByaXZhdGUgcGFyZW50SW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgZHluYW1pY01vZHVsZVNlcnZpY2U6IER5bmFtaWNNb2R1bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudENvbnRleHQ6IEVsZW1lbnRDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGlvUHJvdmlkZXJTZXJ2aWNlOiBJT1Byb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudENvbnRleHQubWV0YWRhdGEgPSB0aGlzLm1ldGE7XG4gICAgdGhpcy5mYWN0b3J5ID0gdGhpcy5keW5hbWljTW9kdWxlU2VydmljZS5nZXRDb21wb25lbnRGYWN0b3J5KHRoaXMubWV0YSk7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lDb21wb25lbnRzKCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IG1vZGVsTWV0YSA9IHRoaXMubWV0YS5tb2RlbDtcblxuICAgIGlmICghbW9kZWxNZXRhKSB7XG4gICAgICB0aGlzLnJlZnNbVVVJRC5VVUlEKCldID0gdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobW9kZWxNZXRhLmxpbmVJdGVtKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZyb21MaW5lSXRlbShtb2RlbE1ldGEubGluZUl0ZW0pO1xuICAgIH0gZWxzZSBpZiAobW9kZWxNZXRhLnBhdGgpIHtcbiAgICAgIHRoaXMuY3JlYXRlRnJvbVBhdGgobW9kZWxNZXRhLnBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnJvbVBhdGgocGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYXJyYXkkID0gdGhpcy5pb1Byb3ZpZGVyU2VydmljZS5jb25uZWN0KHRoaXMubWV0YSwgJ2NoaWxkcmVuJCcsIHBhdGgpO1xuXG4gICAgYXJyYXkkPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGNoaWxkcmVuID0+IHtcbiAgICAgIGlmICghaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbihjaGlsZHJlbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsQ29tcG9uZW50KCk6IEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCB8IG51bGwge1xuICAgIGxldCBjb21wb25lbnQ6IEVsZW1lbnRSZW5kZXJlckNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBpbmplY3RvciA9IHRoaXMucGFyZW50SW5qZWN0b3I7XG5cbiAgICB3aGlsZSAoIWNvbXBvbmVudCkge1xuICAgICAgY29uc3QgcGFyZW50Q29tcCA9IGluamVjdG9yLmdldChFbGVtZW50UmVuZGVyZXJDb21wb25lbnQsIG51bGwpO1xuXG4gICAgICBpZiAocGFyZW50Q29tcD8ubWV0YS5tb2RlbCkge1xuICAgICAgICBjb21wb25lbnQgPSBwYXJlbnRDb21wO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudENvbXApIHtcbiAgICAgICAgaW5qZWN0b3IgPSBwYXJlbnRDb21wLnBhcmVudEluamVjdG9yO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnJvbUxpbmVJdGVtKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudENvbXAgPSB0aGlzLmdldE1vZGVsQ29tcG9uZW50KCk7XG4gICAgY29uc3QgcGFyZW50UGF0aCA9IHBhcmVudENvbXA/Lm1ldGEubW9kZWw/LmxpbmVJdGVtO1xuXG4gICAgY29uc3QgcGF0aEJsb2NrcyA9IHBhcnNlQm91bmRQYXRoKHBhdGgpLnJldmVyc2UoKTtcbiAgICBjb25zdCB7IHByb3BlcnR5LCBuYW1lIH0gPSBwYXRoQmxvY2tzWzFdID8/IHt9O1xuICAgIGNvbnN0IGZpbmFsUGF0aCA9IHBhdGhCbG9ja3NbMF07XG5cbiAgICBjb25zdCBjaGlsZHJlbiQgPSB0aGlzLmdldFBhcmVudExpbmVJdGVtJChwYXJlbnRDb21wKS5waXBlKFxuICAgICAgbWFwKG1vZGVsID0+IHtcbiAgICAgICAgaWYgKCFtb2RlbCkge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gJ3BvcnRzJyAmJiAhZmluYWxQYXRoLnByb3BlcnR5ICYmIHBhcmVudFBhdGggIT09IHBhdGgpIHtcbiAgICAgICAgICByZXR1cm4gbW9kZWwubGluZUl0ZW1zLmZpbHRlcigoeyBwb3J0IH0pID0+IHBvcnQgPT09IG5hbWUpID8/IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFttb2RlbF07XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgY2hpbGRyZW4kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoY2hpbGRyZW4gPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzQ2hpbGRyZW4oY2hpbGRyZW46IGFueVtdKTogdm9pZCB7XG4gICAgY29uc3QgcmVmcyA9IGNoaWxkcmVuLnJlZHVjZSgoYWNjLCBkYXRhLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gU3RyaW5nKGRhdGE/LmlkID8/IFVVSUQuVVVJRCgpKTtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUmVmID0gdGhpcy5yZWZzW2tleV07XG5cbiAgICAgIGNvbnN0IHJlZiA9IGV4aXN0aW5nUmVmID8/IHRoaXMuY3JlYXRlQ29tcG9uZW50KGRhdGEsIGluZGV4KTtcbiAgICAgIGlmIChleGlzdGluZ1JlZikge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudChleGlzdGluZ1JlZiwgZGF0YSwgaW5kZXgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVmID8geyAuLi5hY2MsIFtrZXldOiByZWYgfSA6IGFjYztcbiAgICB9LCB7fSBhcyBEaWN0aW9uYXJ5PENvbXBvbmVudFJlZjxhbnk+Pik7XG5cbiAgICBjb25zdCBleGlzdGluZ0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLnJlZnMpO1xuICAgIGNvbnN0IG5ld0tleXMgPSBPYmplY3Qua2V5cyhyZWZzKTtcblxuICAgIHB1bGwoZXhpc3RpbmdLZXlzLCAuLi5uZXdLZXlzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICB0aGlzLmRlc3Ryb3lDb21wb25lbnQoa2V5KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVmcyA9IHJlZnM7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnRMaW5lSXRlbSQocGFyZW50Q29tcDogRWxlbWVudFJlbmRlcmVyQ29tcG9uZW50IHwgbnVsbCk6IE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBwYXJlbnRSZWZzID0gT2JqZWN0LnZhbHVlcyhwYXJlbnRDb21wPy5yZWZzID8/IHt9KTtcbiAgICBjb25zdCBwYXJlbnRSZWYgPSBwYXJlbnRSZWZzLmZpbmQocmVmID0+XG4gICAgICAocmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KT8uY29udGFpbnModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLFxuICAgICk7XG5cbiAgICBjb25zdCBwYXJlbnRNb2RlbCQgPSBwYXJlbnRSZWY/Lmluc3RhbmNlLm1vZGVsJDtcblxuICAgIHJldHVybiBwYXJlbnRNb2RlbCQgPz8gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50KGRhdGE/OiBhbnksIGluZGV4PzogbnVtYmVyKTogQ29tcG9uZW50UmVmPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5mYWN0b3J5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5lbD8uY3JlYXRlQ29tcG9uZW50KHRoaXMuZmFjdG9yeSwgaW5kZXgpO1xuXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xuICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCduYW1lJywgdGhpcy5tZXRhLm5hbWUpO1xuICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdwYXRoJywgdGhpcy5tZXRhLnBhdGgpO1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlPy5tb2RlbCQubmV4dChkYXRhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb21wb25lbnQocmVmOiBDb21wb25lbnRSZWY8YW55PiwgZGF0YTogYW55LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgcmVmLmluc3RhbmNlLm1vZGVsJC5uZXh0KGRhdGEpO1xuXG4gICAgaWYgKHRoaXMuZWwgJiYgdGhpcy5lbC5pbmRleE9mKHJlZi5ob3N0VmlldykgIT09IGluZGV4KSB7XG4gICAgICB0aGlzLmVsLm1vdmUocmVmLmhvc3RWaWV3LCBpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95Q29tcG9uZW50KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZWZzW2tleV0/LmRlc3Ryb3koKTtcbiAgICBkZWxldGUgdGhpcy5yZWZzW2tleV07XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lDb21wb25lbnRzKCk6IHZvaWQge1xuICAgIE9iamVjdC52YWx1ZXModGhpcy5yZWZzKS5mb3JFYWNoKHJlZiA9PiByZWY/LmRlc3Ryb3koKSk7XG4gICAgdGhpcy5yZWZzID0ge307XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjZWw+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==