@veloceapps/sdk 3.0.5 → 3.0.7

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 (47) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +176 -38
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk-runtime.umd.js +11 -15
  4. package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
  5. package/bundles/veloce-sdk.umd.js +205 -123
  6. package/bundles/veloce-sdk.umd.js.map +1 -1
  7. package/cms/modules/configuration/types/configuration.types.d.ts +2 -3
  8. package/cms/modules/flow-configuration/index.d.ts +2 -0
  9. package/cms/modules/flow-configuration/services/flow-configuration.service.d.ts +10 -1
  10. package/cms/modules/flow-configuration/services/flow-update.service.d.ts +13 -0
  11. package/cms/modules/flow-configuration/types/update.types.d.ts +12 -0
  12. package/cms/utils/line-item.utils.d.ts +1 -0
  13. package/esm2015/cms/modules/configuration/services/configuration-runtime.service.js +10 -11
  14. package/esm2015/cms/modules/configuration/services/configuration.service.js +4 -3
  15. package/esm2015/cms/modules/configuration/services/runtime-context.service.js +4 -5
  16. package/esm2015/cms/modules/configuration/types/configuration.types.js +1 -1
  17. package/esm2015/cms/modules/flow-configuration/flow-configuration.module.js +4 -3
  18. package/esm2015/cms/modules/flow-configuration/index.js +3 -1
  19. package/esm2015/cms/modules/flow-configuration/services/flow-configuration.service.js +31 -12
  20. package/esm2015/cms/modules/flow-configuration/services/flow-update.service.js +97 -0
  21. package/esm2015/cms/modules/flow-configuration/types/update.types.js +2 -0
  22. package/esm2015/cms/utils/line-item.utils.js +14 -4
  23. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +2 -10
  24. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +1 -1
  25. package/esm2015/runtime/services/quote.service.js +10 -6
  26. package/esm2015/src/components/header/cart-overlay/cart-overlay.component.js +60 -0
  27. package/esm2015/src/components/header/cart-overlay/cart-overlay.module.js +21 -0
  28. package/esm2015/src/components/header/header.component.js +20 -11
  29. package/esm2015/src/components/header/header.module.js +6 -4
  30. package/esm2015/src/components/header/header.types.js +1 -1
  31. package/esm2015/src/flow.component.js +1 -1
  32. package/esm2015/src/pages/debug/debug.component.js +16 -11
  33. package/fesm2015/veloce-sdk-cms.js +157 -34
  34. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  35. package/fesm2015/veloce-sdk-runtime.js +10 -14
  36. package/fesm2015/veloce-sdk-runtime.js.map +1 -1
  37. package/fesm2015/veloce-sdk.js +137 -63
  38. package/fesm2015/veloce-sdk.js.map +1 -1
  39. package/package.json +1 -1
  40. package/runtime/execution/directives/vl-ramp.directive.d.ts +1 -1
  41. package/runtime/services/quote.service.d.ts +4 -3
  42. package/src/components/header/cart-overlay/cart-overlay.component.d.ts +21 -0
  43. package/src/components/header/cart-overlay/cart-overlay.module.d.ts +11 -0
  44. package/src/components/header/header.component.d.ts +9 -5
  45. package/src/components/header/header.module.d.ts +3 -1
  46. package/src/components/header/header.types.d.ts +1 -0
  47. package/src/pages/debug/debug.component.d.ts +5 -2
@@ -2,15 +2,15 @@ import { __decorate, __param, __awaiter, __rest } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, Directive, ViewContainerRef, SkipSelf, ViewChild, Input, EventEmitter, TemplateRef, Output, NgModule, ViewEncapsulation } from '@angular/core';
4
4
  import * as rxjs from 'rxjs';
5
- import { BehaviorSubject, combineLatest, of, throwError, shareReplay, Subject, takeUntil, map as map$1, tap as tap$1, catchError as catchError$1, filter, from, switchMap, forkJoin } from 'rxjs';
5
+ import { BehaviorSubject, combineLatest, of, throwError, shareReplay, Subject, takeUntil, map as map$1, tap as tap$1, catchError as catchError$1, switchMap, filter, from, forkJoin } from 'rxjs';
6
6
  import * as i8 from '@angular/common';
7
7
  import { DOCUMENT, CommonModule } from '@angular/common';
