@colijnit/product 261.20.2 → 261.20.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,10 +14,10 @@ import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/tr
14
14
  import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/article-list-object-extended.bo';
15
15
  import { ImageContent } from '@colijnit/mainapi/build/model/image-content.bo';
16
16
  import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
17
- import { trigger, state, transition, style, animate } from '@angular/animations';
17
+ import { trigger, state, style, transition, animate } from '@angular/animations';
18
+ import * as i5 from '@colijnit/configurator';
19
+ import { ConfigurationResultObject, ConfiguratorModule, ConfiguratorSceneModule } from '@colijnit/configurator';
18
20
  import * as i1 from '@angular/platform-browser';
19
- import * as i5 from '@angular/common';
20
- import { CommonModule, isPlatformBrowser } from '@angular/common';
21
21
  import * as i6 from '@colijnit/corecomponents_v12';
22
22
  import { IconModule, LoaderModule, ScrollContainerModule, InputNumberPickerModule, ButtonModule, ArticleTileModule, TileModule, IconCollapseHandleModule } from '@colijnit/corecomponents_v12';
23
23
  import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
@@ -26,14 +26,16 @@ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
26
26
  import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
27
27
  import * as i3 from '@colijnit/sharedcomponents';
28
28
  import { FilesUploadModule } from '@colijnit/sharedcomponents';
29
+ import * as i5$1 from '@angular/common';
30
+ import { CommonModule, isPlatformBrowser } from '@angular/common';
29
31
 
30
32
  // this file is dynamically created, do not change this
31
33
  class Version {
32
34
  constructor() {
33
35
  this.name = "@colijnit/product";
34
36
  this.description = "Product detail page project for iOne";
35
- this.symVer = "261.20.2";
36
- this.publishDate = "24-3-2026, 15:30:44";
37
+ this.symVer = "261.20.4";
38
+ this.publishDate = "5-5-2026, 19:42:05";
37
39
  }
38
40
  }
39
41
 
@@ -870,7 +872,7 @@ class ProductSelectorTypeComponent {
870
872
  (click)="handleIconClick(type.ThreeD)"
871
873
  ></co-icon>
872
874
  }
873
- `, isInline: true, styles: [":host{display:flex;flex-direction:row;align-items:center}:host .show-in{display:none}:host>*:not(:last-child){margin-right:10px}::ng-deep co-icon.selector-type-icon{box-shadow:inset 0 0 0 1px #22313c;border-radius:50%;background:none;height:34px;width:34px;cursor:pointer}::ng-deep co-icon.selector-type-icon.active{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}::ng-deep co-icon.selector-type-icon.active [fill]{fill:#fff}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
875
+ `, isInline: true, styles: [":host{display:flex;flex-direction:row;align-items:center}:host .show-in{display:none}:host>*:not(:last-child){margin-right:10px}::ng-deep co-icon.selector-type-icon{box-shadow:inset 0 0 0 1px #22313c;border-radius:50%;background:none;height:34px;width:34px;cursor:pointer}::ng-deep co-icon.selector-type-icon.active{box-shadow:none;background:#4e9b7e;transition:all .2s ease-in-out}::ng-deep co-icon.selector-type-icon.active [fill]{fill:#fff}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
874
876
  }
875
877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductSelectorTypeComponent, decorators: [{
876
878
  type: Component,
@@ -901,7 +903,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
901
903
  (click)="handleIconClick(type.ThreeD)"
902
904
  ></co-icon>
903
905
  }
904
- `, standalone: false, styles: [":host{display:flex;flex-direction:row;align-items:center}:host .show-in{display:none}:host>*:not(:last-child){margin-right:10px}::ng-deep co-icon.selector-type-icon{box-shadow:inset 0 0 0 1px #22313c;border-radius:50%;background:none;height:34px;width:34px;cursor:pointer}::ng-deep co-icon.selector-type-icon.active{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}::ng-deep co-icon.selector-type-icon.active [fill]{fill:#fff}\n"] }]
906
+ `, standalone: false, styles: [":host{display:flex;flex-direction:row;align-items:center}:host .show-in{display:none}:host>*:not(:last-child){margin-right:10px}::ng-deep co-icon.selector-type-icon{box-shadow:inset 0 0 0 1px #22313c;border-radius:50%;background:none;height:34px;width:34px;cursor:pointer}::ng-deep co-icon.selector-type-icon.active{box-shadow:none;background:#4e9b7e;transition:all .2s ease-in-out}::ng-deep co-icon.selector-type-icon.active [fill]{fill:#fff}\n"] }]
905
907
  }], ctorParameters: () => [{ type: IconCacheService }, { type: i0.ChangeDetectorRef }], propDecorators: { show2D: [{
906
908
  type: Input
907
909
  }], show3D: [{
@@ -1196,7 +1198,7 @@ class ImageCarouselComponent {
1196
1198
  </div>
1197
1199
  </div>
1198
1200
  </ng-template>
1199
- `, isInline: true, styles: [":host{max-height:540px;height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_items{position:relative;margin-bottom:10px}#product_page_carousel #product_page_carousel_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:500px;border:1px solid #efefef}#product_page_carousel .carousel-item{max-height:500px;width:100%;display:flex;cursor:zoom-in;flex-shrink:0;flex-grow:0}#product_page_carousel .carousel-item img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;pointer-events:none;top:0;left:0}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb{opacity:1;cursor:pointer;transition:all .2s ease;padding:4px;border:1px solid #f6f5f4}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb.active,#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:hover{border-color:#22313c}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:not(:last-child){margin-right:10px}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb img{height:68px}.image-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal__content{position:relative;max-width:90vw;max-height:90vh}.image-modal__content img{max-width:90vw;max-height:90vh;object-fit:contain;display:block}.image-modal__close{position:fixed;top:15px;right:30px;background:transparent;border:none;color:#fff;font-size:60px;line-height:1;cursor:pointer}@media screen and (max-width: 650px){#product_page_carousel_thumbs{height:57px!important}#product_page_carousel_thumbs .carousel-thumb img{height:50px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "component", type: i6.LoaderComponent, selector: "co-loader" }, { kind: "component", type: i6.ScrollContainerComponent, selector: "co-scroll-container", inputs: ["vertical"] }, { kind: "directive", type: i6$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i6$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1201
+ `, isInline: true, styles: [":host{height:100%;position:relative;min-height:600px}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#4e9b7e;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_items{position:relative;margin-bottom:10px}#product_page_carousel #product_page_carousel_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:460px}#product_page_carousel .carousel-item{max-height:460px;width:100%;display:flex;cursor:zoom-in;flex-shrink:0;flex-grow:0}#product_page_carousel .carousel-item img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;pointer-events:none;top:0;left:0}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb{opacity:1;cursor:pointer;transition:all .2s ease;padding:4px;border:1px solid #f6f5f4}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb.active,#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:hover{border-color:#22313c}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:not(:last-child){margin-right:10px}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb img{height:68px}.image-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal__content{position:relative;max-width:90vw;max-height:90vh}.image-modal__content img{max-width:90vw;max-height:90vh;object-fit:contain;display:block}.image-modal__close{position:fixed;top:15px;right:30px;background:transparent;border:none;color:#fff;font-size:60px;line-height:1;cursor:pointer}@media screen and (max-width: 650px){#product_page_carousel_thumbs{height:57px!important}#product_page_carousel_thumbs .carousel-thumb img{height:50px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "component", type: i6.LoaderComponent, selector: "co-loader" }, { kind: "component", type: i6.ScrollContainerComponent, selector: "co-scroll-container", inputs: ["vertical"] }, { kind: "directive", type: i6$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i6$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1200
1202
  }
1201
1203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImageCarouselComponent, decorators: [{
1202
1204
  type: Component,
@@ -1262,7 +1264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1262
1264
  </div>
1263
1265
  </div>
1264
1266
  </ng-template>
1265
- `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{max-height:540px;height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_items{position:relative;margin-bottom:10px}#product_page_carousel #product_page_carousel_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:500px;border:1px solid #efefef}#product_page_carousel .carousel-item{max-height:500px;width:100%;display:flex;cursor:zoom-in;flex-shrink:0;flex-grow:0}#product_page_carousel .carousel-item img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;pointer-events:none;top:0;left:0}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb{opacity:1;cursor:pointer;transition:all .2s ease;padding:4px;border:1px solid #f6f5f4}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb.active,#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:hover{border-color:#22313c}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:not(:last-child){margin-right:10px}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb img{height:68px}.image-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal__content{position:relative;max-width:90vw;max-height:90vh}.image-modal__content img{max-width:90vw;max-height:90vh;object-fit:contain;display:block}.image-modal__close{position:fixed;top:15px;right:30px;background:transparent;border:none;color:#fff;font-size:60px;line-height:1;cursor:pointer}@media screen and (max-width: 650px){#product_page_carousel_thumbs{height:57px!important}#product_page_carousel_thumbs .carousel-thumb img{height:50px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
1267
+ `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{height:100%;position:relative;min-height:600px}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#4e9b7e;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_items{position:relative;margin-bottom:10px}#product_page_carousel #product_page_carousel_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:460px}#product_page_carousel .carousel-item{max-height:460px;width:100%;display:flex;cursor:zoom-in;flex-shrink:0;flex-grow:0}#product_page_carousel .carousel-item img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;pointer-events:none;top:0;left:0}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb{opacity:1;cursor:pointer;transition:all .2s ease;padding:4px;border:1px solid #f6f5f4}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb.active,#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:hover{border-color:#22313c}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb:not(:last-child){margin-right:10px}#product_page_carousel #product_page_carousel_thumbs .carousel-thumb img{height:68px}.image-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal__content{position:relative;max-width:90vw;max-height:90vh}.image-modal__content img{max-width:90vw;max-height:90vh;object-fit:contain;display:block}.image-modal__close{position:fixed;top:15px;right:30px;background:transparent;border:none;color:#fff;font-size:60px;line-height:1;cursor:pointer}@media screen and (max-width: 650px){#product_page_carousel_thumbs{height:57px!important}#product_page_carousel_thumbs .carousel-thumb img{height:50px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
1266
1268
  }], ctorParameters: () => [{ type: IconCacheService }, { type: ProductConnectorService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }], propDecorators: { carousel: [{
1267
1269
  type: ViewChild,
1268
1270
  args: ['carousel', { read: ElementRef }]
@@ -1301,7 +1303,7 @@ class ProductDescriptionComponent {
1301
1303
  <span class="pd-sku" [textContent]="article?.articleNr"></span>
1302
1304
  }
1303
1305
  </div>
1304
- `, isInline: true, styles: [":host{display:block}.pd-title-wrapper{margin:20px 0 0}.pd-description{color:#22313c;font-size:25px;font-weight:700;width:100%;display:block}.pd-sku{color:#5b6875;font-size:16px}@media screen and (max-width: 650px){.pd-description{font-size:21px}.pd-sku{font-size:13px}}\n"] }); }
1306
+ `, isInline: true, styles: [":host{display:block}.pd-title-wrapper{margin:0;padding-bottom:30px}.pd-description{color:#22313c;font-size:25px;font-weight:700;width:100%;display:block}.pd-sku{font-size:14px}@media screen and (max-width: 650px){.pd-description{font-size:21px}.pd-sku{font-size:13px}}\n"] }); }
1305
1307
  }
1306
1308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDescriptionComponent, decorators: [{
1307
1309
  type: Component,
@@ -1314,7 +1316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1314
1316
  <span class="pd-sku" [textContent]="article?.articleNr"></span>
1315
1317
  }
1316
1318
  </div>
1317
- `, standalone: false, styles: [":host{display:block}.pd-title-wrapper{margin:20px 0 0}.pd-description{color:#22313c;font-size:25px;font-weight:700;width:100%;display:block}.pd-sku{color:#5b6875;font-size:16px}@media screen and (max-width: 650px){.pd-description{font-size:21px}.pd-sku{font-size:13px}}\n"] }]
1319
+ `, standalone: false, styles: [":host{display:block}.pd-title-wrapper{margin:0;padding-bottom:30px}.pd-description{color:#22313c;font-size:25px;font-weight:700;width:100%;display:block}.pd-sku{font-size:14px}@media screen and (max-width: 650px){.pd-description{font-size:21px}.pd-sku{font-size:13px}}\n"] }]
1318
1320
  }], ctorParameters: () => [], propDecorators: { article: [{
1319
1321
  type: Input
1320
1322
  }] } });
@@ -1378,7 +1380,7 @@ class ProductAdditionalDescriptionComponent {
1378
1380
  <button class="pd-read-more-btn" [textContent]="'READ_MORE' | localize" (click)="onReadMore()"></button>
1379
1381
  </div>
1380
1382
  }
1381
- `, isInline: true, styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#2b60a7;border:none;background:transparent;cursor:pointer;text-decoration:underline;font-family:iOneMontserrat}:host .pd-read-more-btn:hover{color:#74b77f}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
1383
+ `, isInline: true, styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#1a73e8;border:none;background:transparent;cursor:pointer;text-decoration:underline}:host .pd-read-more-btn:hover{color:#4e9b7e}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
1382
1384
  }
1383
1385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductAdditionalDescriptionComponent, decorators: [{
1384
1386
  type: Component,
@@ -1389,7 +1391,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1389
1391
  <button class="pd-read-more-btn" [textContent]="'READ_MORE' | localize" (click)="onReadMore()"></button>
1390
1392
  </div>
1391
1393
  }
1392
- `, standalone: false, styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#2b60a7;border:none;background:transparent;cursor:pointer;text-decoration:underline;font-family:iOneMontserrat}:host .pd-read-more-btn:hover{color:#74b77f}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"] }]
1394
+ `, standalone: false, styles: [":host{display:block;padding-top:0!important}:host *:focus{outline:0!important}:host .pd-additional-description{line-height:190%;color:#22313c;font-size:13px}:host .pd-read-more-btn{color:#1a73e8;border:none;background:transparent;cursor:pointer;text-decoration:underline}:host .pd-read-more-btn:hover{color:#4e9b7e}@media screen and (max-width: 650px){:host .pd-additional-description{font-size:12px}}\n"] }]
1393
1395
  }], ctorParameters: () => [{ type: ProductEventService }], propDecorators: { article: [{
1394
1396
  type: Input
1395
1397
  }] } });
