@colijnit/product 256.1.3 → 256.1.5

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.
@@ -0,0 +1,68 @@
1
+ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
+ import { isPlatformBrowser } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class ProductScriptLoaderService {
5
+ constructor(platformId) {
6
+ this.platformId = platformId;
7
+ this._scriptsOrLinksElements = [];
8
+ }
9
+ loadScript(url, renderer) {
10
+ return new Promise((resolve, reject) => {
11
+ if (!isPlatformBrowser(this.platformId)) {
12
+ reject('Not in browser environment');
13
+ return;
14
+ }
15
+ const existingScript = document.getElementById(url);
16
+ if (existingScript) {
17
+ resolve(); // Script already loaded
18
+ return;
19
+ }
20
+ const script = renderer.createElement('script');
21
+ script.id = url;
22
+ script.src = url;
23
+ script.type = 'text/javascript';
24
+ script.async = true;
25
+ script.onload = () => resolve();
26
+ script.onerror = (error) => reject(`Error loading script: ${url}`);
27
+ renderer.appendChild(document.head, script);
28
+ this._scriptsOrLinksElements.push(script);
29
+ });
30
+ }
31
+ unloadScripts(renderer) {
32
+ for (let i = this._scriptsOrLinksElements.length - 1; i >= 0; i--) {
33
+ renderer.removeChild(document.head, this._scriptsOrLinksElements[i]);
34
+ this._scriptsOrLinksElements.pop();
35
+ }
36
+ }
37
+ addStyleSheet(url, renderer) {
38
+ return new Promise((resolve, reject) => {
39
+ if (!isPlatformBrowser(this.platformId)) {
40
+ reject('Not in browser environment');
41
+ return;
42
+ }
43
+ const existingStyleSheet = document.getElementById(url);
44
+ if (existingStyleSheet) {
45
+ resolve(); // Script already loaded
46
+ return;
47
+ }
48
+ const link = renderer.createElement('link');
49
+ link.id = url;
50
+ link.href = url;
51
+ link.rel = 'stylesheet';
52
+ link.onload = () => resolve();
53
+ link.onerror = (error) => reject(`Error loading styleSheet: ${url}`);
54
+ renderer.appendChild(document.head, link);
55
+ this._scriptsOrLinksElements.push(link);
56
+ });
57
+ }
58
+ }
59
+ ProductScriptLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductScriptLoaderService_Factory() { return new ProductScriptLoaderService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: ProductScriptLoaderService, providedIn: "root" });
60
+ ProductScriptLoaderService.decorators = [
61
+ { type: Injectable, args: [{
62
+ providedIn: 'root'
63
+ },] }
64
+ ];
65
+ ProductScriptLoaderService.ctorParameters = () => [
66
+ { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
67
+ ];
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2UvcHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUtsRCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBRVUsVUFBZTtRQUFmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFKakIsNEJBQXVCLEdBQVUsRUFBRSxDQUFDO0lBTzVDLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVyxFQUFFLFFBQW1CO1FBQ2hELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdkMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQ3JDLE9BQU87YUFDUjtZQUVELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUMsd0JBQXdCO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWhELE1BQU0sQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDaEMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFbkUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQW1CO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRSxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxHQUFXLEVBQUUsUUFBbUI7UUFDbkQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDckMsT0FBTzthQUNSO1lBRUQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksa0JBQWtCLEVBQUU7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLENBQUMsd0JBQXdCO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7WUFFeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFckUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBekVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQU1JLE1BQU0sU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNjcmlwdExvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9zY3JpcHRzT3JMaW5rc0VsZW1lbnRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpXHJcbiAgICBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkU2NyaXB0KHVybDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICByZWplY3QoJ05vdCBpbiBicm93c2VyIGVudmlyb25tZW50Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ1NjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHVybCk7XHJcbiAgICAgIGlmIChleGlzdGluZ1NjcmlwdCkge1xyXG4gICAgICAgIHJlc29sdmUoKTsgLy8gU2NyaXB0IGFscmVhZHkgbG9hZGVkXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzY3JpcHQgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuXHJcbiAgICAgIHNjcmlwdC5pZCA9IHVybDtcclxuICAgICAgc2NyaXB0LnNyYyA9IHVybDtcclxuICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcclxuXHJcbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7XHJcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoYEVycm9yIGxvYWRpbmcgc2NyaXB0OiAke3VybH1gKTtcclxuXHJcbiAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHNjcmlwdCk7XHJcbiAgICAgIHRoaXMuX3NjcmlwdHNPckxpbmtzRWxlbWVudHMucHVzaChzY3JpcHQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5sb2FkU2NyaXB0cyhyZW5kZXJlcjogUmVuZGVyZXIyKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICByZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLl9zY3JpcHRzT3JMaW5rc0VsZW1lbnRzW2ldKTtcclxuICAgICAgdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5wb3AoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRTdHlsZVNoZWV0KHVybDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICByZWplY3QoJ05vdCBpbiBicm93c2VyIGVudmlyb25tZW50Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ1N0eWxlU2hlZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh1cmwpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdTdHlsZVNoZWV0KSB7XHJcbiAgICAgICAgcmVzb2x2ZSgpOyAvLyBTY3JpcHQgYWxyZWFkeSBsb2FkZWRcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGxpbmsgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICAgIGxpbmsuaWQgPSB1cmw7XHJcbiAgICAgIGxpbmsuaHJlZiA9IHVybDtcclxuICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XHJcblxyXG4gICAgICBsaW5rLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcclxuICAgICAgbGluay5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoYEVycm9yIGxvYWRpbmcgc3R5bGVTaGVldDogJHt1cmx9YCk7XHJcblxyXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCBsaW5rKTtcclxuICAgICAgdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5wdXNoKGxpbmspO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -20,6 +20,8 @@ export { ProductDialogComponent as ɵbl } from './app/components/product-dialog/
20
20
  export { ProductDialogModule as ɵbk } from './app/components/product-dialog/product-dialog.module';
21
21
  export { ProductDocumentModule as ɵbf } from './app/components/product-documents/product-document.module';
22
22
  export { ProductDocumentsComponent as ɵbg } from './app/components/product-documents/product-documents.component';
23
+ export { ProductHdComponent as ɵbo } from './app/components/product-hd/product-hd.component';
24
+ export { ProductHdModule as ɵbn } from './app/components/product-hd/product-hd.module';
23
25
  export { ProductInfoTabsComponent as ɵbj } from './app/components/product-info-tabs/product-info-tabs.component';
24
26
  export { ProductInfoTabsModule as ɵba } from './app/components/product-info-tabs/product-info-tabs.module';
25
27
  export { ProductPageComponent as ɵbm } from './app/components/product-page/product-page.component';
@@ -40,5 +42,6 @@ export { LocalizePipe as ɵd } from './app/pipe/localize.pipe';
40
42
  export { PipeModule as ɵc } from './app/pipe/pipe.module';
41
43
  export { DictionaryService as ɵe } from './app/service/dictionary.service';
42
44
  export { IconCacheService as ɵh } from './app/service/icon-cache.service';
45
+ export { ProductScriptLoaderService as ɵbp } from './app/service/product-script-loader.service';
43
46
  export { JsonUtilsService as ɵf } from './app/utils/json-utils.service';
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtcHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xpam5pdC1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFDLHFDQUFxQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDBGQUEwRixDQUFDO0FBQ3JKLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUMvSSxPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDakksT0FBTyxFQUFDLDJCQUEyQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQzNILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDckgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsMEJBQTBCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzFILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUNwSCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbkcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUMxRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0hlYWRlckNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvY29yZS9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0hlYWRlck1vZHVsZSBhcyDJtXR9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvY29yZS9oZWFkZXIvaGVhZGVyLm1vZHVsZSc7XG5leHBvcnQge0ltYWdlQ2Fyb3VzZWxDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudCc7XG5leHBvcnQge0ltYWdlQ2Fyb3VzZWxNb2R1bGUgYXMgybVpfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2ltYWdlLWNhcm91c2VsL2ltYWdlLWNhcm91c2VsLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RBZGRpdGlvbmFsRGVzY3JpcHRpb25Db21wb25lbnQgYXMgybVufSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkaXRpb25hbC1kZXNjcmlwdGlvbi9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxEZXNjcmlwdGlvbk1vZHVsZSBhcyDJtW19IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uL3Byb2R1Y3QtYWRkaXRpb25hbC1kZXNjcmlwdGlvbi5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0QWRkaXRpb25hbEluZm9Db21wb25lbnQgYXMgybViY30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZGl0aW9uYWwtaW5mby9wcm9kdWN0LWFkZGl0aW9uYWwtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0QWRkaXRpb25hbEluZm9Nb2R1bGUgYXMgybViYn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZGl0aW9uYWwtaW5mby9wcm9kdWN0LWFkZGl0aW9uYWwtaW5mby5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0QWRkdG9jYXJ0Q29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZHRvY2FydC9wcm9kdWN0LWFkZHRvY2FydC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0QWRkdG9jYXJ0TW9kdWxlIGFzIMm1cX0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZHRvY2FydC9wcm9kdWN0LWFkZHRvY2FydC5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0RGVsaXZlcnlDb21wb25lbnQgYXMgybV6fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGVsaXZlcnkvcHJvZHVjdC1kZWxpdmVyeS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0RGVsaXZlcnlNb2R1bGUgYXMgybV5fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGVsaXZlcnkvcHJvZHVjdC1kZWxpdmVyeS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0RGVzY3JpcHRpb25Db21wb25lbnQgYXMgybVsfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGVzY3JpcHRpb24vcHJvZHVjdC1kZXNjcmlwdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0RGVzY3JpcHRpb25Nb2R1bGUgYXMgybVrfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGVzY3JpcHRpb24vcHJvZHVjdC1kZXNjcmlwdGlvbi5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0RGlhbG9nQ29tcG9uZW50IGFzIMm1Ymx9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1kaWFsb2cvcHJvZHVjdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdERpYWxvZ01vZHVsZSBhcyDJtWJrfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGlhbG9nL3Byb2R1Y3QtZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3REb2N1bWVudE1vZHVsZSBhcyDJtWJmfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZG9jdW1lbnRzL3Byb2R1Y3QtZG9jdW1lbnQubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERvY3VtZW50c0NvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZG9jdW1lbnRzL3Byb2R1Y3QtZG9jdW1lbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RJbmZvVGFic0NvbXBvbmVudCBhcyDJtWJqfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RJbmZvVGFic01vZHVsZSBhcyDJtWJhfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RQYWdlQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wYWdlL3Byb2R1Y3QtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0UGFnZU1vZHVsZSBhcyDJtWF9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wYWdlL3Byb2R1Y3QtcGFnZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0UHJpY2VDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0UHJpY2VNb2R1bGUgYXMgybVvfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0UHJvcGVydGllc0NvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJvcGVydGllcy9wcm9kdWN0LXByb3BlcnRpZXMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFByb3BlcnRpZXNNb2R1bGUgYXMgybViZH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXByb3BlcnRpZXMvcHJvZHVjdC1wcm9wZXJ0aWVzLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RSZWxhdGVkQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RSZWxhdGVkTW9kdWxlIGFzIMm1c30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RTZWxlY3RvclR5cGVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS9wcm9kdWN0LXNlbGVjdG9yLXR5cGUuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFNlbGVjdG9yVHlwZU1vZHVsZSBhcyDJtWJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1zZWxlY3Rvci10eXBlL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0U3RvY2tDb21wb25lbnQgYXMgybV4fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0U3RvY2tNb2R1bGUgYXMgybV3fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0U3ltYm9sc0NvbXBvbmVudCBhcyDJtWJpfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3ltYm9scy9wcm9kdWN0LXN5bWJvbHMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFN5bWJvbHNNb2R1bGUgYXMgybViaH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXN5bWJvbHMvcHJvZHVjdC1zeW1ib2xzLm1vZHVsZSc7XG5leHBvcnQge0xvY2FsaXplUGlwZSBhcyDJtWR9IGZyb20gJy4vYXBwL3BpcGUvbG9jYWxpemUucGlwZSc7XG5leHBvcnQge1BpcGVNb2R1bGUgYXMgybVjfSBmcm9tICcuL2FwcC9waXBlL3BpcGUubW9kdWxlJztcbmV4cG9ydCB7RGljdGlvbmFyeVNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2FwcC9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XG5leHBvcnQge0ljb25DYWNoZVNlcnZpY2UgYXMgybVofSBmcm9tICcuL2FwcC9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5leHBvcnQge0pzb25VdGlsc1NlcnZpY2UgYXMgybVmfSBmcm9tICcuL2FwcC91dGlscy9qc29uLXV0aWxzLnNlcnZpY2UnOyJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtcHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xpam5pdC1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFDLHFDQUFxQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDBGQUEwRixDQUFDO0FBQ3JKLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUMvSSxPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDakksT0FBTyxFQUFDLDJCQUEyQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQzNILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDckgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsa0JBQWtCLElBQUksR0FBRyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDM0YsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsMEJBQTBCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzFILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUNwSCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbkcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUMxRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzlGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtIZWFkZXJDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2NvcmUvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtIZWFkZXJNb2R1bGUgYXMgybV0fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2NvcmUvaGVhZGVyL2hlYWRlci5tb2R1bGUnO1xuZXhwb3J0IHtJbWFnZUNhcm91c2VsQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9pbWFnZS1jYXJvdXNlbC9pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQnO1xuZXhwb3J0IHtJbWFnZUNhcm91c2VsTW9kdWxlIGFzIMm1aX0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9pbWFnZS1jYXJvdXNlbC9pbWFnZS1jYXJvdXNlbC5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0QWRkaXRpb25hbERlc2NyaXB0aW9uQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24vcHJvZHVjdC1hZGRpdGlvbmFsLWRlc2NyaXB0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RBZGRpdGlvbmFsRGVzY3JpcHRpb25Nb2R1bGUgYXMgybVtfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkaXRpb25hbC1kZXNjcmlwdGlvbi9wcm9kdWN0LWFkZGl0aW9uYWwtZGVzY3JpcHRpb24ubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxJbmZvQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8vcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEFkZGl0aW9uYWxJbmZvTW9kdWxlIGFzIMm1YmJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8vcHJvZHVjdC1hZGRpdGlvbmFsLWluZm8ubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdEFkZHRvY2FydENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGR0b2NhcnQvcHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEFkZHRvY2FydE1vZHVsZSBhcyDJtXF9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1hZGR0b2NhcnQvcHJvZHVjdC1hZGR0b2NhcnQubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERlbGl2ZXJ5Q29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlbGl2ZXJ5L3Byb2R1Y3QtZGVsaXZlcnkuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdERlbGl2ZXJ5TW9kdWxlIGFzIMm1eX0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlbGl2ZXJ5L3Byb2R1Y3QtZGVsaXZlcnkubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERlc2NyaXB0aW9uQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlc2NyaXB0aW9uL3Byb2R1Y3QtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdERlc2NyaXB0aW9uTW9kdWxlIGFzIMm1a30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRlc2NyaXB0aW9uL3Byb2R1Y3QtZGVzY3JpcHRpb24ubW9kdWxlJztcbmV4cG9ydCB7UHJvZHVjdERpYWxvZ0NvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGlhbG9nL3Byb2R1Y3QtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3REaWFsb2dNb2R1bGUgYXMgybVia30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRpYWxvZy9wcm9kdWN0LWRpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0RG9jdW1lbnRNb2R1bGUgYXMgybViZn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRvY3VtZW50cy9wcm9kdWN0LWRvY3VtZW50Lm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3REb2N1bWVudHNDb21wb25lbnQgYXMgybViZ30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRvY3VtZW50cy9wcm9kdWN0LWRvY3VtZW50cy5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0SGRDb21wb25lbnQgYXMgybVib30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWhkL3Byb2R1Y3QtaGQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdEhkTW9kdWxlIGFzIMm1Ym59IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1oZC9wcm9kdWN0LWhkLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RJbmZvVGFic0NvbXBvbmVudCBhcyDJtWJqfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RJbmZvVGFic01vZHVsZSBhcyDJtWJhfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby10YWJzL3Byb2R1Y3QtaW5mby10YWJzLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RQYWdlQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wYWdlL3Byb2R1Y3QtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0UGFnZU1vZHVsZSBhcyDJtWF9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1wYWdlL3Byb2R1Y3QtcGFnZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0UHJpY2VDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0UHJpY2VNb2R1bGUgYXMgybVvfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2UvcHJvZHVjdC1wcmljZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0UHJvcGVydGllc0NvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtcHJvcGVydGllcy9wcm9kdWN0LXByb3BlcnRpZXMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFByb3BlcnRpZXNNb2R1bGUgYXMgybViZH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXByb3BlcnRpZXMvcHJvZHVjdC1wcm9wZXJ0aWVzLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RSZWxhdGVkQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2R1Y3RSZWxhdGVkTW9kdWxlIGFzIMm1c30gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXJlbGF0ZWQvcHJvZHVjdC1yZWxhdGVkLm1vZHVsZSc7XG5leHBvcnQge1Byb2R1Y3RTZWxlY3RvclR5cGVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS9wcm9kdWN0LXNlbGVjdG9yLXR5cGUuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFNlbGVjdG9yVHlwZU1vZHVsZSBhcyDJtWJ9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvcHJvZHVjdC1zZWxlY3Rvci10eXBlL3Byb2R1Y3Qtc2VsZWN0b3ItdHlwZS5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0U3RvY2tDb21wb25lbnQgYXMgybV4fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9kdWN0U3RvY2tNb2R1bGUgYXMgybV3fSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3RvY2svcHJvZHVjdC1zdG9jay5tb2R1bGUnO1xuZXhwb3J0IHtQcm9kdWN0U3ltYm9sc0NvbXBvbmVudCBhcyDJtWJpfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3Byb2R1Y3Qtc3ltYm9scy9wcm9kdWN0LXN5bWJvbHMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvZHVjdFN5bWJvbHNNb2R1bGUgYXMgybViaH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXN5bWJvbHMvcHJvZHVjdC1zeW1ib2xzLm1vZHVsZSc7XG5leHBvcnQge0xvY2FsaXplUGlwZSBhcyDJtWR9IGZyb20gJy4vYXBwL3BpcGUvbG9jYWxpemUucGlwZSc7XG5leHBvcnQge1BpcGVNb2R1bGUgYXMgybVjfSBmcm9tICcuL2FwcC9waXBlL3BpcGUubW9kdWxlJztcbmV4cG9ydCB7RGljdGlvbmFyeVNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2FwcC9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XG5leHBvcnQge0ljb25DYWNoZVNlcnZpY2UgYXMgybVofSBmcm9tICcuL2FwcC9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5leHBvcnQge1Byb2R1Y3RTY3JpcHRMb2FkZXJTZXJ2aWNlIGFzIMm1YnB9IGZyb20gJy4vYXBwL3NlcnZpY2UvcHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtKc29uVXRpbHNTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9hcHAvdXRpbHMvanNvbi11dGlscy5zZXJ2aWNlJzsiXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Directive, EventEmitter, Component, ViewEncapsulation, ChangeDetectorRef, Input, Output, Renderer2, ViewChild, ElementRef, Pipe, NgModule, HostListener, HostBinding, SecurityContext, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+ import { Injectable, Directive, EventEmitter, Component, ViewEncapsulation, ChangeDetectorRef, Input, Output, Renderer2, ViewChild, ElementRef, Pipe, NgModule, HostListener, HostBinding, SecurityContext, CUSTOM_ELEMENTS_SCHEMA, Inject, PLATFORM_ID, NO_ERRORS_SCHEMA } from '@angular/core';
3
3
  import { __awaiter } from 'tslib';
4
4
  import { Subject, BehaviorSubject } from 'rxjs';
5
5
  import { Options } from '@colijnit/ioneconnector/build/model/options';
@@ -16,22 +16,22 @@ import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/arti
16
16
  import * as i1 from '@angular/common/http';
17
17
  import { HttpClient } from '@angular/common/http';
18
18
  import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
19
- import { CommonModule } from '@angular/common';
19
+ import { CommonModule, isPlatformBrowser } from '@angular/common';
20
20
  import { trigger, state, style, transition, animate } from '@angular/animations';
21
21
  import * as i1$1 from '@angular/platform-browser';
22
22
  import { DomSanitizer } from '@angular/platform-browser';
23
23
  import { IconModule, LoaderModule, ScrollContainerModule, PriceDisplayPipeModule, NumberPickerModule, ButtonModule, FilesUploadModule, TileModule } from '@colijnit/corecomponents';
24
24
  import { CoDocument } from '@colijnit/mainapi/build/model/co-document';
25
25
  import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
26
- import { LoaderModule as LoaderModule$1, ArticleTileModule } from '@colijnit/corecomponents_v12';
26
+ import { LoaderModule as LoaderModule$1, ArticleTileModule, ButtonModule as ButtonModule$1 } from '@colijnit/corecomponents_v12';
27
27
 
28
28
  // this file is dynamically created, do not change this
29
29
  class Version {
30
30
  constructor() {
31
31
  this.name = "@colijnit/product";
32
32
  this.description = "Product detail page project for iOne";
33
- this.symVer = "256.1.3";
34
- this.publishDate = "20-11-2024 10:30:57";
33
+ this.symVer = "256.1.5";
34
+ this.publishDate = "8-2-2025 23:16:14";
35
35
  }
36
36
  }
37
37
 
@@ -662,6 +662,7 @@ class IoneProductComponent {
662
662
  this.onAddToQuote = new EventEmitter();
663
663
  this.openStockEvent = new EventEmitter();
664
664
  this.settingsLoaded = false;
665
+ this.showHD = false;
665
666
  this._subs = [];
666
667
  this._subs.push(
667
668
  // this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
@@ -721,7 +722,8 @@ IoneProductComponent.decorators = [
721
722
  [sku]="sku"
722
723
  [showRelatedProductsPopup]="showRelatedProductsPopup"
723
724
  ></app-product-page>
724
-
725
+ <!-- <co-button [label]="'click'" (click)="showHD = !showHD"></co-button>
726
+ <co-product-hd [sku]="'657946ca-e1e1-41fd-7ae0-08dbf7df0cef'" *ngIf="showHD"></co-product-hd>-->
725
727
  `,
726
728
  encapsulation: ViewEncapsulation.Emulated,
727
729
  styles: [""]
@@ -2613,30 +2615,208 @@ ProductPageModule.decorators = [
2613
2615
  },] }
2614
2616
  ];
2615
2617
 
2616
- class IoneProductModule {
2618
+ class ProductScriptLoaderService {
2619
+ constructor(platformId) {
2620
+ this.platformId = platformId;
2621
+ this._scriptsOrLinksElements = [];
2622
+ }
2623
+ loadScript(url, renderer) {
2624
+ return new Promise((resolve, reject) => {
2625
+ if (!isPlatformBrowser(this.platformId)) {
2626
+ reject('Not in browser environment');
2627
+ return;
2628
+ }
2629
+ const existingScript = document.getElementById(url);
2630
+ if (existingScript) {
2631
+ resolve(); // Script already loaded
2632
+ return;
2633
+ }
2634
+ const script = renderer.createElement('script');
2635
+ script.id = url;
2636
+ script.src = url;
2637
+ script.type = 'text/javascript';
2638
+ script.async = true;
2639
+ script.onload = () => resolve();
2640
+ script.onerror = (error) => reject(`Error loading script: ${url}`);
2641
+ renderer.appendChild(document.head, script);
2642
+ this._scriptsOrLinksElements.push(script);
2643
+ });
2644
+ }
2645
+ unloadScripts(renderer) {
2646
+ for (let i = this._scriptsOrLinksElements.length - 1; i >= 0; i--) {
2647
+ renderer.removeChild(document.head, this._scriptsOrLinksElements[i]);
2648
+ this._scriptsOrLinksElements.pop();
2649
+ }
2650
+ }
2651
+ addStyleSheet(url, renderer) {
2652
+ return new Promise((resolve, reject) => {
2653
+ if (!isPlatformBrowser(this.platformId)) {
2654
+ reject('Not in browser environment');
2655
+ return;
2656
+ }
2657
+ const existingStyleSheet = document.getElementById(url);
2658
+ if (existingStyleSheet) {
2659
+ resolve(); // Script already loaded
2660
+ return;
2661
+ }
2662
+ const link = renderer.createElement('link');
2663
+ link.id = url;
2664
+ link.href = url;
2665
+ link.rel = 'stylesheet';
2666
+ link.onload = () => resolve();
2667
+ link.onerror = (error) => reject(`Error loading styleSheet: ${url}`);
2668
+ renderer.appendChild(document.head, link);
2669
+ this._scriptsOrLinksElements.push(link);
2670
+ });
2671
+ }
2617
2672
  }
2618
- IoneProductModule.decorators = [
2673
+ ProductScriptLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductScriptLoaderService_Factory() { return new ProductScriptLoaderService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: ProductScriptLoaderService, providedIn: "root" });
2674
+ ProductScriptLoaderService.decorators = [
2675
+ { type: Injectable, args: [{
2676
+ providedIn: 'root'
2677
+ },] }
2678
+ ];
2679
+ ProductScriptLoaderService.ctorParameters = () => [
2680
+ { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
2681
+ ];
2682
+
2683
+ class ProductHdComponent {
2684
+ constructor(_scriptLoader, _renderer) {
2685
+ this._scriptLoader = _scriptLoader;
2686
+ this._renderer = _renderer;
2687
+ this.variant = '';
2688
+ this.urlParams = [];
2689
+ this.configuratorFinished = new EventEmitter();
2690
+ this.configurationError = new EventEmitter();
2691
+ this.showClass = true;
2692
+ }
2693
+ set content(child) {
2694
+ this.hdeConfigurator = child;
2695
+ this._prepareAttributes();
2696
+ }
2697
+ set sku(value) {
2698
+ this._sku = value;
2699
+ this._prepareAttributes();
2700
+ }
2701
+ get sku() {
2702
+ return this._sku;
2703
+ }
2704
+ ngOnDestroy() {
2705
+ this._scriptLoader.unloadScripts(this._renderer);
2706
+ }
2707
+ handleConfigurationFinished(event) {
2708
+ if (event.detail.variant && typeof event.detail.variant === 'string') {
2709
+ this.configuratorFinished.emit(event.detail.variant);
2710
+ }
2711
+ else {
2712
+ this.configuratorFinished.emit(this.variant);
2713
+ }
2714
+ }
2715
+ handleError(event) {
2716
+ this.configurationError.emit(event.detail.status);
2717
+ }
2718
+ _prepareAttributes() {
2719
+ if (this.hdeConfigurator && this.hdeConfigurator.nativeElement && this.urlParams && this.token && (this.sku || this.variant)) {
2720
+ //for local testing please turn off for packing and publishing!
2721
+ //this.prepareTestingUrlparams();
2722
+ this._prepareConfiguratorUrls();
2723
+ this.hdeConfigurator.nativeElement.setAttribute('bearerToken', this.token);
2724
+ if (this._sku) {
2725
+ this.hdeConfigurator.nativeElement.setAttribute('data-productId', this._sku);
2726
+ }
2727
+ if (this.variant) {
2728
+ this.hdeConfigurator.nativeElement.setAttribute('data-productVariantId', this.variant);
2729
+ }
2730
+ this._loadTheScripts();
2731
+ }
2732
+ }
2733
+ //set necessary references to configurator.
2734
+ _prepareConfiguratorUrls() {
2735
+ //fetch the setting from the external source
2736
+ let apiurl = this.urlParams.find((item) => item.key === 'apiurl').value;
2737
+ let productVariantCommandApiUrl = this.urlParams.find((item) => item.key === 'productVariantCommandApiUrl').value;
2738
+ let productVariantQueryApiUrl = this.urlParams.find((item) => item.key === 'productVariantQueryApiUrl').value;
2739
+ let localizationApiUrl = this.urlParams.find((item) => item.key === 'localizationApiUrl').value;
2740
+ //apply to configurator
2741
+ this.hdeConfigurator.nativeElement.setAttribute('apiurl', apiurl);
2742
+ this.hdeConfigurator.nativeElement.setAttribute('productVariantCommandApiUrl', productVariantCommandApiUrl);
2743
+ this.hdeConfigurator.nativeElement.setAttribute('productVariantQueryApiUrl', productVariantQueryApiUrl);
2744
+ this.hdeConfigurator.nativeElement.setAttribute('localizationApiUrl', localizationApiUrl);
2745
+ }
2746
+ // load external scripts into client
2747
+ _loadTheScripts() {
2748
+ return __awaiter(this, void 0, void 0, function* () {
2749
+ let headerUrls = this.urlParams.find((item) => item.key === 'header').value;
2750
+ let headerArray = headerUrls.replace(/\s+/g, '').split(',');
2751
+ for (let i = 0; i < headerArray.length; i++) {
2752
+ yield this._scriptLoader.loadScript(headerArray[i], this._renderer).catch((error) => console.error(error));
2753
+ }
2754
+ let styles = this.urlParams.find((item) => item.key === 'stylesheet').value;
2755
+ let stylesArray = styles.replace(/\s+/g, '').split(',');
2756
+ for (let j = 0; j < stylesArray.length; j++) {
2757
+ yield this._scriptLoader.addStyleSheet(stylesArray[j], this._renderer);
2758
+ }
2759
+ //for local testing please turn off for packing and publishing!
2760
+ /*const scripts: string[] = [
2761
+ // hard-coded for now, should come from the external source
2762
+ 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/polyfills.js',
2763
+ 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/runtime.js',
2764
+ 'https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/main.js'
2765
+ ]
2766
+ for (let i = 0; i < scripts.length; i++) {
2767
+ await this._scriptLoader.loadScript(scripts[i], this._renderer).catch((error) => console.error(error));
2768
+ }
2769
+ await this._scriptLoader.addStyleSheet('https://hde-cdn.azureedge.net/libs/components/Configurator/1.0.33/styles.css', this._renderer);*/
2770
+ });
2771
+ }
2772
+ }
2773
+ ProductHdComponent.decorators = [
2774
+ { type: Component, args: [{
2775
+ selector: 'co-product-hd',
2776
+ template: `
2777
+ <hde-configurator #hdeConfigurator
2778
+ language="nl"
2779
+ localizationFileExtension=".json"
2780
+ (configurationFinished)="handleConfigurationFinished($event)"
2781
+ (configurationFailed)="handleError($event)"
2782
+ >
2783
+ <hde-progress-bar></hde-progress-bar>
2784
+ </hde-configurator>
2785
+ `,
2786
+ encapsulation: ViewEncapsulation.None
2787
+ },] }
2788
+ ];
2789
+ ProductHdComponent.ctorParameters = () => [
2790
+ { type: ProductScriptLoaderService },
2791
+ { type: Renderer2 }
2792
+ ];
2793
+ ProductHdComponent.propDecorators = {
2794
+ content: [{ type: ViewChild, args: ['hdeConfigurator', { read: ElementRef },] }],
2795
+ sku: [{ type: Input }],
2796
+ token: [{ type: Input }],
2797
+ variant: [{ type: Input }],
2798
+ urlParams: [{ type: Input }],
2799
+ configuratorFinished: [{ type: Output }],
2800
+ configurationError: [{ type: Output }],
2801
+ showClass: [{ type: HostBinding, args: ['class.co-product-hd',] }]
2802
+ };
2803
+
2804
+ class ProductHdModule {
2805
+ }
2806
+ ProductHdModule.decorators = [
2619
2807
  { type: NgModule, args: [{
2620
2808
  imports: [
2621
- // BrowserAnimationsModule,
2622
- CommonModule,
2623
- ProductPageModule,
2624
- LoaderModule$1
2809
+ CommonModule
2625
2810
  ],
2626
2811
  declarations: [
2627
- IoneProductComponent
2628
- ],
2629
- exports: [
2630
- IoneProductComponent
2812
+ ProductHdComponent
2631
2813
  ],
2632
- bootstrap: [
2633
- IoneProductComponent
2814
+ schemas: [
2815
+ CUSTOM_ELEMENTS_SCHEMA,
2816
+ NO_ERRORS_SCHEMA
2634
2817
  ],
2635
- providers: [
2636
- ProductSettingsService,
2637
- ProductConnectorService,
2638
- ProductEventService,
2639
- ProductConnectorAdapterService
2818
+ exports: [
2819
+ ProductHdComponent
2640
2820
  ]
2641
2821
  },] }
2642
2822
  ];
@@ -2649,9 +2829,15 @@ class ProductExternalSourceComponent {
2649
2829
  this.addToCart = new EventEmitter();
2650
2830
  this.addToQuote = new EventEmitter();
2651
2831
  this.alternativeClick = new EventEmitter();
2832
+ this.configuratorFinished = new EventEmitter();
2652
2833
  this.showProduct = false;
2834
+ this.showConfigurator = false;
2835
+ this.showSource = false;
2653
2836
  this.loaded = false;
2654
2837
  this.externalSettings = {};
2838
+ this.token = ""; //= "eyJhbGciOiJSUzI1NiIsImtpZCI6IkYxOThERkVEOEUwQTQ1MzY3M0M1MUE2Rjk1QUVDQzU3RTM0NjM4RkRSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6IjhaamY3WTRLUlRaenhScHZsYTdNVi1OR09QMCJ9.eyJuYmYiOjE3MzIxOTkyOTUsImV4cCI6MTczMjIwMjg5NSwiaXNzIjoiaHR0cHM6Ly9ibXNpZGVudGl0eS1hY2NlcHRhbmNlLmF6dXJld2Vic2l0ZXMubmV0IiwiYXVkIjpbImNhdGFsb2dxdWVyeWFwaSIsImNvbmZpZ3VyYXRvcmFwaSIsInByb2R1Y3R2YXJpYW50Y29tbWFuZGFwaSIsInByb2R1Y3R2YXJpYW50cXVlcnlhcGkiXSwiY2xpZW50X2lkIjoiaW1wZXJzb25hdGlvbi5jbGllbnQiLCJzdWIiOiIwOTMwZDI4Mi05NGU4LTQ5MGEtOGI2NC1mYTk1YmIyYzE1ODIiLCJhdXRoX3RpbWUiOjE3MzIxOTkyOTUsImlkcCI6ImxvY2FsIiwiZW52aXJvbm1lbnQiOiJNU0wiLCJzZWxsZXIiOiJTRTAwMDA5NiIsInNlbGxlcmd1aWQiOiIxMDk1MWJjNS1hZmMzLTQ1MGEtNmVkMS0wOGQ4NDNlNmE5OTQiLCJwZXJtaXNzaW9uIjpbInNhbGVzLmV4cG9ydHRlbXBsYXRlcy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LnRhZy5yZWFkIiwiZG9jdW1lbnRsaWJyYXJ5LmRvY3VtZW50LnJlYWQiLCJkb2N1bWVudGxpYnJhcnkudGFnZ3JvdXAucmVhZCIsInNhbGVzLm9yZGVyLndyaXRlIiwic2FsZXMuY3VzdG9tZXIucmVhZCIsInNhbGVzLm9yZGVyLmRlbGl2ZXJ5YWRkcmVzcy53cml0ZSIsInNlcnZpY2UucmVxdWVzdC5yZWFkIiwiY2F0YWxvZy50YWcucmVhZCIsInNhbGVzLm9yZGVyLnJlYWQiLCJzYWxlcy5jdXN0b21lci53cml0ZSIsInJlcXVlc3Rmb3JxdW90ZS53cml0ZSIsInNhbGVzLm9yZGVyLmJvb2siLCJyZXF1ZXN0Zm9ycXVvdGUucmVhZCIsInNhbGVzLmxlYWQucmVhZCIsInB1cmNoYXNlLm9yZGVyLnJlYWQiLCJzYWxlcy5xdW90ZS5yZWFkIiwic2FsZXMucXVvdGUud3JpdGUiLCJjYXRhbG9nLml0ZW0ucmVhZCIsInNhbGVzLmxlYWQud3JpdGUiLCJzZXJ2aWNlLnJlcXVlc3Quc3VibWl0Iiwic2FsZXMub3JkZXIuZGVsaXZlcnlhZGRyZXNzLnJlYWQiLCJwdXJjaGFzZS5vcmRlci53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy53cml0ZSIsInB1cmNoYXNlLm9yZGVyLnByaWNlcy5yZWFkIiwic2VydmljZS5yZXF1ZXN0LndyaXRlIiwiY2F0YWxvZy5jYXRhbG9nLnJlYWQiLCJjYXRhbG9nLmNhdGFsb2cud3JpdGUiLCJjYXRhbG9nLmN1cnJlbmN5LnJlYWQiLCJjYXRhbG9nLmN1cnJlbmN5LndyaXRlIiwiY2F0YWxvZy5pdGVtLndyaXRlIiwiY2F0YWxvZy5sb2NhbGl6YXRpb24ucmVhZCIsImNhdGFsb2cubG9jYWxpemF0aW9uLndyaXRlIiwiY2F0YWxvZy5wcm9kdWN0LnJlYWQiLCJjYXRhbG9nLnByb2R1Y3Qud3JpdGUiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLnJlYWQiLCJjYXRhbG9nLnByb2R1Y3RzZXR0aW5nLndyaXRlIiwiY2F0YWxvZy5zZWxsZXIucmVhZCIsImNhdGFsb2cuc2VsbGVyLndyaXRlIiwiY2F0YWxvZy50YWcud3JpdGUiLCJjYXRhbG9nLnVvbS5yZWFkIiwiY2F0YWxvZy51b20ud3JpdGUiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LnJlYWQiLCJjYXRhbG9nLnZhdGNhdGVnb3J5LndyaXRlIiwiY2F0YWxvZy52ZW5kb3IucmVhZCIsImNhdGFsb2cudmVuZG9yLndyaXRlIiwicHVyY2hhc2Uuc2VsbGVyLnJlYWQiLCJwdXJjaGFzZS5zZWxsZXIud3JpdGUiLCJjYXRhbG9nLmFydGljbGUucmVhZCIsImNhdGFsb2cuYXJ0aWNsZS53cml0ZSIsInNhbGVzLnF1b3RlLmxpbmVzLnJlYWQiLCJzYWxlcy5xdW90ZS5saW5lcy53cml0ZSIsInNhbGVzLnNlbGxlci5yZWFkIiwic2FsZXMuc2VsbGVyLndyaXRlIiwiYWNjb3VudGluZy52ZW5kb3JpbnZvaWNlLnJlYWQiLCJpZGVudGl0eS51c2VyLnJlYWQiLCJpZGVudGl0eS51c2VyLndyaXRlIiwiaWRlbnRpdHkucm9sZS5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy5yZWFkIiwic2VsbGVyLnByb2R1Y3RwcmljZS5zZXR0aW5ncy53cml0ZSIsImNvbmZpZ3VyYXRvci5wdXJjaGFzZXByaWNlLnJlYWQiLCJzdG9jay5mYWJyaWMucmVhZCJdLCJuYW1lIjoiUm9iaW4iLCJmYW1pbHlfbmFtZSI6ImRlIFdpbnRlciAoQ29saWpuLUlUKSIsInJvbGUiOlsic2VsbGVyIiwiZGVhbGVyX21hbmFnZXIiXSwiaWF0IjoxNzMyMTk5Mjk1LCJzY29wZSI6WyJjYXRhbG9ncXVlcnlhcGkiLCJjb25maWd1cmF0b3JhcGkiLCJwcm9kdWN0dmFyaWFudGNvbW1hbmRhcGkiLCJwcm9kdWN0dmFyaWFudHF1ZXJ5YXBpIl0sImFtciI6WyJpbXBlcnNvbmF0aW9uIl19.rbguVPnkXXDzsM6QKgXulhrF41jIjCuGDV13ig1GC8MewLCJ7wA038OSwT26sx2mCexjvuGYt45YScfPwfTkDy3ErPmHRods64X1dJWZnf-23NTP2iI32K_1vMZH5GOGbMzuFtbKAFQv4hgFAxoyWqFVWyJvuOtQcWyZStROyPHwjAnpnj-x1cVQpOhbO-kQUFvy_VUrPpF3aYVCcO2cFirQTXR6kxSGcYGGcsPY-_eiAd93UdG2EM6xLAocDLaFV72CQI6XEs0WQG1f4SqvH52v3OTkgWBLgYV35gpyIe0-2nazGL0R8pTNuDqrOb7OGmuTRMoTIiRi67-wTxx8cQ";
2839
+ this.variant = "";
2840
+ this.urlParams = [];
2655
2841
  this._subs = [];
2656
2842
  }
2657
2843
  set externalSource(value) {
@@ -2662,6 +2848,17 @@ class ProductExternalSourceComponent {
2662
2848
  get externalSource() {
2663
2849
  return this._externalSource;
2664
2850
  }
2851
+ set externalCatalogStartupInfo(value) {
2852
+ if (value) {
2853
+ this._externalCatalogStartupInfo = value;
2854
+ this.externalSource = value.externalSource;
2855
+ this.loaded = false;
2856
+ this._prepareExternalSource();
2857
+ }
2858
+ }
2859
+ get externalCatalogStartupInfo() {
2860
+ return this._externalCatalogStartupInfo;
2861
+ }
2665
2862
  showClass() {
2666
2863
  return true;
2667
2864
  }
@@ -2685,6 +2882,9 @@ class ProductExternalSourceComponent {
2685
2882
  ngOnDestroy() {
2686
2883
  this._subs.forEach(s => s.unsubscribe());
2687
2884
  }
2885
+ handleConfigurationFinished(variantString) {
2886
+ this.configuratorFinished.emit(variantString);
2887
+ }
2688
2888
  _prepareExternalSource() {
2689
2889
  return __awaiter(this, void 0, void 0, function* () {
2690
2890
  if (!this._externalSource) {
@@ -2693,30 +2893,67 @@ class ProductExternalSourceComponent {
2693
2893
  this.externalUrl = undefined;
2694
2894
  this.externalSettings = {};
2695
2895
  if (this.externalSource.type === 'CATF') {
2696
- // get bundle settings from external source
2697
- const bundleSettings = yield this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0));
2698
- this.externalSettings = JSON.parse(bundleSettings);
2699
- if (this.options) {
2700
- this.externalSettings.options = this.options;
2701
- }
2702
- // this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
2703
- // this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
2704
- if (this.externalSource.username && this.externalSource.password) {
2705
- this.externalSettings.useLoginEncryption = true;
2706
- this.externalSettings.username = this.externalSource.username;
2707
- this.externalSettings.password = this.externalSource.password;
2708
- }
2709
- // finally show the catalog
2710
- this.showProduct = true;
2896
+ yield this._prepareCatFarm();
2897
+ }
2898
+ else if (this.externalSource.type === 'HTDL') {
2899
+ this._prepareConfigurator();
2711
2900
  }
2712
2901
  else {
2713
- this.externalUrl = this.externalSource.url;
2714
- this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
2715
- this.showProduct = false;
2902
+ this._prepareSource();
2716
2903
  }
2904
+ });
2905
+ }
2906
+ _prepareCatFarm() {
2907
+ return __awaiter(this, void 0, void 0, function* () {
2908
+ // get bundle settings from external source
2909
+ const bundleSettings = yield this._productConnectorService.getProductBundleSettings(this.externalSource.url, parseInt(this.externalSource.schema, 0));
2910
+ this.externalSettings = JSON.parse(bundleSettings);
2911
+ if (this.options) {
2912
+ this.externalSettings.options = this.options;
2913
+ }
2914
+ // this.externalSettings.assetPath = "https://cdn1.colijn-it.nl/content43";
2915
+ // this.externalSettings.threeDAssetPath = "https://cdn1.colijn-it.nl/content43";
2916
+ if (this.externalSource.username && this.externalSource.password) {
2917
+ this.externalSettings.useLoginEncryption = true;
2918
+ this.externalSettings.username = this.externalSource.username;
2919
+ this.externalSettings.password = this.externalSource.password;
2920
+ }
2921
+ // finally show the catalog
2922
+ this.switchToProduct();
2717
2923
  this.loaded = true;
2718
2924
  });
2719
2925
  }
2926
+ _prepareConfigurator() {
2927
+ if (this.externalCatalogStartupInfo) {
2928
+ this.token = this.externalCatalogStartupInfo.token;
2929
+ this.sku = this.externalCatalogStartupInfo.externalGoodId;
2930
+ this.variant = this.externalCatalogStartupInfo.flattenedGoodId;
2931
+ this.urlParams = this.externalCatalogStartupInfo.externalSource.parameters;
2932
+ this.switchToConfigurator();
2933
+ this.loaded = true;
2934
+ }
2935
+ }
2936
+ _prepareSource() {
2937
+ this.externalUrl = this.externalSource.url;
2938
+ this.safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.externalUrl);
2939
+ this.switchToSource();
2940
+ this.loaded = true;
2941
+ }
2942
+ switchToProduct() {
2943
+ this.showProduct = true;
2944
+ this.showConfigurator = false;
2945
+ this.showSource = false;
2946
+ }
2947
+ switchToConfigurator() {
2948
+ this.showProduct = false;
2949
+ this.showConfigurator = true;
2950
+ this.showSource = false;
2951
+ }
2952
+ switchToSource() {
2953
+ this.showProduct = false;
2954
+ this.showConfigurator = false;
2955
+ this.showSource = true;
2956
+ }
2720
2957
  }
2721
2958
  ProductExternalSourceComponent.decorators = [
2722
2959
  { type: Component, args: [{
@@ -2730,9 +2967,17 @@ ProductExternalSourceComponent.decorators = [
2730
2967
  [externalSource]="externalSource"
2731
2968
  ></app-product-page>
2732
2969
  </ng-container>
2733
- <ng-container *ngIf="!showProduct">
2970
+ <ng-container *ngIf="showSource">
2734
2971
  <iframe width="100%" height="100%" [src]="safeUrl" frameborder="0" allowfullscreen></iframe>
2735
2972
  </ng-container>
2973
+ <ng-container *ngIf="showConfigurator">
2974
+ <co-product-hd width="100%" height="100%"
2975
+ [sku]="sku"
2976
+ [variant]="variant"
2977
+ [token]="token"
2978
+ [urlParams]="urlParams"
2979
+ (configuratorFinished)="handleConfigurationFinished($event)"></co-product-hd>
2980
+ </ng-container>
2736
2981
  </ng-container>
2737
2982
  `,
2738
2983
  providers: [
@@ -2752,10 +2997,12 @@ ProductExternalSourceComponent.propDecorators = {
2752
2997
  sku: [{ type: Input }],
2753
2998
  catalogDefinition: [{ type: Input }],
2754
2999
  externalSource: [{ type: Input }],
3000
+ externalCatalogStartupInfo: [{ type: Input }],
2755
3001
  options: [{ type: Input }],
2756
3002
  addToCart: [{ type: Output }],
2757
3003
  addToQuote: [{ type: Output }],
2758
3004
  alternativeClick: [{ type: Output }],
3005
+ configuratorFinished: [{ type: Output }],
2759
3006
  showClass: [{ type: HostBinding, args: ['class.co-product-external-source',] }]
2760
3007
  };
2761
3008
 
@@ -2765,7 +3012,8 @@ ProductExternalSourceModule.decorators = [
2765
3012
  { type: NgModule, args: [{
2766
3013
  imports: [
2767
3014
  CommonModule,
2768
- ProductPageModule
3015
+ ProductPageModule,
3016
+ ProductHdModule
2769
3017
  ],
2770
3018
  declarations: [
2771
3019
  ProductExternalSourceComponent
@@ -2776,9 +3024,43 @@ ProductExternalSourceModule.decorators = [
2776
3024
  },] }
2777
3025
  ];
2778
3026
 
3027
+ class IoneProductModule {
3028
+ }
3029
+ IoneProductModule.decorators = [
3030
+ { type: NgModule, args: [{
3031
+ imports: [
3032
+ //BrowserAnimationsModule,
3033
+ CommonModule,
3034
+ ProductPageModule,
3035
+ ProductHdModule,
3036
+ ProductExternalSourceModule,
3037
+ ButtonModule$1
3038
+ ],
3039
+ declarations: [
3040
+ IoneProductComponent
3041
+ ],
3042
+ exports: [
3043
+ IoneProductComponent
3044
+ ],
3045
+ schemas: [
3046
+ CUSTOM_ELEMENTS_SCHEMA,
3047
+ NO_ERRORS_SCHEMA
3048
+ ],
3049
+ bootstrap: [
3050
+ IoneProductComponent
3051
+ ],
3052
+ providers: [
3053
+ ProductSettingsService,
3054
+ ProductConnectorService,
3055
+ ProductEventService,
3056
+ ProductConnectorAdapterService
3057
+ ]
3058
+ },] }
3059
+ ];
3060
+
2779
3061
  /**
2780
3062
  * Generated bundle index. Do not edit.
2781
3063
  */
2782
3064
 
2783
- export { IoneProductComponent, IoneProductModule, ProductConnectorAdapterService, ProductConnectorService, ProductEventService, ProductExternalSourceComponent, ProductExternalSourceModule, ProductSettingsService, Version, ProductPageModule as ɵa, ProductSelectorTypeModule as ɵb, ProductInfoTabsModule as ɵba, ProductAdditionalInfoModule as ɵbb, ProductAdditionalInfoComponent as ɵbc, ProductPropertiesModule as ɵbd, ProductPropertiesComponent as ɵbe, ProductDocumentModule as ɵbf, ProductDocumentsComponent as ɵbg, ProductSymbolsModule as ɵbh, ProductSymbolsComponent as ɵbi, ProductInfoTabsComponent as ɵbj, ProductDialogModule as ɵbk, ProductDialogComponent as ɵbl, ProductPageComponent as ɵbm, PipeModule as ɵc, LocalizePipe as ɵd, DictionaryService as ɵe, JsonUtilsService as ɵf, ProductSelectorTypeComponent as ɵg, IconCacheService as ɵh, ImageCarouselModule as ɵi, ImageCarouselComponent as ɵj, ProductDescriptionModule as ɵk, ProductDescriptionComponent as ɵl, ProductAdditionalDescriptionModule as ɵm, ProductAdditionalDescriptionComponent as ɵn, ProductPriceModule as ɵo, ProductPriceComponent as ɵp, ProductAddtocartModule as ɵq, ProductAddtocartComponent as ɵr, ProductRelatedModule as ɵs, HeaderModule as ɵt, HeaderComponent as ɵu, ProductRelatedComponent as ɵv, ProductStockModule as ɵw, ProductStockComponent as ɵx, ProductDeliveryModule as ɵy, ProductDeliveryComponent as ɵz };
3065
+ export { IoneProductComponent, IoneProductModule, ProductConnectorAdapterService, ProductConnectorService, ProductEventService, ProductExternalSourceComponent, ProductExternalSourceModule, ProductSettingsService, Version, ProductPageModule as ɵa, ProductSelectorTypeModule as ɵb, ProductInfoTabsModule as ɵba, ProductAdditionalInfoModule as ɵbb, ProductAdditionalInfoComponent as ɵbc, ProductPropertiesModule as ɵbd, ProductPropertiesComponent as ɵbe, ProductDocumentModule as ɵbf, ProductDocumentsComponent as ɵbg, ProductSymbolsModule as ɵbh, ProductSymbolsComponent as ɵbi, ProductInfoTabsComponent as ɵbj, ProductDialogModule as ɵbk, ProductDialogComponent as ɵbl, ProductPageComponent as ɵbm, ProductHdModule as ɵbn, ProductHdComponent as ɵbo, ProductScriptLoaderService as ɵbp, PipeModule as ɵc, LocalizePipe as ɵd, DictionaryService as ɵe, JsonUtilsService as ɵf, ProductSelectorTypeComponent as ɵg, IconCacheService as ɵh, ImageCarouselModule as ɵi, ImageCarouselComponent as ɵj, ProductDescriptionModule as ɵk, ProductDescriptionComponent as ɵl, ProductAdditionalDescriptionModule as ɵm, ProductAdditionalDescriptionComponent as ɵn, ProductPriceModule as ɵo, ProductPriceComponent as ɵp, ProductAddtocartModule as ɵq, ProductAddtocartComponent as ɵr, ProductRelatedModule as ɵs, HeaderModule as ɵt, HeaderComponent as ɵu, ProductRelatedComponent as ɵv, ProductStockModule as ɵw, ProductStockComponent as ɵx, ProductDeliveryModule as ɵy, ProductDeliveryComponent as ɵz };
2784
3066
  //# sourceMappingURL=colijnit-product.js.map