8
- import { UUID, EntityUtil, RuntimeModel, ConfigurationContextMode, SalesforceIdUtils, ConfigurationMode, CoreModule } from '@veloce/core';
8
+ import { UUID, RuntimeModel, ConfigurationContextMode, SalesforceIdUtils, ConfigurationMode, CoreModule } from '@veloce/core';
9
9
  import { DragDropModule } from '@angular/cdk/drag-drop';
10
10
  import * as angularForms from '@angular/forms';
11
11
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
12
12
  import * as lodash from 'lodash';
13
- import { compact, sortBy, isArray, pull, flatten, set } from 'lodash';
13
+ import { compact, flatten, sortBy, isArray, pull, set } from 'lodash';
14
14
  import * as i6 from '@veloce/components';
15
15
  import { ConfirmationComponent, LoaderModule, ConfirmationDialogModule } from '@veloce/components';
16
16
  import * as i2 from '@veloce/sdk/runtime';
@@ -23,6 +23,7 @@ import * as i3 from 'primeng/api';
23
23
  import * as i5 from 'primeng/dynamicdialog';
24
24
  import { DialogService } from 'primeng/dynamicdialog';
25
25
  import { transform } from '@babel/standalone';
26
+ import moment from 'moment';
26
27
 
27
28
  const DEFAULT_PLUGINS_TOKEN = new InjectionToken('DEFAULT_PLUGINS_TOKEN');
28
29
  const UI_DEFINITION_METADATA = new InjectionToken('UI_DEFINITION_METADATA_TOKEN');
@@ -505,7 +506,18 @@ const parseBoundPath = (path) => {
505
506
  return blocks;
506
507
  };
507
508
  const findLineItem = (id, lineItems) => {
508
- return EntityUtil.findByFieldHierarchically('id', id, lineItems, 'lineItems');
509
+ return findLineItemWithComparator(lineItems, (li) => li.id === id);
510
+ };
511
+ const findLineItemWithComparator = (lineItems, comparator) => {
512
+ let currentLevel = lineItems;
513
+ while (currentLevel.length) {
514
+ const found = currentLevel.find(comparator);
515
+ if (found) {
516
+ return found;
517
+ }
518
+ currentLevel = flatten(currentLevel.map(parent => parent.lineItems));
519
+ }
520
+ return;
509
521
  };