@@ -1469,39 +1471,39 @@ class ProductPriceComponent {
1469
1471
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPriceComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1470
1472
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductPriceComponent, isStandalone: false, selector: "app-product-price", inputs: { pricing: "pricing", configurable: "configurable" }, ngImport: i0, template: `
1471
1473
  @if (toPrice) {
1472
- <div>
1474
+ <div class="product-price">
1473
1475
  @if (fromPrice > toPrice) {
1474
- <div class="price-wrapper">
1476
+ <div class="price-wrapper old-price">
1475
1477
  <div class="from-price-label" [textContent]="fromLabel | localize"></div>
1476
1478
  <div class="from-price" [textContent]="fromPrice | priceDisplay: valutaSign"></div>
1477
1479
  </div>
1478
1480
  }
1479
- <div class="price-wrapper">
1481
+ <div class="price-wrapper net-price">
1480
1482
  <div class="to-price-label" [textContent]="toLabel | localize"></div>
1481
1483
  <div class="to-price" [textContent]="toPrice | priceDisplay: valutaSign"></div>
1482
1484
  </div>
1483
1485
  </div>
1484
1486
  }
1485
- `, isInline: true, styles: [":host{display:flex;flex-direction:column}.price-wrapper{width:100%;font-size:15px;margin:0 0 5px;display:inline-block}.price-wrapper:last-child{margin:0}.from-price-label,.to-price-label{color:#5b6875;display:none}.from-price{font-size:16px;font-weight:700;text-decoration:line-through;color:#5b6875}.to-price{font-size:25px;font-weight:700;color:#74b77f}@media screen and (max-width: 650px){.from-price{font-size:13px}.to-price{font-size:21px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }, { kind: "pipe", type: PriceDisplayPipe, name: "priceDisplay" }] }); }
1487
+ `, isInline: true, styles: [":host{display:flex;flex-direction:column}.product-price{padding:30px 0;display:flex;flex-direction:column;gap:2px}.price-wrapper{width:100%;font-size:15px;display:inline-block}.price-wrapper:last-child{margin:0}.from-price-label,.to-price-label{color:#9ca5ae;display:none}.from-price{font-size:14px;font-weight:500;text-decoration:line-through;color:#9ca5ae}.to-price{font-size:22px;font-weight:700;color:#4e9b7e}@media screen and (max-width: 650px){.from-price{font-size:13px}.to-price{font-size:21px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }, { kind: "pipe", type: PriceDisplayPipe, name: "priceDisplay" }] }); }
1486
1488
  }
1487
1489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPriceComponent, decorators: [{
1488
1490
  type: Component,
1489
1491
  args: [{ selector: 'app-product-price', template: `
1490
1492
  @if (toPrice) {
1491
- <div>
1493
+ <div class="product-price">
1492
1494
  @if (fromPrice > toPrice) {
1493
- <div class="price-wrapper">
1495
+ <div class="price-wrapper old-price">
1494
1496
  <div class="from-price-label" [textContent]="fromLabel | localize"></div>
1495
1497
  <div class="from-price" [textContent]="fromPrice | priceDisplay: valutaSign"></div>
1496
1498
  </div>
1497
1499
  }
1498
- <div class="price-wrapper">
1500
+ <div class="price-wrapper net-price">
1499
1501
  <div class="to-price-label" [textContent]="toLabel | localize"></div>
1500
1502
  <div class="to-price" [textContent]="toPrice | priceDisplay: valutaSign"></div>
1501
1503
  </div>
1502
1504
  </div>
1503
1505
  }
1504
- `, standalone: false, styles: [":host{display:flex;flex-direction:column}.price-wrapper{width:100%;font-size:15px;margin:0 0 5px;display:inline-block}.price-wrapper:last-child{margin:0}.from-price-label,.to-price-label{color:#5b6875;display:none}.from-price{font-size:16px;font-weight:700;text-decoration:line-through;color:#5b6875}.to-price{font-size:25px;font-weight:700;color:#74b77f}@media screen and (max-width: 650px){.from-price{font-size:13px}.to-price{font-size:21px}}\n"] }]
1506
+ `, standalone: false, styles: [":host{display:flex;flex-direction:column}.product-price{padding:30px 0;display:flex;flex-direction:column;gap:2px}.price-wrapper{width:100%;font-size:15px;display:inline-block}.price-wrapper:last-child{margin:0}.from-price-label,.to-price-label{color:#9ca5ae;display:none}.from-price{font-size:14px;font-weight:500;text-decoration:line-through;color:#9ca5ae}.to-price{font-size:22px;font-weight:700;color:#4e9b7e}@media screen and (max-width: 650px){.from-price{font-size:13px}.to-price{font-size:21px}}\n"] }]
1505
1507
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { pricing: [{
1506
1508
  type: Input
1507
1509
  }], configurable: [{
@@ -1653,7 +1655,7 @@ class ProductAddtocartComponent {
1653
1655
  </div>
1654
1656
  }
1655
1657
  </div>
1656
- `, isInline: true, styles: [":host{display:flex;flex-direction:column}:host *:not(:last-child){margin-bottom:5px}:host .atc-wrapper{display:flex;flex-direction:row;align-items:baseline}:host .atc-wrapper .quantity-select{margin-right:5px}:host.full-screen .cart-button{position:fixed;right:20px;bottom:20px;z-index:3}::ng-deep co-number-picker{max-width:100px;border:2px solid #f6f5f4;border-radius:5px}::ng-deep co-number-picker ::ng-deep co-input-text{height:50px!important;border:none!important;width:50px!important}::ng-deep co-number-picker ::ng-deep co-input-text:after{display:none}::ng-deep co-number-picker ::ng-deep co-input-text.focused{box-shadow:none!important;border:none!important;background:none!important}::ng-deep co-number-picker ::ng-deep co-input-text .clear-icon{display:none}::ng-deep co-number-picker ::ng-deep co-input-text input{width:100%;text-align:center}::ng-deep co-number-picker ::ng-deep co-button{justify-content:center;padding:0!important;margin:0!important;height:50px!important;background-color:transparent!important}::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon [fill]{fill:#22313c!important}.button-wrapper ::ng-deep co-button{height:50px;max-width:300px;justify-content:center;font-size:15px;border-radius:5px!important;cursor:pointer;padding:0 20px!important}.button-wrapper ::ng-deep co-button:hover{background:#74b77f}::ng-deep co-button.cart-button{border-radius:5px}::ng-deep co-button.cart-button.quote{background:#7292b6}\n"], dependencies: [{ kind: "component", type: i6.InputNumberPickerComponent, selector: "co-input-number-picker", inputs: ["model", "modelChangeOnEnter", "showPermanentLabel", "leftIconData", "min", "step", "max", "ngModelOptions", "minusIcon", "plusIcon", "buttonShowMode", "noValidation", "decimals"], outputs: ["modelChange", "iconClick"] }, { kind: "component", type: i6.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
1658
+ `, isInline: true, styles: [":host{display:flex;flex-direction:column}:host *:not(:last-child){margin-bottom:5px}:host .atc-wrapper{display:flex;flex-direction:column;align-items:start;gap:10px;padding:30px 0}:host .atc-wrapper .quantity-select{margin:0}:host .atc-wrapper ::ng-deep co-input-number-picker{max-width:120px;border:1px solid #ccc;border-radius:0;height:36px}:host .atc-wrapper ::ng-deep co-input-number-picker .button-wrapper{cursor:pointer}:host .atc-wrapper ::ng-deep co-input-number-picker:hover{border-width:1px;border-color:#ccc}:host .atc-wrapper ::ng-deep co-input-number-picker:after,:host .atc-wrapper ::ng-deep co-input-number-picker:before{display:none}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper{height:100%;align-items:center;justify-content:center;padding-left:0}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper:after{display:none}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper.focused{box-shadow:none!important;border:none!important;background:none!important}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper .clear-icon{display:none}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper input{width:100%;text-align:center}:host .atc-wrapper ::ng-deep co-input-number-picker ::ng-deep co-button{justify-content:center;padding:0!important;margin:0!important;background-color:transparent!important}:host .atc-wrapper ::ng-deep co-input-number-picker ::ng-deep co-button ::ng-deep co-icon [fill]{fill:#22313c!important}:host .atc-wrapper ::ng-deep co-input-number-picker ::ng-deep co-button ::ng-deep co-icon{height:20px;width:20px}:host.full-screen .cart-button{position:fixed;right:20px;bottom:20px;z-index:3}.button-wrapper ::ng-deep co-button{height:50px;width:300px;max-width:100%;justify-content:center;font-size:15px;border-radius:5px!important;cursor:pointer;padding:0 20px!important;color:#fff;background-color:#1a73e8}.button-wrapper ::ng-deep co-button:hover{opacity:.9}.button-wrapper ::ng-deep co-button ::ng-deep co-icon svg [fill]{fill:#fff!important}::ng-deep co-button.cart-button{border-radius:5px}::ng-deep co-button.cart-button.quote{background:#7292b6}\n"], dependencies: [{ kind: "component", type: i6.InputNumberPickerComponent, selector: "co-input-number-picker", inputs: ["model", "modelChangeOnEnter", "showPermanentLabel", "leftIconData", "min", "step", "max", "ngModelOptions", "minusIcon", "plusIcon", "buttonShowMode", "noValidation", "decimals"], outputs: ["modelChange", "iconClick"] }, { kind: "component", type: i6.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
1657
1659
  }
1658
1660
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductAddtocartComponent, decorators: [{
1659
1661
  type: Component,
@@ -1697,7 +1699,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1697
1699
  </div>
1698
1700
  }
1699
1701
  </div>
1700
- `, standalone: false, styles: [":host{display:flex;flex-direction:column}:host *:not(:last-child){margin-bottom:5px}:host .atc-wrapper{display:flex;flex-direction:row;align-items:baseline}:host .atc-wrapper .quantity-select{margin-right:5px}:host.full-screen .cart-button{position:fixed;right:20px;bottom:20px;z-index:3}::ng-deep co-number-picker{max-width:100px;border:2px solid #f6f5f4;border-radius:5px}::ng-deep co-number-picker ::ng-deep co-input-text{height:50px!important;border:none!important;width:50px!important}::ng-deep co-number-picker ::ng-deep co-input-text:after{display:none}::ng-deep co-number-picker ::ng-deep co-input-text.focused{box-shadow:none!important;border:none!important;background:none!important}::ng-deep co-number-picker ::ng-deep co-input-text .clear-icon{display:none}::ng-deep co-number-picker ::ng-deep co-input-text input{width:100%;text-align:center}::ng-deep co-number-picker ::ng-deep co-button{justify-content:center;padding:0!important;margin:0!important;height:50px!important;background-color:transparent!important}::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon [fill]{fill:#22313c!important}.button-wrapper ::ng-deep co-button{height:50px;max-width:300px;justify-content:center;font-size:15px;border-radius:5px!important;cursor:pointer;padding:0 20px!important}.button-wrapper ::ng-deep co-button:hover{background:#74b77f}::ng-deep co-button.cart-button{border-radius:5px}::ng-deep co-button.cart-button.quote{background:#7292b6}\n"] }]
1702
+ `, standalone: false, styles: [":host{display:flex;flex-direction:column}:host *:not(:last-child){margin-bottom:5px}:host .atc-wrapper{display:flex;flex-direction:column;align-items:start;gap:10px;padding:30px 0}:host .atc-wrapper .quantity-select{margin:0}:host .atc-wrapper ::ng-deep co-input-number-picker{max-width:120px;border:1px solid #ccc;border-radius:0;height:36px}:host .atc-wrapper ::ng-deep co-input-number-picker .button-wrapper{cursor:pointer}:host .atc-wrapper ::ng-deep co-input-number-picker:hover{border-width:1px;border-color:#ccc}:host .atc-wrapper ::ng-deep co-input-number-picker:after,:host .atc-wrapper ::ng-deep co-input-number-picker:before{display:none}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper{height:100%;align-items:center;justify-content:center;padding-left:0}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper:after{display:none}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper.focused{box-shadow:none!important;border:none!important;background:none!important}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper .clear-icon{display:none}:host .atc-wrapper ::ng-deep co-input-number-picker .input-wrapper input{width:100%;text-align:center}:host .atc-wrapper ::ng-deep co-input-number-picker ::ng-deep co-button{justify-content:center;padding:0!important;margin:0!important;background-color:transparent!important}:host .atc-wrapper ::ng-deep co-input-number-picker ::ng-deep co-button ::ng-deep co-icon [fill]{fill:#22313c!important}:host .atc-wrapper ::ng-deep co-input-number-picker ::ng-deep co-button ::ng-deep co-icon{height:20px;width:20px}:host.full-screen .cart-button{position:fixed;right:20px;bottom:20px;z-index:3}.button-wrapper ::ng-deep co-button{height:50px;width:300px;max-width:100%;justify-content:center;font-size:15px;border-radius:5px!important;cursor:pointer;padding:0 20px!important;color:#fff;background-color:#1a73e8}.button-wrapper ::ng-deep co-button:hover{opacity:.9}.button-wrapper ::ng-deep co-button ::ng-deep co-icon svg [fill]{fill:#fff!important}::ng-deep co-button.cart-button{border-radius:5px}::ng-deep co-button.cart-button.quote{background:#7292b6}\n"] }]
1701
1703
  }], ctorParameters: () => [{ type: IconCacheService }, { type: ProductConnectorService }, { type: ProductEventService }, { type: ProductSettingsService }, { type: ProductConnectorAdapterService }], propDecorators: { addToCartButton: [{
1702
1704
  type: ViewChild,
1703
1705
  args: ['addtocartbutton', { read: ElementRef }]
@@ -1879,7 +1881,7 @@ class ProductRelatedComponent {
1879
1881
  </co-scroll-container>
1880
1882
  </div>
1881
1883
  }
1882
- `, isInline: true, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;min-width:25%}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px 20px;display:flex;flex-direction:column;color:#171721;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{max-width:189px;width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:42px;height:42px;text-align:center;margin:0;border-radius:100%;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:30px;height:30px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#74b77f;margin:5px 0 0;font-weight:400;font-size:12px}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", inputs: ["label", "amount"] }, { kind: "component", type: i6.ScrollContainerComponent, selector: "co-scroll-container", inputs: ["vertical"] }, { kind: "component", type: i6.ArticleTileComponent, selector: "co-article-tile", inputs: ["imageData", "description", "price", "level", "isSelected", "isSmallModus", "hasConfigureButton", "hasThreeDButton", "hasCartButton"], outputs: ["contentClick", "configureButtonClick", "threeDButtonClick", "cartButtonClick"] }] }); }
1884
+ `, isInline: true, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;justify-content:flex-start}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px;display:flex;flex-direction:column;color:#171721;box-sizing:border-box;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block;padding:10px 0}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .no-image-wrapper{min-height:100px;display:flex;align-items:center}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#4e9b7e;margin:5px 0 0;font-weight:400;font-size:12px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:30px;height:30px;text-align:center;margin:0;border-radius:5px;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:24px;height:24px}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", inputs: ["label", "amount"] }, { kind: "component", type: i6.ScrollContainerComponent, selector: "co-scroll-container", inputs: ["vertical"] }, { kind: "component", type: i6.ArticleTileComponent, selector: "co-article-tile", inputs: ["imageData", "description", "price", "level", "isSelected", "isSmallModus", "hasConfigureButton", "hasThreeDButton", "hasCartButton"], outputs: ["contentClick", "configureButtonClick", "threeDButtonClick", "cartButtonClick"] }] }); }
1883
1885
  }
1884
1886
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductRelatedComponent, decorators: [{
1885
1887
  type: Component,
@@ -1910,7 +1912,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1910
1912
  </co-scroll-container>
1911
1913
  </div>
1912
1914
  }
1913
- `, standalone: false, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;min-width:25%}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px 20px;display:flex;flex-direction:column;color:#171721;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{max-width:189px;width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:42px;height:42px;text-align:center;margin:0;border-radius:100%;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:30px;height:30px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#74b77f;margin:5px 0 0;font-weight:400;font-size:12px}\n"] }]
1915
+ `, standalone: false, styles: [":host{display:block}.article-wrapper{display:flex;flex-direction:row;flex:1;justify-content:flex-start}.article-wrapper ::ng-deep co-tile{transition:all .14s ease-out;border:1px solid transparent;padding:10px;display:flex;flex-direction:column;color:#171721;box-sizing:border-box;justify-content:space-between}.article-wrapper ::ng-deep co-tile .price{display:block;padding:10px 0}.article-wrapper ::ng-deep co-tile .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:30px}.article-wrapper ::ng-deep co-tile .tile-bottom{display:flex;flex-direction:column;gap:5px}.article-wrapper ::ng-deep co-tile:hover{border:1px solid #DCE4EA}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon{width:24px;height:24px}.article-wrapper ::ng-deep co-tile .tile-extra-bottom co-button co-icon svg [fill]{fill:#fff}.article-wrapper ::ng-deep co-tile.small{width:100%;height:100%;cursor:pointer}.article-wrapper ::ng-deep co-tile.small:hover .tile-bottom .left-buttons{margin:0!important}.article-wrapper ::ng-deep co-tile.small .tile-wrapper{outline:none!important;padding-bottom:0;overflow:hidden;gap:10px;display:flex;flex-direction:column}.article-wrapper ::ng-deep co-tile.small .tile-wrapper div.image{height:100px}.article-wrapper ::ng-deep co-tile.small .tile-wrapper .no-image-wrapper{min-height:100px;display:flex;align-items:center}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom{outline:none!important;background:transparent!important}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom .price{color:#4e9b7e;margin:5px 0 0;font-weight:400;font-size:12px}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini{pointer-events:all;padding:0!important;font-size:0;width:30px;height:30px;text-align:center;margin:0;border-radius:5px;background:#3e7eff;cursor:pointer;place-content:center;color:#fff}.article-wrapper ::ng-deep co-tile.small .tile-extra-bottom ::ng-deep co-button.card-button.mini ::ng-deep co-icon{width:24px;height:24px}\n"] }]
1914
1916
  }], ctorParameters: () => [{ type: ProductConnectorService }, { type: ProductEventService }, { type: ProductConnectorAdapterService }, { type: ProductSettingsService }], propDecorators: { refType: [{
1915
1917
  type: Input
1916
1918
  }], label: [{
@@ -1974,7 +1976,7 @@ class ProductStockComponent {
1974
1976
  <div class="pp-default-label" [class.in-stock]="inStock" [textContent]="stockLabel | localize"></div>
1975
1977
  </div>
1976
1978
  </div>
1977
- `, isInline: true, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;border-top:1px solid #f6f5f4;border-bottom:1px solid #f6f5f4;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#74b77f}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
1979
+ `, isInline: true, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#4e9b7e}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
1978
1980
  }
1979
1981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductStockComponent, decorators: [{
1980
1982
  type: Component,
@@ -1987,59 +1989,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1987
1989
  <div class="pp-default-label" [class.in-stock]="inStock" [textContent]="stockLabel | localize"></div>
1988
1990
  </div>
1989
1991
  </div>
1990
- `, standalone: false, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;border-top:1px solid #f6f5f4;border-bottom:1px solid #f6f5f4;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#74b77f}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"] }]
1992
+ `, standalone: false, styles: [":host{display:block}.product-stock-wrapper{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 15px;cursor:pointer}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:40px;height:37px}.product-stock-wrapper .product-stock-fields{display:flex;flex-direction:row}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:14px;margin:0;color:#2b60a7;text-decoration:underline}.product-stock-wrapper .product-stock-fields .pp-default-label:after{content:\"\";width:10px;height:10px;border-radius:10px;background:#f15152;display:inline-block;margin:0 0 0 15px}.product-stock-wrapper .product-stock-fields .pp-default-label.in-stock:after{background:#4e9b7e}@media screen and (max-width: 400px){.product-stock-wrapper{padding:15px 0 15px 10px}.product-stock-wrapper .stock-icon{margin:0 15px 0 0;width:32px;height:28px}.product-stock-wrapper .product-stock-fields .pp-default-label{font-size:13px}}\n"] }]
1991
1993
  }], ctorParameters: () => [{ type: ProductConnectorService }, { type: IconCacheService }], propDecorators: { goodId: [{
1992
1994
  type: Input
1993
1995
  }], openStockEvent: [{
1994
1996
  type: Output
1995
1997
  }] } });
