@colijnit/product 256.1.2 → 256.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.
Files changed (39) hide show
  1. package/app/components/product-addtocart/product-addtocart.component.d.ts +1 -0
  2. package/app/components/product-dialog/product-dialog.component.d.ts +27 -0
  3. package/app/components/product-dialog/product-dialog.module.d.ts +2 -0
  4. package/app/components/product-external-source/product-external-source.component.d.ts +16 -0
  5. package/app/components/product-hd/product-hd.component.d.ts +22 -0
  6. package/app/components/product-hd/product-hd.module.d.ts +2 -0
  7. package/app/components/product-page/product-page.component.d.ts +2 -0
  8. package/app/enum/icon.enum.d.ts +3 -0
  9. package/app/ione-product.component.d.ts +2 -0
  10. package/app/service/product-connector-adapter.service.d.ts +1 -1
  11. package/app/service/product-script-loader.service.d.ts +9 -0
  12. package/bundles/colijnit-product.umd.js +428 -61
  13. package/bundles/colijnit-product.umd.js.map +1 -1
  14. package/colijnit-product-256.1.3.tgz +0 -0
  15. package/colijnit-product.d.ts +6 -1
  16. package/colijnit-product.metadata.json +1 -1
  17. package/esm2015/app/components/product-addtocart/product-addtocart.component.js +4 -2
  18. package/esm2015/app/components/product-addtocart/product-addtocart.module.js +4 -2
  19. package/esm2015/app/components/product-dialog/product-dialog.component.js +86 -0
  20. package/esm2015/app/components/product-dialog/product-dialog.module.js +25 -0
  21. package/esm2015/app/components/product-external-source/product-external-source.component.js +82 -20
  22. package/esm2015/app/components/product-external-source/product-external-source.module.js +4 -2
  23. package/esm2015/app/components/product-hd/product-hd.component.js +99 -0
  24. package/esm2015/app/components/product-hd/product-hd.module.js +23 -0
  25. package/esm2015/app/components/product-page/product-page.component.js +8 -2
  26. package/esm2015/app/components/product-page/product-page.module.js +6 -2
  27. package/esm2015/app/components/product-related/product-related.component.js +25 -23
  28. package/esm2015/app/enum/icon.enum.js +4 -1
  29. package/esm2015/app/ione-product.component.js +8 -2
  30. package/esm2015/app/ione-product.module.js +15 -5
  31. package/esm2015/app/model/icon.js +4 -1
  32. package/esm2015/app/product-version.js +3 -3
  33. package/esm2015/app/service/product-connector-adapter.service.js +3 -3
  34. package/esm2015/app/service/product-script-loader.service.js +68 -0
  35. package/esm2015/assets/dictionary/text.properties.js +5 -3
  36. package/esm2015/colijnit-product.js +7 -2
  37. package/fesm2015/colijnit-product.js +448 -73
  38. package/fesm2015/colijnit-product.js.map +1 -1
  39. package/package.json +1 -1
@@ -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 = "256.1.2";
35
- this.publishDate = "8-11-2024 14:14:34";
34
+ this.symVer = "256.1.4";
35
+ this.publishDate = "22-1-2025 20:45:30";
36
36
  }
37
37
  return Version;
38
38
  }());
@@ -805,12 +805,13 @@
805
805
  });
806
806
  });
807
807
  };
