@colijnit/product 260.1.2 → 261.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/fesm2022/colijnit-product.mjs +4534 -0
  2. package/fesm2022/colijnit-product.mjs.map +1 -0
  3. package/index.d.ts +948 -0
  4. package/package.json +32 -33
  5. package/app/bundle/service/local-storage.service.d.ts +0 -14
  6. package/app/components/core/header/header.component.d.ts +0 -7
  7. package/app/components/core/header/header.module.d.ts +0 -2
  8. package/app/components/image-carousel/image-carousel.component.d.ts +0 -48
  9. package/app/components/image-carousel/image-carousel.module.d.ts +0 -2
  10. package/app/components/product-additional-description/product-additional-description.component.d.ts +0 -14
  11. package/app/components/product-additional-description/product-additional-description.module.d.ts +0 -2
  12. package/app/components/product-additional-info/product-additional-info.component.d.ts +0 -21
  13. package/app/components/product-additional-info/product-additional-info.module.d.ts +0 -2
  14. package/app/components/product-addtocart/product-addtocart.component.d.ts +0 -42
  15. package/app/components/product-addtocart/product-addtocart.module.d.ts +0 -2
  16. package/app/components/product-delivery/product-delivery.component.d.ts +0 -18
  17. package/app/components/product-delivery/product-delivery.module.d.ts +0 -2
  18. package/app/components/product-description/product-description.component.d.ts +0 -7
  19. package/app/components/product-description/product-description.module.d.ts +0 -2
  20. package/app/components/product-dialog/product-dialog.component.d.ts +0 -27
  21. package/app/components/product-dialog/product-dialog.module.d.ts +0 -2
  22. package/app/components/product-documents/product-document.module.d.ts +0 -2
  23. package/app/components/product-documents/product-documents.component.d.ts +0 -10
  24. package/app/components/product-external-source/product-external-source.component.d.ts +0 -51
  25. package/app/components/product-external-source/product-external-source.module.d.ts +0 -2
  26. package/app/components/product-hd/product-hd.component.d.ts +0 -25
  27. package/app/components/product-hd/product-hd.module.d.ts +0 -2
  28. package/app/components/product-info-tabs/product-info-tabs.component.d.ts +0 -18
  29. package/app/components/product-info-tabs/product-info-tabs.module.d.ts +0 -2
  30. package/app/components/product-page/product-page.component.d.ts +0 -66
  31. package/app/components/product-page/product-page.module.d.ts +0 -2
  32. package/app/components/product-price/product-price.component.d.ts +0 -19
  33. package/app/components/product-price/product-price.module.d.ts +0 -2
  34. package/app/components/product-properties/product-properties.component.d.ts +0 -16
  35. package/app/components/product-properties/product-properties.module.d.ts +0 -2
  36. package/app/components/product-related/product-related.component.d.ts +0 -33
  37. package/app/components/product-related/product-related.module.d.ts +0 -2
  38. package/app/components/product-selector-type/product-selector-type.component.d.ts +0 -22
  39. package/app/components/product-selector-type/product-selector-type.module.d.ts +0 -2
  40. package/app/components/product-stock/product-stock.component.d.ts +0 -20
  41. package/app/components/product-stock/product-stock.module.d.ts +0 -2
  42. package/app/components/product-symbols/product-symbols.component.d.ts +0 -10
  43. package/app/components/product-symbols/product-symbols.module.d.ts +0 -2
  44. package/app/components/render-carousel/render-carousel.component.d.ts +0 -40
  45. package/app/components/render-carousel/render-carousel.module.d.ts +0 -2
  46. package/app/enum/icon.enum.d.ts +0 -22
  47. package/app/enum/language-code.enum.d.ts +0 -6
  48. package/app/enum/selector-type.enum.d.ts +0 -5
  49. package/app/ione-product.component.d.ts +0 -47
  50. package/app/ione-product.module.d.ts +0 -2
  51. package/app/model/article-quantity.model.d.ts +0 -5
  52. package/app/model/icon.d.ts +0 -4
  53. package/app/model/productSettings.d.ts +0 -18
  54. package/app/model/render-modes.d.ts +0 -5
  55. package/app/model/render-parameters.d.ts +0 -7
  56. package/app/model/settings-options.d.ts +0 -10
  57. package/app/model/stock-and-delivery.d.ts +0 -5
  58. package/app/pipe/localize.pipe.d.ts +0 -7
  59. package/app/pipe/pipe.module.d.ts +0 -2
  60. package/app/product-version.d.ts +0 -6
  61. package/app/service/dictionary.service.d.ts +0 -24
  62. package/app/service/icon-cache.service.d.ts +0 -17
  63. package/app/service/product-connector-adapter.service.d.ts +0 -43
  64. package/app/service/product-connector.service.d.ts +0 -43
  65. package/app/service/product-event.service.d.ts +0 -27
  66. package/app/service/product-script-loader.service.d.ts +0 -9
  67. package/app/service/product-settings.service.d.ts +0 -16
  68. package/app/utils/bit-utils.d.ts +0 -7
  69. package/app/utils/json-utils.service.d.ts +0 -3
  70. package/assets/dictionary/text.properties.d.ts +0 -3
  71. package/bundles/colijnit-product.umd.js +0 -4317
  72. package/bundles/colijnit-product.umd.js.map +0 -1
  73. package/colijnit-product.d.ts +0 -49
  74. package/colijnit-product.metadata.json +0 -1
  75. package/esm2015/app/bundle/service/local-storage.service.js +0 -37
  76. package/esm2015/app/components/core/header/header.component.js +0 -26
  77. package/esm2015/app/components/core/header/header.module.js +0 -19
  78. package/esm2015/app/components/image-carousel/image-carousel.component.js +0 -288
  79. package/esm2015/app/components/image-carousel/image-carousel.module.js +0 -23
  80. package/esm2015/app/components/product-additional-description/product-additional-description.component.js +0 -58
  81. package/esm2015/app/components/product-additional-description/product-additional-description.module.js +0 -21
  82. package/esm2015/app/components/product-additional-info/product-additional-info.component.js +0 -108
  83. package/esm2015/app/components/product-additional-info/product-additional-info.module.js +0 -21
  84. package/esm2015/app/components/product-addtocart/product-addtocart.component.js +0 -185
  85. package/esm2015/app/components/product-addtocart/product-addtocart.module.js +0 -26
  86. package/esm2015/app/components/product-delivery/product-delivery.component.js +0 -49
  87. package/esm2015/app/components/product-delivery/product-delivery.module.js +0 -23
  88. package/esm2015/app/components/product-description/product-description.component.js +0 -23
  89. package/esm2015/app/components/product-description/product-description.module.js +0 -19
  90. package/esm2015/app/components/product-dialog/product-dialog.component.js +0 -86
  91. package/esm2015/app/components/product-dialog/product-dialog.module.js +0 -25
  92. package/esm2015/app/components/product-documents/product-document.module.js +0 -25
  93. package/esm2015/app/components/product-documents/product-documents.component.js +0 -31
  94. package/esm2015/app/components/product-external-source/product-external-source.component.js +0 -192
  95. package/esm2015/app/components/product-external-source/product-external-source.module.js +0 -23
  96. package/esm2015/app/components/product-hd/product-hd.component.js +0 -124
  97. package/esm2015/app/components/product-hd/product-hd.module.js +0 -23
  98. package/esm2015/app/components/product-info-tabs/product-info-tabs.component.js +0 -82
  99. package/esm2015/app/components/product-info-tabs/product-info-tabs.module.js +0 -29
  100. package/esm2015/app/components/product-page/product-page.component.js +0 -254
  101. package/esm2015/app/components/product-page/product-page.module.js +0 -50
  102. package/esm2015/app/components/product-price/product-price.component.js +0 -75
  103. package/esm2015/app/components/product-price/product-price.module.js +0 -23
  104. package/esm2015/app/components/product-properties/product-properties.component.js +0 -61
  105. package/esm2015/app/components/product-properties/product-properties.module.js +0 -21
  106. package/esm2015/app/components/product-related/product-related.component.js +0 -137
  107. package/esm2015/app/components/product-related/product-related.module.js +0 -25
  108. package/esm2015/app/components/product-selector-type/product-selector-type.component.js +0 -63
  109. package/esm2015/app/components/product-selector-type/product-selector-type.module.js +0 -26
  110. package/esm2015/app/components/product-stock/product-stock.component.js +0 -69
  111. package/esm2015/app/components/product-stock/product-stock.module.js +0 -23
  112. package/esm2015/app/components/product-symbols/product-symbols.component.js +0 -49
  113. package/esm2015/app/components/product-symbols/product-symbols.module.js +0 -26
  114. package/esm2015/app/components/render-carousel/render-carousel.component.js +0 -127
  115. package/esm2015/app/components/render-carousel/render-carousel.module.js +0 -25
  116. package/esm2015/app/enum/icon.enum.js +0 -24
  117. package/esm2015/app/enum/language-code.enum.js +0 -8
  118. package/esm2015/app/enum/selector-type.enum.js +0 -7
  119. package/esm2015/app/ione-product.component.js +0 -165
  120. package/esm2015/app/ione-product.module.js +0 -36
  121. package/esm2015/app/model/article-quantity.model.js +0 -3
  122. package/esm2015/app/model/icon.js +0 -23
  123. package/esm2015/app/model/productSettings.js +0 -14
  124. package/esm2015/app/model/render-modes.js +0 -7
  125. package/esm2015/app/model/render-parameters.js +0 -10
  126. package/esm2015/app/model/settings-options.js +0 -13
  127. package/esm2015/app/model/stock-and-delivery.js +0 -8
  128. package/esm2015/app/pipe/localize.pipe.js +0 -27
  129. package/esm2015/app/pipe/pipe.module.js +0 -18
  130. package/esm2015/app/product-version.js +0 -10
  131. package/esm2015/app/service/dictionary.service.js +0 -94
  132. package/esm2015/app/service/icon-cache.service.js +0 -40
  133. package/esm2015/app/service/product-connector-adapter.service.js +0 -199
  134. package/esm2015/app/service/product-connector.service.js +0 -115
  135. package/esm2015/app/service/product-event.service.js +0 -27
  136. package/esm2015/app/service/product-script-loader.service.js +0 -68
  137. package/esm2015/app/service/product-settings.service.js +0 -86
  138. package/esm2015/app/utils/bit-utils.js +0 -18
  139. package/esm2015/app/utils/json-utils.service.js +0 -29
  140. package/esm2015/assets/dictionary/text.properties.js +0 -102
  141. package/esm2015/colijnit-product.js +0 -50
  142. package/esm2015/public_api.js +0 -10
  143. package/fesm2015/colijnit-product.js +0 -3529
  144. package/fesm2015/colijnit-product.js.map +0 -1
  145. package/public_api.d.ts +0 -9