510
522
  const insertLineItem = (lineItem, parentId, toInsert) => {
511
523
  const insertData = lineItem.id === parentId ? [toInsert] : [];
@@ -629,7 +641,7 @@ class RuntimeContextService {
629
641
  }
630
642
  getRuntimeContext(productId, offeringId) {
631
643
  return this.configurationApiService.getRuntimeDataByProductId(productId, offeringId).pipe(map(runtimeData => {
632
- var _a, _b, _c, _d;
644
+ var _a, _b, _c;
633
645
  const uiDefinition = this.getUIDefinition(runtimeData);
634
646
  const runtimeModel = RuntimeModel.create(runtimeData.types, runtimeData.products);
635
647
  const { productName, properties } = (_a = Array.from(runtimeModel.components.values()).find(c => c.productId === productId)) !== null && _a !== void 0 ? _a : {};
@@ -641,10 +653,9 @@ class RuntimeContextService {
641
653
  productId: productId,
642
654
  productType: (properties === null || properties === void 0 ? void 0 : properties.displayName) || productName,
643
655
  offeringId: offeringId,
644
- priceListId: (_b = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _b === void 0 ? void 0 : _b.priceList,
645
656
  properties: {
646
- PricingEnabled: (_c = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _c === void 0 ? void 0 : _c.pricingEnabled,
647
- PriceListId: (_d = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _d === void 0 ? void 0 : _d.priceList,
657
+ PricingEnabled: ((_b = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _b === void 0 ? void 0 : _b.pricingEnabled) ? 'true' : 'false',
658
+ PriceListId: (_c = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _c === void 0 ? void 0 : _c.priceList,
648
659
  },
649
660
  };
650
661
  }));
@@ -698,7 +709,7 @@ class ConfigurationRuntimeService {
698
709
  return combineLatest([
699
710
  this.apiService.getRuntimeDataByModelId(modelId),
700
711
  this.contextService.create('TestId', ConfigurationContextMode.TEST),
701
- ]).pipe(first(), tap(([runtimeData, configurationContext]) => {
712
+ ]).pipe(first(), tap(([runtimeData, context]) => {
702
713
  var _a;
703
714
  this._runtimeContext = {
704
715
  modelId: modelId,
@@ -706,28 +717,27 @@ class ConfigurationRuntimeService {
706
717
  runtimeMode: RuntimeMode.TEST,
707
718
  };
708
719
  this.contextService.update({
709
- priceListId: this.uiDefinitionProperties.priceList,
710
- properties: Object.assign(Object.assign(Object.assign(Object.assign({}, (_a = this.runtimeContext) === null || _a === void 0 ? void 0 : _a.properties), configurationContext.properties), { ModelId: modelId, RuntimeMode: ConfigurationContextMode.TEST, PricingEnabled: String(this.uiDefinitionProperties.pricingEnabled), StartDate: new Date().toISOString().substring(0, 10), PriceListId: this.uiDefinitionProperties.priceList }), uiDefinitionExternals),
720
+ properties: Object.assign(Object.assign(Object.assign(Object.assign({}, (_a = this.runtimeContext) === null || _a === void 0 ? void 0 : _a.properties), context.properties), { ModelId: modelId, RuntimeMode: ConfigurationContextMode.TEST, PricingEnabled: this.uiDefinitionProperties.pricingEnabled ? 'true' : 'false', StartDate: new Date().toISOString().substring(0, 10), PriceListId: this.uiDefinitionProperties.priceList }), uiDefinitionExternals),
711
721
  });
712
722
  this._isInitialized = true;
713
723
  }));
714
724
  }
715
725
  init(props) {
716
726
  this._assets = props.assets;
717
- const configurationContext = this.contextService.resolve();
718
- if (!configurationContext) {
727
+ const context = this.contextService.resolve();
728
+ if (!context) {
719
729
  return of();
720
730
  }
721
731
  return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(tap(runtimeContext => {
722
- var _a, _b, _c;
732
+ var _a, _b, _c, _d;
723
733
  this.uiDefinitionProperties = (_b = (_a = runtimeContext.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {};
724
- const mergeContext = Object.assign(Object.assign({}, runtimeContext), { properties: Object.assign(Object.assign({}, runtimeContext.properties), configurationContext.properties) });
734
+ const { PriceListId } = (_c = context.properties) !== null && _c !== void 0 ? _c : {};
735
+ const mergeContext = Object.assign(Object.assign({}, runtimeContext), { properties: Object.assign(Object.assign(Object.assign({}, runtimeContext.properties), context.properties), { PricingEnabled: PriceListId ? 'true' : 'false' }) });
725
736
  this.id15to18('AccountId', mergeContext.properties);
726
737
  this._runtimeContext = mergeContext;
727
- if (configurationContext.properties && ((_c = runtimeContext.properties) === null || _c === void 0 ? void 0 : _c.StartDate)) {
738
+ if (context.properties && ((_d = this._runtimeContext.properties) === null || _d === void 0 ? void 0 : _d.StartDate)) {
728
739
  this.contextService.update({
729
- priceListId: this.uiDefinitionProperties.priceList,
730
- properties: Object.assign(Object.assign(Object.assign({}, runtimeContext.properties), configurationContext.properties), { PricingEnabled: String(this.uiDefinitionProperties.pricingEnabled), PriceListId: this.uiDefinitionProperties.priceList }),
740
+ properties: Object.assign(Object.assign({}, this._runtimeContext.properties), context.properties),
731
741
  });
732
742
  }
733
743
  this._isInitialized = true;
@@ -823,7 +833,7 @@ class ConfigurationService {
823
833
  return this.charges.value;
824
834
  }
825
835
  configure() {
826
- var _a, _b, _c, _d;
836
+ var _a, _b, _c, _d, _e;
827
837
  const runtimeContext = this.getRuntimeContext();
828
838
  const runtimeModel = this.getRuntimeModel();
829
839
  if (!runtimeContext || !runtimeModel) {
@@ -834,7 +844,8 @@ class ConfigurationService {
834
844
  const configurationRequest = this.createRequest(lineItem);
835
845
  configurationRequest.lineItems = this.states.currentState || [];
836
846
  configurationRequest.asset = this.states.asset;
837
- const pricingEnabled = uiDefinitionProperties.pricingEnabled;
847
+ const mainPricingEnabled = (_e = runtimeContext.properties) === null || _e === void 0 ? void 0 : _e.PricingEnabled;
848
+ const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;
838
849
  return this.configurationApiService
839
850
  .configureLineItem({ configurationRequest, runtimeModel, pricingEnabled })
840
851
  .pipe(map(({ lineItem, context, charges, deletedLineItems }) => {
@@ -1283,14 +1294,111 @@ const DEFAULT_PLUGINS = {
1283
1294
  DEFAULT: [],
1284
1295
  };
1285
1296
 
1297
+ class FlowUpdateService {
1298
+ update(rootLineItem, params) {
1299
+ switch (params.attributeType) {
1300
+ case 'QTY':
1301
+ return this.updateQty(rootLineItem, params);
1302
+ case 'START_DATE':
1303
+ return this.updateStartDate(rootLineItem, params);
1304
+ case 'END_DATE':
1305
+ return this.updateEndDate(rootLineItem, params);
1306
+ case 'PRICE_ADJUSTMENT':
1307
+ return this.updatePriceAdjustment(rootLineItem, params);
1308
+ default:
1309
+ return rootLineItem;
1310
+ }
1311
+ }
1312
+ delete(lineItems, id) {
1313
+ const filtered = lineItems.filter(lineItem => lineItem.id !== id);
1314
+ return filtered.map(lineItem => new LineItemWorker(lineItem).remove(id).li);
1315
+ }
1316
+ updateQty(rootLineItem, params) {
1317
+ // change quantity allowed only for lineItem
1318
+ if (params.dataType !== 'LINEITEM') {
1319
+ return rootLineItem;
1320
+ }
1321
+ const lineItem = findLineItem(params.id, [rootLineItem]);
1322
+ if (!lineItem) {
1323
+ return rootLineItem;
1324
+ }
1325
+ if (lineItem.id !== rootLineItem.id) {
1326
+ throw new Error('Quantity can be changed only for root product');
1327
+ }
1328
+ const updated = new LineItemWorker(rootLineItem).replace(Object.assign(Object.assign({}, lineItem), { qty: params.newValue }));
1329
+ return updated.li;
1330
+ }
1331
+ updateStartDate(rootLineItem, params) {
1332
+ const lineItem = findLineItem(params.id, [rootLineItem]);
1333
+ if (!lineItem) {
1334
+ return rootLineItem;
1335
+ }
1336
+ const updated = new LineItemWorker(rootLineItem).replace(Object.assign(Object.assign({}, lineItem), { effectiveDate: moment(params.newValue).format('YYYY-MM-DD') }));
1337
+ return updated.li;
1338
+ }
1339
+ updateEndDate(rootLineItem, params) {
1340
+ const lineItem = findLineItem(params.id, [rootLineItem]);
1341
+ if (!lineItem) {
1342
+ return rootLineItem;
1343
+ }
1344
+ const updated = new LineItemWorker(rootLineItem).replace(Object.assign(Object.assign({}, lineItem), { endDate: moment(params.newValue).format('YYYY-MM-DD') }));
1345
+ return updated.li;
1346
+ }
1347
+ updatePriceAdjustment(rootLineItem, params) {
1348
+ const comparator = params.dataType === 'LINEITEM'
1349
+ ? (li) => li.id === params.id
1350
+ : params.dataType === 'CHARGE'
1351
+ ? (li) => li.chargeItems.some(({ id }) => id === params.id)
1352
+ : params.dataType === 'GROUP_CHARGE'
1353
+ ? (li) => li.chargeGroupItems.some(({ id }) => id === params.id)
1354
+ : undefined;
1355
+ if (!comparator) {
1356
+ return rootLineItem;
1357
+ }
1358
+ const lineItem = findLineItemWithComparator([rootLineItem], comparator);
1359
+ if (!lineItem) {
1360
+ return rootLineItem;
1361
+ }
1362
+ let updated;
1363
+ if (params.dataType === 'LINEITEM') {
1364
+ updated = Object.assign(Object.assign({}, lineItem), { chargeItems: lineItem.chargeItems.map((chargeItem, index) => {
1365
+ return index === 0 ? Object.assign(Object.assign({}, chargeItem), { priceAdjustment: params.newValue }) : chargeItem;
1366
+ }) });
1367
+ }
1368
+ else if (params.dataType === 'CHARGE') {
1369
+ updated = Object.assign(Object.assign({}, lineItem), { chargeItems: lineItem.chargeItems.map(chargeItem => {
1370
+ return chargeItem.id === params.id ? Object.assign(Object.assign({}, chargeItem), { priceAdjustment: params.newValue }) : chargeItem;
1371
+ }) });
1372
+ }
1373
+ else if (params.dataType === 'GROUP_CHARGE') {
1374
+ updated = Object.assign(Object.assign({}, lineItem), { chargeGroupItems: lineItem.chargeGroupItems.map(chargeGroupItem => {
1375
+ return chargeGroupItem.id === params.id
1376
+ ? Object.assign(Object.assign({}, chargeGroupItem), { priceAdjustment: params.newValue }) : chargeGroupItem;
1377
+ }) });
1378
+ }
1379
+ const updatedRootLineItem = updated ? new LineItemWorker(rootLineItem).replace(updated).li : rootLineItem;
1380
+ return updatedRootLineItem;
1381
+ }
1382
+ }
1383
+ FlowUpdateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowUpdateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1384
+ FlowUpdateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowUpdateService });
1385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowUpdateService, decorators: [{
1386
+ type: Injectable
1387
+ }] });
1388
+
1286
1389
  class FlowConfigurationService {
1287
- constructor(priceApiService, contextService, messageService) {
1390
+ constructor(priceApiService, contextService, messageService, updateService) {
1288
1391
  this.priceApiService = priceApiService;
1289
1392
  this.contextService = contextService;
1290
1393
  this.messageService = messageService;
1394
+ this.updateService = updateService;
1291
1395
  this.lineItems = new BehaviorSubject([]);
1292
1396
  this.charges = new BehaviorSubject({});
1293
1397
  }
1398
+ reset() {
1399
+ this.lineItems.next([]);
1400
+ this.charges.next({});
1401
+ }
1294
1402
  calculate$(currentState) {
1295
1403
  const context = this.contextService.resolve();
1296
1404
  return this.priceApiService.calculate({ context, currentState }).pipe(tap$1((result) => {
@@ -1299,17 +1407,23 @@ class FlowConfigurationService {
1299
1407
  if (context) {
1300
1408
  this.contextService.update({ properties: context.properties });
1301
1409
  }
1302
- }), catchError$1(error => {
1303
- console.error(error);
1304
- this.messageService.add({ severity: 'error', summary: error });
1305
- // bounce back if configuration call has failed
1306
- this.lineItems.next(this.lineItems.value.slice());
1307
- return throwError(() => error);
1308
- }));
1410
+ }), catchError$1(error => this.handleError(error)));
1309
1411
  }
1310
1412
  calculate(currentState) {
1311
1413
  this.calculate$(currentState).subscribe();
1312
1414
  }
1415
+ update$(params) {
1416
+ return of([]).pipe(map$1(() => this.lineItems.value.map(li => this.updateService.update(li, params))), catchError$1(error => this.handleError(error)), switchMap(currentState => this.calculate$(currentState)));
1417
+ }
1418
+ update(params) {
1419
+ this.update$(params).subscribe();
1420
+ }
1421
+ delete$(id) {
1422
+ return of([]).pipe(map$1(() => this.updateService.delete(this.lineItems.value, id)), catchError$1(error => this.handleError(error)), switchMap(currentState => this.calculate$(currentState)));
1423
+ }
1424
+ delete(id) {
1425
+ this.delete$(id).subscribe();
1426
+ }
1313
1427
  get() {
1314
1428
  return this.lineItems.asObservable().pipe(shareReplay());
1315
1429
  }
@@ -1328,22 +1442,29 @@ class FlowConfigurationService {
1328
1442
  get context$() {
1329
1443
  return this.contextService.resolve$();
1330
1444
  }
1445
+ handleError(error) {
1446
+ console.error(error);
1447
+ this.messageService.add({ severity: 'error', summary: error });
1448
+ // bounce back if configuration call has failed
1449
+ this.lineItems.next(this.lineItems.value.slice());
1450
+ return throwError(() => error);
1451
+ }
1331
1452
  }
1332
- FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.PriceApiService }, { token: i2.ContextService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
1453
+ FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.PriceApiService }, { token: i2.ContextService }, { token: i3.MessageService }, { token: FlowUpdateService }], target: i0.ɵɵFactoryTarget.Injectable });
1333
1454
  FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService });
1334
1455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, decorators: [{
1335
1456
  type: Injectable
1336
- }], ctorParameters: function () { return [{ type: i1.PriceApiService }, { type: i2.ContextService }, { type: i3.MessageService }]; } });
1457
+ }], ctorParameters: function () { return [{ type: i1.PriceApiService }, { type: i2.ContextService }, { type: i3.MessageService }, { type: FlowUpdateService }]; } });
1337
1458
 
1338
1459
  class FlowConfigurationModule {
1339
1460
  }
1340
1461
  FlowConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1341
1462
  FlowConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule });
1342
- FlowConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, providers: [FlowConfigurationService, ContextService, PriceApiService] });
1463
+ FlowConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, providers: [FlowConfigurationService, FlowUpdateService, ContextService, PriceApiService] });
1343
1464
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, decorators: [{
1344
1465
  type: NgModule,
1345
1466
  args: [{
1346
- providers: [FlowConfigurationService, ContextService, PriceApiService],
1467
+ providers: [FlowConfigurationService, FlowUpdateService, ContextService, PriceApiService],
1347
1468
  }]
1348
1469
  }] });