808
- ProductConnectorAdapterService.prototype.getArticleFullObject = function (goodId) {
808
+ ProductConnectorAdapterService.prototype.getArticleFullObject = function (goodId, showLoader) {
809
+ if (showLoader === void 0) { showLoader = true; }
809
810
  return __awaiter(this, void 0, void 0, function () {
810
811
  var response;
811
812
  return __generator(this, function (_a) {
812
813
  switch (_a.label) {
813
- case 0: return [4 /*yield*/, this.articleConnector.getArticleFullObject(goodId)];
814
+ case 0: return [4 /*yield*/, this.articleConnector.getArticleFullObject(goodId, showLoader)];
814
815
  case 1:
815
816
  response = _a.sent();
816
817
  if (response && response.validationResult && response.validationResult.success) {
@@ -928,7 +929,8 @@
928
929
  "TITLE": "Titel",
929
930
  "TURNOVERGROUP": "Omzetgroep",
930
931
  "VARIANTS": "Varianten",
931
- "WIDTH": "Breedte"
932
+ "WIDTH": "Breedte",
933
+ "SUGGESTION": "Suggesties bij",
932
934
  },
933
935
  "de": {
934
936
  "ADDITIONAL_DATA": "Extra informatie",
@@ -958,7 +960,8 @@
958
960
  "TITLE": "Titulatur",
959
961
  "TURNOVERGROUP": "Umsatzgruppe",
960
962
  "VARIANTS": "Varianten",
961
- "WIDTH": "Breite"
963
+ "WIDTH": "Breite",
964
+ "SUGGESTION": "Suggesties bij",
962
965
  }
963
966
  };
964
967
  }
@@ -1320,6 +1323,7 @@
1320
1323
  this.onAddToQuote = new i0.EventEmitter();
1321
1324
  this.openStockEvent = new i0.EventEmitter();
1322
1325
  this.settingsLoaded = false;
1326
+ this.showHD = false;
1323
1327
  this._subs = [];
1324
1328
  this._subs.push(
1325
1329
  // this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
@@ -1386,7 +1390,7 @@
1386
1390
  IoneProductComponent.decorators = [
1387
1391
  { type: i0.Component, args: [{
1388
1392
  selector: 'app-ione-product',
1389
- template: "\n <app-product-page *ngIf=\"settingsLoaded\"\n [createFrozenArticle]=\"handleAddArticleInternally\"\n [isReturn]=\"isReturn\"\n (openStockEvent)=\"openStock()\" [sku]=\"sku\"\n ></app-product-page>\n ",
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 ",
1390
1394
  encapsulation: i0.ViewEncapsulation.Emulated,
1391
1395
  styles: [""]
1392
1396
  },] }
@@ -1402,6 +1406,7 @@
1402
1406
  IoneProductComponent.propDecorators = {
1403
1407
  sku: [{ type: i0.Input }],
1404
1408
  isReturn: [{ type: i0.Input }],
1409
+ showRelatedProductsPopup: [{ type: i0.Input }],
1405
1410
  settings: [{ type: i0.Input }],
1406
1411
  handleAddArticleInternally: [{ type: i0.Input }],
1407
1412
  onAddToCart: [{ type: i0.Output }],
@@ -1434,15 +1439,18 @@
1434
1439
  var IconEnum;
1435
1440
  (function (IconEnum) {
1436
1441
  IconEnum["AddToCartDrop"] = "add_to_cart_drop";
1442
+ IconEnum["CrossSkinny"] = "cross_skinny";
1437
1443
  IconEnum["DeliveryTruck"] = "delivery_truck";
1438
1444
  IconEnum["Download"] = "download";
1439
1445
  IconEnum["FullScreen"] = "full_screen";
1446
+ IconEnum["LinkSimpleRegular"] = "link_simple_regular";
1440
1447
  IconEnum["Location"] = "location";
1441
1448
  IconEnum["Logo"] = "logo";
1442
1449
  IconEnum["MagicWand"] = "magic_wand";
1443
1450
  IconEnum["NormalScreen"] = "normal_screen";
1444
1451
  IconEnum["Quote"] = "quote";
1445
1452
  IconEnum["Refresh"] = "refresh";
1453
+ IconEnum["SaveSkinny"] = "save_skinny";
1446
1454
  IconEnum["ThreeD"] = "three_d";
1447
1455
  IconEnum["Truck"] = "truck";
1448
1456
  IconEnum["TwoD"] = "two_d";
@@ -1452,15 +1460,18 @@
1452
1460
  /** AUTO GENERATED FILE. DO NOT CHANGE.. **/
1453
1461
  var IconSvg = {
1454
1462
  "add_to_cart_drop": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\" fill=\"#484f60\"/><path d=\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\" fill=\"#484f60\"/><path d=\"M35.6,17.9l-1.51.18L31.88,20.3l1.31-.17a.88.88,0,0,1,1,1.08L32.35,29.5a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l4.43-.56-1.86-1.86-5.13.61a1,1,0,0,0-.87,1.28l3.34,9.44A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19A.89.89,0,0,0,35.6,17.9Z\" fill=\"#484f60\"/><path d=\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\" fill=\"#484f60\"/><polygon points=\"24 25.35 32.04 17.3 27.04 17.3 27.04 10 20.95 10 20.95 17.3 15.96 17.3 24 25.35\" fill=\"#484f60\"/></svg>",
1463
+ "cross_skinny": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><polygon points=\"25.35 5.52 24.65 4.81 15 14.46 5.35 4.81 4.65 5.52 14.29 15.17 4.65 24.81 5.35 25.52 15 15.87 24.65 25.52 25.35 24.81 15.71 15.17 25.35 5.52\" fill=\"#484f60\"/></g></svg>",
1455
1464
  "delivery_truck": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\" fill=\"#484f60\"/><path d=\"M21.86,24.09a7.14,7.14,0,0,1,.72-3.24,6.94,6.94,0,0,1,1.18-1.66H13v10.1h8.51a3.25,3.25,0,0,1,3.27-3.07A3.33,3.33,0,0,1,27,27V25.75H21.9Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M21.65,30.47h-.48a3.51,3.51,0,0,1,1.13,2.19h1.57a3.22,3.22,0,0,1-1.41-.83A3.13,3.13,0,0,1,21.65,30.47Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M34.63,21.89H28.87c-.3.25-.5.43-.63.56v8H28a3.19,3.19,0,0,1-.82,1.37,3.3,3.3,0,0,1-1.41.82H29a3.53,3.53,0,0,1,7,0h1V27.1Zm-.2,5.38H30.8a.47.47,0,0,1-.46-.46V23.36a.46.46,0,0,1,.46-.46h2.1a.45.45,0,0,1,.42.27l1.53,3.45A.46.46,0,0,1,34.43,27.27Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M16.42,30.47a3.51,3.51,0,0,0-1.13,2.19H14.6l-1.6-1V30.47Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M30,33.08a2.53,2.53,0,1,0,2.53-2.53A2.52,2.52,0,0,0,30,33.08Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M16.27,33.08a2.53,2.53,0,1,0,2.53-2.53A2.52,2.52,0,0,0,16.27,33.08Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M22.45,17.27h-3.2a4.29,4.29,0,0,1,1.61-3.49,6.45,6.45,0,0,1,4.31-1.38,6.79,6.79,0,0,1,2.92.57A4.72,4.72,0,0,1,30,14.62a4,4,0,0,1,.72,2.26,3.74,3.74,0,0,1-.23,1.27,5.31,5.31,0,0,1-.73,1.29,12,12,0,0,1-1.4,1.29A8.74,8.74,0,0,0,27.06,22a3.17,3.17,0,0,0-.46.94,7.56,7.56,0,0,0-.23,1.65h-3.3v-.49a6,6,0,0,1,.59-2.68,6.8,6.8,0,0,1,1.94-2.25,9.44,9.44,0,0,0,1.56-1.41,1.5,1.5,0,0,0,.27-.9,1.47,1.47,0,0,0-.65-1.19A2.9,2.9,0,0,0,25,15.14a2.77,2.77,0,0,0-1.84.6A1.91,1.91,0,0,0,22.45,17.27Z\" fill=\"#484f60\"/><path d=\"M24.78,27.42a2.06,2.06,0,0,1,1.51.61,2,2,0,0,1,.63,1.47A2,2,0,0,1,26.3,31a2.08,2.08,0,0,1-1.5.62A2,2,0,0,1,23.31,31a2.08,2.08,0,0,1,0-2.95A2,2,0,0,1,24.78,27.42Z\" fill=\"#484f60\"/></svg>",
1456
1465
  "download": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\" version=\"1.1\" sodipodi:docname=\"download.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"><metadata ><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"1920\" inkscape:window-height=\"1017\" showgr inkscape:zoom=\"6.675088\" inkscape:cx=\"-14.056273\" inkscape:cy=\"29.806579\" inkscape:window-x=\"-8\" inkscape:window-y=\"-8\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"svg8\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 498.966,339.946 c -7.197,0 -13.034,5.837 -13.034,13.034 v 49.804 c 0,28.747 -23.388,52.135 -52.135,52.135 H 78.203 c -28.747,0 -52.135,-23.388 -52.135,-52.135 V 352.98 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 C 5.835,339.946 0,345.782 0,352.98 v 49.804 c 0,43.121 35.082,78.203 78.203,78.203 h 355.594 c 43.121,0 78.203,-35.082 78.203,-78.203 V 352.98 c 0,-7.198 -5.835,-13.034 -13.034,-13.034 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"M 419.833,391.3 H 92.167 c -7.197,0 -13.034,5.837 -13.034,13.034 0,7.197 5.835,13.034 13.034,13.034 h 327.665 c 7.199,0 13.034,-5.835 13.034,-13.034 0,-7.197 -5.835,-13.034 -13.033,-13.034 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 387.919,207.93 c -4.795,-5.367 -13.034,-5.834 -18.404,-1.038 L 269.033,296.657 V 44.048 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 -7.197,0 -13.034,5.835 -13.034,13.034 V 296.657 L 142.483,206.893 c -5.367,-4.796 -13.607,-4.328 -18.404,1.038 -4.794,5.369 -4.331,13.609 1.037,18.404 l 109.174,97.527 c 6.187,5.529 13.946,8.292 21.708,8.292 7.759,0 15.519,-2.763 21.708,-8.289 l 109.174,-97.53 c 5.37,-4.798 5.834,-13.038 1.039,-18.405 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /></svg>",
1457
1466
  "full_screen": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M38,38.17H12v-26H38ZM13.24,36.93H36.76V13.4H13.24Z\" fill=\"#484f60\"/><polygon points=\"17.35 32.81 17.35 26.75 19.46 28.86 28.69 19.63 26.59 17.52 32.65 17.52 32.65 23.58 30.54 21.47 21.31 30.71 23.41 32.81 17.35 32.81\" fill=\"#484f60\"/></svg>",
1467
+ "link_simple_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M0 256C0 167.6 71.6 96 160 96l72 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-72 0C98.1 144 48 194.1 48 256s50.1 112 112 112l72 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-72 0C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l72 0c61.9 0 112-50.1 112-112s-50.1-112-112-112l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l72 0c88.4 0 160 71.6 160 160zM184 232l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"/></svg>",
1458
1468
  "location": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M25,12.67A8.33,8.33,0,0,0,16.67,21c0,4.6,8.33,16.67,8.33,16.67S33.33,25.6,33.33,21A8.33,8.33,0,0,0,25,12.67Zm0,10.41A2.08,2.08,0,1,1,27.08,21,2.08,2.08,0,0,1,25,23.08Z\" fill=\"#484f60\"/></svg>",
1459
1469
  "logo": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><rect x=\"10\" y=\"21.19\" width=\"2.04\" height=\"6.32\" fill=\"#484f60\"/><path d=\"M18.66,29.24a3.84,3.84,0,0,1-2.85-1.19,4.19,4.19,0,0,1,0-5.77,4,4,0,0,1,5.71,0,4.19,4.19,0,0,1,0,5.77A3.85,3.85,0,0,1,18.66,29.24Zm0-6.16a1.79,1.79,0,0,0-1.38.58,2.12,2.12,0,0,0-.57,1.51,2,2,0,0,0,.57,1.49,1.94,1.94,0,0,0,2.76,0,2.08,2.08,0,0,0,.56-1.5,2.15,2.15,0,0,0-.56-1.51A1.76,1.76,0,0,0,18.67,23.08Z\" fill=\"#484f60\"/><polygon points=\"31.05 29.18 27.33 25.02 27.33 29.14 25.29 29.14 25.29 21.15 26.57 21.15 30.29 25.33 30.29 21.19 32.33 21.19 32.33 29.18 31.05 29.18\" fill=\"#484f60\"/><polygon points=\"35.34 29.14 35.34 21.19 39.9 21.19 39.9 23.17 37.38 23.17 37.38 23.9 39.66 23.9 39.66 25.87 37.38 25.87 37.38 27.14 40 27.14 40 29.14 35.34 29.14\" fill=\"#484f60\"/></svg>",
1460
1470
  "magic_wand": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><title>magic_wand</title><g style=\"isolation:isolate\"><path d=\"M20.45,10.71a.28.28,0,0,1,.49-.19l1.4,1.25a.93.93,0,0,0,.83.23L25,11.62a.29.29,0,0,1,.34.41l-.76,1.71a.93.93,0,0,0,0,.86l.93,1.62c.12.26,0,.45-.29.45l-1.86-.2a1,1,0,0,0-.81.32l-1.26,1.38a.28.28,0,0,1-.5-.14l-.39-1.83a1,1,0,0,0-.55-.67l-1.71-.77a.28.28,0,0,1,0-.52l1.62-.94a1,1,0,0,0,.48-.73Z\" fill=\"#484f60\"/><g style=\"mix-blend-mode:lighten\"><path d=\"M23.3,16.21a1,1,0,0,0-.8.31l-1,1.13a.29.29,0,0,1-.51-.14L20.66,16a1,1,0,0,0-.55-.68l-1.39-.62a.28.28,0,0,1,0-.52L20,13.45a1,1,0,0,0,.48-.73l.16-1.5a.29.29,0,0,1,.49-.2l1.13,1a.93.93,0,0,0,.83.23L24.58,12a.29.29,0,0,1,.34.41l-.62,1.38a.91.91,0,0,0,.05.86l.75,1.32a.29.29,0,0,1-.29.44Z\" fill=\"#484f60\"/></g><path d=\"M33.57,36.76a.53.53,0,0,1,0,.72l-2.37,2.18a.48.48,0,0,1-.7,0L18,25.34a.51.51,0,0,1,0-.71l2.36-2.19a.49.49,0,0,1,.7,0Z\" fill=\"#484f60\"/><path d=\"M18.6,19.94a.51.51,0,0,1,0,.71L16.2,22.84a.48.48,0,0,1-.7,0l-2.76-3.13a.51.51,0,0,1,0-.71l2.37-2.19a.48.48,0,0,1,.7,0Z\" fill=\"#484f60\"/><path d=\"M30.67,10.55a.29.29,0,0,1,.47.24v1.12a1,1,0,0,0,.4.77l.9.66a.29.29,0,0,1-.08.52l-1.07.35a1,1,0,0,0-.61.61l-.35,1.06a.28.28,0,0,1-.51.09l-.67-.91a1,1,0,0,0-.77-.4H27.27a.29.29,0,0,1-.25-.47l.66-.9a.93.93,0,0,0,.14-.85l-.35-1.07a.29.29,0,0,1,.38-.38l1.07.35a1,1,0,0,0,.85-.13Z\" fill=\"#484f60\"/><g style=\"mix-blend-mode:lighten\"><path d=\"M29.25,14.88a1,1,0,0,0-.77-.4h-.86a.29.29,0,0,1-.24-.47l.5-.69a.93.93,0,0,0,.14-.85l-.26-.82c-.07-.27.1-.44.37-.37l.82.26a1,1,0,0,0,.85-.13l.69-.51a.29.29,0,0,1,.47.25V12a.94.94,0,0,0,.39.76l.7.51a.29.29,0,0,1-.09.52l-.81.26a1,1,0,0,0-.62.61l-.26.82a.29.29,0,0,1-.52.08Z\" fill=\"#484f60\"/></g><path d=\"M37,15.81a.29.29,0,0,1,.32.43l-.13.26a.91.91,0,0,0,0,.85l.15.26A.29.29,0,0,1,37,18l-.29,0a.93.93,0,0,0-.81.27l-.2.21a.28.28,0,0,1-.5-.16l0-.29a1,1,0,0,0-.52-.69l-.27-.13a.28.28,0,0,1,0-.52l.26-.13a.93.93,0,0,0,.5-.71l0-.29a.29.29,0,0,1,.5-.17l.21.21a.92.92,0,0,0,.82.26Z\" fill=\"#484f60\"/><g style=\"mix-blend-mode:lighten\"><path d=\"M35.25,18a1,1,0,0,0-.52-.7l-.12-.05a.28.28,0,0,1,0-.52l.12-.06a1,1,0,0,0,.51-.7V15.8a.29.29,0,0,1,.5-.18l.09.1a.92.92,0,0,0,.82.26l.13,0a.29.29,0,0,1,.32.42L37,16.5a.91.91,0,0,0,0,.85l.07.12a.29.29,0,0,1-.31.43l-.13,0a1,1,0,0,0-.82.28l-.09.1a.28.28,0,0,1-.5-.16Z\" fill=\"#484f60\"/></g></g></svg>",
1461
1471
  "normal_screen": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M38,38.17H12v-26H38ZM13.24,36.93H36.76V13.4H13.24Z\" fill=\"#484f60\"/><polygon points=\"22.18 29.83 24.29 31.93 24.29 25.87 18.23 25.87 20.34 27.98 16.43 31.89 18.28 33.73 22.18 29.83\" fill=\"#484f60\"/><polygon points=\"33.57 18.44 31.73 16.6 27.82 20.51 25.71 18.4 25.71 24.46 31.77 24.46 29.66 22.35 33.57 18.44\" fill=\"#484f60\"/></svg>",
1462
1472
  "quote": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M14.5,31.51V12a.5.5,0,0,1,.5-.5H35a.5.5,0,0,1,.5.5V38a.5.5,0,0,1-.5.5H21.27V40H35a2,2,0,0,0,2-2V12a2,2,0,0,0-2-2H15a2,2,0,0,0-2,2V31.51Z\" fill=\"#484f60\"/><path d=\"M21.27,40V33.56c0-1.78-.27-2.05-2.05-2.05H13Z\" fill=\"#484f60\"/><rect x=\"17.5\" y=\"18.5\" width=\"6\" height=\"4\" fill=\"#484f60\"/><rect x=\"25.5\" y=\"21.5\" width=\"7\" height=\"1\" fill=\"#484f60\"/><rect x=\"25.5\" y=\"18.5\" width=\"7\" height=\"1\" fill=\"#484f60\"/><rect x=\"26.5\" y=\"25.5\" width=\"6\" height=\"4\" transform=\"translate(59 55) rotate(-180)\" fill=\"#484f60\"/><rect x=\"17.5\" y=\"28.5\" width=\"7\" height=\"1\" fill=\"#484f60\"/><rect x=\"17.5\" y=\"25.5\" width=\"7\" height=\"1\" fill=\"#484f60\"/><rect x=\"17.5\" y=\"14.5\" width=\"6\" height=\"1\" fill=\"#484f60\"/><rect x=\"26.5\" y=\"34.5\" width=\"6\" height=\"1\" fill=\"#484f60\"/></svg>",
1463
1473
  "refresh": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\" version=\"1.1\" sodipodi:docname=\"refresh.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"><metadata ><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"1920\" inkscape:window-height=\"1017\" showgr inkscape:zoom=\"9.44\" inkscape:cx=\"13.990693\" inkscape:cy=\"13.961336\" inkscape:window-x=\"-8\" inkscape:window-y=\"-8\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"svg6\" /><g transform=\"matrix(0.05356365,0,0,0.05356365,11.44076,11.82465)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"M 414.32892,173.53368 397.86852,58.29997 c -1.3534,-9.447409 -12.96516,-13.373353 -19.75699,-6.581524 l -23.97472,23.97472 C 323.3074,57.095569 288.30682,47.308258 252.3168,47.308258 c -108.23157,0 -195.126154,84.711612 -197.8314,192.852392 -0.147446,5.91103 4.149441,10.98085 9.992183,11.82206 l 46.516107,6.64982 c 6.93462,1.01194 13.38577,-4.43269 13.28954,-11.68548 -0.9646,-71.37163 56.68057,-129.79595 128.03357,-129.79595 17.27835,0 34.3526,3.51232 50.13165,10.23043 l -23.11022,23.11022 c -6.74915,6.74915 -2.91866,18.3966 6.58152,19.75699 l 115.23371,16.4604 c 7.59269,1.14465 14.26423,-5.4586 13.17546,-13.17546 z\" style=\"fill:#484f60;fill-opacity:1;stroke-width:0.77603161\" /></g></g><path inkscape:connector-curvature=\"0\" d=\"m 35.105827,24.725982 -2.489742,-0.355606 c -0.321647,-0.04073 -0.711797,0.234897 -0.711797,0.671018 0,3.781814 -3.076753,6.858567 -6.858567,6.858567 -0.920628,0 -1.830946,-0.186303 -2.673013,-0.542533 l 1.198298,-1.198297 c 0.361507,-0.361507 0.156331,-0.985389 -0.352533,-1.058254 l -6.172336,-0.882302 c -0.405403,-0.05792 -0.764422,0.289765 -0.705726,0.705725 l 0.881637,6.172381 c 0.07258,0.506577 0.694003,0.71545 1.058254,0.352527 l 1.315225,-1.314599 c 1.643397,0.987012 3.516951,1.506391 5.450194,1.506391 5.769264,0 10.423029,-4.514936 10.595325,-10.27871 0.0091,-0.317237 -0.221012,-0.591248 -0.535219,-0.636308 z\" style=\"fill:#484f60;fill-opacity:1;stroke-width:0.04156709\" /></svg>",
1474
+ "save_skinny": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 51 51\"><polygon points=\"23.8 38.1 14.9 25.6 15.7 25 23.6 36.2 35.2 12.9 36.1 13.4 23.8 38.1\" fill=\"#fff\"/></svg>",
1464
1475
  "three_d": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M16.08,30.77a4.85,4.85,0,0,1-3-.8,4,4,0,0,0-2.49-.15,6.21,6.21,0,0,0,2.53,1.09,12.84,12.84,0,0,0,2.93-.14\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M14.27,19.68A4.71,4.71,0,0,0,11,20.78l2,.14c.31,0,1.2-.69,1.55-.81a3.88,3.88,0,0,1,1.65-.24l-1.94-.19\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M21.64,28.79a4.13,4.13,0,0,0-3.1-4c.89-.7,1.77-1.09,2.26-2.21a5.12,5.12,0,0,0,.35-1.9c-.13-3.24-2.64-3.73-5.29-4.15a4,4,0,0,1,3.44,3.7,4.61,4.61,0,0,1-.83,3.12,9.7,9.7,0,0,1-1.82,1.43,4.3,4.3,0,0,1,3.17,4.34,4.9,4.9,0,0,1-4.21,5c2.09-.34,4.37-.64,5.46-2.69a5,5,0,0,0,.57-2.58\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M28.44,18.88l.38-.07.48-.06.57,0h.75l.36,0,.35.05c-.2,0-.42-.08-1.57-.25l-.36-.05-.37,0h-.77l-.59,0-.49.07a3.08,3.08,0,0,0-.39.07l-.3.07V31.38H27l.13,0h1.63l.21,0h.2l.2,0h.05l1.55-.24h0l-.34.05-.33,0H29.12l-.36,0-.33,0a1.15,1.15,0,0,1-.28-.06V19Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M40,24.34a9,9,0,0,0-3-7.1,11.06,11.06,0,0,0-4.47-1.86c4.38,1.13,6.23,5.31,6.13,9.54-.12,4.5-2.27,8.55-6.86,9.66,2.59-.63,5-1.41,6.52-3.78A12,12,0,0,0,40,24.34\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M35.38,16.71A7.32,7.32,0,0,1,36.74,18a7.82,7.82,0,0,1,1,1.73,10.32,10.32,0,0,1,.68,2.16,13.86,13.86,0,0,1,.23,2.59,15,15,0,0,1-.25,2.78,11.39,11.39,0,0,1-.68,2.31,9.34,9.34,0,0,1-1,1.85,8.23,8.23,0,0,1-1.28,1.4,7.76,7.76,0,0,1-1.7,1.07,9.07,9.07,0,0,1-2,.69,13.36,13.36,0,0,1-2.26.33,18.25,18.25,0,0,1-2.45,0c-.5,0-1-.08-1.39-.12l-1.17-.14c-.36,0-.68-.11-1-.16l-.77-.15V15.86c.34-.09.71-.18,1.09-.26s.81-.15,1.24-.21.88-.12,1.34-.17.95-.1,1.44-.13a20.57,20.57,0,0,1,2.33,0,12,12,0,0,1,2,.24,8.24,8.24,0,0,1,1.72.55A7.1,7.1,0,0,1,35.38,16.71ZM27.92,31.53a6.53,6.53,0,0,0,2.46-.32A4.81,4.81,0,0,0,32.32,30a5.82,5.82,0,0,0,1.27-2.18A10.11,10.11,0,0,0,34,24.67a8.65,8.65,0,0,0-.42-2.85,4.94,4.94,0,0,0-1.18-2,4.45,4.45,0,0,0-1.83-1.11,6.55,6.55,0,0,0-2.35-.28l-.59,0-.49.07a3.08,3.08,0,0,0-.39.07l-.3.07V31.38a2.11,2.11,0,0,0,.29.06l.34,0,.37,0,.36,0h.07\" fill=\"#484f60\"/><path d=\"M14.57,16.47a5.49,5.49,0,0,1,2,.22,3.89,3.89,0,0,1,1.49.84A3.66,3.66,0,0,1,19,18.89a4.29,4.29,0,0,1,.33,1.7,5.29,5.29,0,0,1-.17,1.34,4.29,4.29,0,0,1-.5,1.16,4.17,4.17,0,0,1-.84.94,4.88,4.88,0,0,1-1.16.69v.05a3.7,3.7,0,0,1,1.22.5,4,4,0,0,1,1,.92,4.61,4.61,0,0,1,.69,1.3,5.24,5.24,0,0,1,.25,1.62,5.36,5.36,0,0,1-.42,2.15,4.44,4.44,0,0,1-1.2,1.64,4.84,4.84,0,0,1-1.86,1,6.78,6.78,0,0,1-2.39.23,7.69,7.69,0,0,1-2.36-.52,6.89,6.89,0,0,1-.9-.42,4.36,4.36,0,0,1-.69-.47l.62-2.9a4.12,4.12,0,0,0,.53.34,6.21,6.21,0,0,0,.73.36,5.69,5.69,0,0,0,.88.31,5.19,5.19,0,0,0,1,.15,3.11,3.11,0,0,0,1.1-.13,2,2,0,0,0,.8-.45,1.93,1.93,0,0,0,.49-.71,2.35,2.35,0,0,0,.17-.89A2.48,2.48,0,0,0,16,27.67a2.23,2.23,0,0,0-.63-.79,2.9,2.9,0,0,0-.89-.46,3.5,3.5,0,0,0-1-.15H12.2V23.44l1.23,0a3.44,3.44,0,0,0,.83-.11,2.83,2.83,0,0,0,.79-.36,2,2,0,0,0,.6-.62,2,2,0,0,0,.23-.94,1.8,1.8,0,0,0-.13-.71,1.36,1.36,0,0,0-.38-.56,1.58,1.58,0,0,0-.64-.35,2.79,2.79,0,0,0-.9-.1,4.07,4.07,0,0,0-.84.13c-.27.08-.53.18-.78.28a6.56,6.56,0,0,0-1.17.7L10.42,18a5,5,0,0,1,.72-.51,7.82,7.82,0,0,1,2.12-.82A8,8,0,0,1,14.57,16.47Z\" fill=\"#484f60\"/></svg>",
1465
1476
  "truck": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\" version=\"1.1\" sodipodi:docname=\"truck.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"><metadata ><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"1920\" inkscape:window-height=\"1017\" showgr inkscape:zoom=\"9.44\" inkscape:cx=\"31.555563\" inkscape:cy=\"21.585628\" inkscape:window-x=\"-8\" inkscape:window-y=\"-8\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"svg8\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06827145,0,0,0.06827064,7.670918,5.1378096)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 119.467,337.067 c -28.237,0 -51.2,22.963 -51.2,51.2 0,28.237 22.963,51.2 51.2,51.2 28.237,0 51.2,-22.963 51.2,-51.2 0,-28.237 -22.964,-51.2 -51.2,-51.2 z m 0,85.333 c -18.825,0 -34.133,-15.309 -34.133,-34.133 0,-18.825 15.309,-34.133 34.133,-34.133 18.824,0 34.133,15.309 34.133,34.133 0,18.824 -15.309,34.133 -34.133,34.133 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 409.6,337.067 c -28.237,0 -51.2,22.963 -51.2,51.2 0,28.237 22.963,51.2 51.2,51.2 28.237,0 51.2,-22.963 51.2,-51.2 0,-28.237 -22.963,-51.2 -51.2,-51.2 z m 0,85.333 c -18.825,0 -34.133,-15.309 -34.133,-34.133 0,-18.825 15.309,-34.133 34.133,-34.133 18.825,0 34.133,15.309 34.133,34.133 0,18.824 -15.308,34.133 -34.133,34.133 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 510.643,289.784 -76.8,-119.467 c -1.57,-2.441 -4.275,-3.917 -7.177,-3.917 H 332.8 c -4.719,0 -8.533,3.823 -8.533,8.533 v 213.333 c 0,4.719 3.814,8.533 8.533,8.533 h 34.133 v -17.067 h -25.6 V 183.467 h 80.674 l 72.926,113.442 v 82.825 H 452.266 V 396.8 h 51.2 c 4.719,0 8.533,-3.814 8.533,-8.533 V 294.4 c 10e-4,-1.63 -0.468,-3.243 -1.356,-4.616 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"M 375.467,277.333 V 217.6 h 68.267 v -17.067 h -76.8 c -4.719,0 -8.533,3.823 -8.533,8.533 v 76.8 c 0,4.719 3.814,8.533 8.533,8.533 h 128 V 277.332 H 375.467 Z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"M 332.8,106.667 H 8.533 C 3.823,106.667 0,110.49 0,115.2 v 273.067 c 0,4.719 3.823,8.533 8.533,8.533 H 76.8 V 379.733 H 17.067 v -256 h 307.2 v 256 H 162.133 V 396.8 H 332.8 c 4.719,0 8.533,-3.814 8.533,-8.533 V 115.2 c 0,-4.71 -3.814,-8.533 -8.533,-8.533 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><rect x=\"8.533\" y=\"345.60001\" width=\"51.200001\" height=\"17.066999\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><rect x=\"179.2\" y=\"345.60001\" width=\"145.067\" height=\"17.066999\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><rect x=\"469.33301\" y=\"345.60001\" width=\"34.132999\" height=\"17.066999\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><rect x=\"34.132999\" y=\"140.8\" width=\"298.66699\" height=\"17.066999\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><rect x=\"110.933\" y=\"379.733\" width=\"17.066999\" height=\"17.066999\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><rect x=\"401.06699\" y=\"379.733\" width=\"17.066999\" height=\"17.066999\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.06813214,0,0,0.06813214,7.6,6.2856989)\" style=\"fill:#484f60;fill-opacity:1\" /></svg>",
1466
1477
  "two_d": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M22.41,33.89H11V31c.87-.76,1.75-1.56,2.62-2.41S15.2,27,15.73,26.39A11.84,11.84,0,0,0,17.4,24a4.45,4.45,0,0,0,.5-2,2.52,2.52,0,0,0-.64-1.85,2.47,2.47,0,0,0-1.84-.65,4.57,4.57,0,0,0-1.89.45,8.17,8.17,0,0,0-1.84,1.14h-.31V17.2a10.26,10.26,0,0,1,2-.73,10.46,10.46,0,0,1,2.71-.36,5.79,5.79,0,0,1,4.16,1.37,5.15,5.15,0,0,1,1.44,3.9,7.37,7.37,0,0,1-.69,3.14A12.94,12.94,0,0,1,19,27.59c-.6.66-1.19,1.26-1.79,1.81s-1,.93-1.28,1.15h6.53Z\" fill=\"#484f60\"/><path d=\"M38.14,20.79a7.49,7.49,0,0,0-2.37-3,6.52,6.52,0,0,0-2.17-1,11.93,11.93,0,0,0-3.06-.35H25.26V33.89h5.13a13.25,13.25,0,0,0,3-.3,6.61,6.61,0,0,0,2.33-1.08,7.71,7.71,0,0,0,2.34-3A9.9,9.9,0,0,0,39,25.19,10.47,10.47,0,0,0,38.14,20.79Zm-3.49,7.27a4,4,0,0,1-1.51,1.88,3.77,3.77,0,0,1-1.22.54,10.07,10.07,0,0,1-2,.14H29V19.7H30a9.8,9.8,0,0,1,1.81.13,3.75,3.75,0,0,1,1.18.46,4.07,4.07,0,0,1,1.65,1.92,7.4,7.4,0,0,1,.52,2.94A7.92,7.92,0,0,1,34.65,28.06Z\" fill=\"#484f60\"/></svg>",
@@ -1519,6 +1530,7 @@
1519
1530
  this.icon = IconEnum;
1520
1531
  this.createFrozenArticle = true;
1521
1532
  this.isReturn = false;
1533
+ this.showRelatedProductsPopup = false;
1522
1534
  this.openStockEvent = new i0.EventEmitter();
1523
1535
  this.configurable = false;
1524
1536
  this.threeD = false;
@@ -1677,6 +1689,7 @@
1677
1689
  return [2 /*return*/];
1678
1690
  });
1679
1691
  }); });
1692
+ this.showRelatedProductsPopup = false;
1680
1693
  return [2 /*return*/];
1681
1694
  });
1682
1695
  });