@@ -1,192 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
- import { DomSanitizer } from '@angular/platform-browser';
4
- import { ProductConnectorService } from '../../service/product-connector.service';
5
- import { ProductEventService } from '../../service/product-event.service';
6
- import { ProductSettingsService } from '../../service/product-settings.service';
7
- import { ProductConnectorAdapterService } from '../../service/product-connector-adapter.service';
8
- export class ProductExternalSourceComponent {
9
- constructor(_sanitizer, _productConnectorService, _appEventService) {
10
- this._sanitizer = _sanitizer;
11
- this._productConnectorService = _productConnectorService;
12
- this._appEventService = _appEventService;
13
- this.addToCart = new EventEmitter();
14
- this.addToQuote = new EventEmitter();
15
- this.alternativeClick = new EventEmitter();
16
- this.configuratorFinished = new EventEmitter();
17
- this.showProduct = false;
18
- this.showConfigurator = false;
19
- this.showSource = false;
20
- this.loaded = false;
21
- this.externalSettings = {};
22
- this.token = ""; //= "eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxOThERkVEOEUwQTQ1MzY3M0M1MUE2Rjk1QUVDQzU3RTM0NjM4RkRSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6IjhaamY3WTRLUlRaenhScHZsYTdNVi1OR09QMCJ9.eyJuYmYiOjE3MzIxOTkyOTUsImV4cCI6MTczMjIwMjg5NSwiaXNzIjoiaHR0cHM6Ly9ibXNpZGVudGl0eS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0IiwiYXVkIjpbImNhdGFsb2dxdWVyeWFwaSIsImNvbmZpZ3VyYXRvcmFwaSIsInByb2R1Y3R2YXJpYW50Y29tbWFuZGFwaSIsInByb2R1Y3R2YXJpYW50cXVlcnlhcGkiXSwiY2xpZW50X2lkIjoiaW1wZXJzb25hdGlvbi5jbGllbnQiLCJzdWIiOiIwOTMwZDI4Mi05NGU4LTQ5MGEtOGI2NC1mYTk1YmIyYzE1ODIiLCJhdXRoX3RpbWUiOjE3MzIxOTkyOTUsImlkcCI6ImxvY2FsIiwiZW52aXJvbm1lbnQiOiJNU0wiLCJzZWxsZXIiOiJTRTAwMDA5NiIsInNlbGxlcmd1aWQiOiIxMDk1MWJjNS1hZmMzLTQ1MGEtNmVkMS0wOGQ4NDNlNmE5OTQiLCJwZXJtaXNzaW9uIjpbInNhbGVzLmV4cG9ydHRlbXBsYXRlcy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LnRhZy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LmRvY3VtZW50LnJlYWQiLCJkb2N1bWVudGxpYnJhcnkudGFnZ3JvdXAucmVhZCIsInNhbGVzLm9yZGVyLndyaXRlIiwic2FsZXMuY3VzdG9tZXIucmVhZCIsInNhbGVzLm9yZGVyLmRlbGl2ZXJ5YWRkcmVzcy53cml0ZSIsInNlcnZpY2UucmVxdWVzdC5yZWFkIiwiY2F0YWxvZy50YWcucmVhZCIsInNhbGVzLm9yZGVyLnJlYWQiLCJzYWxlcy5jdXN0b21lci53cml0ZSIsInJlcXVlc3Rmb3JxdW90ZS53cml0ZSIsInNhbGVzLm9yZGVyLmJvb2siLCJyZXF1ZXN0Zm9ycXVvdGUucmVhZCIsInNhbGVzLmxlYWQucmVhZCIsInB1cmNoYXNlLm9yZGVyLnJlYWQiLCJzYWxlcy5xdW90ZS5yZWFkIiwic2FsZXMucXVvdGUud3JpdGUiLCJjYXRhbG9nLml0ZW0ucmVhZCIsInNhbGVzLmxlYWQud3JpdGUiLCJzZXJ2aWNlLnJlcXVlc3Quc3VibWl0Iiwic2FsZXMub3JkZXIuZGVsaXZlcnlhZGRyZXNzLnJlYWQiLCJwdXJjaGFzZS5vcmRlci53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy5yZWFkIiwic2VydmljZS5yZXF1ZXN0LndyaXRlIiwiY2F0YWxvZy5jYXRhbG9nLnJlYWQiLCJjYXRhbG9nLmNhdGFsb2cud3JpdGUiLCJjYXRhbG9nLmN1cnJlbmN5LnJlYWQiLCJjYXRhbG9nLmN1cnJlbmN5LndyaXRlIiwiY2F0YWxvZy5pdGVtLndyaXRlIiwiY2F0YWxvZy5sb2NhbGl6YXRpb24ucmVhZCIsImNhdGFsb2cubG9jYWxpemF0aW9uLndyaXRlIiwiY2F0YWxvZy5wcm9kdWN0LnJlYWQiLCJjYXRhbG9nLnByb2R1Y3Qud3JpdGUiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLnJlYWQiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLndyaXRlIiwiY2F0YWxvZy5zZWxsZXIucmVhZCIsImNhdGFsb2cuc2VsbGVyLndyaXRlIiwiY2F0YWxvZy50YWcud3JpdGUiLCJjYXRhbG9nLnVvbS5yZWFkIiwiY2F0YWxvZy51b20ud3JpdGUiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LnJlYWQiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LndyaXRlIiwiY2F0YWxvZy52ZW5kb3IucmVhZCIsImNhdGFsb2cudmVuZG9yLndyaXRlIiwicHVyY2hhc2Uuc2VsbGVyLnJlYWQiLCJwdXJjaGFzZS5zZWxsZXIud3JpdGUiLCJjYXRhbG9nLmFydGljbGUucmVhZCIsImNhdGFsb2cuYXJ0aWNsZS53cml0ZSIsInNhbGVzLnF1b3RlLmxpbmVzLnJlYWQiLCJzYWxlcy5xdW90ZS5saW5lcy53cml0ZSIsInNhbGVzLnNlbGxlci5yZWFkIiwic2FsZXMuc2VsbGVyLndyaXRlIiwiYWNjb3VudGluZy52ZW5kb3JpbnZvaWNlLnJlYWQiLCJpZGVudGl0eS51c2VyLnJlYWQiLCJpZGVudGl0eS51c2VyLndyaXRlIiwiaWRlbnRpdHkucm9sZS5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy53cml0ZSIsImNvbmZpZ3VyYXRvci5wdXJjaGFzZXByaWNlLnJlYWQiLCJzdG9jay5mYWJyaWMucmVhZCJdLCJuYW1lIjoiUm9iaW4iLCJmYW1pbHlfbmFtZSI6ImRlIFdpbnRlciAoQ29saWpuLUlUKSIsInJvbGUiOlsic2VsbGVyIiwiZGVhbGVyX21hbmFnZXIiXSwiaWF0IjoxNzMyMTk5Mjk1LCJzY29wZSI6WyJjYXRhbG9ncXVlcnlhcGkiLCJjb25maWd1cmF0b3JhcGkiLCJwcm9kdWN0dmFyaWFudGNvbW1hbmRhcGkiLCJwcm9kdWN0dmFyaWFudHF1ZXJ5YXBpIl0sImFtciI6WyJpbXBlcnNvbmF0aW9uIl19.rbguVPnkXXDzsM6QKgXulhrF41jIjCuGDV13ig1GC8MewLCJ7wA038OSwT26sx2mCexjvuGYt45YScfPwfTkDy3ErPmHRods64X1dJWZnf-23NTP2iI32K_1vMZH5GOGbMzuFtbKAFQv4hgFAxoyWqFVWyJvuOtQcWyZStROyPHwjAnpnj-x1cVQpOhbO-kQUFvy_VUrPpF3aYVCcO2cFirQTXR6kxSGcYGGcsPY-_eiAd93UdG2EM6xLAocDLaFV72CQI6XEs0WQG1f4SqvH52v3OTkgWBLgYV35gpyIe0-2nazGL0R8pTNuDqrOb7OGmuTRMoTIiRi67-wTxx8cQ";
23
- this.variant = "";
24
- this.urlParams = [];
25
- this._subs = [];
26
- }
27
- set externalSource(value) {
28
- this._externalSource = value;
29
- this.loaded = false;
30
- this._prepareExternalSource();
31
- }
32
- get externalSource() {
33
- return this._externalSource;
34
- }
35
- set externalCatalogStartupInfo(value) {
36
- if (value) {
37
- this._externalCatalogStartupInfo = value;
38
- this.externalSource = value.externalSource;
39
- this.loaded = false;
40
- this._prepareExternalSource();
41
- }
42
- }
43
- get externalCatalogStartupInfo() {
44
- return this._externalCatalogStartupInfo;
45
- }
46
- showClass() {
47
- return true;
48
- }
49
- ngOnInit() {
50
- this._subs.push(this._appEventService.onAddToCart.subscribe((data) => {
51
- this.addToCart.next({
52
- article: data.article,
53
- quantity: data.quantity,
54
- catalogDefinition: this.catalogDefinition,
55
- externalSource: this._externalSource
56
- });
57
- }), this._appEventService.onAddToQuote.subscribe(json => {
58
- this.addToQuote.next({
59
- article: json,
60
- quantity: 1,
61
- catalogDefinition: this.catalogDefinition,
62
- externalSource: this._externalSource
63
- });
64
- }), this._appEventService.onAlternativeClick.subscribe(article => this.alternativeClick.next(article)));
65
- }
66
- ngOnDestroy() {
67
- this._subs.forEach(s => s.unsubscribe());
68
- }
69
- handleConfigurationFinished(variantString) {
70
- this.configuratorFinished.emit(variantString);
71
- }
72
- _prepareExternalSource() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- if (!this._externalSource) {
75
- return;
76
- }
77
- this.externalUrl = undefined;
78
- this.externalSettings = {};
79
- if (this.externalSource.type === 'CATF') {
80
- yield this._prepareCatFarm();
81
- }
82
- else if (this.externalSource.type === 'HTDL') {
83
- this._prepareConfigurator();
84
- }
85
- else {
86
- this._prepareSource();
87
- }
88
- });
89
- }
90
- _prepareCatFarm() {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- // get bundle settings from external source
93
- const bundleSettings = yield this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0));
94
- this.externalSettings = JSON.parse(bundleSettings);
95
- if (this.options) {
96
- this.externalSettings.options = this.options;
97
- }
98
- // this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
99
- // this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
100
- if (this.externalSource.username && this.externalSource.password) {
101
- this.externalSettings.useLoginEncryption = true;
102
- this.externalSettings.username = this.externalSource.username;
103
- this.externalSettings.password = this.externalSource.password;
104
- }
105
- // finally show the catalog
106
- this.switchToProduct();
107
- this.loaded = true;
108
- });
109
- }
110
- _prepareConfigurator() {
111
- if (this.externalCatalogStartupInfo) {
112
- this.token = this.externalCatalogStartupInfo.token;
113
- this.sku = this.externalCatalogStartupInfo.externalGoodId;
114
- this.variant = this.externalCatalogStartupInfo.flattenedGoodId;
115
- this.urlParams = this.externalCatalogStartupInfo.externalSource.parameters;
116
- this.switchToConfigurator();
117
- this.loaded = true;
118
- }
119
- }
120
- _prepareSource() {
121
- this.externalUrl = this.externalSource.url;
122
- this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
123
- this.switchToSource();
124
- this.loaded = true;
125
- }
126
- switchToProduct() {
127
- this.showProduct = true;
128
- this.showConfigurator = false;
129
- this.showSource = false;
130
- }
131
- switchToConfigurator() {
132
- this.showProduct = false;
133
- this.showConfigurator = true;
134
- this.showSource = false;
135
- }
136
- switchToSource() {
137
- this.showProduct = false;
138
- this.showConfigurator = false;
139
- this.showSource = true;
140
- }
141
- }
142
- ProductExternalSourceComponent.decorators = [
143
- { type: Component, args: [{
144
- selector: 'co-product-external-source',
145
- template: `
146
- <ng-container *ngIf="loaded">
147
- <ng-container *ngIf="showProduct">
148
- <app-product-page
149
- [sku]="sku"
150
- [settings]="externalSettings"
151
- [externalSource]="externalSource"
152
- ></app-product-page>
153
- </ng-container>
154
- <ng-container *ngIf="showSource">
155
- <iframe width="100%" height="100%" [src]="safeUrl" frameborder="0" allowfullscreen></iframe>
156
- </ng-container>
157
- <ng-container *ngIf="showConfigurator">
158
- <co-product-hd width="100%" height="100%"
159
- [sku]="sku"
160
- [variant]="variant"
161
- [token]="token"
162
- [urlParams]="urlParams"
163
- (configuratorFinished)="handleConfigurationFinished($event)"></co-product-hd>
164
- </ng-container>
165
- </ng-container>
166
- `,
167
- providers: [
168
- ProductSettingsService,
169
- ProductConnectorAdapterService,
170
- ProductConnectorService
171
- ],
172
- encapsulation: ViewEncapsulation.None
173
- },] }
174
- ];
175
- ProductExternalSourceComponent.ctorParameters = () => [
176
- { type: DomSanitizer },
177
- { type: ProductConnectorService },
178
- { type: ProductEventService }
179
- ];
180
- ProductExternalSourceComponent.propDecorators = {
181
- sku: [{ type: Input }],
182
- catalogDefinition: [{ type: Input }],
183
- externalSource: [{ type: Input }],
184
- externalCatalogStartupInfo: [{ type: Input }],
185
- options: [{ type: Input }],
186
- addToCart: [{ type: Output }],
187
- addToQuote: [{ type: Output }],
188
- alternativeClick: [{ type: Output }],
189
- configuratorFinished: [{ type: Output }],
190
- showClass: [{ type: HostBinding, args: ['class.co-product-external-source',] }]
191
- };
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxZQUFZLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFzQy9GLE1BQU0sT0FBTyw4QkFBOEI7SUF1RXZDLFlBQ1ksVUFBd0IsRUFDeEIsd0JBQWlELEVBQ2pELGdCQUFxQztRQUZyQyxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQXJDMUMsY0FBUyxHQUFvRCxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQUduSCxlQUFVLEdBQW9ELElBQUksWUFBWSxFQUFxQyxDQUFDO1FBR3BILHFCQUFnQixHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUcxRix5QkFBb0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU94RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMs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QUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7O1lBL01GLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1Asc0JBQXNCO29CQUN0Qiw4QkFBOEI7b0JBQzlCLHVCQUF1QjtpQkFDMUI7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQTVDTyxZQUFZO1lBRVosdUJBQXVCO1lBRXZCLG1CQUFtQjs7O2tCQTJDdEIsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7eUNBV0wsS0FBSztzQkFjTCxLQUFLO3dCQUdMLE1BQU07eUJBR04sTUFBTTsrQkFHTixNQUFNO21DQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdCc7XHJcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NhdGFsb2dEZWZpbml0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9jYXRhbG9nLWRlZmluaXRpb24uYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvaW50ZXJmYWNlL2V4dGVybmFsLXNvdXJjZS1hcnRpY2xlLWFkZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLXN0YXJ0dXAtaW5mbyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXJ9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS1wYXJhbWV0ZXIuYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcHJvZHVjdC1wYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwic2t1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NldHRpbmdzXT1cImV4dGVybmFsU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZXJuYWxTb3VyY2VdPVwiZXh0ZXJuYWxTb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLXByb2R1Y3QtcGFnZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U291cmNlXCI+XHJcbiAgICAgICAgICAgICAgICA8aWZyYW1lIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiBbc3JjXT1cInNhZmVVcmxcIiBmcmFtZWJvcmRlcj1cIjBcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0NvbmZpZ3VyYXRvclwiPlxyXG4gICAgICAgICAgICAgIDxjby1wcm9kdWN0LWhkIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwic2t1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFyaWFudF09XCJ2YXJpYW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9rZW5dPVwidG9rZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1cmxQYXJhbXNdPVwidXJsUGFyYW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uZmlndXJhdG9yRmluaXNoZWQpPVwiaGFuZGxlQ29uZmlndXJhdGlvbkZpbmlzaGVkKCRldmVudClcIj48L2NvLXByb2R1Y3QtaGQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgYCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICAgICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2t1OiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYXRhbG9nRGVmaW5pdGlvbjogQ2F0YWxvZ0RlZmluaXRpb247XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZXh0ZXJuYWxTb3VyY2UodmFsdWU6IEV4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxTb3VyY2UgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZXh0ZXJuYWxTb3VyY2UoKTogRXh0ZXJuYWxTb3VyY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBleHRlcm5hbENhdGFsb2dTdGFydHVwSW5mbyh2YWx1ZTogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8pIHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmV4dGVybmFsU291cmNlID0gdmFsdWUuZXh0ZXJuYWxTb3VyY2U7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlRXh0ZXJuYWxTb3VyY2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8oKTogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm87XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBvcHRpb25zOiB7fTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhZGRUb0NhcnQ6IEV2ZW50RW1pdHRlcjxFeHRlcm5hbFNvdXJjZUFydGljbGVBZGRJbnRlcmZhY2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxFeHRlcm5hbFNvdXJjZUFydGljbGVBZGRJbnRlcmZhY2U+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYWRkVG9RdW90ZTogRXZlbnRFbWl0dGVyPEV4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV4dGVybmFsU291cmNlQXJ0aWNsZUFkZEludGVyZmFjZT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhbHRlcm5hdGl2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjb25maWd1cmF0b3JGaW5pc2hlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlJylcclxuICAgIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3dQcm9kdWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd0NvbmZpZ3VyYXRvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNob3dTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzYWZlVXJsOiBTYWZlUmVzb3VyY2VVcmw7XHJcbiAgICBwdWJsaWMgbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZXh0ZXJuYWxVcmw6IHN0cmluZztcclxuICAgIHB1YmxpYyBleHRlcm5hbFNldHRpbmdzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgdG9rZW46IHN0cmluZyA9IFwiXCI7Ly89IFwiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrWXhPVGhFUmtWRU9FVXdRVFExTXpZM00wTTFNVUUyUmprMVFVVkRRelUzUlRNME5qTTRSa1JTVXpJMU5pSXNJblI1Y0NJNkltRjBLMnAzZENJc0luZzFkQ0k2SWpoYWFtWTNXVFJMVWxSYWVuaFNjSFpzWVRkTlZpMU9SMDlRTUNKOS5leUp1WW1ZaU9qRTNNekl4T1RreU9UVXNJbVY0Y0NJNk1UY3pNakl3TWpnNU5Td2lhWE56SWpvaWFIUjBjSE02THk5aWJYTnBaR1Z1ZEdsMGVTMWhZMk5sY0hSaGJtTmxMbUY2ZFhKbGQyVmljMmwwWlhNdWJtVjBJaXdpWVhWa0lqcGJJbU5oZEdGc2IyZHhkV1Z5ZVdGd2FTSXNJbU52Ym1acFozVnlZWFJ2Y21Gd2FTSXNJbkJ5YjJSMVkzUjJZWEpwWVc1MFkyOXRiV0Z1WkdGd2FTSXNJbkJ5YjJSMVkzUjJZWEpwWVc1MGNYVmxjbmxoY0draVhTd2lZMnhwWlc1MFgybGtJam9pYVcxd1pYSnpiMjVoZEdsdmJpNWpiR2xsYm5RaUxDSnpkV0lpT2lJd09UTXdaREk0TWkwNU5HVTRMVFE1TUdFdE9HSTJOQzFtWVRrMVltSXlZekUxT0RJaUxDSmhkWFJvWDNScGJXVWlPakUzTXpJeE9Ua3lPVFVzSW1sa2NDSTZJbXh2WTJGc0lpd2laVzUyYVhKdmJtMWxiblFpT2lKTlUwd2lMQ0p6Wld4c1pYSWlPaUpUUlRBd01EQTVOaUlzSW5ObGJHeGxjbWQxYVdRaU9pSXhNRGsxTVdKak5TMWhabU16TFRRMU1HRXRObVZrTVMwd09HUTRORE5sTm1FNU9UUWlMQ0p3WlhKdGFYTnphVzl1SWpwYkluTmhiR1Z6TG1WNGNHOXlkSFJsYlhCc1lYUmxjeTV5WldGa0lpd2laRzlqZFcxbGJuUnNhV0p5WVhKNUxuUmhaeTV5WldGa0lpd2laRzlqZFcxbGJuUnNhV0p5WVhKNUxtUnZZM1Z0Wlc1MExuSmxZV1FpTENKa2IyTjFiV1Z1ZEd4cFluSmhjbmt1ZEdGblozSnZkWEF1Y21WaFpDSXNJbk5oYkdWekxtOXlaR1Z5TG5keWFYUmxJaXdpYzJGc1pYTXVZM1Z6ZEc5dFpYSXVjbVZoWkNJc0luTmhiR1Z6TG05eVpHVnlMbVJsYkdsMlpYSjVZV1JrY21WemN5NTNjbWwwWlNJc0luTmxjblpwWTJVdWNtVnhkV1Z6ZEM1eVpXRmtJaXdpWTJGMFlXeHZaeTUwWVdjdWNtVmhaQ0lzSW5OaGJHVnpMbTl5WkdWeUxuSmxZV1FpTENKellXeGxjeTVqZFhOMGIyMWxjaTUzY21sMFpTSXNJbkpsY1hWbGMzUm1iM0p4ZFc5MFpTNTNjbWwwWlNJc0luTmhiR1Z6TG05eVpHVnlMbUp2YjJzaUxDSnlaWEYxWlhOMFptOXljWFZ2ZEdVdWNtVmhaQ0lzSW5OaGJHVnpMbXhsWVdRdWNtVmhaQ0lzSW5CMWNtTm9ZWE5sTG05eVpHVnlMbkpsWVdRaUxDSnpZV3hsY3k1eGRXOTBaUzV5WldGa0lpd2ljMkZzWlhNdWNYVnZkR1V1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MbWwwWlcwdWNtVmhaQ0lzSW5OaGJHVnpMbXhsWVdRdWQzSnBkR1VpTENKelpYSjJhV05sTG5KbGNYVmxjM1F1YzNWaWJXbDBJaXdpYzJGc1pYTXViM0prWlhJdVpHVnNhWFpsY25saFpHUnlaWE56TG5KbFlXUWlMQ0p3ZFhKamFHRnpaUzV2Y21SbGNpNTNjbWwwWlNJc0luQjFjbU5vWVhObExtOXlaR1Z5TG5CeWFXTmxjeTUzY21sMFpTSXNJbkIxY21Ob1lYTmxMbTl5WkdWeUxuQnlhV05sY3k1eVpXRmtJaXdpYzJWeWRtbGpaUzV5WlhGMVpYTjBMbmR5YVhSbElpd2lZMkYwWVd4dlp5NWpZWFJoYkc5bkxuSmxZV1FpTENKallYUmhiRzluTG1OaGRHRnNiMmN1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MbU4xY25KbGJtTjVMbkpsWVdRaUxDSmpZWFJoYkc5bkxtTjFjbkpsYm1ONUxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1cGRHVnRMbmR5YVhSbElpd2lZMkYwWVd4dlp5NXNiMk5oYkdsNllYUnBiMjR1Y21WaFpDSXNJbU5oZEdGc2IyY3ViRzlqWVd4cGVtRjBhVzl1TG5keWFYUmxJaXdpWTJGMFlXeHZaeTV3Y205a2RXTjBMbkpsWVdRaUxDSmpZWFJoYkc5bkxuQnliMlIxWTNRdWQzSnBkR1VpTENKallYUmhiRzluTG5CeWIyUjFZM1J6WlhSMGFXNW5MbkpsWVdRaUxDSmpZWFJoYkc5bkxuQnliMlIxWTNSelpYUjBhVzVuTG5keWFYUmxJaXdpWTJGMFlXeHZaeTV6Wld4c1pYSXVjbVZoWkNJc0ltTmhkR0ZzYjJjdWMyVnNiR1Z5TG5keWFYUmxJaXdpWTJGMFlXeHZaeTUwWVdjdWQzSnBkR1VpTENKallYUmhiRzluTG5WdmJTNXlaV0ZrSWl3aVkyRjBZV3h2Wnk1MWIyMHVkM0pwZEdVaUxDSmpZWFJoYkc5bkxuWmhkR05oZEdWbmIzSjVMbkpsWVdRaUxDSmpZWFJoYkc5bkxuWmhkR05oZEdWbmIzSjVMbmR5YVhSbElpd2lZMkYwWVd4dlp5NTJaVzVrYjNJdWNtVmhaQ0lzSW1OaGRHRnNiMmN1ZG1WdVpHOXlMbmR5YVhSbElpd2ljSFZ5WTJoaGMyVXVjMlZzYkdWeUxuSmxZV1FpTENKd2RYSmphR0Z6WlM1elpXeHNaWEl1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MbUZ5ZEdsamJHVXVjbVZoWkNJc0ltTmhkR0ZzYjJjdVlYSjBhV05zWlM1M2NtbDBaU0lzSW5OaGJHVnpMbkYxYjNSbExteHBibVZ6TG5KbFlXUWlMQ0p6WVd4bGN5NXhkVzkwWlM1c2FXNWxjeTUzY21sMFpTSXNJbk5oYkdWekxuTmxiR3hsY2k1eVpXRmtJaXdpYzJGc1pYTXVjMlZzYkdWeUxuZHlhWFJsSWl3aVlXTmpiM1Z1ZEdsdVp5NTJaVzVrYjNKcGJuWnZhV05sTG5KbFlXUWlMQ0pwWkdWdWRHbDBlUzUxYzJWeUxuSmxZV1FpTENKcFpHVnVkR2wwZVM1MWMyVnlMbmR5YVhSbElpd2lhV1JsYm5ScGRIa3VjbTlzWlM1eVpXRmtJaXdpYzJWc2JHVnlMbkJ5YjJSMVkzUndjbWxqWlM1elpYUjBhVzVuY3k1eVpXRmtJaXdpYzJWc2JHVnlMbkJ5YjJSMVkzUndjbWxqWlM1elpYUjBhVzVuY3k1M2NtbDBaU0lzSW1OdmJtWnBaM1Z5WVhSdmNpNXdkWEpqYUdGelpYQnlhV05sTG5KbFlXUWlMQ0p6ZEc5amF5NW1ZV0p5YVdNdWNtVmhaQ0pkTENKdVlXMWxJam9pVW05aWFXNGlMQ0ptWVcxcGJIbGZibUZ0WlNJNkltUmxJRmRwYm5SbGNpQW9RMjlzYVdwdUxVbFVLU0lzSW5KdmJHVWlPbHNpYzJWc2JHVnlJaXdpWkdWaGJHVnlYMjFoYm1GblpYSWlYU3dpYVdGMElqb3hOek15TVRrNU1qazFMQ0p6WTI5d1pTSTZXeUpqWVhSaGJHOW5jWFZsY25saGNHa2lMQ0pqYjI1bWFXZDFjbUYwYjNKaGNHa2lMQ0p3Y205a2RXTjBkbUZ5YVdGdWRHTnZiVzFoYm1SaGNHa2lMQ0p3Y205a2RXTjBkbUZ5YVdGdWRIRjFaWEo1WVhCcElsMHNJbUZ0Y2lJNld5SnBiWEJsY25OdmJtRjBhVzl1SWwxOS5yYmd1VlBua1hYRHpzTTZRS2dYdWxockY0MWpJakN1R0RWMTNpZzFHQzhNZXdMQ0o3d0EwMzhPU3dUMjZzeDJtQ2V4anZ1R1l0NDVZU2NmUHdmVGtEeTNFclBtSFJvZHM2NFgxZEpXWm5mLTIzTlRQMmlJMzJLXzF2TVpINUdPR2JNenVGdGJLQUZRdjRoZ0ZBeG95V3FGVld5SnZ1T3RRY1d5WlN0Uk95UEh3akFucG5qLXgxY1ZRcE9oYk8ta1FVRnZ5X1ZVclBwRjNhWVZDY08yY0ZpclFUWFI2a3hTR2NZR0djc1BZLV9laUFkOTNVZEcyRU02eExBb2NETGFGVjcyQ1FJNlhFczBXUUcxZjRTcXZINTJ2M09Ua2dXQkxnWVYzNWdweUllMC0ybmF6R0wwUjhwVE51RHFyT2I3T0dtdVRSTW9USWlSaTY3LXdUeHg4Y1FcIjtcclxuICAgIHB1YmxpYyB2YXJpYW50OiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcHVibGljIHVybFBhcmFtczogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXJbXSA9IFtdO1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfZXh0ZXJuYWxTb3VyY2U6IEV4dGVybmFsU291cmNlO1xyXG4gICAgcHJpdmF0ZSBfZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm86IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvO1xyXG4gICAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICBwcml2YXRlIF9wcm9kdWN0Q29ubmVjdG9yU2VydmljZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvQ2FydC5zdWJzY3JpYmUoKGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFRvQ2FydC5uZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBhcnRpY2xlOiBkYXRhLmFydGljbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IGRhdGEucXVhbnRpdHksXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ0RlZmluaXRpb246IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxTb3VyY2U6IHRoaXMuX2V4dGVybmFsU291cmNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvUXVvdGUuc3Vic2NyaWJlKGpzb24gPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRUb1F1b3RlLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGFydGljbGU6IGpzb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ0RlZmluaXRpb246IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxTb3VyY2U6IHRoaXMuX2V4dGVybmFsU291cmNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2suc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5hbHRlcm5hdGl2ZUNsaWNrLm5leHQoYXJ0aWNsZSkpXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNvbmZpZ3VyYXRpb25GaW5pc2hlZCh2YXJpYW50U3RyaW5nOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy5jb25maWd1cmF0b3JGaW5pc2hlZC5lbWl0KHZhcmlhbnRTdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3ByZXBhcmVFeHRlcm5hbFNvdXJjZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2V4dGVybmFsU291cmNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leHRlcm5hbFVybCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MgPSB7fTtcclxuICAgICAgICBpZiAodGhpcy5leHRlcm5hbFNvdXJjZS50eXBlID09PSAnQ0FURicpIHtcclxuICAgICAgICAgICBhd2FpdCB0aGlzLl9wcmVwYXJlQ2F0RmFybSgpO1xyXG4gICAgICAgIH0gZWxzZSAgaWYgKHRoaXMuZXh0ZXJuYWxTb3VyY2UudHlwZSA9PT0gJ0hUREwnKXtcclxuICAgICAgICAgIHRoaXMuX3ByZXBhcmVDb25maWd1cmF0b3IoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fcHJlcGFyZVNvdXJjZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcHJlcGFyZUNhdEZhcm0oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBnZXQgYnVuZGxlIHNldHRpbmdzIGZyb20gZXh0ZXJuYWwgc291cmNlXHJcbiAgICBjb25zdCBidW5kbGVTZXR0aW5nczogc3RyaW5nID0gYXdhaXQgdGhpcy5fcHJvZHVjdENvbm5lY3RvclNlcnZpY2UuZ2V0UHJvZHVjdEJ1bmRsZVNldHRpbmdzKHRoaXMuZXh0ZXJuYWxTb3VyY2UudXJsLCBwYXJzZUludCh0aGlzLmV4dGVybmFsU291cmNlLnNjaGVtYSwgMCkpO1xyXG4gICAgdGhpcy5leHRlcm5hbFNldHRpbmdzID0gSlNPTi5wYXJzZShidW5kbGVTZXR0aW5ncyk7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy5vcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5leHRlcm5hbFNldHRpbmdzLmFzc2V0UGF0aCA9IFwiaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDNcIjtcclxuICAgIC8vIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy50aHJlZURBc3NldFBhdGggPSBcImh0dHBzOi8vY2RuMS5jb2xpam4taXQubmwvY29udGVudDQzXCI7XHJcbiAgICBpZiAodGhpcy5leHRlcm5hbFNvdXJjZS51c2VybmFtZSAmJiB0aGlzLmV4dGVybmFsU291cmNlLnBhc3N3b3JkKSB7XHJcbiAgICAgIHRoaXMuZXh0ZXJuYWxTZXR0aW5ncy51c2VMb2dpbkVuY3J5cHRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MudXNlcm5hbWUgPSB0aGlzLmV4dGVybmFsU291cmNlLnVzZXJuYW1lO1xyXG4gICAgICB0aGlzLmV4dGVybmFsU2V0dGluZ3MucGFzc3dvcmQgPSB0aGlzLmV4dGVybmFsU291cmNlLnBhc3N3b3JkO1xyXG4gICAgfVxyXG4gICAgLy8gZmluYWxseSBzaG93IHRoZSBjYXRhbG9nXHJcbiAgICB0aGlzLnN3aXRjaFRvUHJvZHVjdCgpO1xyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNvbmZpZ3VyYXRvcigpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8pIHtcclxuICAgICAgdGhpcy50b2tlbiA9IHRoaXMuZXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm8udG9rZW47XHJcbiAgICAgIHRoaXMuc2t1ID0gdGhpcy5leHRlcm5hbENhdGFsb2dTdGFydHVwSW5mby5leHRlcm5hbEdvb2RJZDtcclxuICAgICAgdGhpcy52YXJpYW50ID0gdGhpcy5leHRlcm5hbENhdGFsb2dTdGFydHVwSW5mby5mbGF0dGVuZWRHb29kSWQ7XHJcbiAgICAgIHRoaXMudXJsUGFyYW1zID0gdGhpcy5leHRlcm5hbENhdGFsb2dTdGFydHVwSW5mby5leHRlcm5hbFNvdXJjZS5wYXJhbWV0ZXJzO1xyXG4gICAgICB0aGlzLnN3aXRjaFRvQ29uZmlndXJhdG9yKCk7XHJcbiAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVTb3VyY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4dGVybmFsVXJsID0gdGhpcy5leHRlcm5hbFNvdXJjZS51cmw7XHJcbiAgICB0aGlzLnNhZmVVcmwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuZXh0ZXJuYWxVcmwpO1xyXG4gICAgdGhpcy5zd2l0Y2hUb1NvdXJjZSgpO1xyXG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzd2l0Y2hUb1Byb2R1Y3QoKTp2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93Q29uZmlndXJhdG9yID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTb3VyY2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3dpdGNoVG9Db25maWd1cmF0b3IoKTp2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0NvbmZpZ3VyYXRvciA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dTb3VyY2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3dpdGNoVG9Tb3VyY2UoKTp2b2lkIHtcclxuICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0NvbmZpZ3VyYXRvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U291cmNlID0gdHJ1ZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ProductExternalSourceComponent } from './product-external-source.component';
4
- import { ProductPageModule } from '../product-page/product-page.module';
5
- import { ProductHdModule } from '../product-hd/product-hd.module';
6
- export class ProductExternalSourceModule {
7
- }
8
- ProductExternalSourceModule.decorators = [
9
- { type: NgModule, args: [{
10
- imports: [
11
- CommonModule,
12
- ProductPageModule,
13
- ProductHdModule
14
- ],
15
- declarations: [
16
- ProductExternalSourceComponent
17
- ],
18
- exports: [
19
- ProductExternalSourceComponent
20
- ]
21
- },] }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1leHRlcm5hbC1zb3VyY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFlaEUsTUFBTSxPQUFPLDJCQUEyQjs7O1lBYnZDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLGVBQWU7aUJBQ2xCO2dCQUNELFlBQVksRUFBRTtvQkFDViw4QkFBOEI7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRTtvQkFDTCw4QkFBOEI7aUJBQ2pDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50fSBmcm9tICcuL3Byb2R1Y3QtZXh0ZXJuYWwtc291cmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvZHVjdFBhZ2VNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtcGFnZS9wcm9kdWN0LXBhZ2UubW9kdWxlJztcclxuaW1wb3J0IHtQcm9kdWN0SGRNb2R1bGV9IGZyb20gJy4uL3Byb2R1Y3QtaGQvcHJvZHVjdC1oZC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUHJvZHVjdFBhZ2VNb2R1bGUsXHJcbiAgICAgICAgUHJvZHVjdEhkTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUHJvZHVjdEV4dGVybmFsU291cmNlQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFByb2R1Y3RFeHRlcm5hbFNvdXJjZUNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEV4dGVybmFsU291cmNlTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -1,124 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { ProductScriptLoaderService } from '../../service/product-script-loader.service';
4
- export class ProductHdComponent {
5
- constructor(_scriptLoader, _renderer) {
6
- this._scriptLoader = _scriptLoader;
7
- this._renderer = _renderer;
8
- this.variant = '';
9
- this.urlParams = [];
10
- this.configuratorFinished = new EventEmitter();
11
- this.configurationError = new EventEmitter();
12
- this.showClass = true;
13
- }
14
- set content(child) {
15
- this.hdeConfigurator = child;
16
- this._prepareAttributes();
17
- }
18
- set sku(value) {
19
- this._sku = value;
20
- this._prepareAttributes();
21
- }
22
- get sku() {
23
- return this._sku;
24
- }
25
- ngOnDestroy() {
26
- this._scriptLoader.unloadScripts(this._renderer);
27
- }
28
- handleConfigurationFinished(event) {
29
- if (event.detail.variant && typeof event.detail.variant === 'string') {
30
- this.configuratorFinished.emit(event.detail.variant);
31
- }
32
- else {
33
- this.configuratorFinished.emit(this.variant);
34
- }
35
- }
36
- handleError(event) {
37
- this.configurationError.emit(event.detail.status);
38
- }
39
- _prepareAttributes() {
40
- if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.urlParams && this.token && (this.sku || this.variant)) {
41
- //for local testing please turn off for packing and publishing!
42
- //this.prepareTestingUrlparams();
43
- this._prepareConfiguratorUrls();
44
- this.hdeConfigurator.nativeElement.setAttribute('bearerToken', this.token);
45
- if (this._sku) {
46
- this.hdeConfigurator.nativeElement.setAttribute('data-productId', this._sku);
47
- }
48
- if (this.variant) {
49
- this.hdeConfigurator.nativeElement.setAttribute('data-productVariantId', this.variant);
50
- }
51
- this._loadTheScripts();
52
- }
53
- }
54
- //set necessary references to configurator.
55
- _prepareConfiguratorUrls() {
56
- //fetch the setting from the external source
57
- let apiurl = this.urlParams.find((item) => item.key === 'apiurl').value;
58
- let productVariantCommandApiUrl = this.urlParams.find((item) => item.key === 'productVariantCommandApiUrl').value;
59
- let productVariantQueryApiUrl = this.urlParams.find((item) => item.key === 'productVariantQueryApiUrl').value;
60
- let localizationApiUrl = this.urlParams.find((item) => item.key === 'localizationApiUrl').value;
61
- //apply to configurator
62
- this.hdeConfigurator.nativeElement.setAttribute('apiurl', apiurl);
63
- this.hdeConfigurator.nativeElement.setAttribute('productVariantCommandApiUrl', productVariantCommandApiUrl);
64
- this.hdeConfigurator.nativeElement.setAttribute('productVariantQueryApiUrl', productVariantQueryApiUrl);
65
- this.hdeConfigurator.nativeElement.setAttribute('localizationApiUrl', localizationApiUrl);
66
- }
67
- // load external scripts into client
68
- _loadTheScripts() {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- let headerUrls = this.urlParams.find((item) => item.key === 'header').value;
71
- let headerArray = headerUrls.replace(/\s+/g, '').split(',');
72
- for (let i = 0; i < headerArray.length; i++) {
73
- yield this._scriptLoader.loadScript(headerArray[i], this._renderer).catch((error) => console.error(error));
74
- }
75
- let styles = this.urlParams.find((item) => item.key === 'stylesheet').value;
76
- let stylesArray = styles.replace(/\s+/g, '').split(',');
77
- for (let j = 0; j < stylesArray.length; j++) {
78
- yield this._scriptLoader.addStyleSheet(stylesArray[j], this._renderer);
79
- }
80
- //for local testing please turn off for packing and publishing!
81
- /*const scripts: string[] = [
82
- // hard-coded for now, should come from the external source
83
- 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/polyfills.js',
84
- 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/runtime.js',
85
- 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/main.js'
86
- ]
87
- for (let i = 0; i < scripts.length; i++) {
88
- await this._scriptLoader.loadScript(scripts[i], this._renderer).catch((error) => console.error(error));
89
- }
90
- await this._scriptLoader.addStyleSheet('https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/styles.css', this._renderer);*/
91
- });
92
- }
93
- }
94
- ProductHdComponent.decorators = [
95
- { type: Component, args: [{
96
- selector: 'co-product-hd',
97
- template: `
98
- <hde-configurator #hdeConfigurator
99
- language="nl"
100
- localizationFileExtension=".json"
101
- (configurationFinished)="handleConfigurationFinished($event)"
102
- (configurationFailed)="handleError($event)"
103
- >
104
- <hde-progress-bar></hde-progress-bar>
105
- </hde-configurator>
106
- `,
107
- encapsulation: ViewEncapsulation.None
108
- },] }
109
- ];
110
- ProductHdComponent.ctorParameters = () => [
111
- { type: ProductScriptLoaderService },
112
- { type: Renderer2 }
113
- ];
114
- ProductHdComponent.propDecorators = {
115
- content: [{ type: ViewChild, args: ['hdeConfigurator', { read: ElementRef },] }],
116
- sku: [{ type: Input }],
117
- token: [{ type: Input }],
118
- variant: [{ type: Input }],
119
- urlParams: [{ type: Input }],
120
- configuratorFinished: [{ type: Output }],
121
- configurationError: [{ type: Output }],
122
- showClass: [{ type: HostBinding, args: ['class.co-product-hd',] }]
123
- };
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1oZC9wcm9kdWN0LWhkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBaUJ2RixNQUFNLE9BQU8sa0JBQWtCO0lBdUM3QixZQUNVLGFBQXlDLEVBQ3pDLFNBQW9CO1FBRHBCLGtCQUFhLEdBQWIsYUFBYSxDQUE0QjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBckJ2QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBR3JCLGNBQVMsR0FBOEIsRUFBRSxDQUFDO1FBRzFDLHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3hFLHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBSWhFLGNBQVMsR0FBWSxJQUFJLENBQUM7SUFVakMsQ0FBQztJQTFDRCxJQUFzRCxPQUFPLENBQUMsS0FBSztRQUNqRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDVyxHQUFHLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUErQkQsV0FBVztRQUNULElB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QUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEU7WUFFRCwrREFBK0Q7WUFDL0Q7Ozs7Ozs7OztxSkFTeUk7UUFDM0ksQ0FBQztLQUFBOzs7WUFwSUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoQk8sMEJBQTBCO1lBSmhDLFNBQVM7OztzQkFzQlIsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztrQkFLL0MsS0FBSztvQkFVTCxLQUFLO3NCQUdMLEtBQUs7d0JBR0wsS0FBSzttQ0FHTCxNQUFNO2lDQUdOLE1BQU07d0JBSU4sV0FBVyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1Byb2R1Y3RTY3JpcHRMb2FkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLXBhcmFtZXRlci5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXByb2R1Y3QtaGQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aGRlLWNvbmZpZ3VyYXRvciAjaGRlQ29uZmlndXJhdG9yXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZT1cIm5sXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbkZpbGVFeHRlbnNpb249XCIuanNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY29uZmlndXJhdGlvbkZpbmlzaGVkKT1cImhhbmRsZUNvbmZpZ3VyYXRpb25GaW5pc2hlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjb25maWd1cmF0aW9uRmFpbGVkKT1cImhhbmRsZUVycm9yKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8aGRlLXByb2dyZXNzLWJhcj48L2hkZS1wcm9ncmVzcy1iYXI+XHJcbiAgICA8L2hkZS1jb25maWd1cmF0b3I+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2hkZUNvbmZpZ3VyYXRvcicsIHtyZWFkOiBFbGVtZW50UmVmfSkgc2V0IGNvbnRlbnQoY2hpbGQpIHtcclxuICAgIHRoaXMuaGRlQ29uZmlndXJhdG9yID0gY2hpbGQ7XHJcbiAgICB0aGlzLl9wcmVwYXJlQXR0cmlidXRlcygpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNrdSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9za3UgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3ByZXBhcmVBdHRyaWJ1dGVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNrdSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NrdTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRva2VuOiBzdHJpbmc7IC8vPSBcImV5SmhiR2NpT2lKU1V6STFOaUlzSW10cFpDSTZJa1l4T1RoRVJrVkVPRVV3UVRRMU16WTNNME0xTVVFMlJqazFRVVZEUXpVM1JUTTBOak00UmtSU1V6STFOaUlzSW5SNWNDSTZJbUYwSzJwM2RDSXNJbmcxZENJNklqaGFhbVkzV1RSTFVsUmFlbmhTY0hac1lUZE5WaTFPUjA5UU1DSjkuZXlKdVltWWlPakUzTXpjeE1qUTJORFFzSW1WNGNDSTZNVGN6TnpFeU9ESTBOQ3dpYVhOeklqb2lhSFIwY0hNNkx5OWliWE5wWkdWdWRHbDBlUzFoWTJObGNIUmhibU5sTG1GNmRYSmxkMlZpYzJsMFpYTXVibVYwSWl3aVlYVmtJanBiSW1OaGRHRnNiMmR4ZFdWeWVXRndhU0lzSW1OdmJtWnBaM1Z5WVhSdmNtRndhU0lzSW5CeWIyUjFZM1IyWVhKcFlXNTBZMjl0YldGdVpHRndhU0lzSW5CeWIyUjFZM1IyWVhKcFlXNTBjWFZsY25saGNHa2lYU3dpWTJ4cFpXNTBYMmxrSWpvaWFXMXdaWEp6YjI1aGRHbHZiaTVqYkdsbGJuUWlMQ0p6ZFdJaU9pSXdPVE13WkRJNE1pMDVOR1U0TFRRNU1HRXRPR0kyTkMxbVlUazFZbUl5WXpFMU9ESWlMQ0poZFhSb1gzUnBiV1VpT2pFM016Y3hNalEyTkRRc0ltbGtjQ0k2SW14dlkyRnNJaXdpWlc1MmFYSnZibTFsYm5RaU9pSk5VMHdpTENKelpXeHNaWElpT2lKVFJUQXdNREE1TmlJc0luTmxiR3hsY21kMWFXUWlPaUl4TURrMU1XSmpOUzFoWm1NekxUUTFNR0V0Tm1Wa01TMHdPR1E0TkRObE5tRTVPVFFpTENKd1pYSnRhWE56YVc5dUlqcGJJbk5oYkdWekxtVjRjRzl5ZEhSbGJYQnNZWFJsY3k1eVpXRmtJaXdpWkc5amRXMWxiblJzYVdKeVlYSjVMblJoWnk1eVpXRmtJaXdpWkc5amRXMWxiblJzYVdKeVlYSjVMbVJ2WTNWdFpXNTBMbkpsWVdRaUxDSmtiMk4xYldWdWRHeHBZbkpoY25rdWRHRm5aM0p2ZFhBdWNtVmhaQ0lzSW5OaGJHVnpMbTl5WkdWeUxuZHlhWFJsSWl3aWMyRnNaWE11WTNWemRHOXRaWEl1Y21WaFpDSXNJbk5oYkdWekxtOXlaR1Z5TG1SbGJHbDJaWEo1WVdSa2NtVnpjeTUzY21sMFpTSXNJbk5sY25acFkyVXVjbVZ4ZFdWemRDNXlaV0ZrSWl3aVkyRjBZV3h2Wnk1MFlXY3VjbVZoWkNJc0luTmhiR1Z6TG05eVpHVnlMbkpsWVdRaUxDSnpZV3hsY3k1amRYTjBiMjFsY2k1M2NtbDBaU0lzSW5KbGNYVmxjM1JtYjNKeGRXOTBaUzUzY21sMFpTSXNJbk5oYkdWekxtOXlaR1Z5TG1KdmIyc2lMQ0p5WlhGMVpYTjBabTl5Y1hWdmRHVXVjbVZoWkNJc0luTmhiR1Z6TG14bFlXUXVjbVZoWkNJc0luQjFjbU5vWVhObExtOXlaR1Z5TG5KbFlXUWlMQ0p6WVd4bGN5NXhkVzkwWlM1eVpXRmtJaXdpYzJGc1pYTXVjWFZ2ZEdVdWQzSnBkR1VpTENKallYUmhiRzluTG1sMFpXMHVjbVZoWkNJc0luTmhiR1Z6TG14bFlXUXVkM0pwZEdVaUxDSnpaWEoyYVdObExuSmxjWFZsYzNRdWMzVmliV2wwSWl3aWMyRnNaWE11YjNKa1pYSXVaR1ZzYVhabGNubGhaR1J5WlhOekxuSmxZV1FpTENKd2RYSmphR0Z6WlM1dmNtUmxjaTUzY21sMFpTSXNJbkIxY21Ob1lYTmxMbTl5WkdWeUxuQnlhV05sY3k1M2NtbDBaU0lzSW5CMWNtTm9ZWE5sTG05eVpHVnlMbkJ5YVdObGN5NXlaV0ZrSWl3aWMyVnlkbWxqWlM1eVpYRjFaWE4wTG5keWFYUmxJaXdpWTJGMFlXeHZaeTVqWVhSaGJHOW5MbkpsWVdRaUxDSmpZWFJoYkc5bkxtTmhkR0ZzYjJjdWQzSnBkR1VpTENKallYUmhiRzluTG1OMWNuSmxibU41TG5KbFlXUWlMQ0pqWVhSaGJHOW5MbU4xY25KbGJtTjVMbmR5YVhSbElpd2lZMkYwWVd4dlp5NXBkR1Z0TG5keWFYUmxJaXdpWTJGMFlXeHZaeTVzYjJOaGJHbDZZWFJwYjI0dWNtVmhaQ0lzSW1OaGRHRnNiMmN1Ykc5allXeHBlbUYwYVc5dUxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1d2NtOWtkV04wTG5KbFlXUWlMQ0pqWVhSaGJHOW5MbkJ5YjJSMVkzUXVkM0pwZEdVaUxDSmpZWFJoYkc5bkxuQnliMlIxWTNSelpYUjBhVzVuTG5KbFlXUWlMQ0pqWVhSaGJHOW5MbkJ5YjJSMVkzUnpaWFIwYVc1bkxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1elpXeHNaWEl1Y21WaFpDSXNJbU5oZEdGc2IyY3VjMlZzYkdWeUxuZHlhWFJsSWl3aVkyRjBZV3h2Wnk1MFlXY3VkM0pwZEdVaUxDSmpZWFJoYkc5bkxuVnZiUzV5WldGa0lpd2lZMkYwWVd4dlp5NTFiMjB1ZDNKcGRHVWlMQ0pqWVhSaGJHOW5MblpoZEdOaGRHVm5iM0o1TG5KbFlXUWlMQ0pqWVhSaGJHOW5MblpoZEdOaGRHVm5iM0o1TG5keWFYUmxJaXdpWTJGMFlXeHZaeTUyWlc1a2IzSXVjbVZoWkNJc0ltTmhkR0ZzYjJjdWRtVnVaRzl5TG5keWFYUmxJaXdpY0hWeVkyaGhjMlV1YzJWc2JHVnlMbkpsWVdRaUxDSndkWEpqYUdGelpTNXpaV3hzWlhJdWQzSnBkR1VpTENKallYUmhiRzluTG1GeWRHbGpiR1V1Y21WaFpDSXNJbU5oZEdGc2IyY3VZWEowYVdOc1pTNTNjbWwwWlNJc0luTmhiR1Z6TG5GMWIzUmxMbXhwYm1WekxuSmxZV1FpTENKellXeGxjeTV4ZFc5MFpTNXNhVzVsY3k1M2NtbDBaU0lzSW5OaGJHVnpMbk5sYkd4bGNpNXlaV0ZrSWl3aWMyRnNaWE11YzJWc2JHVnlMbmR5YVhSbElpd2lZV05qYjNWdWRHbHVaeTUyWlc1a2IzSnBiblp2YVdObExuSmxZV1FpTENKcFpHVnVkR2wwZVM1MWMyVnlMbkpsWVdRaUxDSnBaR1Z1ZEdsMGVTNTFjMlZ5TG5keWFYUmxJaXdpYVdSbGJuUnBkSGt1Y205c1pTNXlaV0ZrSWl3aWMyVnNiR1Z5TG5CeWIyUjFZM1J3Y21salpTNXpaWFIwYVc1bmN5NXlaV0ZrSWl3aWMyVnNiR1Z5TG5CeWIyUjFZM1J3Y21salpTNXpaWFIwYVc1bmN5NTNjbWwwWlNJc0ltTnZibVpwWjNWeVlYUnZjaTV3ZFhKamFHRnpaWEJ5YVdObExuSmxZV1FpTENKemRHOWpheTVtWVdKeWFXTXVjbVZoWkNJc0luTmhiR1Z6TG05eVpHVnlMbkJzWVdObElsMHNJbTVoYldVaU9pSlNiMkpwYmlJc0ltWmhiV2xzZVY5dVlXMWxJam9pWkdVZ1YybHVkR1Z5SUNoRGIyeHBhbTR0U1ZRcElpd2ljbTlzWlNJNld5SnpaV3hzWlhJaUxDSmtaV0ZzWlhKZmJXRnVZV2RsY2lKZExDSnBZWFFpT2pFM016Y3hNalEyTkRRc0luTmpiM0JsSWpwYkltTmhkR0ZzYjJkeGRXVnllV0Z3YVNJc0ltTnZibVpwWjNWeVlYUnZjbUZ3YVNJc0luQnliMlIxWTNSMllYSnBZVzUwWTI5dGJXRnVaR0Z3YVNJc0luQnliMlIxWTNSMllYSnBZVzUwY1hWbGNubGhjR2tpWFN3aVlXMXlJanBiSW1sdGNHVnljMjl1WVhScGIyNGlYWDAuSXJtZ0pieVByV3dOWU8xeGd5RmNWM09zbVE3cUY1bmJodXg4b3BMejhWVzR6YTNjbzRhWFVFNEU5SFlCekpGcHVyY3Y5VDdvTDBBaGJRcTR6YmpOU1c5NzNHWUFGSV9ldUlNWm9idHpYSEtfY29CdVR4V1huZkRDOE1tRkFKaGR1SXQxSFhnWVZYNmR0WV9SV3dhSGZFSXk0SjVZQmp4eldnSGdEclJHX0VkbjVfUUtmQzZQdVR6TFVvSGtJYXVsZWhHazhwdGxSS3dOb0hpR0F4a0h0LWdyZWZCalBseWVXOThPOVBxUHpsNF93UjZQX2M4d0pRaUZDakFQcEFEdmtLdXdkTjA2QkoyUTltWFFhc1lPb201TTZmLUI1MVBCUnlhalgtZjIwckEzamoxNmJSTG5JcXZXUlotcC1VMnp4ZldVS3dCQVhhLWFFY0xINkxIVEFRXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhcmlhbnQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1cmxQYXJhbXM6IEV4dGVybmFsU291cmNlUGFyYW1ldGVyW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNvbmZpZ3VyYXRvckZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY29uZmlndXJhdGlvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1wcm9kdWN0LWhkJylcclxuICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIGhkZUNvbmZpZ3VyYXRvcjogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBfc2t1OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2NyaXB0TG9hZGVyOiBQcm9kdWN0U2NyaXB0TG9hZGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fc2NyaXB0TG9hZGVyLnVubG9hZFNjcmlwdHModGhpcy5fcmVuZGVyZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNvbmZpZ3VyYXRpb25GaW5pc2hlZChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5kZXRhaWwudmFyaWFudCAmJiB0eXBlb2YgZXZlbnQuZGV0YWlsLnZhcmlhbnQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdG9yRmluaXNoZWQuZW1pdChldmVudC5kZXRhaWwudmFyaWFudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRvckZpbmlzaGVkLmVtaXQodGhpcy52YXJpYW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFcnJvcihldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbkVycm9yLmVtaXQoZXZlbnQuZGV0YWlsLnN0YXR1cyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlQXR0cmlidXRlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhkZUNvbmZpZ3VyYXRvciAmJiB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50ICYmIHRoaXMudXJsUGFyYW1zICYmIHRoaXMudG9rZW4gJiYgKHRoaXMuc2t1IHx8IHRoaXMudmFyaWFudCkpIHtcclxuICAgICAgLy9mb3IgbG9jYWwgdGVzdGluZyBwbGVhc2UgdHVybiBvZmYgZm9yIHBhY2tpbmcgYW5kIHB1Ymxpc2hpbmchXHJcbiAgICAgIC8vdGhpcy5wcmVwYXJlVGVzdGluZ1VybHBhcmFtcygpO1xyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZUNvbmZpZ3VyYXRvclVybHMoKTtcclxuICAgICAgdGhpcy5oZGVDb25maWd1cmF0b3IubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2JlYXJlclRva2VuJywgdGhpcy50b2tlbik7XHJcbiAgICAgIGlmICh0aGlzLl9za3UpIHtcclxuICAgICAgICB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wcm9kdWN0SWQnLCB0aGlzLl9za3UpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnZhcmlhbnQpIHtcclxuICAgICAgICB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wcm9kdWN0VmFyaWFudElkJywgdGhpcy52YXJpYW50KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9sb2FkVGhlU2NyaXB0cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9zZXQgbmVjZXNzYXJ5IHJlZmVyZW5jZXMgdG8gY29uZmlndXJhdG9yLlxyXG4gIHByaXZhdGUgX3ByZXBhcmVDb25maWd1cmF0b3JVcmxzKCk6IHZvaWQge1xyXG4gICAgLy9mZXRjaCB0aGUgc2V0dGluZyBmcm9tIHRoZSBleHRlcm5hbCBzb3VyY2VcclxuICAgIGxldCBhcGl1cmw6IHN0cmluZyA9IHRoaXMudXJsUGFyYW1zLmZpbmQoKGl0ZW06IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKSA9PiBpdGVtLmtleSA9PT0gJ2FwaXVybCcpLnZhbHVlO1xyXG4gICAgbGV0IHByb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybDogc3RyaW5nID0gIHRoaXMudXJsUGFyYW1zLmZpbmQoKGl0ZW06IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKSA9PiBpdGVtLmtleSA9PT0gJ3Byb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybCcpLnZhbHVlO1xyXG4gICAgbGV0IHByb2R1Y3RWYXJpYW50UXVlcnlBcGlVcmw6IHN0cmluZyA9ICB0aGlzLnVybFBhcmFtcy5maW5kKChpdGVtOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcikgPT4gaXRlbS5rZXkgPT09ICdwcm9kdWN0VmFyaWFudFF1ZXJ5QXBpVXJsJykudmFsdWU7XHJcbiAgICBsZXQgbG9jYWxpemF0aW9uQXBpVXJsOiBzdHJpbmcgPSAgdGhpcy51cmxQYXJhbXMuZmluZCgoaXRlbTogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIpID0+IGl0ZW0ua2V5ID09PSAnbG9jYWxpemF0aW9uQXBpVXJsJykudmFsdWU7XHJcblxyXG4gICAgLy9hcHBseSB0byBjb25maWd1cmF0b3JcclxuICAgIHRoaXMuaGRlQ29uZmlndXJhdG9yLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcGl1cmwnLCBhcGl1cmwpO1xyXG4gICAgdGhpcy5oZGVDb25maWd1cmF0b3IubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3Byb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybCcsIHByb2R1Y3RWYXJpYW50Q29tbWFuZEFwaVVybCk7XHJcbiAgICB0aGlzLmhkZUNvbmZpZ3VyYXRvci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgncHJvZHVjdFZhcmlhbnRRdWVyeUFwaVVybCcsIHByb2R1Y3RWYXJpYW50UXVlcnlBcGlVcmwpO1xyXG4gICAgdGhpcy5oZGVDb25maWd1cmF0b3IubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2xvY2FsaXphdGlvbkFwaVVybCcsIGxvY2FsaXphdGlvbkFwaVVybClcclxuICB9XHJcblxyXG4gIC8vIGxvYWQgZXh0ZXJuYWwgc2NyaXB0cyBpbnRvIGNsaWVudFxyXG4gIHByaXZhdGUgYXN5bmMgX2xvYWRUaGVTY3JpcHRzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGhlYWRlclVybHM6IHN0cmluZyA9IHRoaXMudXJsUGFyYW1zLmZpbmQoKGl0ZW06IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKSA9PiBpdGVtLmtleSA9PT0gJ2hlYWRlcicpLnZhbHVlO1xyXG4gICAgbGV0IGhlYWRlckFycmF5OiBzdHJpbmdbXSA9IGhlYWRlclVybHMucmVwbGFjZSgvXFxzKy9nLCAnJykuc3BsaXQoJywnKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVhZGVyQXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgYXdhaXQgdGhpcy5fc2NyaXB0TG9hZGVyLmxvYWRTY3JpcHQoaGVhZGVyQXJyYXlbaV0sIHRoaXMuX3JlbmRlcmVyKS5jYXRjaCgoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3R5bGVzOiBzdHJpbmcgPSB0aGlzLnVybFBhcmFtcy5maW5kKChpdGVtOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcikgPT4gaXRlbS5rZXkgPT09ICdzdHlsZXNoZWV0JykudmFsdWU7XHJcbiAgICBsZXQgc3R5bGVzQXJyYXk6IHN0cmluZ1tdID0gc3R5bGVzLnJlcGxhY2UoL1xccysvZywgJycpLnNwbGl0KCcsJyk7XHJcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IHN0eWxlc0FycmF5Lmxlbmd0aDsgaisrKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3NjcmlwdExvYWRlci5hZGRTdHlsZVNoZWV0KHN0eWxlc0FycmF5W2pdLCB0aGlzLl9yZW5kZXJlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLy9mb3IgbG9jYWwgdGVzdGluZyBwbGVhc2UgdHVybiBvZmYgZm9yIHBhY2tpbmcgYW5kIHB1Ymxpc2hpbmchXHJcbiAgICAvKmNvbnN0IHNjcmlwdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAvLyBoYXJkLWNvZGVkIGZvciBub3csIHNob3VsZCBjb21lIGZyb20gdGhlIGV4dGVybmFsIHNvdXJjZVxyXG4gICAgICAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvcG9seWZpbGxzLmpzJyxcclxuICAgICAgJ2h0dHBzOi8vaGRlLWNkbi5henVyZWVkZ2UubmV0L2xpYnMvY29tcG9uZW50cy9Db25maWd1cmF0b3IvMS4wLjMzL3J1bnRpbWUuanMnLFxyXG4gICAgICAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvbWFpbi5qcydcclxuICAgIF1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2NyaXB0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBhd2FpdCB0aGlzLl9zY3JpcHRMb2FkZXIubG9hZFNjcmlwdChzY3JpcHRzW2ldLCB0aGlzLl9yZW5kZXJlcikuY2F0Y2goKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKGVycm9yKSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9zY3JpcHRMb2FkZXIuYWRkU3R5bGVTaGVldCgnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvc3R5bGVzLmNzcycsIHRoaXMuX3JlbmRlcmVyKTsqL1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvL2ZvciBsb2NhbCB0ZXN0aW5nIHBsZWFzZSB0dXJuIG9mZiBmb3IgcGFja2luZyBhbmQgcHVibGlzaGluZyFcclxuICAvKnByaXZhdGUgcHJlcGFyZVRlc3RpbmdVcmxwYXJhbXMoKTogdm9pZCB7XHJcbiAgICBsZXQgaGVhZGVyczogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIgPSBuZXcgRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIoKTtcclxuICAgIGhlYWRlcnMuaWQgPSAxO1xyXG4gICAgaGVhZGVycy5rZXkgPSAnaGVhZGVyJztcclxuICAgIGhlYWRlcnMudmFsdWUgPSAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvcG9seWZpbGxzLmpzLGh0dHBzOi8vaGRlLWNkbi5henVyZWVkZ2UubmV0L2xpYnMvY29tcG9uZW50cy9Db25maWd1cmF0b3IvMS4wLjMzL3J1bnRpbWUuanMsaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvbWFpbi5qcyc7XHJcbiAgICBsZXQgc3R5bGVzOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlciA9IG5ldyBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcigpO1xyXG4gICAgc3R5bGVzLmlkID0gMjtcclxuICAgIHN0eWxlcy5rZXkgPSAnc3R5bGVzaGVldCc7XHJcbiAgICBzdHlsZXMudmFsdWUgPSAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9jb21wb25lbnRzL0NvbmZpZ3VyYXRvci8xLjAuMzMvc3R5bGVzLmNzcyc7XHJcbiAgICB0aGlzLnVybFBhcmFtcy5wdXNoKGhlYWRlcnMpO1xyXG4gICAgdGhpcy51cmxQYXJhbXMucHVzaChzdHlsZXMpO1xyXG4gICAgbGV0IGF1cmw6IEV4dGVybmFsU291cmNlUGFyYW1ldGVyID0gbmV3IEV4dGVybmFsU291cmNlUGFyYW1ldGVyKCk7XHJcbiAgICBhdXJsLmlkID0gMztcclxuICAgIGF1cmwua2V5ID0gJ2FwaXVybCc7XHJcbiAgICBhdXJsLnZhbHVlID0gJ2h0dHBzOi8vYm1zcHJvZHVjdGNvbmZpZ3VyYXRvci1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0L2FwaS9jb25maWd1cmF0b3IvJztcclxuICAgIGxldCBwdXJsOiBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlciA9IG5ldyBFeHRlcm5hbFNvdXJjZVBhcmFtZXRlcigpO1xyXG4gICAgcHVybC5pZCA9IDQ7XHJcbiAgICBwdXJsLmtleSA9ICdwcm9kdWN0VmFyaWFudENvbW1hbmRBcGlVcmwnO1xyXG4gICAgcHVybC52YWx1ZSA9ICdodHRwczovL2Jtc3Byb2R1Y3R2YXJpYW50Y29tbWFuZC1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0Lyc7XHJcbiAgICBsZXQgcXVybDogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIgPSBuZXcgRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIoKTtcclxuICAgIHF1cmwuaWQgPSA1O1xyXG4gICAgcXVybC5rZXkgPSAncHJvZHVjdFZhcmlhbnRRdWVyeUFwaVVybCc7XHJcbiAgICBxdXJsLnZhbHVlID0gJ2h0dHBzOi8vYm1zcHJvZHVjdHZhcmlhbnRxdWVyeS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0Lyc7XHJcbiAgICBsZXQgbHVybDogRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIgPSBuZXcgRXh0ZXJuYWxTb3VyY2VQYXJhbWV0ZXIoKTtcclxuICAgIGx1cmwuaWQgPSA2O1xyXG4gICAgbHVybC5rZXkgPSAnbG9jYWxpemF0aW9uQXBpVXJsJztcclxuICAgIGx1cmwudmFsdWUgPSAnaHR0cHM6Ly9oZGUtY2RuLmF6dXJlZWRnZS5uZXQvbGlicy9CTVMuRFNULkxvY2FsaXphdGlvbi8nO1xyXG4gICAgdGhpcy51cmxQYXJhbXMucHVzaChoZWFkZXJzKTtcclxuICAgIHRoaXMudXJsUGFyYW1zLnB1c2goc3R5bGVzKTtcclxuICAgIHRoaXMudXJsUGFyYW1zLnB1c2goYXVybCk7XHJcbiAgICB0aGlzLnVybFBhcmFtcy5wdXNoKHB1cmwpO1xyXG4gICAgdGhpcy51cmxQYXJhbXMucHVzaChxdXJsKTtcclxuICAgIHRoaXMudXJsUGFyYW1zLnB1c2gobHVybCk7XHJcbiAgfSovXHJcbn1cclxuIl19
@@ -1,23 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ProductHdComponent } from './product-hd.component';
4
- export class ProductHdModule {
5
- }
6
- ProductHdModule.decorators = [
7
- { type: NgModule, args: [{
8
- imports: [
9
- CommonModule
10
- ],
11
- declarations: [
12
- ProductHdComponent
13
- ],
14
- schemas: [
15
- CUSTOM_ELEMENTS_SCHEMA,
16
- NO_ERRORS_SCHEMA
17
- ],
18
- exports: [
19
- ProductHdComponent
20
- ]
21
- },] }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1oZC9wcm9kdWN0LWhkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQWlCMUQsTUFBTSxPQUFPLGVBQWU7OztZQWYzQixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7aUJBQ2Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGtCQUFrQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHNCQUFzQjtvQkFDdEIsZ0JBQWdCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsa0JBQWtCO2lCQUNyQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1Byb2R1Y3RIZENvbXBvbmVudH0gZnJvbSAnLi9wcm9kdWN0LWhkLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFByb2R1Y3RIZENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHNjaGVtYXM6IFtcclxuICAgICAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gICAgICAgIE5PX0VSUk9SU19TQ0hFTUFcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgUHJvZHVjdEhkQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -1,82 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { ProductEventService } from '../../service/product-event.service';
3
- export class ProductInfoTabsComponent {
4
- constructor(_appEventService) {
5
- this._appEventService = _appEventService;
6
- this.activeTabHeight = 0;
7
- this.tabs = [];
8
- this._subs = [];
9
- this._subs.push(this._appEventService.onUpdateProductInfoTab.subscribe((index) => {
10
- this.updateTab(index);
11
- this.tabContent.nativeElement.scrollIntoView({ behavior: 'smooth' });
12
- }));
13
- }
14
- set article(value) {
15
- if (value) {
16
- this.articleObject = value;
17
- this._setupTabs();
18
- this.updateTab(0);
19
- }
20
- }
21
- ngOnDestroy() {
22
- this._subs.forEach(s => s.unsubscribe());
23
- }
24
- updateTab(tabIndex) {
25
- this.activeTab = tabIndex;
26
- this.updateHeight(tabIndex);
27
- }
28
- updateHeight(tabIndex) {
29
- if (this.tabContent && this.tabContent.nativeElement.children.length > 0) {
30
- if (this.tabContent.nativeElement.children[tabIndex] !== undefined) {
31
- this.activeTabHeight = this.tabContent.nativeElement.children[tabIndex].offsetHeight;
32
- }
33
- }
34
- }
35
- _setupTabs() {
36
- this.tabs.push({ title: 'DESCRIPTION' });
37
- this.tabs.push({ title: 'FEATURES' });
38
- if (this.articleObject.documents !== undefined && this.articleObject.documents.length > 0) {
39
- this.tabs.push({ title: 'DOWNLOADS' });
40
- }
41
- if (this.articleObject.symbols !== undefined && this.articleObject.symbols.length > 0) {
42
- this.tabs.push({ title: 'SYMBOLS' });
43
- }
44
- }
45
- }
46
- ProductInfoTabsComponent.decorators = [
47
- { type: Component, args: [{
48
- selector: 'app-product-info-tabs',
49
- template: `
50
- <div class="tab-container">
51
- <div class="tab-header">
52
- <button *ngFor="let tab of tabs; let i = index" class="tab-header-button" [class.active]="activeTab === i" [textContent]="tab.title | localize" (click)="updateTab(i)"></button>
53
- </div>
54
- <div class="tab-content" #tabContent [style.height.px]="(activeTabHeight > 0 ? activeTabHeight : '')">
55
- <div class="tab-content-item" *ngFor="let tab of tabs; let i = index" [class.active]="activeTab === i">
56
- <ng-container *ngIf="i === 0">
57
- <app-product-additional-info class="" [article]="articleObject" [showLabel]="false"></app-product-additional-info>
58
- </ng-container>
59
- <ng-container *ngIf="i === 1">
60
- <app-product-properties class="" [article]="articleObject" [showLabel]="false"></app-product-properties>
61
- </ng-container>
62
- <ng-container *ngIf="i === 2">
63
- <app-product-documents [showLabel]="false" class="" *ngIf="articleObject?.documents && articleObject?.documents.length > 0" [documents]="articleObject?.documents"></app-product-documents>
64
- </ng-container>
65
- <ng-container *ngIf="i === 3">
66
- <app-product-symbols class="" *ngIf="articleObject?.symbols && articleObject?.symbols.length > 0" [symbols]="articleObject?.symbols"></app-product-symbols>
67
- </ng-container>
68
- </div>
69
- </div>
70
- </div>
71
- `,
72
- styles: ["*:focus{outline:none}:host .tab-header{border-bottom:3px solid #f6f5f4;margin:0 0 30px}:host .tab-header .tab-header-button{background:transparent;border:none;border-bottom:3px solid transparent;line-height:20px;padding:15px 20px;cursor:pointer;font-family:iOneMontserrat;color:#22313c;font-weight:bold;margin:0 0 -3px;opacity:.5}:host .tab-header .tab-header-button:hover{opacity:1}:host .tab-header .tab-header-button.active{opacity:1;border-color:#74b77f}:host .tab-content{padding:0 20px 30px;margin:0 0 20px;border-bottom:2px solid #f6f5f4;transition:all .2s ease-in-out;position:relative}:host .tab-content .tab-content-item{opacity:0;position:absolute;left:0;top:0;visibility:hidden;width:100%}:host .tab-content .tab-content-item.active{opacity:1;visibility:visible;position:static}@media screen and (max-width: 650px){:host .tab-content{padding:0 10px 15px}}@media screen and (max-width: 450px){:host .tab-header{display:flex}:host .tab-header .tab-header-button{width:100%;padding:10px;font-size:11px}}\n"]
73
- },] }
74
- ];
75
- ProductInfoTabsComponent.ctorParameters = () => [
76
- { type: ProductEventService }
77
- ];
78
- ProductInfoTabsComponent.propDecorators = {
79
- tabContent: [{ type: ViewChild, args: ['tabContent',] }],
80
- article: [{ type: Input }]
81
- };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBNkIxRSxNQUFNLE9BQU8sd0JBQXdCO0lBdUJuQyxZQUNVLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBckJ4QyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUs1QixTQUFJLEdBQVUsRUFBRSxDQUFDO1FBYWhCLFVBQUssR0FBbUIsRUFBRSxDQUFDO1FBS2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBcEJELElBQ0ksT0FBTyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBZUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUFnQjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBZ0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDbEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQ3RGO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6RixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQ3RDO0lBRUgsQ0FBQzs7O1lBMUZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7O2FBRUY7OztZQTVCUSxtQkFBbUI7Ozt5QkFrQ3pCLFNBQVMsU0FBQyxZQUFZO3NCQU90QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFydGljbGVGdWxsT2JqZWN0IH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQcm9kdWN0RXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1pbmZvLXRhYnMnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWhlYWRlclwiPlxyXG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJ0YWItaGVhZGVyLWJ1dHRvblwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSBpXCIgW3RleHRDb250ZW50XT1cInRhYi50aXRsZSB8IGxvY2FsaXplXCIgKGNsaWNrKT1cInVwZGF0ZVRhYihpKVwiPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCIgI3RhYkNvbnRlbnQgW3N0eWxlLmhlaWdodC5weF09XCIoYWN0aXZlVGFiSGVpZ2h0ID4gMCA/IGFjdGl2ZVRhYkhlaWdodCA6ICcnKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudC1pdGVtXCIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaSA9IGluZGV4XCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IGlcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpID09PSAwXCI+XHJcbiAgICAgICAgICAgIDxhcHAtcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gY2xhc3M9XCJcIiBbYXJ0aWNsZV09XCJhcnRpY2xlT2JqZWN0XCIgW3Nob3dMYWJlbF09XCJmYWxzZVwiPjwvYXBwLXByb2R1Y3QtYWRkaXRpb25hbC1pbmZvPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSA9PT0gMVwiPlxyXG4gICAgICAgICAgICA8YXBwLXByb2R1Y3QtcHJvcGVydGllcyBjbGFzcz1cIlwiIFthcnRpY2xlXT1cImFydGljbGVPYmplY3RcIiBbc2hvd0xhYmVsXT1cImZhbHNlXCI+PC9hcHAtcHJvZHVjdC1wcm9wZXJ0aWVzPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSA9PT0gMlwiPlxyXG4gICAgICAgICAgICA8YXBwLXByb2R1Y3QtZG9jdW1lbnRzIFtzaG93TGFiZWxdPVwiZmFsc2VcIiBjbGFzcz1cIlwiICpuZ0lmPVwiYXJ0aWNsZU9iamVjdD8uZG9jdW1lbnRzICYmIGFydGljbGVPYmplY3Q/LmRvY3VtZW50cy5sZW5ndGggPiAwXCIgW2RvY3VtZW50c109XCJhcnRpY2xlT2JqZWN0Py5kb2N1bWVudHNcIj48L2FwcC1wcm9kdWN0LWRvY3VtZW50cz5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgPT09IDNcIj5cclxuICAgICAgICAgICAgPGFwcC1wcm9kdWN0LXN5bWJvbHMgY2xhc3M9XCJcIiAqbmdJZj1cImFydGljbGVPYmplY3Q/LnN5bWJvbHMgJiYgYXJ0aWNsZU9iamVjdD8uc3ltYm9scy5sZW5ndGggPiAwXCIgW3N5bWJvbHNdPVwiYXJ0aWNsZU9iamVjdD8uc3ltYm9sc1wiPjwvYXBwLXByb2R1Y3Qtc3ltYm9scz5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1pbmZvLXRhYnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEluZm9UYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIGFjdGl2ZVRhYjogbnVtYmVyO1xyXG4gIHB1YmxpYyBhY3RpdmVUYWJIZWlnaHQ6IG51bWJlciA9IDA7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRlbnQnKVxyXG4gIHB1YmxpYyB0YWJDb250ZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBwdWJsaWMgdGFiczogYW55W10gPSBbXTtcclxuXHJcbiAgcHVibGljIGFydGljbGVPYmplY3Q6IEFydGljbGVGdWxsT2JqZWN0O1xyXG5cclxuICBASW5wdXQgKClcclxuICBzZXQgYXJ0aWNsZSh2YWx1ZTogQXJ0aWNsZUZ1bGxPYmplY3QpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmFydGljbGVPYmplY3QgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5fc2V0dXBUYWJzKCk7XHJcbiAgICAgIHRoaXMudXBkYXRlVGFiKDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uVXBkYXRlUHJvZHVjdEluZm9UYWIuc3Vic2NyaWJlKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVUYWIoaW5kZXgpO1xyXG4gICAgICAgIHRoaXMudGFiQ29udGVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVUYWIodGFiSW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWJJbmRleDtcclxuICAgIHRoaXMudXBkYXRlSGVpZ2h0KHRhYkluZGV4KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVIZWlnaHQodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudGFiQ29udGVudCAmJiB0aGlzLnRhYkNvbnRlbnQubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh0aGlzLnRhYkNvbnRlbnQubmF0aXZlRWxlbWVudC5jaGlsZHJlblt0YWJJbmRleF0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiSGVpZ2h0ID0gdGhpcy50YWJDb250ZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bdGFiSW5kZXhdLm9mZnNldEhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0dXBUYWJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJzLnB1c2goeyB0aXRsZTogJ0RFU0NSSVBUSU9OJyB9KTtcclxuICAgIHRoaXMudGFicy5wdXNoKHsgdGl0bGU6ICdGRUFUVVJFUycgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuYXJ0aWNsZU9iamVjdC5kb2N1bWVudHMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmFydGljbGVPYmplY3QuZG9jdW1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50YWJzLnB1c2goeyB0aXRsZTogJ0RPV05MT0FEUycgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYXJ0aWNsZU9iamVjdC5zeW1ib2xzICE9PSB1bmRlZmluZWQgJiYgdGhpcy5hcnRpY2xlT2JqZWN0LnN5bWJvbHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnRhYnMucHVzaCh7IHRpdGxlOiAnU1lNQk9MUycgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,29 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ProductInfoTabsComponent } from './product-info-tabs.component';
4
- import { PipeModule } from '../../pipe/pipe.module';
5
- import { ProductAdditionalInfoModule } from '../product-additional-info/product-additional-info.module';
6
- import { ProductPropertiesModule } from '../product-properties/product-properties.module';
7
- import { ProductDocumentModule } from '../product-documents/product-document.module';
8
- import { ProductSymbolsModule } from '../product-symbols/product-symbols.module';
9
- export class ProductInfoTabsModule {
10
- }
11
- ProductInfoTabsModule.decorators = [
12
- { type: NgModule, args: [{
13
- imports: [
14
- CommonModule,
15
- PipeModule,
16
- ProductAdditionalInfoModule,
17
- ProductPropertiesModule,
18
- ProductDocumentModule,
19
- ProductSymbolsModule
20
- ],
21
- declarations: [
22
- ProductInfoTabsComponent
23
- ],
24
- exports: [
25
- ProductInfoTabsComponent
26
- ]
27
- },] }
28
- ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXRhYnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFrQi9FLE1BQU0sT0FBTyxxQkFBcUI7OztZQWhCakMsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFVBQVU7b0JBQ1YsMkJBQTJCO29CQUMzQix1QkFBdUI7b0JBQ3ZCLHFCQUFxQjtvQkFDckIsb0JBQW9CO2lCQUN2QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1Ysd0JBQXdCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsd0JBQXdCO2lCQUMzQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1Byb2R1Y3RJbmZvVGFic0NvbXBvbmVudH0gZnJvbSAnLi9wcm9kdWN0LWluZm8tdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3RBZGRpdGlvbmFsSW5mb01vZHVsZX0gZnJvbSAnLi4vcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8vcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8ubW9kdWxlJztcclxuaW1wb3J0IHtQcm9kdWN0UHJvcGVydGllc01vZHVsZX0gZnJvbSAnLi4vcHJvZHVjdC1wcm9wZXJ0aWVzL3Byb2R1Y3QtcHJvcGVydGllcy5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3REb2N1bWVudE1vZHVsZX0gZnJvbSAnLi4vcHJvZHVjdC1kb2N1bWVudHMvcHJvZHVjdC1kb2N1bWVudC5tb2R1bGUnO1xyXG5pbXBvcnQge1Byb2R1Y3RTeW1ib2xzTW9kdWxlfSBmcm9tICcuLi9wcm9kdWN0LXN5bWJvbHMvcHJvZHVjdC1zeW1ib2xzLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIFByb2R1Y3RBZGRpdGlvbmFsSW5mb01vZHVsZSxcclxuICAgICAgICBQcm9kdWN0UHJvcGVydGllc01vZHVsZSxcclxuICAgICAgICBQcm9kdWN0RG9jdW1lbnRNb2R1bGUsXHJcbiAgICAgICAgUHJvZHVjdFN5bWJvbHNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBQcm9kdWN0SW5mb1RhYnNDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgUHJvZHVjdEluZm9UYWJzQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SW5mb1RhYnNNb2R1bGUge1xyXG59XHJcbiJdfQ==