1996
1998
 
1997
- class ProductDeliveryComponent {
1998
- set stockAndDelivery(value) {
1999
- if (value) {
2000
- this.deliveryDescription = value.deliveryDescription;
2001
- if (this.deliveryDescription.length > 0 && this.deliveryDescription[0] === ' ') {
2002
- this.deliveryDescription = this._localizePipe.transform('ASK_FOR_INFORMATION');
2003
- }
2004
- }
2005
- }
2006
- constructor(_localizePipe, _iOne, _iconCache) {
2007
- this._localizePipe = _localizePipe;
2008
- this._iOne = _iOne;
2009
- this._iconCache = _iconCache;
2010
- this.icon = IconEnum;
2011
- this.iconData = this._iconCache.getIcon(this.icon.Truck);
2012
- }
2013
- ngOnInit() {
2014
- }
2015
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, deps: [{ token: LocalizePipe }, { token: ProductConnectorService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
2016
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ProductDeliveryComponent, isStandalone: false, selector: "app-product-delivery", inputs: { stockAndDelivery: "stockAndDelivery" }, ngImport: i0, template: `
2017
- <!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
2018
- <div class="product-delivery-wrapper">
2019
- <co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
2020
- <div class="product-delivery-fields">
2021
- <div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
2022
- <div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
2023
- </div>
2024
- </div>
2025
- `, isInline: true, styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width: 400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2026
- }
2027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
2028
- type: Component,
2029
- args: [{ selector: 'app-product-delivery', template: `
2030
- <!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
2031
- <div class="product-delivery-wrapper">
2032
- <co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
2033
- <div class="product-delivery-fields">
2034
- <div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
2035
- <div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
2036
- </div>
2037
- </div>
2038
- `, standalone: false, styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width: 400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}\n"] }]
2039
- }], ctorParameters: () => [{ type: LocalizePipe }, { type: ProductConnectorService }, { type: IconCacheService }], propDecorators: { stockAndDelivery: [{
2040
- type: Input
2041
- }] } });
2042
-
2043
1999
  class ProductAdditionalInfoComponent {
2044
2000
  set article(value) {
2045
2001
  if (value) {
@@ -2074,12 +2030,14 @@ class ProductAdditionalInfoComponent {
2074
2030
  mainArticle = await this._connectorService.getSuperArticle(this.article.superArticleNr);
2075
2031
  this._superArticles.set(this.article.superArticleNr, mainArticle);
2076
2032
  }
2077
- mainArticle.texts.forEach((txt) => {
2078
- if (BitUtils.IsFullDescription(txt.publication)) {
2079
- const safeTxt = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);
2080
- texts.push(safeTxt);
2081
- }
2082
- });
2033
+ if (mainArticle) {
2034
+ mainArticle.texts.forEach((txt) => {
2035
+ if (BitUtils.IsFullDescription(txt.publication)) {
2036
+ const safeTxt = this._sanitizer.sanitize(SecurityContext.HTML, txt.text);
2037
+ texts.push(safeTxt);
2038
+ }
2039
+ });
2040
+ }
2083
2041
  resolve(texts);
2084
2042
  }
2085
2043
  else {
@@ -2124,7 +2082,7 @@ class ProductAdditionalInfoComponent {
2124
2082
  <div class="additional-info-parts" [innerHTML]="text"></div>
2125
2083
  }
2126
2084
  }
2127
- `, isInline: true, styles: [":host{display:block}:host .additional-info-parts{margin-bottom:20px;line-height:190%;color:#22313c;font-size:13px}:host ::ng-deep p{line-height:190%;margin:15px 0}:host ::ng-deep font{font-family:iOneMontserrat}:host .additional-info-parts>*:first-child{margin-top:0}:host .additional-info-parts>*:last-child{margin-bottom:0}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2085
+ `, isInline: true, styles: [":host{display:block}:host .additional-info-parts{margin-bottom:20px;line-height:190%;color:#22313c;font-size:13px}:host ::ng-deep p{line-height:190%;margin:15px 0}:host .additional-info-parts>*:first-child{margin-top:0}:host .additional-info-parts>*:last-child{margin-bottom:0}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2128
2086
  }
2129
2087
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductAdditionalInfoComponent, decorators: [{
2130
2088
  type: Component,
@@ -2137,7 +2095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2137
2095
  <div class="additional-info-parts" [innerHTML]="text"></div>
2138
2096
  }
2139
2097
  }
2140
- `, standalone: false, styles: [":host{display:block}:host .additional-info-parts{margin-bottom:20px;line-height:190%;color:#22313c;font-size:13px}:host ::ng-deep p{line-height:190%;margin:15px 0}:host ::ng-deep font{font-family:iOneMontserrat}:host .additional-info-parts>*:first-child{margin-top:0}:host .additional-info-parts>*:last-child{margin-bottom:0}\n"] }]
2098
+ `, standalone: false, styles: [":host{display:block}:host .additional-info-parts{margin-bottom:20px;line-height:190%;color:#22313c;font-size:13px}:host ::ng-deep p{line-height:190%;margin:15px 0}:host .additional-info-parts>*:first-child{margin-top:0}:host .additional-info-parts>*:last-child{margin-bottom:0}\n"] }]
2141
2099
  }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: i0.ChangeDetectorRef }], propDecorators: { article: [{
2142
2100
  type: Input
2143
2101
  }], showLabel: [{
@@ -2193,7 +2151,7 @@ class ProductPropertiesComponent {
2193
2151
  </div>
2194
2152
  }
2195
2153
  </div>
2196
- `, isInline: true, styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#5b6875}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2154
+ `, isInline: true, styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#9ca5ae}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"], dependencies: [{ kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2197
2155
  }
2198
2156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPropertiesComponent, decorators: [{
2199
2157
  type: Component,
@@ -2209,7 +2167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2209
2167
  </div>
2210
2168
  }
2211
2169
  </div>
2212
- `, standalone: false, styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#5b6875}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"] }]
2170
+ `, standalone: false, styles: [":host{display:block}.article-properties-wrapper{display:flex;flex-direction:column}.article-property{display:flex;flex-direction:row;border-bottom:1px solid #f6f5f4;padding:11px 0;font-size:13px}.article-property:first-child{border-top:1px solid #f6f5f4}.article-property-key{flex-basis:200px;flex-shrink:0;color:#9ca5ae}@media screen and (max-width: 450px){.article-property-key{flex-basis:130px}}\n"] }]
2213
2171
  }], ctorParameters: () => [], propDecorators: { article: [{
2214
2172
  type: Input
2215
2173
  }], showLabel: [{
@@ -2395,7 +2353,7 @@ class ProductInfoTabsComponent {
2395
2353
  }
2396
2354
  </div>
2397
2355
  </div>
2398
- `, isInline: true, 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:700;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"], dependencies: [{ kind: "component", type: ProductAdditionalInfoComponent, selector: "app-product-additional-info", inputs: ["article", "showLabel"] }, { kind: "component", type: ProductPropertiesComponent, selector: "app-product-properties", inputs: ["article", "showLabel"] }, { kind: "component", type: ProductDocumentsComponent, selector: "app-product-documents", inputs: ["showLabel", "documents"] }, { kind: "component", type: ProductSymbolsComponent, selector: "app-product-symbols", inputs: ["symbols"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2356
+ `, isInline: true, 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;color:#22313c;font-weight:700;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:#4e9b7e}: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"], dependencies: [{ kind: "component", type: ProductAdditionalInfoComponent, selector: "app-product-additional-info", inputs: ["article", "showLabel"] }, { kind: "component", type: ProductPropertiesComponent, selector: "app-product-properties", inputs: ["article", "showLabel"] }, { kind: "component", type: ProductDocumentsComponent, selector: "app-product-documents", inputs: ["showLabel", "documents"] }, { kind: "component", type: ProductSymbolsComponent, selector: "app-product-symbols", inputs: ["symbols"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2399
2357
  }
2400
2358
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductInfoTabsComponent, decorators: [{
2401
2359
  type: Component,
@@ -2429,7 +2387,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2429
2387
  }
2430
2388
  </div>
2431
2389
  </div>
2432
- `, standalone: false, 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:700;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"] }]
2390
+ `, standalone: false, 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;color:#22313c;font-weight:700;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:#4e9b7e}: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"] }]
2433
2391
  }], ctorParameters: () => [{ type: ProductEventService }], propDecorators: { tabContent: [{
2434
2392
  type: ViewChild,
2435
2393
  args: ['tabContent']
@@ -2578,6 +2536,7 @@ class RenderCarouselComponent {
2578
2536
  this.resizing = false;
2579
2537
  this.showLoader = true;
2580
2538
  this.renderedImageLoaded = false;
2539
+ this.listOfRenders = [];
2581
2540
  // For now we will just use mock data
2582
2541
  this.renderAngles = [0, -45, -90, -135, -180, -225, -270, -315];
2583
2542
  this.currentRenderAngleIndex = 0;
@@ -2593,12 +2552,14 @@ class RenderCarouselComponent {
2593
2552
  this._changeDetector.detectChanges();
2594
2553
  }), this._appEventService.onRenderImageReceived.subscribe((image) => {
2595
2554
  this.renderedImage = image;
2555
+ this.listOfRenders.push(image);
2596
2556
  this.showLoader = false;
2597
2557
  this._changeDetector.detectChanges();
2598
2558
  }));
2599
2559
  }
2600
2560
  ngOnDestroy() {
2601
2561
  this.carousel = undefined;
2562
+ this.listOfRenders = [];
2602
2563
  this._subs.forEach(s => s.unsubscribe());
2603
2564
  }
2604
2565
  ngOnChanges() {
@@ -2624,7 +2585,7 @@ class RenderCarouselComponent {
2624
2585
  this._appEventService.onGetRenderForRenderCarousel.next(renderParams);
2625
2586
  }
2626
2587
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderCarouselComponent, deps: [{ token: IconCacheService }, { token: ProductEventService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2627
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RenderCarouselComponent, isStandalone: false, selector: "app-render-carousel", inputs: { showRefresh: "showRefresh", article: "article" }, host: { listeners: { "window:resize": "handleWindowResize()", "swipeleft": "gotoNextSlide()", "swiperight": "gotoPrevSlide()" }, properties: { "class.resizing": "this.resizing" } }, viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
2588
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: RenderCarouselComponent, isStandalone: false, selector: "app-render-carousel", inputs: { showRefresh: "showRefresh", article: "article" }, host: { listeners: { "window:resize": "handleWindowResize()", "swipeleft": "gotoNextSlide()", "swiperight": "gotoPrevSlide()" }, properties: { "class.resizing": "this.resizing" } }, viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
2628
2589
  <div id="product_page_carousel">
2629
2590
  <div id="product_page_carousel_render_items">
2630
2591
  <co-loader></co-loader>
@@ -2647,8 +2608,19 @@ class RenderCarouselComponent {
2647
2608
  </div>
2648
2609
  </div>
2649
2610
  </div>
2611
+
2612
+ @if (listOfRenders && listOfRenders.length > 0) {
2613
+ <!-- <div class="renderThumbs">-->
2614
+ <!-- @for (render of listOfRenders; track render) {-->
2615
+ <!-- <div class="renderThumbnail">-->
2616
+ <!-- <img [src]="render" alt="">-->
2617
+ <!-- </div>-->
2618
+ <!-- }-->
2619
+ <!-- </div>-->
2620
+ }
2621
+
2650
2622
  </div>
2651
- `, isInline: true, styles: [":host{max-height:540px;height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:#fff6;color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"], dependencies: [{ kind: "component", type: i6.LoaderComponent, selector: "co-loader" }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2623
+ `, isInline: true, styles: [":host{height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#4e9b7e;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:#fff6;color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel .renderThumbs{display:flex;justify-content:start;gap:10px;margin-top:10px}#product_page_carousel .renderThumbs img{width:100px;height:100px;object-fit:contain}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"], dependencies: [{ kind: "component", type: i6.LoaderComponent, selector: "co-loader" }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2652
2624
  }
2653
2625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderCarouselComponent, decorators: [{
2654
2626
  type: Component,
@@ -2675,8 +2647,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2675
2647
  </div>
2676
2648
  </div>
2677
2649
  </div>
2650
+
2651
+ @if (listOfRenders && listOfRenders.length > 0) {
2652
+ <!-- <div class="renderThumbs">-->
2653
+ <!-- @for (render of listOfRenders; track render) {-->
2654
+ <!-- <div class="renderThumbnail">-->
2655
+ <!-- <img [src]="render" alt="">-->
2656
+ <!-- </div>-->
2657
+ <!-- }-->
2658
+ <!-- </div>-->
2659
+ }
2660
+
2678
2661
  </div>
2679
- `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{max-height:540px;height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74b77f;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:#fff6;color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"] }]
2662
+ `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#4e9b7e;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:#fff6;color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel .renderThumbs{display:flex;justify-content:start;gap:10px;margin-top:10px}#product_page_carousel .renderThumbs img{width:100px;height:100px;object-fit:contain}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"] }]
2680
2663
  }], ctorParameters: () => [{ type: IconCacheService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }], propDecorators: { carousel: [{
2681
2664
  type: ViewChild,
2682
2665
  args: ['carousel', { read: ElementRef }]
@@ -2752,7 +2735,7 @@ class PresetDialogComponent {
2752
2735
  </div>
2753
2736
  </div>
2754
2737
  </div>
2755
- `, isInline: true, styles: [":host .preset-dialog-wrap{background:#00000080;position:fixed;z-index:1000;inset:0;display:flex;justify-content:center;align-items:center;font-family:iOneMontserrat}:host .preset-dialog-wrap .preset-dialog-container{background:#fff;max-width:500px;width:75vw;max-height:90vh;border:1px solid #F8F8F8}:host .preset-dialog-wrap .preset-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3{display:flex;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}:host .preset-dialog-wrap .preset-dialog-container .container-header .close-icon{cursor:pointer}:host .preset-dialog-wrap .preset-dialog-container .body{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button ::ng-deep co-icon [fill]{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon{height:25px;width:25px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg path,:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg polygon{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .ok-button{background:#1a73e8}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .close-button{background:#475060}:host ::ng-deep .content-wrapper{width:auto!important}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2738
+ `, isInline: true, styles: [":host .preset-dialog-wrap{background:#00000080;position:fixed;z-index:1000;inset:0;display:flex;justify-content:center;align-items:center}:host .preset-dialog-wrap .preset-dialog-container{background:#fff;max-width:500px;width:75vw;max-height:90vh;border:1px solid #F8F8F8}:host .preset-dialog-wrap .preset-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3{display:flex;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}:host .preset-dialog-wrap .preset-dialog-container .container-header .close-icon{cursor:pointer}:host .preset-dialog-wrap .preset-dialog-container .body{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button ::ng-deep co-icon [fill]{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon{height:25px;width:25px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg path,:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg polygon{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .ok-button{background:#1a73e8}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .close-button{background:#475060}:host ::ng-deep .content-wrapper{width:auto!important}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2756
2739
  }
2757
2740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PresetDialogComponent, decorators: [{
2758
2741
  type: Component,
@@ -2791,7 +2774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2791
2774
  </div>
2792
2775
  </div>
2793
2776
  </div>
2794
- `, standalone: false, styles: [":host .preset-dialog-wrap{background:#00000080;position:fixed;z-index:1000;inset:0;display:flex;justify-content:center;align-items:center;font-family:iOneMontserrat}:host .preset-dialog-wrap .preset-dialog-container{background:#fff;max-width:500px;width:75vw;max-height:90vh;border:1px solid #F8F8F8}:host .preset-dialog-wrap .preset-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3{display:flex;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}:host .preset-dialog-wrap .preset-dialog-container .container-header .close-icon{cursor:pointer}:host .preset-dialog-wrap .preset-dialog-container .body{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button ::ng-deep co-icon [fill]{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon{height:25px;width:25px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg path,:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg polygon{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .ok-button{background:#1a73e8}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .close-button{background:#475060}:host ::ng-deep .content-wrapper{width:auto!important}\n"] }]
2777
+ `, standalone: false, styles: [":host .preset-dialog-wrap{background:#00000080;position:fixed;z-index:1000;inset:0;display:flex;justify-content:center;align-items:center}:host .preset-dialog-wrap .preset-dialog-container{background:#fff;max-width:500px;width:75vw;max-height:90vh;border:1px solid #F8F8F8}:host .preset-dialog-wrap .preset-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3{display:flex;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}:host .preset-dialog-wrap .preset-dialog-container .container-header .close-icon{cursor:pointer}:host .preset-dialog-wrap .preset-dialog-container .body{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}:host .preset-dialog-wrap .preset-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button ::ng-deep co-icon [fill]{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon{height:25px;width:25px}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg path,:host .preset-dialog-wrap .preset-dialog-container .close-button-container button .co-icon svg polygon{fill:#fff}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .ok-button{background:#1a73e8}:host .preset-dialog-wrap .preset-dialog-container .close-button-container .close-button{background:#475060}:host ::ng-deep .content-wrapper{width:auto!important}\n"] }]
2795
2778
  }], ctorParameters: () => [{ type: IconCacheService }], propDecorators: { showClass: [{
2796
2779
  type: HostBinding,
2797
2780
  args: ['class.co-preset-dialog']
@@ -2806,6 +2789,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2806
2789
  }] } });
2807
2790
 
2808
2791
  class ProductPageComponent {
2792
+ showClass() {
2793
+ return true;
2794
+ }
2809
2795
  set sku(value) {
2810
2796
  if (value) {
2811
2797
  if (this.configuring) {
@@ -2857,12 +2843,14 @@ class ProductPageComponent {
2857
2843
  get currentView() {
2858
2844
  return this._currentView;
2859
2845
  }
2860
- constructor(_ione, iconCache, settingsService, appEventService, _changeDetector) {
2861
- this._ione = _ione;
2846
+ constructor(iconCache, settingsService, appEventService, _changeDetector, _ione, _configuringService, _configuratorSceneService) {
2862
2847
  this.iconCache = iconCache;
2863
2848
  this.settingsService = settingsService;
2864
2849
  this.appEventService = appEventService;
2865
2850
  this._changeDetector = _changeDetector;
2851
+ this._ione = _ione;
2852
+ this._configuringService = _configuringService;
2853
+ this._configuratorSceneService = _configuratorSceneService;
2866
2854
  this.icon = IconEnum;
2867
2855
  this.createFrozenArticle = true;
2868
2856
  this.isReturn = false;
@@ -2882,21 +2870,16 @@ class ProductPageComponent {
2882
2870
  this._fullScreen = false;
2883
2871
  this._subs = [];
2884
2872
  this._subs.push(this.appEventService.onForceRenderImage.subscribe((x) => {
2885
- if (this.selections.nativeElement) {
2886
- this.selections.nativeElement.forceRenderImage();
2887
- }
2873
+ // TODO
2888
2874
  }), this.settingsService.settingsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)), this._pageLoadedSubscription = combineLatest([
2889
2875
  this._ione.controllerInitialized,
2890
2876
  this._ione.articleLoaded
2891
2877
  ]).subscribe(([initialized, articleLoaded]) => {
2892
2878
  if (initialized && articleLoaded) {
2893
2879
  this.settingsLoaded = initialized;
2880
+ this._initConfigurator();
2894
2881
  }
2895
- }),
2896
- // this._ione.controllerInitialized.subscribe((initialized: boolean) => {
2897
- // this.settingsLoaded = initialized;
2898
- // }),
2899
- this.appEventService.onAnswersAvailable.subscribe((answers) => {
2882
+ }), this.appEventService.onAnswersAvailable.subscribe((answers) => {
2900
2883
  if (answers && this.configurable) {
2901
2884
  this.showAddToCart = false;
2902
2885
  }
@@ -2904,10 +2887,17 @@ class ProductPageComponent {
2904
2887
  this.showAddToCart = true;
2905
2888
  }
2906
2889
  }), this.appEventService.onGetRenderForRenderCarousel.subscribe((renderParameters) => {
2907
- if (this.selections.nativeElement) {
2908
- this.selections.nativeElement.getRenderForRenderCarousel(renderParameters);
2890
+ this._createRenderForCarousel(renderParameters);
2891
+ }), this.appEventService.onArticleReceived.subscribe(article => this.setConfigPresetId(article.configPresetId)), this._configuringService.floorReady.subscribe((ready) => {
2892
+ if (ready) {
2893
+ this._startSceneInit();
2894
+ this._startConfigurator();
2909
2895
  }
2910
- }), this.appEventService.onArticleReceived.subscribe(article => this.setConfigPresetId(article.configPresetId)));
2896
+ }), this._configuringService.onRenderImageReceived.subscribe((image) => {
2897
+ appEventService.onRenderImageReceived.next(image);
2898
+ }), this._configuringService.onAnswersAvailable.subscribe((hasAnswers) => {
2899
+ appEventService.onAnswersAvailable.next(hasAnswers);
2900
+ }));
2911
2901
  }
2912
2902
  ngOnInit() {
2913
2903
  if (this._settings) {
@@ -2919,14 +2909,15 @@ class ProductPageComponent {
2919
2909
  }
2920
2910
  }
2921
2911
  ngOnDestroy() {
2912
+ this.settingsService.settings = undefined;
2913
+ this.settingsLoaded = false;
2922
2914
  this._subs.forEach(s => s.unsubscribe());
2923
2915
  if (this._initializedSub) {
2924
2916
  this._initializedSub.unsubscribe();
2925
2917
  }
2926
2918
  this._pageLoadedSubscription.unsubscribe();
2927
- this.configurator = undefined;
2928
- this.selections = undefined;
2929
2919
  this.fullscreenbutton = undefined;
2920
+ this._configuringService.isConfiguring = false;
2930
2921
  }
2931
2922
  setInstance(event) {
2932
2923
  if (event.detail) {
@@ -2955,7 +2946,6 @@ class ProductPageComponent {
2955
2946
  this.article = article;
2956
2947
  if (this.article) {
2957
2948
  this.configurable = this.article.goodType === 'B' && (this.article.isConfigurable || this.article.isConfigurable === undefined);
2958
- // this.configurable = this.article.goodType === 'B';
2959
2949
  if (this.configurable) {
2960
2950
  this.showAddToCart = false;
2961
2951
  this.currentView = SelectorType.TwoD;
@@ -3008,6 +2998,24 @@ class ProductPageComponent {
3008
2998
  this.showPresetDialog = false;
3009
2999
  this._savePreset();
3010
3000
  }
3001
+ handleBuildFinished(build) {
3002
+ if (this.threeD) {
3003
+ this._buildResult = build;
3004
+ this._configuringService.addBuildToScene(build);
3005
+ if (this.settingsService.settings && this.settingsService.settings.renderParameters) {
3006
+ // Start a render
3007
+ const options = {
3008
+ objectRotation: { x: 0, y: 43, z: 0 },
3009
+ margin: 5,
3010
+ cameraRotationX: 75,
3011
+ objectHeight: 500,
3012
+ objectWidth: 500,
3013
+ renderType: 0
3014
+ };
3015
+ this._configuringService.renderImage(build, options, true);
3016
+ }
3017
+ }
3018
+ }
3011
3019
  _savePreset() {
3012
3020
  this._ione.savePreset().then((success) => {
3013
3021
  if (success) {
@@ -3016,21 +3024,47 @@ class ProductPageComponent {
3016
3024
  }
3017
3025
  });
3018
3026
  }
3019
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageComponent, deps: [{ token: ProductConnectorService }, { token: IconCacheService }, { token: ProductSettingsService }, { token: ProductEventService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3020
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductPageComponent, isStandalone: false, selector: "app-product-page", inputs: { sku: "sku", settings: "settings", externalSource: "externalSource", createFrozenArticle: "createFrozenArticle", isReturn: "isReturn", showRelatedProductsPopup: "showRelatedProductsPopup", enableRenderCarousel: "enableRenderCarousel" }, outputs: { openStockEvent: "openStockEvent" }, viewQueries: [{ propertyName: "configurator", first: true, predicate: ["configurator"], descendants: true, read: ElementRef }, { propertyName: "selections", first: true, predicate: ["selections"], descendants: true, read: ElementRef }, { propertyName: "fullscreenbutton", first: true, predicate: ["fullscreenbutton"], descendants: true, read: ElementRef }], ngImport: i0, template: `
3027
+ _initConfigurator() {
3028
+ // this should be async
3029
+ if (this.settingsLoaded) {
3030
+ this._configuringService.init(this.settings).then(done => {
3031
+ this._configuringService.isConfiguring = true;
3032
+ });
3033
+ }
3034
+ }
3035
+ _startConfigurator() {
3036
+ if (this.settingsLoaded) {
3037
+ const furnitureData = new ConfigurationResultObject();
3038
+ furnitureData.sku = this.sku;
3039
+ this._configuringService.configure(furnitureData).then(loaded => {
3040
+ });
3041
+ }
3042
+ }
3043
+ _startSceneInit() {
3044
+ if (this.settingsLoaded) {
3045
+ this._configuringService.handleLoadSceneContent();
3046
+ this._configuringService.scene = this._configuratorSceneService.scene;
3047
+ }
3048
+ }
3049
+ _createRenderForCarousel(renderOptions) {
3050
+ this._configuringService.renderImage(this._buildResult, renderOptions, false);
3051
+ }
3052
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageComponent, deps: [{ token: IconCacheService }, { token: ProductSettingsService }, { token: ProductEventService }, { token: i0.ChangeDetectorRef }, { token: ProductConnectorService }, { token: i5.ConfiguringService }, { token: i5.SceneService }], target: i0.ɵɵFactoryTarget.Component }); }
3053
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductPageComponent, isStandalone: false, selector: "app-product-page", inputs: { sku: "sku", settings: "settings", externalSource: "externalSource", createFrozenArticle: "createFrozenArticle", isReturn: "isReturn", showRelatedProductsPopup: "showRelatedProductsPopup", enableRenderCarousel: "enableRenderCarousel" }, outputs: { openStockEvent: "openStockEvent" }, host: { properties: { "class.co-product-page": "this.showClass" } }, viewQueries: [{ propertyName: "fullscreenbutton", first: true, predicate: ["fullscreenbutton"], descendants: true, read: ElementRef }], ngImport: i0, template: `
3021
3054
  @if (settingsLoaded) {
3022
3055
  <div class="page-wrapper">
3023
3056
  <div class="page-wrapper-content">
3024
- <div class="page-wrapper-left">
3057
+ <div class="page-wrapper-left swimming-lane">
3025
3058
  <div class="product-image-container">
3026
3059
  <div class="product-page-block-selector-type">
3027
- <app-product-selector-type class="default-padding"
3028
- [(currentType)]="currentView"
3029
- [show2D]="configurable"
3030
- [show3D]="threeD"
3031
- ></app-product-selector-type>
3060
+ <app-product-selector-type
3061
+ [(currentType)]="currentView"
3062
+ [show2D]="configurable"
3063
+ [show3D]="threeD">
3064
+ </app-product-selector-type>
3032
3065
  </div>
3033
- <div class="product-page-block-image default-padding" [class.full]="fullScreen">
3066
+
3067
+ <div class="product-page-block-image" [class.full]="fullScreen">
3034
3068
  @if (!enableRenderCarousel) {
3035
3069
  <app-image-carousel
3036
3070
  [@toggleVisibilityByState]="show2D ? 'show' : 'hide'"
@@ -3044,132 +3078,140 @@ class ProductPageComponent {
3044
3078
  [article]="article">
3045
3079
  </app-render-carousel>
3046
3080
  }
3047
- @if (settingsLoaded && this.configurable) {
3048
- <threed-configurator
3049
- #configurator
3050
- class="threed-configurator"
3051
- [class.configurator-full-screen]="fullScreen"
3052
- [@toggleVisibilityByState]="show3D ? 'show' : 'hide'"
3053
- [@toggleFullScreen]="fullScreen ? 'fullscreen' : 'halfscreen'">
3054
- </threed-configurator>
3081
+ @if (settingsLoaded) {
3082
+ <co-configurator-scene
3083
+ [class.show-full-screen]="fullScreen"
3084
+ [class.hide-3d-scene]="!show3D"
3085
+ [class.show-3d-scene]="show3D">
3086
+ </co-configurator-scene>
3055
3087
  }
3056
3088
  @if (show3D) {
3057
- <co-icon #fullscreenbutton class="fullscreen-button"
3058
- [@toggleTopLeft]="fullScreen ? 'fullscreen' : 'halfscreen'"
3059
- [iconData]="iconCache.getIcon(fullScreenIcon)"
3060
- (click)="showFullScreen()"></co-icon>
3089
+ <co-icon
3090
+ #fullscreenbutton
3091
+ class="fullscreen-button"
3092
+ [@toggleTopLeft]="fullScreen ? 'fullscreen' : 'halfscreen'"
3093
+ [iconData]="iconCache.getIcon(fullScreenIcon)"
3094
+ (click)="showFullScreen()">
3095
+ </co-icon>
3061
3096
  }
3062
3097
  @if (show3D && fullScreen) {
3063
- <co-icon class="threed-watermark"
3064
- [iconData]="iconCache.getIcon(icon.Logo)"></co-icon>
3098
+ <co-icon
3099
+ class="threed-watermark"
3100
+ [iconData]="iconCache.getIcon(icon.Logo)">
3101
+ </co-icon>
3065
3102
  }
3066
3103
  </div>
3067
3104
  </div>
3068
3105
  </div>
3069
- <div class="page-wrapper-right">
3070
- <div class="product-page-block-description">
3071
- <app-product-description class="default-padding" [article]="article"></app-product-description>
3072
- </div>
3073
- <div class="product-page-block-additional">
3074
- <div class="product-page-block-additional-description">
3075
- <app-product-additional-description class="default-padding" [article]="article"></app-product-additional-description>
3106
+ <div class="page-wrapper-right swimming-lane">
3107
+ <div class="product-page-scroll-container">
3108
+ <div class="product-page-block-description">
3109
+ <app-product-description
3110
+
3111
+ [article]="article">
3112
+ </app-product-description>
3076
3113
  </div>
3077
- <div class="product-page-block-price" [class.full]="configuring">
3078
- @if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
3079
- <div class="preset-container">
3080
- <co-button
3081
- class="save-preset-button"
3082
- [iconData]="iconCache.getIcon(icon.SaveDisk)"
3083
- [label]="'PRESET_SAVE_AS' | localize"
3084
- (onClick)="handleSavePreset()"
3085
- ></co-button>
3086
- </div>
3087
- }
3114
+ <div class="product-page-block-additional">
3115
+ <div class="product-page-block-additional-description">
3116
+ <app-product-additional-description
3117
+
3118
+ [article]="article">
3119
+ </app-product-additional-description>
3120
+ </div>
3121
+ <div class="product-page-block-price" [class.full]="configuring">
3122
+ @if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
3123
+ <div class="preset-container">
3124
+ <co-button
3125
+ class="save-preset-button"
3126
+ [iconData]="iconCache.getIcon(icon.SaveDisk)"
3127
+ [label]="'PRESET_SAVE_AS' | localize"
3128
+ (onClick)="handleSavePreset()">
3129
+ </co-button>
3130
+ </div>
3131
+ }
3132
+ @if (!configuring) {
3133
+ <app-product-price
3134
+
3135
+ [pricing]="article?.pricing"
3136
+ [configurable]="configurable">
3137
+ </app-product-price>
3138
+ }
3139
+
3140
+ @if (settingsLoaded) {
3141
+ <co-configurator
3142
+ [class.hide-configurator]="!configuring"
3143
+ [class.show-configurator]="configuring"
3144
+ [showLoader]="true"
3145
+ [animateSlideout]="false"
3146
+ [showHeaderInformation]="false"
3147
+ [canCloseConfigurator]="false"
3148
+ (buildResult)="handleBuildFinished($event)">
3149
+ </co-configurator>
3150
+ }
3151
+ </div>
3088
3152
  @if (!configuring) {
3089
- <app-product-price class="s-padding"
3090
- [pricing]="article?.pricing"
3091
- [configurable]="configurable"
3092
- ></app-product-price>
3153
+ <div class="product-page-block-addtocart product-action-buttons"
3154
+ [@toggleTopRight]="fullScreen ? 'fullscreen' : 'halfscreen'">
3155
+ <app-product-addtocart
3156
+ [configurable]="configurable"
3157
+ [createFrozenArticle]="createFrozenArticle"
3158
+ [configuring]="configuring"
3159
+ [showAddToCart]="showAddToCart"
3160
+ [article]="article"
3161
+ [externalSource]="externalSource"
3162
+ [isReturn]="isReturn"
3163
+ (startConfiguration)="handleStartConfiguration()"
3164
+ (showRelatedPopup)="handlePopUpChange($event)">
3165
+ </app-product-addtocart>
3166
+ </div>
3093
3167
  }
3168
+ @if (configuring) {
3169
+ <div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
3170
+ <app-product-addtocart
3094
3171
 
3095
- @if (settingsLoaded) {
3096
- <threed-selections #selections class="threed-selections"
3097
- [class.show-selections]="configuring"
3098
- [@toggleFullScreenRight]="fullScreen ? 'fullscreen' : 'halfscreen'"
3099
- [class.default-padding]="!fullScreen"
3100
- [class.show-full-screen]="fullScreen"
3101
- [class.mini-scrollbar]="fullScreen"
3102
- [sku]="sku"
3103
- [settings]="settings"
3104
- (onUserActionFromThreeD)="configuring = true"
3105
- (instanceSet)="setInstance($event)"
3106
- (onImageReceived)="appEventService.onImageReceived.next($event)"
3107
- (onRenderStarted)="appEventService.onRenderStarted.next()"
3108
- (onDraftRenderImageReceived)="appEventService.onDraftRenderImageReceived.next($event)"
3109
- (onArticleReceived)="appEventService.onArticleReceived.next($event.detail)"
3110
- (onSelectionsReceived)="appEventService.onSelectionsReceived.next($event.detail)"
3111
- (onArticleInfoReceived)="appEventService.onArticleInfoReceived.next($event.detail)"
3112
- (onAnswersAvailable)="appEventService.onAnswersAvailable.next($event.detail)"
3113
- (onReadyToRender)="appEventService.onReadyToRender.next($event.detail)"
3114
- (onRenderImageReceived)="appEventService.onRenderImageReceived.next($event.detail)"
3115
- ></threed-selections>
3172
+ [configurable]="false"
3173
+ [fullscreen]="fullScreen"
3174
+ [showAddToCart]="showAddToCart"
3175
+ [configuring]="configuring"
3176
+ [article]="article"
3177
+ [externalSource]="externalSource"
3178
+ [isReturn]="isReturn"
3179
+ (startConfiguration)="handleStartConfiguration()">
3180
+ </app-product-addtocart>
3181
+ </div>
3116
3182
  }
3117
- </div>
3118
- @if (!configuring) {
3119
- <div class="product-page-block-addtocart no-padding product-action-buttons"
3120
- [@toggleTopRight]="fullScreen ? 'fullscreen' : 'halfscreen'">
3121
- <app-product-addtocart
3122
- [configurable]="configurable"
3123
- [createFrozenArticle]="createFrozenArticle"
3124
- [configuring]="configuring"
3125
- [showAddToCart]="showAddToCart"
3126
- [article]="article"
3127
- [externalSource]="externalSource"
3128
- [isReturn]="isReturn"
3129
- (startConfiguration)="handleStartConfiguration()"
3130
- (showRelatedPopup)="handlePopUpChange($event)"
3131
- ></app-product-addtocart>
3183
+ <div class="product-page-block-variants">
3184
+ @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3185
+ <app-product-related
3186
+
3187
+ [externalSource]="externalSource"
3188
+ [articles]="article?.relatedArticles" [refType]="64"
3189
+ [label]="'VARIANTS' | localize">
3190
+ </app-product-related>
3191
+ }
3132
3192
  </div>
3133
- }
3134
- @if (configuring) {
3135
- <div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
3136
- <app-product-addtocart class="default-padding"
3137
- [configurable]="false"
3138
- [fullscreen]="fullScreen"
3139
- [showAddToCart]="showAddToCart"
3140
- [configuring]="configuring"
3141
- [article]="article"
3142
- [externalSource]="externalSource"
3143
- [isReturn]="isReturn"
3144
- (startConfiguration)="handleStartConfiguration()"
3145
- ></app-product-addtocart>
3193
+ <div class="product-page-block-stock">
3194
+ <app-product-stock
3195
+
3196
+ [goodId]="article?.goodId"
3197
+ (openStockEvent)="openStock()">
3198
+ </app-product-stock>
3146
3199
  </div>
3147
- }
3148
- <div class="product-page-block-variants">
3149
- @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3150
- <app-product-related class="no-padding"
3151
- [externalSource]="externalSource"
3152
- [articles]="article?.relatedArticles" [refType]="64"
3153
- [label]="'VARIANTS' | localize"></app-product-related>
3154
- }
3155
- </div>
3156
- <div class="product-page-block-stock">
3157
- <app-product-stock class="no-padding" [goodId]="article?.goodId" (openStockEvent)="openStock()"></app-product-stock>
3158
- </div>
3159
- <div class="product-page-block-delivery">
3160
- <app-product-delivery class="no-padding" [stockAndDelivery]="stockAndDelivery"></app-product-delivery>
3161
3200
  </div>
3162
3201
  </div>
3163
3202
  </div>
3164
3203
  </div>
3165
3204
  <div class="page-wrapper-content">
3166
3205
  @if (article) {
3167
- <div class="page-wrapper-left">
3168
- <app-product-info-tabs class="no-padding" [article]="article"></app-product-info-tabs>
3206
+ <div class="page-wrapper-left swimming-lane">
3207
+ <app-product-info-tabs
3208
+
3209
+ [article]="article">
3210
+ </app-product-info-tabs>
3169
3211
  </div>
3170
3212
  }
3171
- <div class="page-wrapper-right">
3172
- <div class="product-page-block-related s-padding">
3213
+ <div class="page-wrapper-right swimming-lane">
3214
+ <div class="product-page-block-related">
3173
3215
  @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3174
3216
  <app-product-related
3175
3217
  [externalSource]="externalSource"
@@ -3182,8 +3224,8 @@ class ProductPageComponent {
3182
3224
  </div>
3183
3225
  </div>
3184
3226
  <div class="page-wrapper-content no-top-margin">
3185
- <div class="page-wrapper-full">
3186
- <div class="product-page-block-alternatives s-padding">
3227
+ <div class="page-wrapper-full swimming-lane">
3228
+ <div class="product-page-block-alternatives">
3187
3229
  @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3188
3230
  <app-product-related
3189
3231
  [externalSource]="externalSource"
@@ -3202,23 +3244,22 @@ class ProductPageComponent {
3202
3244
  [mainArticle]="article"
3203
3245
  [articles]="article?.relatedArticles"
3204
3246
  [refType]="1"
3205
- (closeRelatedPopup)="handlePopUpChange($event)"
3206
- >
3247
+ (closeRelatedPopup)="handlePopUpChange($event)">
3207
3248
  </co-product-dialog>
3208
3249
  </div>
3209
3250
  }
3210
3251
  </div>
3211
3252
 
3212
- <co-preset-dialog
3213
- *ngIf="showPresetDialog"
3214
- [type]="presetDialogType"
3215
- [presetId]="configPresetId"
3216
- (cancelSavePreset)="handleCancelSavePreset($event)"
3217
- (overwritePreset)="handleOverwritePreset($event)"
3218
- >
3219
- </co-preset-dialog>
3253
+ @if (presetDialogType) {
3254
+ <co-preset-dialog
3255
+ [type]="presetDialogType"
3256
+ [presetId]="configPresetId"
3257
+ (cancelSavePreset)="handleCancelSavePreset($event)"
3258
+ (overwritePreset)="handleOverwritePreset($event)">
3259
+ </co-preset-dialog>
3260
+ }
3220
3261
  }
3221
- `, isInline: true, styles: [".page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.page-wrapper-content:first-child,.page-wrapper-content.no-top-margin{margin-top:0}.page-wrapper-left{display:flex;width:65%;flex-direction:column}.page-wrapper-right{display:flex;width:35%;flex-direction:column}.page-wrapper-full{display:flex;width:100%;flex-direction:column}.page-wrapper-66{display:flex;width:60%;flex-direction:column}.page-wrapper-33{display:flex;width:40%;flex-direction:column}.threed-selections{display:none}.threed-selections.show-selections{display:block}.threed-selections ::ng-deep .rp-lite-selector .rp-answers-slideout ::ng-deep co-slideout{width:480px;z-index:3}.threed-selections ::ng-deep .co-summary-line{cursor:pointer}.product-action-buttons{position:relative}.product-action-buttons.full-screen{z-index:10}.product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.product-page-block-image .threed-configurator{border:none}.product-page-block-image .threed-configurator .layer .viewer canvas{height:100%;width:100%}.product-page-block-image .threed-configurator ::ng-deep .rp-element-toolbar{top:30px}.product-page-block-image app-image-carousel.show-animated,.product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.product-page-block-description{grid-column:7/12;grid-row:1/1}.product-page-block-additional,.product-page-block-additional-description{width:100%}.product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.product-page-block-price.full{grid-column:1/5}.preset-container{display:flex;justify-content:right}.preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.preset-container .save-preset-button:hover{background:#74b77f}.product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#74b77f}.addtocart-reserved{grid-column:1/3;grid-row:3/3}.product-page-block-stock{grid-column:1/3;grid-row:4/4}.product-page-block-delivery{grid-column:3/5;grid-row:4/4}::ng-deep co-scroll-container{overflow:hidden;position:relative}::ng-deep co-scroll-container .content-wrapper{padding:0}::ng-deep co-scroll-container .scroll-layer{left:0;top:0}::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.product-page-block-variants{margin:20px 0 0}.product-page-block-variants ::ng-deep app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep app-header h3{font-size:14px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container{width:320px;max-width:100%;padding:0 16px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller{width:26px;height:26px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll{left:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll{right:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.product-page-block-variants ::ng-deep co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.product-page-block-variants ::ng-deep co-tile.small:hover{border-color:#22313c}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper{padding:0}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-top{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-bottom{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-extra-bottom{display:none}.product-page-block-alternatives ::ng-deep .article-wrapper{margin:0 20px 0 0}.product-page-block-alternatives ::ng-deep .article-wrapper:last-child{margin:0}.product-page-block-alternatives ::ng-deep co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;border-bottom-color:#f6f5f4;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.product-page-block-alternatives ::ng-deep co-tile:hover{box-shadow:none;border-color:#f6f5f4}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper .tile-bottom{margin:0}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;z-index:-1;transition:all .2s ease}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button co-icon{width:32px;height:32px;margin:0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main{padding:0 10px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#2b60a7}.product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.product-page-block-properties{grid-column:7/10;grid-row:3/3}.product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.product-page-block-documents{grid-column:2/6;grid-row:5/5}.product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.default-padding{padding-top:20px;padding-bottom:20px}.m-padding{padding-top:15px;padding-bottom:15px}.s-padding{padding-top:5px;padding-bottom:5px}.page-wrapper{max-width:650px}.page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.page-wrapper .page-wrapper-content .page-wrapper-left,.page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){[class*=-padding]{padding-left:0!important;padding-right:0!important}.product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProductSelectorTypeComponent, selector: "app-product-selector-type", inputs: ["show2D", "show3D", "showRenderCarousel", "currentType"], outputs: ["onIconClick", "currentTypeChange"] }, { kind: "component", type: ImageCarouselComponent, selector: "app-image-carousel", inputs: ["showRefresh", "images"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductDescriptionComponent, selector: "app-product-description", inputs: ["article"] }, { kind: "component", type: ProductAdditionalDescriptionComponent, selector: "app-product-additional-description", inputs: ["article"] }, { kind: "component", type: ProductPriceComponent, selector: "app-product-price", inputs: ["pricing", "configurable"] }, { kind: "component", type: ProductAddtocartComponent, selector: "app-product-addtocart", inputs: ["article", "externalSource", "createFrozenArticle", "configurable", "configuring", "showAddToCart", "isReturn", "fullscreen", "quantity"], outputs: ["startConfiguration", "addToCartClick", "addToQuoteClick", "showRelatedPopup"] }, { kind: "component", type: ProductRelatedComponent, selector: "app-product-related", inputs: ["refType", "label", "externalSource", "isSmallModus", "createFrozenArticle", "articles"] }, { kind: "component", type: ProductStockComponent, selector: "app-product-stock", inputs: ["goodId"], outputs: ["openStockEvent"] }, { kind: "component", type: ProductDeliveryComponent, selector: "app-product-delivery", inputs: ["stockAndDelivery"] }, { kind: "component", type: ProductInfoTabsComponent, selector: "app-product-info-tabs", inputs: ["article"] }, { kind: "component", type: ProductDialogComponent, selector: "co-product-dialog", inputs: ["refType", "mainArticle", "articles"], outputs: ["closeRelatedPopup"] }, { kind: "component", type: RenderCarouselComponent, selector: "app-render-carousel", inputs: ["showRefresh", "article"] }, { kind: "component", type: i6.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: PresetDialogComponent, selector: "co-preset-dialog", inputs: ["type", "presetId"], outputs: ["cancelSavePreset", "overwritePreset"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
3262
+ `, isInline: true, styles: [".co-product-page .page-wrapper{font-family:Public Sans;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 10px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:0 0 10px;gap:10px}.co-product-page .page-wrapper-content:first-child{margin-top:10px}.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.co-product-page .swimming-lane{display:flex;flex-wrap:wrap;box-shadow:1px 1px 4px #0000001a;padding:30px;background:#fff}.co-product-page .page-wrapper-left{display:flex;width:65%;flex-direction:column}.co-product-page .page-wrapper-right{display:flex;width:35%;flex-direction:column}.co-product-page .page-wrapper-right .product-page-scroll-container{max-height:100vh;overflow-y:scroll}.co-product-page .page-wrapper-full{display:flex;width:100%;flex-direction:column}.co-product-page .page-wrapper-66{display:flex;width:60%;flex-direction:column}.co-product-page .page-wrapper-33{display:flex;width:40%;flex-direction:column}.co-product-page .product-action-buttons{position:relative}.co-product-page .product-action-buttons.full-screen{z-index:10}.co-product-page .product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.co-product-page .product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.co-product-page .product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.co-product-page .product-page-block-image .co-configurator-scene{width:100%;height:300px;display:block;position:relative}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container{position:relative;height:650px;width:100%}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer{min-height:0;min-width:0;width:auto;height:auto}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer canvas{width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.hide-3d-scene{visibility:hidden;overflow:hidden;height:0}.co-product-page .product-page-block-image .co-configurator-scene.show-3d-scene{min-height:650px;position:relative}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen{position:fixed;inset:0;width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen .configurator-bundle-container{height:100%}.co-product-page .product-page-block-image .co-configurator-scene canvas{height:100%}.co-product-page .product-page-block-image app-image-carousel.show-animated,.co-product-page .product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.co-product-page .product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.co-product-page .product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.co-product-page .product-page-block-description{grid-column:7/12;grid-row:1/1}.co-product-page .product-page-block-additional,.co-product-page .product-page-block-additional-description{width:100%}.co-product-page .product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.co-product-page .product-page-block-price.full{grid-column:1/5}.co-product-page .product-page-block-price .hide-configurator{display:none}.co-product-page .product-page-block-price .show-configurator{display:block}.co-product-page .product-page-block-price .show-configurator .co-threedselector{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-product-configurator .product-configurator-container{position:relative;width:auto;top:auto;right:auto;padding-left:0;padding-right:0;height:auto;max-height:100%}.co-product-page .preset-container{display:flex;justify-content:right}.co-product-page .preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.co-product-page .preset-container .save-preset-button:hover{background:#4e9b7e}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#4e9b7e}.co-product-page .addtocart-reserved{grid-column:1/3;grid-row:3/3}.co-product-page .product-page-block-stock{grid-column:1/3;grid-row:4/4}.co-product-page .product-page-block-delivery{grid-column:3/5;grid-row:4/4}.co-product-page ::ng-deep co-scroll-container{overflow:hidden;position:relative}.co-product-page ::ng-deep co-scroll-container .content-wrapper{padding:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer{left:0;top:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.co-product-page .product-page-block-variants{margin:20px 0 0}.co-product-page .product-page-block-variants app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.co-product-page .product-page-block-variants app-product-related>div app-header h3{font-size:14px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container{width:320px;max-width:100%;padding:0 16px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller{width:26px;height:26px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll{left:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll{right:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.co-product-page .product-page-block-variants co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.co-product-page .product-page-block-variants co-tile.small:hover{border-color:#22313c}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper{padding:0}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-top{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-bottom{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-extra-bottom{display:none}.co-product-page .product-page-block-alternatives .co-scroll-container,.co-product-page .product-page-block-alternatives .co-scroll-container .content-wrapper{width:auto}.co-product-page .product-page-block-alternatives .article-wrapper{margin:0 20px 0 0}.co-product-page .product-page-block-alternatives .article-wrapper:last-child{margin:0}.co-product-page .product-page-block-alternatives .co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.co-product-page .product-page-block-alternatives .co-tile:hover{box-shadow:none;border-color:#f6f5f4}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper .tile-bottom{margin:0}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;object-fit:contain;transition:all .2s ease}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:5px 0;background:transparent!important;min-height:60px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button{margin:0 0 5px!important;width:34px;height:34px;border:none;background:#1a73e8;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button .co-icon{width:28px;height:28px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main{padding:0 10px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#1a73e8}.co-product-page .product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.co-product-page .product-page-block-properties{grid-column:7/10;grid-row:3/3}.co-product-page .product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.co-product-page .product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.co-product-page .product-page-block-documents{grid-column:2/6;grid-row:5/5}.co-product-page .product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.co-product-page .default-padding{padding-top:20px;padding-bottom:20px}.co-product-page .m-padding{padding-top:15px;padding-bottom:15px}.co-product-page .s-padding{padding-top:5px;padding-bottom:5px}.co-product-page .page-wrapper{max-width:650px}.co-product-page .page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-left,.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.co-product-page .product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){.co-product-page [class*=-padding]{padding-left:0!important;padding-right:0!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"], dependencies: [{ kind: "component", type: ProductSelectorTypeComponent, selector: "app-product-selector-type", inputs: ["show2D", "show3D", "showRenderCarousel", "currentType"], outputs: ["onIconClick", "currentTypeChange"] }, { kind: "component", type: ImageCarouselComponent, selector: "app-image-carousel", inputs: ["showRefresh", "images"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: ProductDescriptionComponent, selector: "app-product-description", inputs: ["article"] }, { kind: "component", type: ProductAdditionalDescriptionComponent, selector: "app-product-additional-description", inputs: ["article"] }, { kind: "component", type: ProductPriceComponent, selector: "app-product-price", inputs: ["pricing", "configurable"] }, { kind: "component", type: ProductAddtocartComponent, selector: "app-product-addtocart", inputs: ["article", "externalSource", "createFrozenArticle", "configurable", "configuring", "showAddToCart", "isReturn", "fullscreen", "quantity"], outputs: ["startConfiguration", "addToCartClick", "addToQuoteClick", "showRelatedPopup"] }, { kind: "component", type: ProductRelatedComponent, selector: "app-product-related", inputs: ["refType", "label", "externalSource", "isSmallModus", "createFrozenArticle", "articles"] }, { kind: "component", type: ProductStockComponent, selector: "app-product-stock", inputs: ["goodId"], outputs: ["openStockEvent"] }, { kind: "component", type: ProductInfoTabsComponent, selector: "app-product-info-tabs", inputs: ["article"] }, { kind: "component", type: ProductDialogComponent, selector: "co-product-dialog", inputs: ["refType", "mainArticle", "articles"], outputs: ["closeRelatedPopup"] }, { kind: "component", type: RenderCarouselComponent, selector: "app-render-carousel", inputs: ["showRefresh", "article"] }, { kind: "component", type: i6.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: PresetDialogComponent, selector: "co-preset-dialog", inputs: ["type", "presetId"], outputs: ["cancelSavePreset", "overwritePreset"] }, { kind: "component", type: i5.ConfiguratorComponent, selector: "co-configurator", inputs: ["showLoader", "showProgressBar", "showErrorMessages", "outputErrorMessages", "canCloseConfigurator", "animateSlideout", "showHeaderInformation", "showSaveAndLoadConfiguration"], outputs: ["buildResult", "isLoading", "updateProgressBar", "errorMessages", "showChange"] }, { kind: "component", type: i5.ConfiguratorSceneComponent, selector: "co-configurator-scene" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
3222
3263
  trigger('toggleFullScreen', [
3223
3264
  state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
3224
3265
  state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
@@ -3249,7 +3290,7 @@ class ProductPageComponent {
3249
3290
  state('*', style({ 'opacity': '1' })),
3250
3291
  transition('void => *', animate('200ms ease-in-out'))
3251
3292
  ])
3252
- ] }); }
3293
+ ], encapsulation: i0.ViewEncapsulation.None }); }
3253
3294
  }
3254
3295
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageComponent, decorators: [{
3255
3296
  type: Component,
@@ -3257,16 +3298,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3257
3298
  @if (settingsLoaded) {
3258
3299
  <div class="page-wrapper">
3259
3300
  <div class="page-wrapper-content">
3260
- <div class="page-wrapper-left">
3301
+ <div class="page-wrapper-left swimming-lane">
3261
3302
  <div class="product-image-container">
3262
3303
  <div class="product-page-block-selector-type">
3263
- <app-product-selector-type class="default-padding"
3264
- [(currentType)]="currentView"
3265
- [show2D]="configurable"
3266
- [show3D]="threeD"
3267
- ></app-product-selector-type>
3304
+ <app-product-selector-type
3305
+ [(currentType)]="currentView"
3306
+ [show2D]="configurable"
3307
+ [show3D]="threeD">
3308
+ </app-product-selector-type>
3268
3309
  </div>
3269
- <div class="product-page-block-image default-padding" [class.full]="fullScreen">
3310
+
3311
+ <div class="product-page-block-image" [class.full]="fullScreen">
3270
3312
  @if (!enableRenderCarousel) {
3271
3313
  <app-image-carousel
3272
3314
  [@toggleVisibilityByState]="show2D ? 'show' : 'hide'"
@@ -3280,132 +3322,140 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3280
3322
  [article]="article">
3281
3323
  </app-render-carousel>
3282
3324
  }
3283
- @if (settingsLoaded && this.configurable) {
3284
- <threed-configurator
3285
- #configurator
3286
- class="threed-configurator"
3287
- [class.configurator-full-screen]="fullScreen"
3288
- [@toggleVisibilityByState]="show3D ? 'show' : 'hide'"
3289
- [@toggleFullScreen]="fullScreen ? 'fullscreen' : 'halfscreen'">
3290
- </threed-configurator>
3325
+ @if (settingsLoaded) {
3326
+ <co-configurator-scene
3327
+ [class.show-full-screen]="fullScreen"
3328
+ [class.hide-3d-scene]="!show3D"
3329
+ [class.show-3d-scene]="show3D">
3330
+ </co-configurator-scene>
3291
3331
  }
3292
3332
  @if (show3D) {
3293
- <co-icon #fullscreenbutton class="fullscreen-button"
3294
- [@toggleTopLeft]="fullScreen ? 'fullscreen' : 'halfscreen'"
3295
- [iconData]="iconCache.getIcon(fullScreenIcon)"
3296
- (click)="showFullScreen()"></co-icon>
3333
+ <co-icon
3334
+ #fullscreenbutton
3335
+ class="fullscreen-button"
3336
+ [@toggleTopLeft]="fullScreen ? 'fullscreen' : 'halfscreen'"
3337
+ [iconData]="iconCache.getIcon(fullScreenIcon)"
3338
+ (click)="showFullScreen()">
3339
+ </co-icon>
3297
3340
  }
3298
3341
  @if (show3D && fullScreen) {
3299
- <co-icon class="threed-watermark"
3300
- [iconData]="iconCache.getIcon(icon.Logo)"></co-icon>
3342
+ <co-icon
3343
+ class="threed-watermark"
3344
+ [iconData]="iconCache.getIcon(icon.Logo)">
3345
+ </co-icon>
3301
3346
  }
3302
3347
  </div>
3303
3348
  </div>
3304
3349
  </div>
3305
- <div class="page-wrapper-right">
3306
- <div class="product-page-block-description">
3307
- <app-product-description class="default-padding" [article]="article"></app-product-description>
3308
- </div>
3309
- <div class="product-page-block-additional">
3310
- <div class="product-page-block-additional-description">
3311
- <app-product-additional-description class="default-padding" [article]="article"></app-product-additional-description>
3350
+ <div class="page-wrapper-right swimming-lane">
3351
+ <div class="product-page-scroll-container">
3352
+ <div class="product-page-block-description">
3353
+ <app-product-description
3354
+
3355
+ [article]="article">
3356
+ </app-product-description>
3312
3357
  </div>
3313
- <div class="product-page-block-price" [class.full]="configuring">
3314
- @if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
3315
- <div class="preset-container">
3316
- <co-button
3317
- class="save-preset-button"
3318
- [iconData]="iconCache.getIcon(icon.SaveDisk)"
3319
- [label]="'PRESET_SAVE_AS' | localize"
3320
- (onClick)="handleSavePreset()"
3321
- ></co-button>
3322
- </div>
3323
- }
3358
+ <div class="product-page-block-additional">
3359
+ <div class="product-page-block-additional-description">
3360
+ <app-product-additional-description
3361
+
3362
+ [article]="article">
3363
+ </app-product-additional-description>
3364
+ </div>
3365
+ <div class="product-page-block-price" [class.full]="configuring">
3366
+ @if (configuring && this.settingsService.settings.options.showSaveAsPresetButton) {
3367
+ <div class="preset-container">
3368
+ <co-button
3369
+ class="save-preset-button"
3370
+ [iconData]="iconCache.getIcon(icon.SaveDisk)"
3371
+ [label]="'PRESET_SAVE_AS' | localize"
3372
+ (onClick)="handleSavePreset()">
3373
+ </co-button>
3374
+ </div>
3375
+ }
3376
+ @if (!configuring) {
3377
+ <app-product-price
3378
+
3379
+ [pricing]="article?.pricing"
3380
+ [configurable]="configurable">
3381
+ </app-product-price>
3382
+ }
3383
+
3384
+ @if (settingsLoaded) {
3385
+ <co-configurator
3386
+ [class.hide-configurator]="!configuring"
3387
+ [class.show-configurator]="configuring"
3388
+ [showLoader]="true"
3389
+ [animateSlideout]="false"
3390
+ [showHeaderInformation]="false"
3391
+ [canCloseConfigurator]="false"
3392
+ (buildResult)="handleBuildFinished($event)">
3393
+ </co-configurator>
3394
+ }
3395
+ </div>
3324
3396
  @if (!configuring) {
3325
- <app-product-price class="s-padding"
3326
- [pricing]="article?.pricing"
3327
- [configurable]="configurable"
3328
- ></app-product-price>
3397
+ <div class="product-page-block-addtocart product-action-buttons"
3398
+ [@toggleTopRight]="fullScreen ? 'fullscreen' : 'halfscreen'">
3399
+ <app-product-addtocart
3400
+ [configurable]="configurable"
3401
+ [createFrozenArticle]="createFrozenArticle"
3402
+ [configuring]="configuring"
3403
+ [showAddToCart]="showAddToCart"
3404
+ [article]="article"
3405
+ [externalSource]="externalSource"
3406
+ [isReturn]="isReturn"
3407
+ (startConfiguration)="handleStartConfiguration()"
3408
+ (showRelatedPopup)="handlePopUpChange($event)">
3409
+ </app-product-addtocart>
3410
+ </div>
3329
3411
  }
3412
+ @if (configuring) {
3413
+ <div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
3414
+ <app-product-addtocart
3330
3415
 
3331
- @if (settingsLoaded) {
3332
- <threed-selections #selections class="threed-selections"
3333
- [class.show-selections]="configuring"
3334
- [@toggleFullScreenRight]="fullScreen ? 'fullscreen' : 'halfscreen'"
3335
- [class.default-padding]="!fullScreen"
3336
- [class.show-full-screen]="fullScreen"
3337
- [class.mini-scrollbar]="fullScreen"
3338
- [sku]="sku"
3339
- [settings]="settings"
3340
- (onUserActionFromThreeD)="configuring = true"
3341
- (instanceSet)="setInstance($event)"
3342
- (onImageReceived)="appEventService.onImageReceived.next($event)"
3343
- (onRenderStarted)="appEventService.onRenderStarted.next()"
3344
- (onDraftRenderImageReceived)="appEventService.onDraftRenderImageReceived.next($event)"
3345
- (onArticleReceived)="appEventService.onArticleReceived.next($event.detail)"
3346
- (onSelectionsReceived)="appEventService.onSelectionsReceived.next($event.detail)"
3347
- (onArticleInfoReceived)="appEventService.onArticleInfoReceived.next($event.detail)"
3348
- (onAnswersAvailable)="appEventService.onAnswersAvailable.next($event.detail)"
3349
- (onReadyToRender)="appEventService.onReadyToRender.next($event.detail)"
3350
- (onRenderImageReceived)="appEventService.onRenderImageReceived.next($event.detail)"
3351
- ></threed-selections>
3416
+ [configurable]="false"
3417
+ [fullscreen]="fullScreen"
3418
+ [showAddToCart]="showAddToCart"
3419
+ [configuring]="configuring"
3420
+ [article]="article"
3421
+ [externalSource]="externalSource"
3422
+ [isReturn]="isReturn"
3423
+ (startConfiguration)="handleStartConfiguration()">
3424
+ </app-product-addtocart>
3425
+ </div>
3352
3426
  }
3353
- </div>
3354
- @if (!configuring) {
3355
- <div class="product-page-block-addtocart no-padding product-action-buttons"
3356
- [@toggleTopRight]="fullScreen ? 'fullscreen' : 'halfscreen'">
3357
- <app-product-addtocart
3358
- [configurable]="configurable"
3359
- [createFrozenArticle]="createFrozenArticle"
3360
- [configuring]="configuring"
3361
- [showAddToCart]="showAddToCart"
3362
- [article]="article"
3363
- [externalSource]="externalSource"
3364
- [isReturn]="isReturn"
3365
- (startConfiguration)="handleStartConfiguration()"
3366
- (showRelatedPopup)="handlePopUpChange($event)"
3367
- ></app-product-addtocart>
3427
+ <div class="product-page-block-variants">
3428
+ @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3429
+ <app-product-related
3430
+
3431
+ [externalSource]="externalSource"
3432
+ [articles]="article?.relatedArticles" [refType]="64"
3433
+ [label]="'VARIANTS' | localize">
3434
+ </app-product-related>
3435
+ }
3368
3436
  </div>
3369
- }
3370
- @if (configuring) {
3371
- <div class="addtocart-reserved product-action-buttons" [class.full-screen]="fullScreen">
3372
- <app-product-addtocart class="default-padding"
3373
- [configurable]="false"
3374
- [fullscreen]="fullScreen"
3375
- [showAddToCart]="showAddToCart"
3376
- [configuring]="configuring"
3377
- [article]="article"
3378
- [externalSource]="externalSource"
3379
- [isReturn]="isReturn"
3380
- (startConfiguration)="handleStartConfiguration()"
3381
- ></app-product-addtocart>
3437
+ <div class="product-page-block-stock">
3438
+ <app-product-stock
3439
+
3440
+ [goodId]="article?.goodId"
3441
+ (openStockEvent)="openStock()">
3442
+ </app-product-stock>
3382
3443
  </div>
3383
- }
3384
- <div class="product-page-block-variants">
3385
- @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3386
- <app-product-related class="no-padding"
3387
- [externalSource]="externalSource"
3388
- [articles]="article?.relatedArticles" [refType]="64"
3389
- [label]="'VARIANTS' | localize"></app-product-related>
3390
- }
3391
- </div>
3392
- <div class="product-page-block-stock">
3393
- <app-product-stock class="no-padding" [goodId]="article?.goodId" (openStockEvent)="openStock()"></app-product-stock>
3394
- </div>
3395
- <div class="product-page-block-delivery">
3396
- <app-product-delivery class="no-padding" [stockAndDelivery]="stockAndDelivery"></app-product-delivery>
3397
3444
  </div>
3398
3445
  </div>
3399
3446
  </div>
3400
3447
  </div>
3401
3448
  <div class="page-wrapper-content">
3402
3449
  @if (article) {
3403
- <div class="page-wrapper-left">
3404
- <app-product-info-tabs class="no-padding" [article]="article"></app-product-info-tabs>
3450
+ <div class="page-wrapper-left swimming-lane">
3451
+ <app-product-info-tabs
3452
+
3453
+ [article]="article">
3454
+ </app-product-info-tabs>
3405
3455
  </div>
3406
3456
  }
3407
- <div class="page-wrapper-right">
3408
- <div class="product-page-block-related s-padding">
3457
+ <div class="page-wrapper-right swimming-lane">
3458
+ <div class="product-page-block-related">
3409
3459
  @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3410
3460
  <app-product-related
3411
3461
  [externalSource]="externalSource"
@@ -3418,8 +3468,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3418
3468
  </div>
3419
3469
  </div>
3420
3470
  <div class="page-wrapper-content no-top-margin">
3421
- <div class="page-wrapper-full">
3422
- <div class="product-page-block-alternatives s-padding">
3471
+ <div class="page-wrapper-full swimming-lane">
3472
+ <div class="product-page-block-alternatives">
3423
3473
  @if (article?.relatedArticles && article?.relatedArticles.length > 0) {
3424
3474
  <app-product-related
3425
3475
  [externalSource]="externalSource"
@@ -3438,23 +3488,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3438
3488
  [mainArticle]="article"
3439
3489
  [articles]="article?.relatedArticles"
3440
3490
  [refType]="1"
3441
- (closeRelatedPopup)="handlePopUpChange($event)"
3442
- >
3491
+ (closeRelatedPopup)="handlePopUpChange($event)">
3443
3492
  </co-product-dialog>
3444
3493
  </div>
3445
3494
  }
3446
3495
  </div>
3447
3496
 
3448
- <co-preset-dialog
3449
- *ngIf="showPresetDialog"
3450
- [type]="presetDialogType"
3451
- [presetId]="configPresetId"
3452
- (cancelSavePreset)="handleCancelSavePreset($event)"
3453
- (overwritePreset)="handleOverwritePreset($event)"
3454
- >
3455
- </co-preset-dialog>
3497
+ @if (presetDialogType) {
3498
+ <co-preset-dialog
3499
+ [type]="presetDialogType"
3500
+ [presetId]="configPresetId"
3501
+ (cancelSavePreset)="handleCancelSavePreset($event)"
3502
+ (overwritePreset)="handleOverwritePreset($event)">
3503
+ </co-preset-dialog>
3504
+ }
3456
3505
  }
3457
- `, animations: [
3506
+ `, encapsulation: ViewEncapsulation.None, animations: [
3458
3507
  trigger('toggleFullScreen', [
3459
3508
  state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
3460
3509
  state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
@@ -3485,13 +3534,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3485
3534
  state('*', style({ 'opacity': '1' })),
3486
3535
  transition('void => *', animate('200ms ease-in-out'))
3487
3536
  ])
3488
- ], standalone: false, styles: [".page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.page-wrapper-content:first-child,.page-wrapper-content.no-top-margin{margin-top:0}.page-wrapper-left{display:flex;width:65%;flex-direction:column}.page-wrapper-right{display:flex;width:35%;flex-direction:column}.page-wrapper-full{display:flex;width:100%;flex-direction:column}.page-wrapper-66{display:flex;width:60%;flex-direction:column}.page-wrapper-33{display:flex;width:40%;flex-direction:column}.threed-selections{display:none}.threed-selections.show-selections{display:block}.threed-selections ::ng-deep .rp-lite-selector .rp-answers-slideout ::ng-deep co-slideout{width:480px;z-index:3}.threed-selections ::ng-deep .co-summary-line{cursor:pointer}.product-action-buttons{position:relative}.product-action-buttons.full-screen{z-index:10}.product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.product-page-block-image .threed-configurator{border:none}.product-page-block-image .threed-configurator .layer .viewer canvas{height:100%;width:100%}.product-page-block-image .threed-configurator ::ng-deep .rp-element-toolbar{top:30px}.product-page-block-image app-image-carousel.show-animated,.product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.product-page-block-description{grid-column:7/12;grid-row:1/1}.product-page-block-additional,.product-page-block-additional-description{width:100%}.product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.product-page-block-price.full{grid-column:1/5}.preset-container{display:flex;justify-content:right}.preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.preset-container .save-preset-button:hover{background:#74b77f}.product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#74b77f}.addtocart-reserved{grid-column:1/3;grid-row:3/3}.product-page-block-stock{grid-column:1/3;grid-row:4/4}.product-page-block-delivery{grid-column:3/5;grid-row:4/4}::ng-deep co-scroll-container{overflow:hidden;position:relative}::ng-deep co-scroll-container .content-wrapper{padding:0}::ng-deep co-scroll-container .scroll-layer{left:0;top:0}::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.product-page-block-variants{margin:20px 0 0}.product-page-block-variants ::ng-deep app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep app-header h3{font-size:14px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container{width:320px;max-width:100%;padding:0 16px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller{width:26px;height:26px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll{left:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll{right:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.product-page-block-variants ::ng-deep co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.product-page-block-variants ::ng-deep co-tile.small:hover{border-color:#22313c}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper{padding:0}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-top{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-bottom{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-extra-bottom{display:none}.product-page-block-alternatives ::ng-deep .article-wrapper{margin:0 20px 0 0}.product-page-block-alternatives ::ng-deep .article-wrapper:last-child{margin:0}.product-page-block-alternatives ::ng-deep co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;border-bottom-color:#f6f5f4;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.product-page-block-alternatives ::ng-deep co-tile:hover{box-shadow:none;border-color:#f6f5f4}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper .tile-bottom{margin:0}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;z-index:-1;transition:all .2s ease}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button co-icon{width:32px;height:32px;margin:0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main{padding:0 10px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#2b60a7}.product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.product-page-block-properties{grid-column:7/10;grid-row:3/3}.product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.product-page-block-documents{grid-column:2/6;grid-row:5/5}.product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.default-padding{padding-top:20px;padding-bottom:20px}.m-padding{padding-top:15px;padding-bottom:15px}.s-padding{padding-top:5px;padding-bottom:5px}.page-wrapper{max-width:650px}.page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.page-wrapper .page-wrapper-content .page-wrapper-left,.page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){[class*=-padding]{padding-left:0!important;padding-right:0!important}.product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"] }]
3489
- }], ctorParameters: () => [{ type: ProductConnectorService }, { type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }], propDecorators: { configurator: [{
3490
- type: ViewChild,
3491
- args: ['configurator', { read: ElementRef }]
3492
- }], selections: [{
3493
- type: ViewChild,
3494
- args: ['selections', { read: ElementRef }]
3537
+ ], standalone: false, styles: [".co-product-page .page-wrapper{font-family:Public Sans;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 10px;margin:0 auto}.co-product-page .page-wrapper-content{display:flex;flex-direction:row;margin:0 0 10px;gap:10px}.co-product-page .page-wrapper-content:first-child{margin-top:10px}.co-product-page .page-wrapper-content.no-top-margin{margin-top:0}.co-product-page .swimming-lane{display:flex;flex-wrap:wrap;box-shadow:1px 1px 4px #0000001a;padding:30px;background:#fff}.co-product-page .page-wrapper-left{display:flex;width:65%;flex-direction:column}.co-product-page .page-wrapper-right{display:flex;width:35%;flex-direction:column}.co-product-page .page-wrapper-right .product-page-scroll-container{max-height:100vh;overflow-y:scroll}.co-product-page .page-wrapper-full{display:flex;width:100%;flex-direction:column}.co-product-page .page-wrapper-66{display:flex;width:60%;flex-direction:column}.co-product-page .page-wrapper-33{display:flex;width:40%;flex-direction:column}.co-product-page .product-action-buttons{position:relative}.co-product-page .product-action-buttons.full-screen{z-index:10}.co-product-page .product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.co-product-page .product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.co-product-page .product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.co-product-page .product-page-block-image .co-configurator-scene{width:100%;height:300px;display:block;position:relative}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container{position:relative;height:650px;width:100%}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer{min-height:0;min-width:0;width:auto;height:auto}.co-product-page .product-page-block-image .co-configurator-scene .configurator-bundle-container .threedviewer canvas{width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.hide-3d-scene{visibility:hidden;overflow:hidden;height:0}.co-product-page .product-page-block-image .co-configurator-scene.show-3d-scene{min-height:650px;position:relative}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen{position:fixed;inset:0;width:100%;height:100%}.co-product-page .product-page-block-image .co-configurator-scene.show-full-screen .configurator-bundle-container{height:100%}.co-product-page .product-page-block-image .co-configurator-scene canvas{height:100%}.co-product-page .product-page-block-image app-image-carousel.show-animated,.co-product-page .product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.co-product-page .product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.co-product-page .product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.co-product-page .product-page-block-description{grid-column:7/12;grid-row:1/1}.co-product-page .product-page-block-additional,.co-product-page .product-page-block-additional-description{width:100%}.co-product-page .product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.co-product-page .product-page-block-price.full{grid-column:1/5}.co-product-page .product-page-block-price .hide-configurator{display:none}.co-product-page .product-page-block-price .show-configurator{display:block}.co-product-page .product-page-block-price .show-configurator .co-threedselector{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .co-threedselector .co-product-configurator .product-configurator-container{position:relative;width:auto;top:auto;right:auto;padding-left:0;padding-right:0;height:auto;max-height:100%}.co-product-page .preset-container{display:flex;justify-content:right}.co-product-page .preset-container .save-preset-button{cursor:pointer;width:100%;max-width:205px;box-sizing:border-box}.co-product-page .preset-container .save-preset-button:hover{background:#4e9b7e}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#4e9b7e}.co-product-page .addtocart-reserved{grid-column:1/3;grid-row:3/3}.co-product-page .product-page-block-stock{grid-column:1/3;grid-row:4/4}.co-product-page .product-page-block-delivery{grid-column:3/5;grid-row:4/4}.co-product-page ::ng-deep co-scroll-container{overflow:hidden;position:relative}.co-product-page ::ng-deep co-scroll-container .content-wrapper{padding:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer{left:0;top:0}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}.co-product-page ::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.co-product-page .product-page-block-variants{margin:20px 0 0}.co-product-page .product-page-block-variants app-product-related>div{display:flex;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.co-product-page .product-page-block-variants app-product-related>div app-header h3{font-size:14px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container{width:320px;max-width:100%;padding:0 16px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller{width:26px;height:26px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll{left:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll{right:5px}.co-product-page .product-page-block-variants app-product-related>div co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.co-product-page .product-page-block-variants co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.co-product-page .product-page-block-variants co-tile.small:hover{border-color:#22313c}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper{padding:0}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-top{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.co-product-page .product-page-block-variants co-tile.small .tile-wrapper .tile-bottom{display:none}.co-product-page .product-page-block-variants co-tile.small .tile-extra-bottom{display:none}.co-product-page .product-page-block-alternatives .co-scroll-container,.co-product-page .product-page-block-alternatives .co-scroll-container .content-wrapper{width:auto}.co-product-page .product-page-block-alternatives .article-wrapper{margin:0 20px 0 0}.co-product-page .product-page-block-alternatives .article-wrapper:last-child{margin:0}.co-product-page .product-page-block-alternatives .co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.co-product-page .product-page-block-alternatives .co-tile:hover{box-shadow:none;border-color:#f6f5f4}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-wrapper .tile-bottom{margin:0}.co-product-page .product-page-block-alternatives .co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;object-fit:contain;transition:all .2s ease}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.co-product-page .product-page-block-alternatives .co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom{outline:none;padding:5px 0;background:transparent!important;min-height:60px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button{margin:0 0 5px!important;width:34px;height:34px;border:none;background:#1a73e8;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .co-button .co-icon{width:28px;height:28px;margin:0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main{padding:0 10px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:700;margin:0 0 2px}.co-product-page .product-page-block-alternatives .co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:700;color:#1a73e8}.co-product-page .product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.co-product-page .product-page-block-properties{grid-column:7/10;grid-row:3/3}.co-product-page .product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.co-product-page .product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.co-product-page .product-page-block-documents{grid-column:2/6;grid-row:5/5}.co-product-page .product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.co-product-page .default-padding{padding-top:20px;padding-bottom:20px}.co-product-page .m-padding{padding-top:15px;padding-bottom:15px}.co-product-page .s-padding{padding-top:5px;padding-bottom:5px}.co-product-page .page-wrapper{max-width:650px}.co-product-page .page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-left,.co-product-page .page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.co-product-page .product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){.co-product-page [class*=-padding]{padding-left:0!important;padding-right:0!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.co-product-page .product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"] }]
3538
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: ProductConnectorService }, { type: i5.ConfiguringService }, { type: i5.SceneService }], propDecorators: { showClass: [{
3539
+ type: HostBinding,
3540
+ args: ['class.co-product-page']
3495
3541
  }], fullscreenbutton: [{
3496
3542
  type: ViewChild,
3497
3543
  args: ['fullscreenbutton', { read: ElementRef }]
@@ -3560,11 +3606,13 @@ class IoneProductComponent {
3560
3606
  // this.sku = '104';
3561
3607
  // this.sku = "70000107";
3562
3608
  // this.sku = "grover";
3563
- // this.sku = "1000610952";
3609
+ this.sku = "RBB_3D_CALABASAS"; // bank istanbul jillis
3564
3610
  // this.sku = "4387";
3565
3611
  // this.sku = "1000612725";
3566
- // this.sku = '1000610952'; // elix = 1000234793
3612
+ // this.sku = '22000';
3613
+ // elix = 1000234793
3567
3614
  // this.sku = 'A30';
3615
+ // this.sku = '22000';
3568
3616
  }
3569
3617
  async ngOnInit() {
3570
3618
  this._subs.push(this._appEventService.onAddToCart.subscribe((data) => {
@@ -3948,6 +3996,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3948
3996
  }]
3949
3997
  }] });
3950
3998
 
3999
+ class ProductDeliveryComponent {
4000
+ set stockAndDelivery(value) {
4001
+ if (value) {
4002
+ this.deliveryDescription = value.deliveryDescription;
4003
+ if (this.deliveryDescription.length > 0 && this.deliveryDescription[0] === ' ') {
4004
+ this.deliveryDescription = this._localizePipe.transform('ASK_FOR_INFORMATION');
4005
+ }
4006
+ }
4007
+ }
4008
+ constructor(_localizePipe, _iOne, _iconCache) {
4009
+ this._localizePipe = _localizePipe;
4010
+ this._iOne = _iOne;
4011
+ this._iconCache = _iconCache;
4012
+ this.icon = IconEnum;
4013
+ this.iconData = this._iconCache.getIcon(this.icon.Truck);
4014
+ }
4015
+ ngOnInit() {
4016
+ }
4017
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, deps: [{ token: LocalizePipe }, { token: ProductConnectorService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
4018
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ProductDeliveryComponent, isStandalone: false, selector: "app-product-delivery", inputs: { stockAndDelivery: "stockAndDelivery" }, ngImport: i0, template: `
4019
+ <!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
4020
+ <div class="product-delivery-wrapper">
4021
+ <co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
4022
+ <div class="product-delivery-fields">
4023
+ <div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
4024
+ <div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
4025
+ </div>
4026
+ </div>
4027
+ `, isInline: true, styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width: 400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}\n"], dependencies: [{ kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: i5$1.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
4028
+ }
4029
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
4030
+ type: Component,
4031
+ args: [{ selector: 'app-product-delivery', template: `
4032
+ <!--<app-header [label]="'DELIVERY_TIME_PERIOD' | localize"></app-header>-->
4033
+ <div class="product-delivery-wrapper">
4034
+ <co-icon class="delivery-icon" [iconData]="iconData"></co-icon>
4035
+ <div class="product-delivery-fields">
4036
+ <div class="pp-default-label" [textContent]="'DELIVERY_TIME_PERIOD' | localize"></div>
4037
+ <div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
4038
+ </div>
4039
+ </div>
4040
+ `, standalone: false, styles: [":host{display:block}.product-delivery-wrapper{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid #f6f5f4;padding:20px 15px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:40px;height:37px}.product-delivery-wrapper .product-delivery-fields{display:flex;flex-direction:column}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:14px;margin:0}@media screen and (max-width: 400px){.product-delivery-wrapper{padding:15px 0 15px 10px}.product-delivery-wrapper .delivery-icon{margin:0 15px 0 0;width:32px;height:28px}.product-delivery-wrapper .product-delivery-fields .pp-default-label{font-size:13px}}\n"] }]
4041
+ }], ctorParameters: () => [{ type: LocalizePipe }, { type: ProductConnectorService }, { type: IconCacheService }], propDecorators: { stockAndDelivery: [{
4042
+ type: Input
4043
+ }] } });
4044
+
3951
4045
  class ProductDeliveryModule {
3952
4046
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3953
4047
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryModule, declarations: [ProductDeliveryComponent], imports: [CommonModule,
@@ -4222,7 +4316,9 @@ class ProductPageModule {
4222
4316
  LoaderModule,
4223
4317
  RenderCarouselModule,
4224
4318
  ButtonModule,
4225
- PresetDialogModule], exports: [ProductPageComponent] }); }
4319
+ PresetDialogModule,
4320
+ ConfiguratorModule,
4321
+ ConfiguratorSceneModule], exports: [ProductPageComponent] }); }
4226
4322
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, imports: [CommonModule,
4227
4323
  ProductSelectorTypeModule,
4228
4324
  ImageCarouselModule,
@@ -4240,7 +4336,9 @@ class ProductPageModule {
4240
4336
  LoaderModule,
4241
4337
  RenderCarouselModule,
4242
4338
  ButtonModule,
4243
- PresetDialogModule] }); }
4339
+ PresetDialogModule,
4340
+ ConfiguratorModule,
4341
+ ConfiguratorSceneModule] }); }
4244
4342
  }
4245
4343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductPageModule, decorators: [{
4246
4344
  type: NgModule,
@@ -4263,7 +4361,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
4263
4361
  LoaderModule,
4264
4362
  RenderCarouselModule,
4265
4363
  ButtonModule,
4266
- PresetDialogModule
4364
+ PresetDialogModule,
4365
+ ConfiguratorModule,
4366
+ ConfiguratorSceneModule
4267
4367
  ],
4268
4368
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
4269
4369
  declarations: [