@@ -1684,12 +1697,15 @@
1684
1697
  ProductPageComponent.prototype.openStock = function () {
1685
1698
  this.openStockEvent.emit();
1686
1699
  };
1700
+ ProductPageComponent.prototype.handlePopUpChange = function (event) {
1701
+ this.showRelatedProductsPopup = event;
1702
+ };
1687
1703
  return ProductPageComponent;
1688
1704
  }());
1689
1705
  ProductPageComponent.decorators = [
1690
1706
  { type: i0.Component, args: [{
1691
1707
  selector: 'app-product-page',
1692
- template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n",
1708
+ template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n <app-image-carousel [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\" [images]=\"article?.images\" [showRefresh]=\"configurable && threeD\"></app-image-carousel>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator #configurator class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n ></threed-configurator>\r\n </ng-container>\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\" [class.show-selections]=\"configuring\" [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n (showRelatedPopup)=\"handlePopUpChange($event)\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showRelatedProductsPopup\">\r\n <co-product-dialog\r\n [mainArticle]=\"article\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n (closeRelatedPopup)=\"handlePopUpChange($event)\"\r\n >\r\n </co-product-dialog>\r\n\r\n<!-- <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"-->\r\n<!-- [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>-->\r\n </div>\r\n\r\n\r\n </div>\r\n</ng-container>\r\n",
1693
1709
  animations: [
1694
1710
  animations.trigger('toggleFullScreen', [
1695
1711
  animations.state('fullscreen', animations.style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
@@ -1742,6 +1758,7 @@
1742
1758
  externalSource: [{ type: i0.Input }],
1743
1759
  createFrozenArticle: [{ type: i0.Input }],
1744
1760
  isReturn: [{ type: i0.Input }],
1761
+ showRelatedProductsPopup: [{ type: i0.Input }],
1745
1762
  openStockEvent: [{ type: i0.Output }]
1746
1763
  };
1747
1764
 
@@ -2275,6 +2292,7 @@
2275
2292
  this.startConfiguration = new i0.EventEmitter();
2276
2293
  this.addToCartClick = new i0.EventEmitter();
2277
2294
  this.addToQuoteClick = new i0.EventEmitter();
2295
+ this.showRelatedPopup = new i0.EventEmitter();
2278
2296
  this.showQuoteButton = false;
2279
2297
  this._quantity = 1;
2280
2298
  }
@@ -2404,7 +2422,8 @@
2404
2422
  quantity: [{ type: i0.Input }],
2405
2423
  startConfiguration: [{ type: i0.Output }],
2406
2424
  addToCartClick: [{ type: i0.Output }],
2407
- addToQuoteClick: [{ type: i0.Output }]
2425
+ addToQuoteClick: [{ type: i0.Output }],
2426
+ showRelatedPopup: [{ type: i0.Output }]
2408
2427
  };
2409
2428
 
2410
2429
  var ProductAddtocartModule = /** @class */ (function () {
@@ -2418,7 +2437,8 @@
2418
2437
  common.CommonModule,
2419
2438
  corecomponents.NumberPickerModule,
2420
2439
  corecomponents.ButtonModule,
2421
- PipeModule
2440
+ PipeModule,
2441
+ corecomponents_v12.LoaderModule
2422
2442
  ],
2423
2443
  declarations: [
2424
2444
  ProductAddtocartComponent
@@ -2469,27 +2489,26 @@
2469
2489
  };
2470
2490
  ProductRelatedComponent.prototype.handleAddToCartClick = function (article) {
2471
2491
  return __awaiter(this, void 0, void 0, function () {
2472
- var quantity, articleFull, _a, _b, _c, article_1;
2473
- return __generator(this, function (_d) {
2474
- switch (_d.label) {
2492
+ var quantity, articleFull, article_1, article_2;
2493
+ return __generator(this, function (_a) {
2494
+ switch (_a.label) {
2475
2495
  case 0:
2476
2496
  quantity = 1;
2477
- return [4 /*yield*/, this._productConnectorAdapterService.getArticleFullObject(article.goodId)];
2497
+ return [4 /*yield*/, this._productConnectorAdapterService.getArticleFullObject(article.goodId, true)];
2478
2498
  case 1:
2479
- articleFull = _d.sent();
2480
- if (!articleFull) return [3 /*break*/, 4];
2481
- if (!this.createFrozenArticle) return [3 /*break*/, 3];
2482
- _b = (_a = this._appEventService.onAddToCart).next;
2483
- _c = {};
2484
- return [4 /*yield*/, this._getJSONFromArticleObject({ article: articleFull, quantity: quantity })];
2485
- case 2:
2486
- _b.apply(_a, [(_c.article = _d.sent(), _c.quantity = quantity, _c)]);
2487
- return [3 /*break*/, 4];
2488
- case 3:
2489
- article_1 = this._iOne.convertArticleFullObjectToArticleExtended(articleFull);
2490
- this._appEventService.onAddToCart.next({ article: article_1, quantity: quantity });
2491
- _d.label = 4;
2492
- case 4: return [2 /*return*/];
2499
+ articleFull = _a.sent();
2500
+ if (articleFull) {
2501
+ if (this.createFrozenArticle) {
2502
+ article_1 = this._iOne.convertArticleFullObjectToArticleExtended(articleFull);
2503
+ this._appEventService.onAddToCart.next({ article: article_1, quantity: quantity });
2504
+ // this._appEventService.onAddToCart.next({ article: await this._getJSONFromArticleObject({article: articleFull, quantity: quantity}), quantity: quantity });
2505
+ }
2506
+ else {
2507
+ article_2 = this._iOne.convertArticleFullObjectToArticleExtended(articleFull);
2508
+ this._appEventService.onAddToCart.next({ article: article_2, quantity: quantity });
2509
+ }
2510
+ }
2511
+ return [2 /*return*/];
2493
2512
  }
2494
2513
  });
2495
2514
  });
@@ -2534,7 +2553,7 @@
2534
2553
  ProductRelatedComponent.decorators = [
2535
2554
  { type: i0.Component, args: [{
2536
2555
  selector: 'app-product-related',
2537
- template: "\n <div *ngIf=\"articles && articles.length > 0\">\n <app-header [label]=\"label\" [amount]=\"articles?.length\" *ngIf=\"label\"></app-header>\n <co-scroll-container>\n <div class=\"article-wrapper\" *ngFor=\"let article of articles\">\n <co-article-tile\n [imageData]=\"article.image.documentBodyAsDataUri\"\n [description]=\"article.description\"\n [price]=\"article.price\"\n [level]=\"article.stockStatus\"\n [hasCartButton]=\"true\"\n [isSmallModus]=\"isSmallModus\"\n [hasConfigureButton]=\"article.goodType === 'B'\"\n (contentClick)=\"handleContentClick(article)\"\n (cartButtonClick)=\"handleAddToCartClick(article)\"\n (configureButtonClick)=\"handleConfigureButtonClick(article)\"\n (threeDButtonClick)=\"handleThreeDButtonClick(article)\"\n ></co-article-tile>\n </div>\n </co-scroll-container>\n </div>\n ",
2556
+ template: "\n <div *ngIf=\"articles && articles.length > 0\">\n <app-header [label]=\"label\" [amount]=\"articles?.length\" *ngIf=\"label\"></app-header>\n <co-scroll-container>\n <div class=\"article-wrapper\" *ngFor=\"let article of articles\">\n <co-article-tile\n [imageData]=\"article.image.documentBodyAsDataUri\"\n [description]=\"article.description\"\n [price]=\"article.price\"\n [level]=\"article.stockStatus\"\n [hasCartButton]=\"true\"\n [isSmallModus]=\"isSmallModus\"\n [hasConfigureButton]=\"article.goodType === 'B'\"\n (contentClick)=\"handleContentClick(article)\"\n (cartButtonClick)=\"handleAddToCartClick(article)\"\n (configureButtonClick)=\"handleContentClick(article)\"\n (threeDButtonClick)=\"handleThreeDButtonClick(article)\"\n ></co-article-tile>\n </div>\n </co-scroll-container>\n </div>\n ",
2538
2557
  styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;min-width:25%}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px 20px;display:flex;flex-direction:column;color:#171721;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;grid-gap:5px;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{max-width:189px;width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;grid-gap:10px;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:42px;height:42px;text-align:center;margin:0;border-radius:100%;background:#3E7EFF;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:30px;height:30px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#74b77f;margin:5px 0 0;font-weight:400;font-size:12px}\n"]
2539
2558
  },] }
2540
2559
  ];
@@ -3184,6 +3203,72 @@
3184
3203
  },] }
3185
3204
  ];
3186
3205
 
3206
+ var ProductDialogComponent = /** @class */ (function () {
3207
+ function ProductDialogComponent(iconCache, _sanitizer, _productConnectorService, _productConnectorAdapterService, _appEventService) {
3208
+ this.iconCache = iconCache;
3209
+ this._sanitizer = _sanitizer;
3210
+ this._productConnectorService = _productConnectorService;
3211
+ this._productConnectorAdapterService = _productConnectorAdapterService;
3212
+ this._appEventService = _appEventService;
3213
+ this.icon = IconEnum;
3214
+ this.closeRelatedPopup = new i0.EventEmitter();
3215
+ this.type = SelectorType;
3216
+ }
3217
+ ProductDialogComponent.prototype.showClass = function () {
3218
+ return true;
3219
+ };
3220
+ ProductDialogComponent.prototype.ngOnInit = function () {
3221
+ };
3222
+ ProductDialogComponent.prototype.closeCatalog = function () {
3223
+ // need to emit close
3224
+ this.closeRelatedPopup.emit(false);
3225
+ };
3226
+ return ProductDialogComponent;
3227
+ }());
3228
+ ProductDialogComponent.decorators = [
3229
+ { type: i0.Component, args: [{
3230
+ selector: 'co-product-dialog',
3231
+ template: "\n <div class=\"product-dialog-wrap\">\n <div class=\"product-dialog-container\">\n <div class=\"container-header\">\n <div class=\"header-info\">\n <h3>\n <co-icon [iconData]=\"iconCache.getIcon(icon.LinkSimpleRegular)\"\n (click)=\"closeCatalog()\"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})\n </h3>\n </div>\n <div class=\"close-icon\" (click)=\"closeCatalog()\">\n <co-icon class=\"fullscreen-button\"\n [iconData]=\"iconCache.getIcon(icon.CrossSkinny)\"\n (click)=\"closeCatalog()\"></co-icon>\n </div>\n </div>\n <div class=\"related-product-container\">\n <app-product-related\n class=\"no-padding\"\n *ngIf=\"articles\"\n [articles]=\"articles\">\n </app-product-related>\n </div>\n <div class=\"close-button-container\">\n <button class=\"ok-button\" (click)=\"closeCatalog()\">\n <co-icon [iconData]=\"iconCache.getIcon(icon.SaveSkinny)\"\n (click)=\"closeCatalog()\"></co-icon>\n </button>\n <button class=\"close-button\" (click)=\"closeCatalog()\">\n <co-icon [iconData]=\"iconCache.getIcon(icon.CrossSkinny)\"\n (click)=\"closeCatalog()\"></co-icon>\n </button>\n </div>\n </div>\n </div>\n ",
3232
+ styles: [".product-dialog-wrap{display:flex;justify-content:center;position:absolute;z-index:800;top:0}.product-dialog-wrap .product-dialog-container{background:#fff;min-width:75vw;max-height:90vh;border:1px solid #F8F8F8}.product-dialog-wrap .product-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3{display:flex;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}.product-dialog-wrap .product-dialog-container .container-header .close-icon{cursor:pointer}.product-dialog-wrap .product-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}.product-dialog-wrap .product-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon{height:20px;width:20px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg polygon{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container .ok-button{background:#1a73e8}.product-dialog-wrap .product-dialog-container .close-button-container .close-button{background:#475060}::ng-deep .content-wrapper{width:auto!important}\n"]
3233
+ },] }
3234
+ ];
3235
+ ProductDialogComponent.ctorParameters = function () { return [
3236
+ { type: IconCacheService },
3237
+ { type: i1$1.DomSanitizer },
3238
+ { type: ProductConnectorService },
3239
+ { type: ProductConnectorAdapterService },
3240
+ { type: ProductEventService }
3241
+ ]; };
3242
+ ProductDialogComponent.propDecorators = {
3243
+ refType: [{ type: i0.Input }],
3244
+ mainArticle: [{ type: i0.Input }],
3245
+ articles: [{ type: i0.Input }],
3246
+ closeRelatedPopup: [{ type: i0.Output }],
3247
+ showClass: [{ type: i0.HostBinding, args: ['class.co-product-dialog',] }]
3248
+ };
3249
+
3250
+ var ProductDialogModule = /** @class */ (function () {
3251
+ function ProductDialogModule() {
3252
+ }
3253
+ return ProductDialogModule;
3254
+ }());
3255
+ ProductDialogModule.decorators = [
3256
+ { type: i0.NgModule, args: [{
3257
+ imports: [
3258
+ common.CommonModule,
3259
+ PipeModule,
3260
+ ProductRelatedModule,
3261
+ corecomponents.IconModule
3262
+ ],
3263
+ declarations: [
3264
+ ProductDialogComponent
3265
+ ],
3266
+ exports: [
3267
+ ProductDialogComponent
3268
+ ]
3269
+ },] }
3270
+ ];
3271
+
3187
3272
  var ProductPageModule = /** @class */ (function () {
3188
3273
  function ProductPageModule() {
3189
3274
  }
@@ -3204,7 +3289,9 @@
3204
3289
  ProductStockModule,
3205
3290
  ProductDeliveryModule,
3206
3291
  ProductInfoTabsModule,
3207
- PipeModule
3292
+ PipeModule,
3293
+ ProductDialogModule,
3294
+ corecomponents_v12.LoaderModule
3208
3295
  ],
3209
3296
  schemas: [i0.CUSTOM_ELEMENTS_SCHEMA],
3210
3297
  declarations: [
@@ -3216,32 +3303,202 @@
3216
3303
  },] }
3217
3304
  ];
3218
3305
 
3219
- var IoneProductModule = /** @class */ (function () {
3220
- function IoneProductModule() {
3306
+ var ProductScriptLoaderService = /** @class */ (function () {
3307
+ function ProductScriptLoaderService(platformId) {
3308
+ this.platformId = platformId;
3309
+ this._scriptsOrLinksElements = [];
3221
3310
  }
3222
- return IoneProductModule;
3311
+ ProductScriptLoaderService.prototype.loadScript = function (url, renderer) {
3312
+ var _this = this;
3313
+ return new Promise(function (resolve, reject) {
3314
+ if (!common.isPlatformBrowser(_this.platformId)) {
3315
+ reject('Not in browser environment');
3316
+ return;
3317
+ }
3318
+ var existingScript = document.getElementById(url);
3319
+ if (existingScript) {
3320
+ resolve(); // Script already loaded
3321
+ return;
3322
+ }
3323
+ var script = renderer.createElement('script');
3324
+ script.id = url;
3325
+ script.src = url;
3326
+ script.type = 'text/javascript';
3327
+ script.async = true;
3328
+ script.onload = function () { return resolve(); };
3329
+ script.onerror = function (error) { return reject("Error loading script: " + url); };
3330
+ renderer.appendChild(document.head, script);
3331
+ _this._scriptsOrLinksElements.push(script);
3332
+ });
3333
+ };
3334
+ ProductScriptLoaderService.prototype.unloadScripts = function (renderer) {
3335
+ for (var i = this._scriptsOrLinksElements.length - 1; i >= 0; i--) {
3336
+ renderer.removeChild(document.head, this._scriptsOrLinksElements[i]);
3337
+ this._scriptsOrLinksElements.pop();
3338
+ }
3339
+ };
3340
+ ProductScriptLoaderService.prototype.addStyleSheet = function (url, renderer) {
3341
+ var _this = this;
3342
+ return new Promise(function (resolve, reject) {
3343
+ if (!common.isPlatformBrowser(_this.platformId)) {
3344
+ reject('Not in browser environment');
3345
+ return;
3346
+ }
3347
+ var existingStyleSheet = document.getElementById(url);
3348
+ if (existingStyleSheet) {
3349
+ resolve(); // Script already loaded
3350
+ return;
3351
+ }
3352
+ var link = renderer.createElement('link');
3353
+ link.id = url;
3354
+ link.href = url;
3355
+ link.rel = 'stylesheet';
3356
+ link.onload = function () { return resolve(); };
3357
+ link.onerror = function (error) { return reject("Error loading styleSheet: " + url); };
3358
+ renderer.appendChild(document.head, link);
3359
+ _this._scriptsOrLinksElements.push(link);
3360
+ });
3361
+ };
3362
+ return ProductScriptLoaderService;
3223
3363
  }());
3224
- IoneProductModule.decorators = [
3364
+ ProductScriptLoaderService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProductScriptLoaderService_Factory() { return new ProductScriptLoaderService(i0__namespace.ɵɵinject(i0__namespace.PLATFORM_ID)); }, token: ProductScriptLoaderService, providedIn: "root" });
3365
+ ProductScriptLoaderService.decorators = [
3366
+ { type: i0.Injectable, args: [{
3367
+ providedIn: 'root'
3368
+ },] }
3369
+ ];
3370
+ ProductScriptLoaderService.ctorParameters = function () { return [
3371
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i0.PLATFORM_ID,] }] }
3372
+ ]; };
3373
+
3374
+ var ProductHdComponent = /** @class */ (function () {
3375
+ function ProductHdComponent(_scriptLoader, _renderer) {
3376
+ this._scriptLoader = _scriptLoader;
3377
+ this._renderer = _renderer;
3378
+ this.variant = '';
3379
+ this.configuratorFinished = new i0.EventEmitter();
3380
+ this.configurationError = new i0.EventEmitter();
3381
+ this.showClass = true;
3382
+ }
3383
+ Object.defineProperty(ProductHdComponent.prototype, "content", {
3384
+ set: function (child) {
3385
+ this.hdeConfigurator = child;
3386
+ this._prepareAttributes();
3387
+ },
3388
+ enumerable: false,
3389
+ configurable: true
3390
+ });
3391
+ Object.defineProperty(ProductHdComponent.prototype, "sku", {
3392
+ get: function () {
3393
+ return this._sku;
3394
+ },
3395
+ set: function (value) {
3396
+ this._sku = value;
3397
+ this._prepareAttributes();
3398
+ },
3399
+ enumerable: false,
3400
+ configurable: true
3401
+ });
3402
+ ProductHdComponent.prototype.ngOnDestroy = function () {
3403
+ this._scriptLoader.unloadScripts(this._renderer);
3404
+ };
3405
+ ProductHdComponent.prototype.handleConfigurationFinished = function (event) {
3406
+ if (event.detail.variant && typeof event.detail.variant === 'string') {
3407
+ this.configuratorFinished.emit(event.detail.variant);
3408
+ }
3409
+ else {
3410
+ this.configuratorFinished.emit(this.variant);
3411
+ }
3412
+ };
3413
+ ProductHdComponent.prototype.handleError = function (event) {
3414
+ this.configurationError.emit(event.detail.status);
3415
+ };
3416
+ ProductHdComponent.prototype._prepareAttributes = function () {
3417
+ if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.token && (this.sku || this.variant)) {
3418
+ this.hdeConfigurator.nativeElement.setAttribute('bearerToken', this.token);
3419
+ if (this._sku) {
3420
+ this.hdeConfigurator.nativeElement.setAttribute('data-productId', this._sku);
3421
+ }
3422
+ if (this.variant) {
3423
+ this.hdeConfigurator.nativeElement.setAttribute('data-productVariantId', this.variant);
3424
+ }
3425
+ this._loadTheScripts();
3426
+ }
3427
+ };
3428
+ // load external scripts
3429
+ ProductHdComponent.prototype._loadTheScripts = function () {
3430
+ return __awaiter(this, void 0, void 0, function () {
3431
+ var scripts, i;
3432
+ return __generator(this, function (_a) {
3433
+ switch (_a.label) {
3434
+ 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
+ ];
3441
+ i = 0;
3442
+ _a.label = 1;
3443
+ 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); })];
3446
+ case 2:
3447
+ _a.sent();
3448
+ _a.label = 3;
3449
+ case 3:
3450
+ i++;
3451
+ 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)];
3453
+ case 5:
3454
+ _a.sent();
3455
+ return [2 /*return*/];
3456
+ }
3457
+ });
3458
+ });
3459
+ };
3460
+ return ProductHdComponent;
3461
+ }());
3462
+ ProductHdComponent.decorators = [
3463
+ { type: i0.Component, args: [{
3464
+ 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 ",
3466
+ encapsulation: i0.ViewEncapsulation.None
3467
+ },] }
3468
+ ];
3469
+ ProductHdComponent.ctorParameters = function () { return [
3470
+ { type: ProductScriptLoaderService },
3471
+ { type: i0.Renderer2 }
3472
+ ]; };
3473
+ ProductHdComponent.propDecorators = {
3474
+ content: [{ type: i0.ViewChild, args: ['hdeConfigurator', { read: i0.ElementRef },] }],
3475
+ sku: [{ type: i0.Input }],
3476
+ token: [{ type: i0.Input }],
3477
+ variant: [{ type: i0.Input }],
3478
+ configuratorFinished: [{ type: i0.Output }],
3479
+ configurationError: [{ type: i0.Output }],
3480
+ showClass: [{ type: i0.HostBinding, args: ['class.co-product-hd',] }]
3481
+ };
3482
+
3483
+ var ProductHdModule = /** @class */ (function () {
3484
+ function ProductHdModule() {
3485
+ }
3486
+ return ProductHdModule;
3487
+ }());
3488
+ ProductHdModule.decorators = [
3225
3489
  { type: i0.NgModule, args: [{
3226
3490
  imports: [
3227
- // BrowserAnimationsModule,
3228
- common.CommonModule,
3229
- ProductPageModule
3491
+ common.CommonModule
3230
3492
  ],
3231
3493
  declarations: [
3232
- IoneProductComponent
3494
+ ProductHdComponent
3233
3495
  ],
3234
- exports: [
3235
- IoneProductComponent
3236
- ],
3237
- bootstrap: [
3238
- IoneProductComponent
3496
+ schemas: [
3497
+ i0.CUSTOM_ELEMENTS_SCHEMA,
3498
+ i0.NO_ERRORS_SCHEMA
3239
3499
  ],
3240
- providers: [
3241
- ProductSettingsService,
3242
- ProductConnectorService,
3243
- ProductEventService,
3244
- ProductConnectorAdapterService
3500
+ exports: [
3501
+ ProductHdComponent
3245
3502
  ]
3246
3503
  },] }
3247
3504
  ];
@@ -3254,9 +3511,14 @@
3254
3511
  this.addToCart = new i0.EventEmitter();
3255
3512
  this.addToQuote = new i0.EventEmitter();
3256
3513
  this.alternativeClick = new i0.EventEmitter();
3514
+ this.configuratorFinished = new i0.EventEmitter();
3257
3515
  this.showProduct = false;
3516
+ this.showConfigurator = false;
3517
+ this.showSource = false;
3258
3518
  this.loaded = false;
3259
3519
  this.externalSettings = {};
3520
+ this.token = ""; //= "eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxOThERkVEOEUwQTQ1MzY3M0M1MUE2Rjk1QUVDQzU3RTM0NjM4RkRSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6IjhaamY3WTRLUlRaenhScHZsYTdNVi1OR09QMCJ9.eyJuYmYiOjE3MzIxOTkyOTUsImV4cCI6MTczMjIwMjg5NSwiaXNzIjoiaHR0cHM6Ly9ibXNpZGVudGl0eS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0IiwiYXVkIjpbImNhdGFsb2dxdWVyeWFwaSIsImNvbmZpZ3VyYXRvcmFwaSIsInByb2R1Y3R2YXJpYW50Y29tbWFuZGFwaSIsInByb2R1Y3R2YXJpYW50cXVlcnlhcGkiXSwiY2xpZW50X2lkIjoiaW1wZXJzb25hdGlvbi5jbGllbnQiLCJzdWIiOiIwOTMwZDI4Mi05NGU4LTQ5MGEtOGI2NC1mYTk1YmIyYzE1ODIiLCJhdXRoX3RpbWUiOjE3MzIxOTkyOTUsImlkcCI6ImxvY2FsIiwiZW52aXJvbm1lbnQiOiJNU0wiLCJzZWxsZXIiOiJTRTAwMDA5NiIsInNlbGxlcmd1aWQiOiIxMDk1MWJjNS1hZmMzLTQ1MGEtNmVkMS0wOGQ4NDNlNmE5OTQiLCJwZXJtaXNzaW9uIjpbInNhbGVzLmV4cG9ydHRlbXBsYXRlcy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LnRhZy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LmRvY3VtZW50LnJlYWQiLCJkb2N1bWVudGxpYnJhcnkudGFnZ3JvdXAucmVhZCIsInNhbGVzLm9yZGVyLndyaXRlIiwic2FsZXMuY3VzdG9tZXIucmVhZCIsInNhbGVzLm9yZGVyLmRlbGl2ZXJ5YWRkcmVzcy53cml0ZSIsInNlcnZpY2UucmVxdWVzdC5yZWFkIiwiY2F0YWxvZy50YWcucmVhZCIsInNhbGVzLm9yZGVyLnJlYWQiLCJzYWxlcy5jdXN0b21lci53cml0ZSIsInJlcXVlc3Rmb3JxdW90ZS53cml0ZSIsInNhbGVzLm9yZGVyLmJvb2siLCJyZXF1ZXN0Zm9ycXVvdGUucmVhZCIsInNhbGVzLmxlYWQucmVhZCIsInB1cmNoYXNlLm9yZGVyLnJlYWQiLCJzYWxlcy5xdW90ZS5yZWFkIiwic2FsZXMucXVvdGUud3JpdGUiLCJjYXRhbG9nLml0ZW0ucmVhZCIsInNhbGVzLmxlYWQud3JpdGUiLCJzZXJ2aWNlLnJlcXVlc3Quc3VibWl0Iiwic2FsZXMub3JkZXIuZGVsaXZlcnlhZGRyZXNzLnJlYWQiLCJwdXJjaGFzZS5vcmRlci53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy5yZWFkIiwic2VydmljZS5yZXF1ZXN0LndyaXRlIiwiY2F0YWxvZy5jYXRhbG9nLnJlYWQiLCJjYXRhbG9nLmNhdGFsb2cud3JpdGUiLCJjYXRhbG9nLmN1cnJlbmN5LnJlYWQiLCJjYXRhbG9nLmN1cnJlbmN5LndyaXRlIiwiY2F0YWxvZy5pdGVtLndyaXRlIiwiY2F0YWxvZy5sb2NhbGl6YXRpb24ucmVhZCIsImNhdGFsb2cubG9jYWxpemF0aW9uLndyaXRlIiwiY2F0YWxvZy5wcm9kdWN0LnJlYWQiLCJjYXRhbG9nLnByb2R1Y3Qud3JpdGUiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLnJlYWQiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLndyaXRlIiwiY2F0YWxvZy5zZWxsZXIucmVhZCIsImNhdGFsb2cuc2VsbGVyLndyaXRlIiwiY2F0YWxvZy50YWcud3JpdGUiLCJjYXRhbG9nLnVvbS5yZWFkIiwiY2F0YWxvZy51b20ud3JpdGUiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LnJlYWQiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LndyaXRlIiwiY2F0YWxvZy52ZW5kb3IucmVhZCIsImNhdGFsb2cudmVuZG9yLndyaXRlIiwicHVyY2hhc2Uuc2VsbGVyLnJlYWQiLCJwdXJjaGFzZS5zZWxsZXIud3JpdGUiLCJjYXRhbG9nLmFydGljbGUucmVhZCIsImNhdGFsb2cuYXJ0aWNsZS53cml0ZSIsInNhbGVzLnF1b3RlLmxpbmVzLnJlYWQiLCJzYWxlcy5xdW90ZS5saW5lcy53cml0ZSIsInNhbGVzLnNlbGxlci5yZWFkIiwic2FsZXMuc2VsbGVyLndyaXRlIiwiYWNjb3VudGluZy52ZW5kb3JpbnZvaWNlLnJlYWQiLCJpZGVudGl0eS51c2VyLnJlYWQiLCJpZGVudGl0eS51c2VyLndyaXRlIiwiaWRlbnRpdHkucm9sZS5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy53cml0ZSIsImNvbmZpZ3VyYXRvci5wdXJjaGFzZXByaWNlLnJlYWQiLCJzdG9jay5mYWJyaWMucmVhZCJdLCJuYW1lIjoiUm9iaW4iLCJmYW1pbHlfbmFtZSI6ImRlIFdpbnRlciAoQ29saWpuLUlUKSIsInJvbGUiOlsic2VsbGVyIiwiZGVhbGVyX21hbmFnZXIiXSwiaWF0IjoxNzMyMTk5Mjk1LCJzY29wZSI6WyJjYXRhbG9ncXVlcnlhcGkiLCJjb25maWd1cmF0b3JhcGkiLCJwcm9kdWN0dmFyaWFudGNvbW1hbmRhcGkiLCJwcm9kdWN0dmFyaWFudHF1ZXJ5YXBpIl0sImFtciI6WyJpbXBlcnNvbmF0aW9uIl19.rbguVPnkXXDzsM6QKgXulhrF41jIjCuGDV13ig1GC8MewLCJ7wA038OSwT26sx2mCexjvuGYt45YScfPwfTkDy3ErPmHRods64X1dJWZnf-23NTP2iI32K_1vMZH5GOGbMzuFtbKAFQv4hgFAxoyWqFVWyJvuOtQcWyZStROyPHwjAnpnj-x1cVQpOhbO-kQUFvy_VUrPpF3aYVCcO2cFirQTXR6kxSGcYGGcsPY-_eiAd93UdG2EM6xLAocDLaFV72CQI6XEs0WQG1f4SqvH52v3OTkgWBLgYV35gpyIe0-2nazGL0R8pTNuDqrOb7OGmuTRMoTIiRi67-wTxx8cQ";
3521
+ this.variant = "";
3260
3522
  this._subs = [];
3261
3523
  }
3262
3524
  Object.defineProperty(ProductExternalSourceComponent.prototype, "externalSource", {
@@ -3271,6 +3533,19 @@
3271
3533
  enumerable: false,
3272
3534
  configurable: true
3273
3535
  });
3536
+ Object.defineProperty(ProductExternalSourceComponent.prototype, "externalCatalogStartupInfo", {
3537
+ get: function () {
3538
+ return this._externalCatalogStartupInfo;
3539
+ },
3540
+ set: function (value) {
3541
+ this._externalCatalogStartupInfo = value;
3542
+ this.externalSource = value.externalSource;
3543
+ this.loaded = false;
3544
+ this._prepareExternalSource();
3545
+ },
3546
+ enumerable: false,
3547
+ configurable: true
3548
+ });
3274
3549
  ProductExternalSourceComponent.prototype.showClass = function () {
3275
3550
  return true;
3276
3551
  };
@@ -3295,9 +3570,11 @@
3295
3570
  ProductExternalSourceComponent.prototype.ngOnDestroy = function () {
3296
3571
  this._subs.forEach(function (s) { return s.unsubscribe(); });
3297
3572
  };
3573
+ ProductExternalSourceComponent.prototype.handleConfigurationFinished = function (variantString) {
3574
+ this.configuratorFinished.emit(variantString);
3575
+ };
3298
3576
  ProductExternalSourceComponent.prototype._prepareExternalSource = function () {
3299
3577
  return __awaiter(this, void 0, void 0, function () {
3300
- var bundleSettings;
3301
3578
  return __generator(this, function (_a) {
3302
3579
  switch (_a.label) {
3303
3580
  case 0:
@@ -3307,7 +3584,29 @@
3307
3584
  this.externalUrl = undefined;
3308
3585
  this.externalSettings = {};
3309
3586
  if (!(this.externalSource.type === 'CATF')) return [3 /*break*/, 2];
3310
- return [4 /*yield*/, this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0))];
3587
+ return [4 /*yield*/, this._prepareCatFarm()];
3588
+ case 1:
3589
+ _a.sent();
3590
+ return [3 /*break*/, 3];
3591
+ case 2:
3592
+ if (this.externalSource.type === 'HTDL') {
3593
+ this._prepareConfigurator();
3594
+ }
3595
+ else {
3596
+ this._prepareSource();
3597
+ }
3598
+ _a.label = 3;
3599
+ case 3: return [2 /*return*/];
3600
+ }
3601
+ });
3602
+ });
3603
+ };
3604
+ ProductExternalSourceComponent.prototype._prepareCatFarm = function () {
3605
+ return __awaiter(this, void 0, void 0, function () {
3606
+ var bundleSettings;
3607
+ return __generator(this, function (_a) {
3608
+ switch (_a.label) {
3609
+ case 0: return [4 /*yield*/, this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0))];
3311
3610
  case 1:
3312
3611
  bundleSettings = _a.sent();
3313
3612
  this.externalSettings = JSON.parse(bundleSettings);
@@ -3322,26 +3621,49 @@
3322
3621
  this.externalSettings.password = this.externalSource.password;
3323
3622
  }
3324
3623
  // finally show the catalog
3325
- this.showProduct = true;
3326
- return [3 /*break*/, 3];
3327
- case 2:
3328
- this.externalUrl = this.externalSource.url;
3329
- this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
3330
- this.showProduct = false;
3331
- _a.label = 3;
3332
- case 3:
3624
+ this.switchToProduct();
3333
3625
  this.loaded = true;
3334
3626
  return [2 /*return*/];
3335
3627
  }
3336
3628
  });
