@colijnit/product 257.1.2 → 257.1.4

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.
@@ -7,6 +7,7 @@ import { ProductEventService } from '../../service/product-event.service';
7
7
  import { CatalogDefinition } from '@colijnit/articleapi/build/model/catalog-definition.bo';
8
8
  import { ExternalSourceArticleAddInterface } from '@colijnit/articleapi/build/interface/external-source-article-add.interface';
9
9
  import { ExternalCatalogStartupInfo } from '@colijnit/articleapi/build/model/external-catalog-startup-info';
10
+ import { ExternalSourceParameter } from '@colijnit/articleapi/build/model/external-source-parameter.bo';
10
11
  export declare class ProductExternalSourceComponent implements OnInit, OnDestroy {
11
12
  private _sanitizer;
12
13
  private _productConnectorService;
@@ -32,6 +33,7 @@ export declare class ProductExternalSourceComponent implements OnInit, OnDestroy
32
33
  externalSettings: any;
33
34
  token: string;
34
35
  variant: string;
36
+ urlParams: ExternalSourceParameter[];
35
37
  private _externalSource;
36
38
  private _externalCatalogStartupInfo;
37
39
  private _subs;
@@ -1,5 +1,6 @@
1
1
  import { ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import { ProductScriptLoaderService } from '../../service/product-script-loader.service';
3
+ import { ExternalSourceParameter } from '@colijnit/articleapi/build/model/external-source-parameter.bo';
3
4
  export declare class ProductHdComponent implements OnDestroy {
4
5
  private _scriptLoader;
5
6
  private _renderer;
@@ -8,6 +9,7 @@ export declare class ProductHdComponent implements OnDestroy {
8
9
  get sku(): string;
9
10
  token: string;
10
11
  variant: string;
12
+ urlParams: ExternalSourceParameter[];
11
13
  configuratorFinished: EventEmitter<string>;
12
14
  configurationError: EventEmitter<any>;
13
15
  showClass: boolean;
@@ -18,5 +20,6 @@ export declare class ProductHdComponent implements OnDestroy {
18
20
  handleConfigurationFinished(event: CustomEvent): void;
19
21
  handleError(event: CustomEvent): void;
20
22
  private _prepareAttributes;
23
+ private _prepareConfiguratorUrls;
21
24
  private _loadTheScripts;
22
25
  }
@@ -31,8 +31,8 @@
31
31
  function Version() {
32
32
  this.name = "@colijnit/product";
33
33
  this.description = "Product detail page project for iOne";
34
- this.symVer = "257.1.2";
35
- this.publishDate = "22-1-2025 21:39:03";
34
+ this.symVer = "257.1.4";
35
+ this.publishDate = "8-2-2025 19:30:37";
36
36
  }
37
37
  return Version;
38
38
  }());
@@ -901,6 +901,37 @@
901
901
  var Dictionary = /** @class */ (function () {
902
902
  function Dictionary() {
903
903
  this.strings = {
904
+ "en": {
905
+ "ADDITIONAL_DATA": "Additional information",
906
+ "ALTERNATIVE_PRODUCTS": "Alternative products",
907
+ "ARTICLE_NUMBER": "Productnumber",
908
+ "CATEGORY": "Category",
909
+ "CATEGORY_TYPE": "Category type",
910
+ "CONFIGURE": "Configure",
911
+ "DELIVERY_TIME_PERIOD": "Delivery time",
912
+ "DESCRIPTION": "Description",
913
+ "DOCUMENTS": "Documents",
914
+ "DOWNLOADS": "Downloads",
915
+ "FEATURES": "Features",
916
+ "HEIGHT": "Height",
917
+ "MATERIAL": "Material",
918
+ "PRODUCT_IN_STOCK": "In stock",
919
+ "PRODUCT_LIMITED_STOCK": "Limited stock",
920
+ "PRODUCT_NOT_IN_STOCK": "Not in stock",
921
+ "PROPERTIES": "Characteristics",
922
+ "QUOTATION": "Quotation",
923
+ "READ_MORE": "Read more",
924
+ "RELATED_PRODUCTS": "Related products",
925
+ "SHOPPING_CART_IN": "In Shopping Cart",
926
+ "SHOW_IN": "Show in",
927
+ "STOCK": "Stock",
928
+ "SYMBOLS": "Symbols",
929
+ "TITLE": "Title",
930
+ "TURNOVERGROUP": "Turnover group",
931
+ "VARIANTS": "Variations",
932
+ "WIDTH": "Width",
933
+ "SUGGESTION": "Suggestion",
934
+ },
904
935
  "nl": {
905
936
  "ADDITIONAL_DATA": "Extra informatie",
906
937
  "ALTERNATIVE_PRODUCTS": "Alternatieve producten",
@@ -1390,7 +1421,7 @@
1390
1421
  IoneProductComponent.decorators = [
1391
1422
  { type: i0.Component, args: [{
1392
1423
  selector: 'app-ione-product',
1393
- template: "\n <app-product-page *ngIf=\"settingsLoaded\"\n [createFrozenArticle]=\"handleAddArticleInternally\"\n [isReturn]=\"isReturn\"\n (openStockEvent)=\"openStock()\"\n [sku]=\"sku\"\n [showRelatedProductsPopup]=\"showRelatedProductsPopup\"\n ></app-product-page>\n<!-- <co-button [label]=\"'click'\" (click)=\"showHD = !showHD\"></co-button>\n <co-product-hd [sku]=\"'657946ca-e1e1-41fd-7ae0-08dbf7df0cef'\" *ngIf=\"showHD\"></co-product-hd>-->\n ",
1424
+ template: "\n <app-product-page *ngIf=\"settingsLoaded\"\n [createFrozenArticle]=\"handleAddArticleInternally\"\n [isReturn]=\"isReturn\"\n (openStockEvent)=\"openStock()\"\n [sku]=\"sku\"\n [showRelatedProductsPopup]=\"showRelatedProductsPopup\"\n ></app-product-page>\n <!-- <co-button [label]=\"'click'\" (click)=\"showHD = !showHD\"></co-button>\n <co-product-hd [sku]=\"'657946ca-e1e1-41fd-7ae0-08dbf7df0cef'\" *ngIf=\"showHD\"></co-product-hd>-->\n ",
1394
1425
  encapsulation: i0.ViewEncapsulation.Emulated,
1395
1426
  styles: [""]
1396
1427
  },] }
@@ -3376,6 +3407,7 @@
3376
3407
  this._scriptLoader = _scriptLoader;
3377
3408
  this._renderer = _renderer;
3378
3409
  this.variant = '';
3410
+ this.urlParams = [];
3379
3411
  this.configuratorFinished = new i0.EventEmitter();
3380
3412
  this.configurationError = new i0.EventEmitter();
3381
3413
  this.showClass = true;
@@ -3414,7 +3446,10 @@
3414
3446
  this.configurationError.emit(event.detail.status);
3415
3447
  };
3416
3448
  ProductHdComponent.prototype._prepareAttributes = function () {
3417
- if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.token && (this.sku || this.variant)) {
3449
+ if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.urlParams && this.token && (this.sku || this.variant)) {
3450
+ //for local testing please turn off for packing and publishing!
3451
+ //this.prepareTestingUrlparams();
3452
+ this._prepareConfiguratorUrls();
3418
3453
  this.hdeConfigurator.nativeElement.setAttribute('bearerToken', this.token);
3419
3454
  if (this._sku) {
3420
3455
  this.hdeConfigurator.nativeElement.setAttribute('data-productId', this._sku);
@@ -3425,34 +3460,54 @@
3425
3460
  this._loadTheScripts();
3426
3461
  }
3427
3462
  };
3428
- // load external scripts
3463
+ //set necessary references to configurator.
3464
+ ProductHdComponent.prototype._prepareConfiguratorUrls = function () {
3465
+ //fetch the setting from the external source
3466
+ var apiurl = this.urlParams.find(function (item) { return item.key === 'apiurl'; }).value;
3467
+ var productVariantCommandApiUrl = this.urlParams.find(function (item) { return item.key === 'productVariantCommandApiUrl'; }).value;
3468
+ var productVariantQueryApiUrl = this.urlParams.find(function (item) { return item.key === 'productVariantQueryApiUrl'; }).value;
3469
+ var localizationApiUrl = this.urlParams.find(function (item) { return item.key === 'localizationApiUrl'; }).value;
3470
+ //apply to configurator
3471
+ this.hdeConfigurator.nativeElement.setAttribute('apiurl', apiurl);
3472
+ this.hdeConfigurator.nativeElement.setAttribute('productVariantCommandApiUrl', productVariantCommandApiUrl);
3473
+ this.hdeConfigurator.nativeElement.setAttribute('productVariantQueryApiUrl', productVariantQueryApiUrl);
3474
+ this.hdeConfigurator.nativeElement.setAttribute('localizationApiUrl', localizationApiUrl);
3475
+ };
3476
+ // load external scripts into client
3429
3477
  ProductHdComponent.prototype._loadTheScripts = function () {
3430
3478
  return __awaiter(this, void 0, void 0, function () {
3431
- var scripts, i;
3479
+ var headerUrls, headerArray, i, styles, stylesArray, j;
3432
3480
  return __generator(this, function (_a) {
3433
3481
  switch (_a.label) {
3434
3482
  case 0:
3435
- scripts = [
3436
- // hard-coded for now, should come from the external source
3437
- 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/polyfills.js',
3438
- 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/runtime.js',
3439
- 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/main.js'
3440
- ];
3483
+ headerUrls = this.urlParams.find(function (item) { return item.key === 'header'; }).value;
3484
+ headerArray = headerUrls.replace(/\s+/g, '').split(',');
3441
3485
  i = 0;
3442
3486
  _a.label = 1;
3443
3487
  case 1:
3444
- if (!(i < scripts.length)) return [3 /*break*/, 4];
3445
- return [4 /*yield*/, this._scriptLoader.loadScript(scripts[i], this._renderer).catch(function (error) { return console.error(error); })];
3488
+ if (!(i < headerArray.length)) return [3 /*break*/, 4];
3489
+ return [4 /*yield*/, this._scriptLoader.loadScript(headerArray[i], this._renderer).catch(function (error) { return console.error(error); })];
3446
3490
  case 2:
3447
3491
  _a.sent();
3448
3492
  _a.label = 3;
3449
3493
  case 3:
3450
3494
  i++;
3451
3495
  return [3 /*break*/, 1];
3452
- case 4: return [4 /*yield*/, this._scriptLoader.addStyleSheet('https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/styles.css', this._renderer)];
3496
+ case 4:
3497
+ styles = this.urlParams.find(function (item) { return item.key === 'stylesheet'; }).value;
3498
+ stylesArray = styles.replace(/\s+/g, '').split(',');
3499
+ j = 0;
3500
+ _a.label = 5;
3453
3501
  case 5:
3502
+ if (!(j < stylesArray.length)) return [3 /*break*/, 8];
3503
+ return [4 /*yield*/, this._scriptLoader.addStyleSheet(stylesArray[j], this._renderer)];
3504
+ case 6:
3454
3505
  _a.sent();
3455
- return [2 /*return*/];
3506
+ _a.label = 7;
3507
+ case 7:
3508
+ j++;
3509
+ return [3 /*break*/, 5];
3510
+ case 8: return [2 /*return*/];
3456
3511
  }
3457
3512
  });
3458
3513
  });
@@ -3462,7 +3517,7 @@
3462
3517
  ProductHdComponent.decorators = [
3463
3518
  { type: i0.Component, args: [{
3464
3519
  selector: 'co-product-hd',
3465
- template: "\n <hde-configurator #hdeConfigurator\n apiurl=\"https://bmsproductconfigurator-acceptance.azurewebsites.net/api/configurator/\"\n productVariantCommandApiUrl=\"https://bmsproductvariantcommand-acceptance.azurewebsites.net/\"\n productVariantQueryApiUrl=\"https://bmsproductvariantquery-acceptance.azurewebsites.net/\"\n language=\"nl\"\n localizationApiUrl=\"https://hde-cdn.azureedge.net/libs/BMS.DST.Localization/\"\n localizationFileExtension=\".json\"\n (configurationFinished)=\"handleConfigurationFinished($event)\"\n (configurationFailed)=\"handleError($event)\"\n >\n <hde-progress-bar></hde-progress-bar>\n </hde-configurator>\n ",
3520
+ template: "\n <hde-configurator #hdeConfigurator\n language=\"nl\"\n localizationFileExtension=\".json\"\n (configurationFinished)=\"handleConfigurationFinished($event)\"\n (configurationFailed)=\"handleError($event)\"\n >\n <hde-progress-bar></hde-progress-bar>\n </hde-configurator>\n ",
3466
3521
  encapsulation: i0.ViewEncapsulation.None
3467
3522
  },] }
3468
3523
  ];
@@ -3475,6 +3530,7 @@
3475
3530
  sku: [{ type: i0.Input }],
3476
3531
  token: [{ type: i0.Input }],
3477
3532
  variant: [{ type: i0.Input }],
3533
+ urlParams: [{ type: i0.Input }],
3478
3534
  configuratorFinished: [{ type: i0.Output }],
3479
3535
  configurationError: [{ type: i0.Output }],
3480
3536
  showClass: [{ type: i0.HostBinding, args: ['class.co-product-hd',] }]
@@ -3519,6 +3575,7 @@
3519
3575
  this.externalSettings = {};
3520
3576
  this.token = ""; //= "eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxOThERkVEOEUwQTQ1MzY3M0M1MUE2Rjk1QUVDQzU3RTM0NjM4RkRSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6IjhaamY3WTRLUlRaenhScHZsYTdNVi1OR09QMCJ9.eyJuYmYiOjE3MzIxOTkyOTUsImV4cCI6MTczMjIwMjg5NSwiaXNzIjoiaHR0cHM6Ly9ibXNpZGVudGl0eS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0IiwiYXVkIjpbImNhdGFsb2dxdWVyeWFwaSIsImNvbmZpZ3VyYXRvcmFwaSIsInByb2R1Y3R2YXJpYW50Y29tbWFuZGFwaSIsInByb2R1Y3R2YXJpYW50cXVlcnlhcGkiXSwiY2xpZW50X2lkIjoiaW1wZXJzb25hdGlvbi5jbGllbnQiLCJzdWIiOiIwOTMwZDI4Mi05NGU4LTQ5MGEtOGI2NC1mYTk1YmIyYzE1ODIiLCJhdXRoX3RpbWUiOjE3MzIxOTkyOTUsImlkcCI6ImxvY2FsIiwiZW52aXJvbm1lbnQiOiJNU0wiLCJzZWxsZXIiOiJTRTAwMDA5NiIsInNlbGxlcmd1aWQiOiIxMDk1MWJjNS1hZmMzLTQ1MGEtNmVkMS0wOGQ4NDNlNmE5OTQiLCJwZXJtaXNzaW9uIjpbInNhbGVzLmV4cG9ydHRlbXBsYXRlcy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LnRhZy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LmRvY3VtZW50LnJlYWQiLCJkb2N1bWVudGxpYnJhcnkudGFnZ3JvdXAucmVhZCIsInNhbGVzLm9yZGVyLndyaXRlIiwic2FsZXMuY3VzdG9tZXIucmVhZCIsInNhbGVzLm9yZGVyLmRlbGl2ZXJ5YWRkcmVzcy53cml0ZSIsInNlcnZpY2UucmVxdWVzdC5yZWFkIiwiY2F0YWxvZy50YWcucmVhZCIsInNhbGVzLm9yZGVyLnJlYWQiLCJzYWxlcy5jdXN0b21lci53cml0ZSIsInJlcXVlc3Rmb3JxdW90ZS53cml0ZSIsInNhbGVzLm9yZGVyLmJvb2siLCJyZXF1ZXN0Zm9ycXVvdGUucmVhZCIsInNhbGVzLmxlYWQucmVhZCIsInB1cmNoYXNlLm9yZGVyLnJlYWQiLCJzYWxlcy5xdW90ZS5yZWFkIiwic2FsZXMucXVvdGUud3JpdGUiLCJjYXRhbG9nLml0ZW0ucmVhZCIsInNhbGVzLmxlYWQud3JpdGUiLCJzZXJ2aWNlLnJlcXVlc3Quc3VibWl0Iiwic2FsZXMub3JkZXIuZGVsaXZlcnlhZGRyZXNzLnJlYWQiLCJwdXJjaGFzZS5vcmRlci53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy5yZWFkIiwic2VydmljZS5yZXF1ZXN0LndyaXRlIiwiY2F0YWxvZy5jYXRhbG9nLnJlYWQiLCJjYXRhbG9nLmNhdGFsb2cud3JpdGUiLCJjYXRhbG9nLmN1cnJlbmN5LnJlYWQiLCJjYXRhbG9nLmN1cnJlbmN5LndyaXRlIiwiY2F0YWxvZy5pdGVtLndyaXRlIiwiY2F0YWxvZy5sb2NhbGl6YXRpb24ucmVhZCIsImNhdGFsb2cubG9jYWxpemF0aW9uLndyaXRlIiwiY2F0YWxvZy5wcm9kdWN0LnJlYWQiLCJjYXRhbG9nLnByb2R1Y3Qud3JpdGUiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLnJlYWQiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLndyaXRlIiwiY2F0YWxvZy5zZWxsZXIucmVhZCIsImNhdGFsb2cuc2VsbGVyLndyaXRlIiwiY2F0YWxvZy50YWcud3JpdGUiLCJjYXRhbG9nLnVvbS5yZWFkIiwiY2F0YWxvZy51b20ud3JpdGUiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LnJlYWQiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LndyaXRlIiwiY2F0YWxvZy52ZW5kb3IucmVhZCIsImNhdGFsb2cudmVuZG9yLndyaXRlIiwicHVyY2hhc2Uuc2VsbGVyLnJlYWQiLCJwdXJjaGFzZS5zZWxsZXIud3JpdGUiLCJjYXRhbG9nLmFydGljbGUucmVhZCIsImNhdGFsb2cuYXJ0aWNsZS53cml0ZSIsInNhbGVzLnF1b3RlLmxpbmVzLnJlYWQiLCJzYWxlcy5xdW90ZS5saW5lcy53cml0ZSIsInNhbGVzLnNlbGxlci5yZWFkIiwic2FsZXMuc2VsbGVyLndyaXRlIiwiYWNjb3VudGluZy52ZW5kb3JpbnZvaWNlLnJlYWQiLCJpZGVudGl0eS51c2VyLnJlYWQiLCJpZGVudGl0eS51c2VyLndyaXRlIiwiaWRlbnRpdHkucm9sZS5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy53cml0ZSIsImNvbmZpZ3VyYXRvci5wdXJjaGFzZXByaWNlLnJlYWQiLCJzdG9jay5mYWJyaWMucmVhZCJdLCJuYW1lIjoiUm9iaW4iLCJmYW1pbHlfbmFtZSI6ImRlIFdpbnRlciAoQ29saWpuLUlUKSIsInJvbGUiOlsic2VsbGVyIiwiZGVhbGVyX21hbmFnZXIiXSwiaWF0IjoxNzMyMTk5Mjk1LCJzY29wZSI6WyJjYXRhbG9ncXVlcnlhcGkiLCJjb25maWd1cmF0b3JhcGkiLCJwcm9kdWN0dmFyaWFudGNvbW1hbmRhcGkiLCJwcm9kdWN0dmFyaWFudHF1ZXJ5YXBpIl0sImFtciI6WyJpbXBlcnNvbmF0aW9uIl19.rbguVPnkXXDzsM6QKgXulhrF41jIjCuGDV13ig1GC8MewLCJ7wA038OSwT26sx2mCexjvuGYt45YScfPwfTkDy3ErPmHRods64X1dJWZnf-23NTP2iI32K_1vMZH5GOGbMzuFtbKAFQv4hgFAxoyWqFVWyJvuOtQcWyZStROyPHwjAnpnj-x1cVQpOhbO-kQUFvy_VUrPpF3aYVCcO2cFirQTXR6kxSGcYGGcsPY-_eiAd93UdG2EM6xLAocDLaFV72CQI6XEs0WQG1f4SqvH52v3OTkgWBLgYV35gpyIe0-2nazGL0R8pTNuDqrOb7OGmuTRMoTIiRi67-wTxx8cQ";
3521
3577
  this.variant = "";
3578
+ this.urlParams = [];
3522
3579
  this._subs = [];
3523
3580
  }
3524
3581
  Object.defineProperty(ProductExternalSourceComponent.prototype, "externalSource", {
@@ -3538,10 +3595,12 @@
3538
3595
  return this._externalCatalogStartupInfo;
3539
3596
  },
3540
3597
  set: function (value) {
3541
- this._externalCatalogStartupInfo = value;
3542
- this.externalSource = value.externalSource;
3543
- this.loaded = false;
3544
- this._prepareExternalSource();
3598
+ if (value) {
3599
+ this._externalCatalogStartupInfo = value;
3600
+ this.externalSource = value.externalSource;
3601
+ this.loaded = false;
3602
+ this._prepareExternalSource();
3603
+ }
3545
3604
  },
3546
3605
  enumerable: false,
3547
3606
  configurable: true
@@ -3633,6 +3692,7 @@
3633
3692
  this.token = this.externalCatalogStartupInfo.token;
3634
3693
  this.sku = this.externalCatalogStartupInfo.externalGoodId;
3635
3694
  this.variant = this.externalCatalogStartupInfo.flattenedGoodId;
3695
+ this.urlParams = this.externalCatalogStartupInfo.externalSource.parameters;
3636
3696
  this.switchToConfigurator();
3637
3697
  this.loaded = true;
3638
3698
  }
@@ -3663,7 +3723,7 @@
3663
3723
  ProductExternalSourceComponent.decorators = [
3664
3724
  { type: i0.Component, args: [{
3665
3725
  selector: 'co-product-external-source',
3666
- template: "\n <ng-container *ngIf=\"loaded\">\n <ng-container *ngIf=\"showProduct\">\n <app-product-page\n [sku]=\"sku\"\n [settings]=\"externalSettings\"\n [externalSource]=\"externalSource\"\n ></app-product-page>\n </ng-container>\n <ng-container *ngIf=\"showSource\">\n <iframe width=\"100%\" height=\"100%\" [src]=\"safeUrl\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n <ng-container *ngIf=\"showConfigurator\">\n <co-product-hd width=\"100%\" height=\"100%\"\n [sku]=\"sku\"\n [variant]=\"variant\"\n [token]=\"token\"\n (configuratorFinished)=\"handleConfigurationFinished($event)\"></co-product-hd>\n </ng-container>\n </ng-container>\n ",
3726
+ template: "\n <ng-container *ngIf=\"loaded\">\n <ng-container *ngIf=\"showProduct\">\n <app-product-page\n [sku]=\"sku\"\n [settings]=\"externalSettings\"\n [externalSource]=\"externalSource\"\n ></app-product-page>\n </ng-container>\n <ng-container *ngIf=\"showSource\">\n <iframe width=\"100%\" height=\"100%\" [src]=\"safeUrl\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n <ng-container *ngIf=\"showConfigurator\">\n <co-product-hd width=\"100%\" height=\"100%\"\n [sku]=\"sku\"\n [variant]=\"variant\"\n [token]=\"token\"\n [urlParams]=\"urlParams\"\n (configuratorFinished)=\"handleConfigurationFinished($event)\"></co-product-hd>\n </ng-container>\n </ng-container>\n ",
3667
3727
  providers: [
3668
3728
  ProductSettingsService,
3669
3729
  ProductConnectorAdapterService,