1349
1470
 
@@ -1353,7 +1474,8 @@ var vlCmsModules = /*#__PURE__*/Object.freeze({
1353
1474
  ConfigurationRuntimeService: ConfigurationRuntimeService,
1354
1475
  ConfigurationService: ConfigurationService,
1355
1476
  FlowConfigurationModule: FlowConfigurationModule,
1356
- FlowConfigurationService: FlowConfigurationService
1477
+ FlowConfigurationService: FlowConfigurationService,
1478
+ FlowUpdateService: FlowUpdateService
1357
1479
  });
1358
1480
 
1359
1481
  const InitAction = { type: 'INIT' };
@@ -1407,6 +1529,7 @@ var vlCmsUtils = /*#__PURE__*/Object.freeze({
1407
1529
  isValidScript: isValidScript,
1408
1530
  parseBoundPath: parseBoundPath,
1409
1531
  findLineItem: findLineItem,
1532
+ findLineItemWithComparator: findLineItemWithComparator,
1410
1533
  insertLineItem: insertLineItem,
1411
1534
  removeLineItem: removeLineItem,
1412
1535
  replaceLineItem: replaceLineItem,
@@ -1765,5 +1888,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
1765
1888
  * Generated bundle index. Do not edit.
1766
1889
  */
1767
1890
 
1768
- export { ConfigurationRuntimeService, ConfigurationService, DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, ElementComponent, ElementDefinition, FlowConfigurationModule, FlowConfigurationService, IntegrationState, LauncherModule, LauncherService, LineItemWorker, PreviewComponent, PreviewModule, SHARED_ELEMENT_METADATA, TemplatesService, UI_DEFINITION_METADATA, UiBuildError, VENDOR_MAP, doesElementSupportIO, elementToMetadata, extendElementMetadata, extractElementMetadata, findLineItem, generateLineItem, getAttributeValue, getAttributes, getDefaultLineItem, getElementConfig, getRecommendedPrices, insertLineItem, isValidScript, mapAttributes, metadataToElement, normalizeElementMetadata, parseBoundPath, patchAttributes, removeLineItem, replaceLineItem, stringifyElementMetadata, upsertAttributes };
1891
+ export { ConfigurationRuntimeService, ConfigurationService, DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, ElementComponent, ElementDefinition, FlowConfigurationModule, FlowConfigurationService, FlowUpdateService, IntegrationState, LauncherModule, LauncherService, LineItemWorker, PreviewComponent, PreviewModule, SHARED_ELEMENT_METADATA, TemplatesService, UI_DEFINITION_METADATA, UiBuildError, VENDOR_MAP, doesElementSupportIO, elementToMetadata, extendElementMetadata, extractElementMetadata, findLineItem, findLineItemWithComparator, generateLineItem, getAttributeValue, getAttributes, getDefaultLineItem, getElementConfig, getRecommendedPrices, insertLineItem, isValidScript, mapAttributes, metadataToElement, normalizeElementMetadata, parseBoundPath, patchAttributes, removeLineItem, replaceLineItem, stringifyElementMetadata, upsertAttributes };
1769
1892
  //# sourceMappingURL=veloce-sdk-cms.js.map