3337
3629
  });
3338
3630
  };
3631
+ ProductExternalSourceComponent.prototype._prepareConfigurator = function () {
3632
+ if (this.externalCatalogStartupInfo) {
3633
+ this.token = this.externalCatalogStartupInfo.token;
3634
+ this.sku = this.externalCatalogStartupInfo.externalGoodId;
3635
+ this.variant = this.externalCatalogStartupInfo.flattenedGoodId;
3636
+ this.switchToConfigurator();
3637
+ this.loaded = true;
3638
+ }
3639
+ };
3640
+ ProductExternalSourceComponent.prototype._prepareSource = function () {
3641
+ this.externalUrl = this.externalSource.url;
3642
+ this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
3643
+ this.switchToSource();
3644
+ this.loaded = true;
3645
+ };
3646
+ ProductExternalSourceComponent.prototype.switchToProduct = function () {
3647
+ this.showProduct = true;
3648
+ this.showConfigurator = false;
3649
+ this.showSource = false;
3650
+ };
3651
+ ProductExternalSourceComponent.prototype.switchToConfigurator = function () {
3652
+ this.showProduct = false;
3653
+ this.showConfigurator = true;
3654
+ this.showSource = false;
3655
+ };
3656
+ ProductExternalSourceComponent.prototype.switchToSource = function () {
3657
+ this.showProduct = false;
3658
+ this.showConfigurator = false;
3659
+ this.showSource = true;
3660
+ };
3339
3661
  return ProductExternalSourceComponent;
3340
3662
  }());
3341
3663
  ProductExternalSourceComponent.decorators = [
3342
3664
  { type: i0.Component, args: [{
3343
3665
  selector: 'co-product-external-source',
3344
- 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=\"!showProduct\">\n <iframe width=\"100%\" height=\"100%\" [src]=\"safeUrl\" frameborder=\"0\" allowfullscreen></iframe>\n </ng-container>\n </ng-container>\n ",
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 ",
3345
3667
  providers: [
3346
3668
  ProductSettingsService,
3347
3669
  ProductConnectorAdapterService,
@@ -3359,10 +3681,12 @@
3359
3681
  sku: [{ type: i0.Input }],
3360
3682
  catalogDefinition: [{ type: i0.Input }],
3361
3683
  externalSource: [{ type: i0.Input }],
3684
+ externalCatalogStartupInfo: [{ type: i0.Input }],
3362
3685
  options: [{ type: i0.Input }],
3363
3686
  addToCart: [{ type: i0.Output }],
3364
3687
  addToQuote: [{ type: i0.Output }],
3365
3688
  alternativeClick: [{ type: i0.Output }],
3689
+ configuratorFinished: [{ type: i0.Output }],
3366
3690
  showClass: [{ type: i0.HostBinding, args: ['class.co-product-external-source',] }]
3367
3691
  };
3368
3692
 
@@ -3375,7 +3699,8 @@
3375
3699
  { type: i0.NgModule, args: [{
3376
3700
  imports: [
3377
3701
  common.CommonModule,
3378
- ProductPageModule
3702
+ ProductPageModule,
3703
+ ProductHdModule
3379
3704
  ],
3380
3705
  declarations: [
3381
3706
  ProductExternalSourceComponent
@@ -3386,6 +3711,43 @@
3386
3711
  },] }
3387
3712
  ];
3388
3713
 
3714
+ var IoneProductModule = /** @class */ (function () {
3715
+ function IoneProductModule() {
3716
+ }
3717
+ return IoneProductModule;
3718
+ }());
3719
+ IoneProductModule.decorators = [
3720
+ { type: i0.NgModule, args: [{
3721
+ imports: [
3722
+ //BrowserAnimationsModule,
3723
+ common.CommonModule,
3724
+ ProductPageModule,
3725
+ ProductHdModule,
3726
+ ProductExternalSourceModule,
3727
+ corecomponents_v12.ButtonModule
3728
+ ],
3729
+ declarations: [
3730
+ IoneProductComponent
3731
+ ],
3732
+ exports: [
3733
+ IoneProductComponent
3734
+ ],
3735
+ schemas: [
3736
+ i0.CUSTOM_ELEMENTS_SCHEMA,
3737
+ i0.NO_ERRORS_SCHEMA
3738
+ ],
3739
+ bootstrap: [
3740
+ IoneProductComponent
3741
+ ],
3742
+ providers: [
3743
+ ProductSettingsService,
3744
+ ProductConnectorService,
3745
+ ProductEventService,
3746
+ ProductConnectorAdapterService
3747
+ ]
3748
+ },] }
3749
+ ];
3750
+
3389
3751
  /**
3390
3752
  * Generated bundle index. Do not edit.
3391
3753
  */
@@ -3411,7 +3773,12 @@
3411
3773
  exports["ɵbh"] = ProductSymbolsModule;
3412
3774
  exports["ɵbi"] = ProductSymbolsComponent;
3413
3775
  exports["ɵbj"] = ProductInfoTabsComponent;
3414
- exports["ɵbk"] = ProductPageComponent;
3776
+ exports["ɵbk"] = ProductDialogModule;
3777
+ exports["ɵbl"] = ProductDialogComponent;
3778
+ exports["ɵbm"] = ProductPageComponent;
3779
+ exports["ɵbn"] = ProductHdModule;
3780
+ exports["ɵbo"] = ProductHdComponent;
3781
+ exports["ɵbp"] = ProductScriptLoaderService;
3415
3782
  exports["ɵc"] = PipeModule;
3416
3783
  exports["ɵd"] = LocalizePipe;
3417
3784
  exports["ɵe"] = DictionaryService;