@colijnit/product 262.1.7 → 262.1.9
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.
- package/fesm2022/colijnit-product.mjs +195 -172
- package/fesm2022/colijnit-product.mjs.map +1 -1
- package/index.d.ts +14 -10
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Pipe, EventEmitter, Output, Input, Component, ElementRef, HostBinding, HostListener, ViewChild, ChangeDetectionStrategy, SecurityContext, ViewEncapsulation, NgModule, CUSTOM_ELEMENTS_SCHEMA, PLATFORM_ID, Inject, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { Injectable, Pipe, EventEmitter, Output, Input, Component, ElementRef, HostBinding, HostListener, ViewChild, ChangeDetectionStrategy, SecurityContext, ViewEncapsulation, ContentChild, NgModule, CUSTOM_ELEMENTS_SCHEMA, PLATFORM_ID, Inject, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
3
3
|
import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
4
|
import { Options } from '@colijnit/ioneconnector/build/model/options';
|
|
5
5
|
import { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';
|
|
@@ -13,11 +13,13 @@ import { MainApi } from '@colijnit/mainapi';
|
|
|
13
13
|
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
|
|
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
|
+
import * as i5 from '@colijnit/configurator';
|
|
17
|
+
import { ConfigurationPresetModule, ConfiguratorModule, ConfiguratorSceneModule } from '@colijnit/configurator';
|
|
16
18
|
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
17
19
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
18
20
|
import * as i1 from '@angular/platform-browser';
|
|
19
|
-
import * as
|
|
20
|
-
import {
|
|
21
|
+
import * as i6$2 from '@angular/common';
|
|
22
|
+
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
21
23
|
import * as i6 from '@colijnit/corecomponents_v12';
|
|
22
24
|
import { IconModule, LoaderModule, ScrollContainerModule, InputNumberPickerModule, ButtonModule, ArticleTileModule, TileModule, IconCollapseHandleModule } from '@colijnit/corecomponents_v12';
|
|
23
25
|
import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
|
|
@@ -26,16 +28,14 @@ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
|
26
28
|
import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
|
|
27
29
|
import * as i3 from '@colijnit/sharedcomponents';
|
|
28
30
|
import { FilesUploadModule } from '@colijnit/sharedcomponents';
|
|
29
|
-
import * as i5$1 from '@angular/common';
|
|
30
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
31
31
|
|
|
32
32
|
// this file is dynamically created, do not change this
|
|
33
33
|
class Version {
|
|
34
34
|
constructor() {
|
|
35
35
|
this.name = "@colijnit/product";
|
|
36
36
|
this.description = "Product detail page project for iOne";
|
|
37
|
-
this.symVer = "262.1.
|
|
38
|
-
this.publishDate = "
|
|
37
|
+
this.symVer = "262.1.9";
|
|
38
|
+
this.publishDate = "3-7-2026, 09:41:52";
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -110,8 +110,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
110
110
|
// Sole responsibility is simply to wrap around a colijn.Connector to create a stable inner interface to the library in a 1:1 method way.
|
|
111
111
|
// Only to be used by the IOneControllerService.
|
|
112
112
|
class ProductConnectorAdapterService {
|
|
113
|
-
constructor(_eventService) {
|
|
113
|
+
constructor(_eventService, _configuratorConnectorService) {
|
|
114
114
|
this._eventService = _eventService;
|
|
115
|
+
this._configuratorConnectorService = _configuratorConnectorService;
|
|
115
116
|
this.showLoader = new Subject();
|
|
116
117
|
this._boFactory = new BusinessObjectFactory();
|
|
117
118
|
this._subs = [];
|
|
@@ -269,12 +270,15 @@ class ProductConnectorAdapterService {
|
|
|
269
270
|
}
|
|
270
271
|
return 'nl'; // just to be safe
|
|
271
272
|
}
|
|
272
|
-
|
|
273
|
+
async storeConfiguratorPreset() {
|
|
274
|
+
return await this._configuratorConnectorService.storePreset();
|
|
275
|
+
}
|
|
276
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductConnectorAdapterService, deps: [{ token: ProductEventService }, { token: i5.ConfiguratorConnectorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
273
277
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductConnectorAdapterService }); }
|
|
274
278
|
}
|
|
275
279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductConnectorAdapterService, decorators: [{
|
|
276
280
|
type: Injectable
|
|
277
|
-
}], ctorParameters: () => [{ type: ProductEventService }] });
|
|
281
|
+
}], ctorParameters: () => [{ type: ProductEventService }, { type: i5.ConfiguratorConnectorService }] });
|
|
278
282
|
|
|
279
283
|
class JsonUtilsService {
|
|
280
284
|
async readJsonFile(filePath) {
|
|
@@ -320,6 +324,7 @@ class Dictionary {
|
|
|
320
324
|
"AS_CONFIGURED": "As configured",
|
|
321
325
|
"CATEGORY": "Category",
|
|
322
326
|
"CATEGORY_TYPE": "Category type",
|
|
327
|
+
"CLICK_TO_LOAD": "Click to load",
|
|
323
328
|
"CONFIGURE": "Configure",
|
|
324
329
|
"DELIVERY_TIME_PERIOD": "Delivery time",
|
|
325
330
|
"DESCRIPTION": "Description",
|
|
@@ -328,6 +333,7 @@ class Dictionary {
|
|
|
328
333
|
"FEATURES": "Features",
|
|
329
334
|
"HEIGHT": "Height",
|
|
330
335
|
"MATERIAL": "Material",
|
|
336
|
+
"OPEN_IN_HOMEDECORATOR": "Open in homedecorator",
|
|
331
337
|
"PRODUCT_IN_STOCK": "In stock",
|
|
332
338
|
"PRODUCT_LIMITED_STOCK": "Limited stock",
|
|
333
339
|
"PRODUCT_NOT_IN_STOCK": "Not in stock",
|
|
@@ -335,6 +341,7 @@ class Dictionary {
|
|
|
335
341
|
"QUOTATION": "Quotation",
|
|
336
342
|
"READ_MORE": "Read more",
|
|
337
343
|
"RELATED_PRODUCTS": "Related products",
|
|
344
|
+
"SAVED_CONFIGURATION": "Saved configuration",
|
|
338
345
|
"SHOPPING_CART_IN": "In Shopping Cart",
|
|
339
346
|
"SHOW_IN": "Show in",
|
|
340
347
|
"STOCK": "Stock",
|
|
@@ -353,6 +360,7 @@ class Dictionary {
|
|
|
353
360
|
"ALTERNATIVE_PRODUCTS": "Alternatieve producten",
|
|
354
361
|
"ARTICLE_NUMBER": "Artikel nummer",
|
|
355
362
|
"AS_CONFIGURED": "Zoals samengesteld",
|
|
363
|
+
"CLICK_TO_LOAD": "Klik om te openen",
|
|
356
364
|
"CATEGORY": "Categorie",
|
|
357
365
|
"CATEGORY_TYPE": "Categorie type",
|
|
358
366
|
"CONFIGURE": "Configureren",
|
|
@@ -363,6 +371,7 @@ class Dictionary {
|
|
|
363
371
|
"FEATURES": "Kenmerken",
|
|
364
372
|
"HEIGHT": "Hoogte",
|
|
365
373
|
"MATERIAL": "Materiaal",
|
|
374
|
+
"OPEN_IN_HOMEDECORATOR": "Open in homedecorator",
|
|
366
375
|
"PRODUCT_IN_STOCK": "Op voorraad",
|
|
367
376
|
"PRODUCT_LIMITED_STOCK": "Beperkt op voorraad",
|
|
368
377
|
"PRODUCT_NOT_IN_STOCK": "Niet op voorraad",
|
|
@@ -370,6 +379,7 @@ class Dictionary {
|
|
|
370
379
|
"QUOTATION": "Quotatie",
|
|
371
380
|
"READ_MORE": "Lees meer",
|
|
372
381
|
"RELATED_PRODUCTS": "Gerelateerde producten",
|
|
382
|
+
"SAVED_CONFIGURATION": "Opslagen configuratie",
|
|
373
383
|
"SHOPPING_CART_IN": "In winkelwagen",
|
|
374
384
|
"SHOW_IN": "Laat zien",
|
|
375
385
|
"STOCK": "Voorraad",
|
|
@@ -2497,117 +2507,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2497
2507
|
type: Input
|
|
2498
2508
|
}] } });
|
|
2499
2509
|
|
|
2500
|
-
class ProductDialogComponent {
|
|
2501
|
-
showClass() {
|
|
2502
|
-
return true;
|
|
2503
|
-
}
|
|
2504
|
-
constructor(iconCache, _sanitizer, _productConnectorService, _productConnectorAdapterService, _appEventService) {
|
|
2505
|
-
this.iconCache = iconCache;
|
|
2506
|
-
this._sanitizer = _sanitizer;
|
|
2507
|
-
this._productConnectorService = _productConnectorService;
|
|
2508
|
-
this._productConnectorAdapterService = _productConnectorAdapterService;
|
|
2509
|
-
this._appEventService = _appEventService;
|
|
2510
|
-
this.icon = IconEnum;
|
|
2511
|
-
this.closeRelatedPopup = new EventEmitter();
|
|
2512
|
-
this.type = SelectorType;
|
|
2513
|
-
}
|
|
2514
|
-
ngOnInit() {
|
|
2515
|
-
}
|
|
2516
|
-
closeCatalog() {
|
|
2517
|
-
// need to emit close
|
|
2518
|
-
this.closeRelatedPopup.emit(false);
|
|
2519
|
-
}
|
|
2520
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogComponent, deps: [{ token: IconCacheService }, { token: i1.DomSanitizer }, { token: ProductConnectorService }, { token: ProductConnectorAdapterService }, { token: ProductEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2521
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductDialogComponent, isStandalone: false, selector: "co-product-dialog", inputs: { refType: "refType", mainArticle: "mainArticle", articles: "articles" }, outputs: { closeRelatedPopup: "closeRelatedPopup" }, host: { properties: { "class.co-product-dialog": "this.showClass" } }, ngImport: i0, template: `
|
|
2522
|
-
<div class="product-dialog-wrap">
|
|
2523
|
-
<div class="product-dialog-container">
|
|
2524
|
-
<div class="container-header">
|
|
2525
|
-
<div class="header-info">
|
|
2526
|
-
<h3>
|
|
2527
|
-
<co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
|
|
2528
|
-
(click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
|
|
2529
|
-
</h3>
|
|
2530
|
-
</div>
|
|
2531
|
-
<div class="close-icon" (click)="closeCatalog()">
|
|
2532
|
-
<co-icon class="fullscreen-button"
|
|
2533
|
-
[iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
2534
|
-
(click)="closeCatalog()"></co-icon>
|
|
2535
|
-
</div>
|
|
2536
|
-
</div>
|
|
2537
|
-
<div class="related-product-container">
|
|
2538
|
-
@if (articles) {
|
|
2539
|
-
<app-product-related
|
|
2540
|
-
class="no-padding"
|
|
2541
|
-
[articles]="articles">
|
|
2542
|
-
</app-product-related>
|
|
2543
|
-
}
|
|
2544
|
-
</div>
|
|
2545
|
-
<div class="close-button-container">
|
|
2546
|
-
<button class="ok-button" (click)="closeCatalog()">
|
|
2547
|
-
<co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
|
|
2548
|
-
(click)="closeCatalog()"></co-icon>
|
|
2549
|
-
</button>
|
|
2550
|
-
<button class="close-button" (click)="closeCatalog()">
|
|
2551
|
-
<co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
2552
|
-
(click)="closeCatalog()"></co-icon>
|
|
2553
|
-
</button>
|
|
2554
|
-
</div>
|
|
2555
|
-
</div>
|
|
2556
|
-
</div>
|
|
2557
|
-
`, isInline: true, styles: [".product-dialog-wrap{display:flex;justify-content:center;position:absolute;z-index:800;top:0}.product-dialog-wrap .product-dialog-container{background:#fff;min-width:75vw;max-height:90vh;border:1px solid #F8F8F8}.product-dialog-wrap .product-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3{display:flex;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}.product-dialog-wrap .product-dialog-container .container-header .close-icon{cursor:pointer}.product-dialog-wrap .product-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}.product-dialog-wrap .product-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon{height:20px;width:20px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg polygon{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container .ok-button{background:#1a73e8}.product-dialog-wrap .product-dialog-container .close-button-container .close-button{background:#475060}::ng-deep .content-wrapper{width:auto!important}\n"], dependencies: [{ kind: "component", type: ProductRelatedComponent, selector: "app-product-related", inputs: ["refType", "label", "externalSource", "isSmallModus", "createFrozenArticle", "articles"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
2558
|
-
}
|
|
2559
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogComponent, decorators: [{
|
|
2560
|
-
type: Component,
|
|
2561
|
-
args: [{ selector: 'co-product-dialog', template: `
|
|
2562
|
-
<div class="product-dialog-wrap">
|
|
2563
|
-
<div class="product-dialog-container">
|
|
2564
|
-
<div class="container-header">
|
|
2565
|
-
<div class="header-info">
|
|
2566
|
-
<h3>
|
|
2567
|
-
<co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
|
|
2568
|
-
(click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
|
|
2569
|
-
</h3>
|
|
2570
|
-
</div>
|
|
2571
|
-
<div class="close-icon" (click)="closeCatalog()">
|
|
2572
|
-
<co-icon class="fullscreen-button"
|
|
2573
|
-
[iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
2574
|
-
(click)="closeCatalog()"></co-icon>
|
|
2575
|
-
</div>
|
|
2576
|
-
</div>
|
|
2577
|
-
<div class="related-product-container">
|
|
2578
|
-
@if (articles) {
|
|
2579
|
-
<app-product-related
|
|
2580
|
-
class="no-padding"
|
|
2581
|
-
[articles]="articles">
|
|
2582
|
-
</app-product-related>
|
|
2583
|
-
}
|
|
2584
|
-
</div>
|
|
2585
|
-
<div class="close-button-container">
|
|
2586
|
-
<button class="ok-button" (click)="closeCatalog()">
|
|
2587
|
-
<co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
|
|
2588
|
-
(click)="closeCatalog()"></co-icon>
|
|
2589
|
-
</button>
|
|
2590
|
-
<button class="close-button" (click)="closeCatalog()">
|
|
2591
|
-
<co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
2592
|
-
(click)="closeCatalog()"></co-icon>
|
|
2593
|
-
</button>
|
|
2594
|
-
</div>
|
|
2595
|
-
</div>
|
|
2596
|
-
</div>
|
|
2597
|
-
`, standalone: false, styles: [".product-dialog-wrap{display:flex;justify-content:center;position:absolute;z-index:800;top:0}.product-dialog-wrap .product-dialog-container{background:#fff;min-width:75vw;max-height:90vh;border:1px solid #F8F8F8}.product-dialog-wrap .product-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3{display:flex;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}.product-dialog-wrap .product-dialog-container .container-header .close-icon{cursor:pointer}.product-dialog-wrap .product-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}.product-dialog-wrap .product-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon{height:20px;width:20px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg polygon{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container .ok-button{background:#1a73e8}.product-dialog-wrap .product-dialog-container .close-button-container .close-button{background:#475060}::ng-deep .content-wrapper{width:auto!important}\n"] }]
|
|
2598
|
-
}], ctorParameters: () => [{ type: IconCacheService }, { type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: ProductConnectorAdapterService }, { type: ProductEventService }], propDecorators: { refType: [{
|
|
2599
|
-
type: Input
|
|
2600
|
-
}], mainArticle: [{
|
|
2601
|
-
type: Input
|
|
2602
|
-
}], articles: [{
|
|
2603
|
-
type: Input
|
|
2604
|
-
}], closeRelatedPopup: [{
|
|
2605
|
-
type: Output
|
|
2606
|
-
}], showClass: [{
|
|
2607
|
-
type: HostBinding,
|
|
2608
|
-
args: ['class.co-product-dialog']
|
|
2609
|
-
}] } });
|
|
2610
|
-
|
|
2611
2510
|
class VectorObject {
|
|
2612
2511
|
}
|
|
2613
2512
|
class RenderParameters {
|
|
@@ -2851,7 +2750,6 @@ class ProductPageComponent {
|
|
|
2851
2750
|
this.icon = IconEnum;
|
|
2852
2751
|
this.createFrozenArticle = true;
|
|
2853
2752
|
this.isReturn = false;
|
|
2854
|
-
this.showRelatedProductsPopup = false;
|
|
2855
2753
|
this.openStockEvent = new EventEmitter();
|
|
2856
2754
|
this.configurable = true;
|
|
2857
2755
|
this.threeD = false;
|
|
@@ -2958,14 +2856,10 @@ class ProductPageComponent {
|
|
|
2958
2856
|
});
|
|
2959
2857
|
}
|
|
2960
2858
|
});
|
|
2961
|
-
this.showRelatedProductsPopup = false;
|
|
2962
2859
|
}
|
|
2963
2860
|
openStock() {
|
|
2964
2861
|
this.openStockEvent.emit();
|
|
2965
2862
|
}
|
|
2966
|
-
handlePopUpChange(event) {
|
|
2967
|
-
this.showRelatedProductsPopup = event;
|
|
2968
|
-
}
|
|
2969
2863
|
handleObjectAddedToScene(build) {
|
|
2970
2864
|
if (this.threeD && this.enableRenderCarousel) {
|
|
2971
2865
|
this._buildResult = build;
|
|
@@ -3009,7 +2903,7 @@ class ProductPageComponent {
|
|
|
3009
2903
|
this._configuringService.renderImage(this._buildResult, renderOptions, false);
|
|
3010
2904
|
}
|
|
3011
2905
|
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.ConfiguratorEventService }, { token: i5.ConfiguratorConnectorService }, { token: i5.ConfiguringService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3012
|
-
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",
|
|
2906
|
+
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", enableRenderCarousel: "enableRenderCarousel", externalButtonTemplate: "externalButtonTemplate" }, 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: `
|
|
3013
2907
|
@if (settingsLoaded) {
|
|
3014
2908
|
<div class="page-wrapper">
|
|
3015
2909
|
<div class="page-wrapper-content">
|
|
@@ -3060,6 +2954,13 @@ class ProductPageComponent {
|
|
|
3060
2954
|
[iconData]="iconCache.getIcon(icon.Logo)">
|
|
3061
2955
|
</co-icon>
|
|
3062
2956
|
}
|
|
2957
|
+
|
|
2958
|
+
<!-- show this button ONLY we there is 3D data -->
|
|
2959
|
+
@if (threeD){
|
|
2960
|
+
<div class="external-button-container">
|
|
2961
|
+
<ng-container *ngTemplateOutlet="externalButtonTemplate"></ng-container>
|
|
2962
|
+
</div>
|
|
2963
|
+
}
|
|
3063
2964
|
</div>
|
|
3064
2965
|
</div>
|
|
3065
2966
|
</div>
|
|
@@ -3108,8 +3009,7 @@ class ProductPageComponent {
|
|
|
3108
3009
|
[article]="article"
|
|
3109
3010
|
[externalSource]="externalSource"
|
|
3110
3011
|
[isReturn]="isReturn"
|
|
3111
|
-
(startConfiguration)="handleStartConfiguration()"
|
|
3112
|
-
(showRelatedPopup)="handlePopUpChange($event)">
|
|
3012
|
+
(startConfiguration)="handleStartConfiguration()">
|
|
3113
3013
|
</app-product-addtocart>
|
|
3114
3014
|
</div>
|
|
3115
3015
|
}
|
|
@@ -3182,19 +3082,9 @@ class ProductPageComponent {
|
|
|
3182
3082
|
</div>
|
|
3183
3083
|
</div>
|
|
3184
3084
|
</div>
|
|
3185
|
-
@if (showRelatedProductsPopup) {
|
|
3186
|
-
<div>
|
|
3187
|
-
<co-product-dialog
|
|
3188
|
-
[mainArticle]="article"
|
|
3189
|
-
[articles]="article?.relatedArticles"
|
|
3190
|
-
[refType]="1"
|
|
3191
|
-
(closeRelatedPopup)="handlePopUpChange($event)">
|
|
3192
|
-
</co-product-dialog>
|
|
3193
|
-
</div>
|
|
3194
|
-
}
|
|
3195
3085
|
</div>
|
|
3196
3086
|
}
|
|
3197
|
-
`, 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;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-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .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", "configuring"] }, { 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: i5.ConfiguratorComponent, selector: "co-configurator", inputs: ["show", "sku", "instanceId", "settings", "scene", "showLoader", "showProgressBar", "showErrorMessages", "outputErrorMessages", "canCloseConfigurator", "animateSlideout", "showHeaderInformation"], outputs: ["isLoading", "updateProgressBar", "errorMessages", "showChange"] }, { kind: "component", type: i5.ConfiguratorSceneComponent, selector: "co-configurator-scene" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
3087
|
+
`, 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;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-image .external-button-container{width:100%;display:flex;justify-content:space-between}.co-product-page .product-page-block-image .external-button-container .co-homedecorator-button{margin-left:auto}.co-product-page .product-page-block-image .external-button-container .co-homedecorator-button .co-button{margin-left:auto;cursor:pointer;background:#ececec;border-radius:10px}.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-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .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: "directive", type: i6$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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", "configuring"] }, { 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: RenderCarouselComponent, selector: "app-render-carousel", inputs: ["showRefresh", "article"] }, { kind: "component", type: i5.ConfiguratorComponent, selector: "co-configurator", inputs: ["show", "sku", "instanceId", "settings", "scene", "showLoader", "showProgressBar", "showErrorMessages", "outputErrorMessages", "canCloseConfigurator", "animateSlideout", "showHeaderInformation"], outputs: ["isLoading", "updateProgressBar", "errorMessages", "showChange"] }, { kind: "component", type: i5.ConfiguratorSceneComponent, selector: "co-configurator-scene" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
|
|
3198
3088
|
trigger('toggleFullScreen', [
|
|
3199
3089
|
state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
3200
3090
|
state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
|
|
@@ -3281,6 +3171,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3281
3171
|
[iconData]="iconCache.getIcon(icon.Logo)">
|
|
3282
3172
|
</co-icon>
|
|
3283
3173
|
}
|
|
3174
|
+
|
|
3175
|
+
<!-- show this button ONLY we there is 3D data -->
|
|
3176
|
+
@if (threeD){
|
|
3177
|
+
<div class="external-button-container">
|
|
3178
|
+
<ng-container *ngTemplateOutlet="externalButtonTemplate"></ng-container>
|
|
3179
|
+
</div>
|
|
3180
|
+
}
|
|
3284
3181
|
</div>
|
|
3285
3182
|
</div>
|
|
3286
3183
|
</div>
|
|
@@ -3329,8 +3226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3329
3226
|
[article]="article"
|
|
3330
3227
|
[externalSource]="externalSource"
|
|
3331
3228
|
[isReturn]="isReturn"
|
|
3332
|
-
(startConfiguration)="handleStartConfiguration()"
|
|
3333
|
-
(showRelatedPopup)="handlePopUpChange($event)">
|
|
3229
|
+
(startConfiguration)="handleStartConfiguration()">
|
|
3334
3230
|
</app-product-addtocart>
|
|
3335
3231
|
</div>
|
|
3336
3232
|
}
|
|
@@ -3403,16 +3299,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3403
3299
|
</div>
|
|
3404
3300
|
</div>
|
|
3405
3301
|
</div>
|
|
3406
|
-
@if (showRelatedProductsPopup) {
|
|
3407
|
-
<div>
|
|
3408
|
-
<co-product-dialog
|
|
3409
|
-
[mainArticle]="article"
|
|
3410
|
-
[articles]="article?.relatedArticles"
|
|
3411
|
-
[refType]="1"
|
|
3412
|
-
(closeRelatedPopup)="handlePopUpChange($event)">
|
|
3413
|
-
</co-product-dialog>
|
|
3414
|
-
</div>
|
|
3415
|
-
}
|
|
3416
3302
|
</div>
|
|
3417
3303
|
}
|
|
3418
3304
|
`, encapsulation: ViewEncapsulation.None, animations: [
|
|
@@ -3447,7 +3333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3447
3333
|
state('*', style({ 'opacity': '1' })),
|
|
3448
3334
|
transition('void => *', animate('200ms ease-in-out'))
|
|
3449
3335
|
])
|
|
3450
|
-
], 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;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-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .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"] }]
|
|
3336
|
+
], 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;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-image .external-button-container{width:100%;display:flex;justify-content:space-between}.co-product-page .product-page-block-image .external-button-container .co-homedecorator-button{margin-left:auto}.co-product-page .product-page-block-image .external-button-container .co-homedecorator-button .co-button{margin-left:auto;cursor:pointer;background:#ececec;border-radius:10px}.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-lite-selector.floating co-selections-summary{position:relative}.co-product-page .product-page-block-price .show-configurator .co-lite-selector:not(.custom-dimensions).floating co-selections-summary{top:auto;background:none}.co-product-page .product-page-block-price .show-configurator .co-selections-summary .selections-content{gap:10px;box-sizing:border-box;padding:10px}.co-product-page .product-page-block-price .show-configurator .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"] }]
|
|
3451
3337
|
}], ctorParameters: () => [{ type: IconCacheService }, { type: ProductSettingsService }, { type: ProductEventService }, { type: i0.ChangeDetectorRef }, { type: ProductConnectorService }, { type: i5.ConfiguratorEventService }, { type: i5.ConfiguratorConnectorService }, { type: i5.ConfiguringService }], propDecorators: { showClass: [{
|
|
3452
3338
|
type: HostBinding,
|
|
3453
3339
|
args: ['class.co-product-page']
|
|
@@ -3464,10 +3350,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3464
3350
|
type: Input
|
|
3465
3351
|
}], isReturn: [{
|
|
3466
3352
|
type: Input
|
|
3467
|
-
}], showRelatedProductsPopup: [{
|
|
3468
|
-
type: Input
|
|
3469
3353
|
}], enableRenderCarousel: [{
|
|
3470
3354
|
type: Input
|
|
3355
|
+
}], externalButtonTemplate: [{
|
|
3356
|
+
type: Input
|
|
3471
3357
|
}], openStockEvent: [{
|
|
3472
3358
|
type: Output
|
|
3473
3359
|
}] } });
|
|
@@ -3578,23 +3464,28 @@ class IoneProductComponent {
|
|
|
3578
3464
|
this.openStockEvent.emit();
|
|
3579
3465
|
}
|
|
3580
3466
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IoneProductComponent, deps: [{ token: ProductEventService }, { token: ProductSettingsService }, { token: ProductConnectorService }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3581
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: IoneProductComponent, isStandalone: false, selector: "app-ione-product", inputs: { sku: "sku", isReturn: "isReturn",
|
|
3467
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: IoneProductComponent, isStandalone: false, selector: "app-ione-product", inputs: { sku: "sku", isReturn: "isReturn", enableRenderCarousel: "enableRenderCarousel", settings: "settings", handleAddArticleInternally: "handleAddArticleInternally", handleAddToCartInternally: "handleAddToCartInternally", externalButtonTemplate: "externalButtonTemplate" }, outputs: { onAddToCart: "onAddToCart", forceRenderImage: "forceRenderImage", getRenderForRenderCarousel: "getRenderForRenderCarousel", onAlternativeClick: "onAlternativeClick", onArticleInfoReceived: "onArticleInfoReceived", onArticleReceived: "onArticleReceived", onSelectionsReceived: "onSelectionsReceived", onAddToQuote: "onAddToQuote", openStockEvent: "openStockEvent", onAnswersAvailable: "onAnswersAvailable" }, providers: [
|
|
3582
3468
|
ProductSettingsService,
|
|
3583
3469
|
ProductConnectorService,
|
|
3584
3470
|
ProductEventService,
|
|
3585
3471
|
ProductConnectorAdapterService
|
|
3586
|
-
], ngImport: i0, template: `
|
|
3472
|
+
], queries: [{ propertyName: "externalButtonsTpl", first: true, predicate: ["externalButtonsTpl"], descendants: true }], ngImport: i0, template: `
|
|
3587
3473
|
@if (settingsLoaded) {
|
|
3588
3474
|
<app-product-page
|
|
3589
3475
|
[createFrozenArticle]="handleAddArticleInternally"
|
|
3590
3476
|
[isReturn]="isReturn"
|
|
3591
3477
|
[sku]="sku"
|
|
3592
|
-
[
|
|
3478
|
+
[externalButtonTemplate]="externalButtonsTpl"
|
|
3593
3479
|
[enableRenderCarousel]="enableRenderCarousel"
|
|
3594
|
-
(openStockEvent)="openStock()"
|
|
3595
|
-
|
|
3480
|
+
(openStockEvent)="openStock()">
|
|
3481
|
+
</app-product-page>
|
|
3596
3482
|
}
|
|
3597
|
-
|
|
3483
|
+
|
|
3484
|
+
<ng-template #externalButtonsTpl>
|
|
3485
|
+
<ng-content select="[externalButtons]"></ng-content>
|
|
3486
|
+
</ng-template>
|
|
3487
|
+
|
|
3488
|
+
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: ProductPageComponent, selector: "app-product-page", inputs: ["sku", "settings", "externalSource", "createFrozenArticle", "isReturn", "enableRenderCarousel", "externalButtonTemplate"], outputs: ["openStockEvent"] }] }); }
|
|
3598
3489
|
}
|
|
3599
3490
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IoneProductComponent, decorators: [{
|
|
3600
3491
|
type: Component,
|
|
@@ -3604,23 +3495,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3604
3495
|
[createFrozenArticle]="handleAddArticleInternally"
|
|
3605
3496
|
[isReturn]="isReturn"
|
|
3606
3497
|
[sku]="sku"
|
|
3607
|
-
[
|
|
3498
|
+
[externalButtonTemplate]="externalButtonsTpl"
|
|
3608
3499
|
[enableRenderCarousel]="enableRenderCarousel"
|
|
3609
|
-
(openStockEvent)="openStock()"
|
|
3610
|
-
|
|
3500
|
+
(openStockEvent)="openStock()">
|
|
3501
|
+
</app-product-page>
|
|
3611
3502
|
}
|
|
3503
|
+
|
|
3504
|
+
<ng-template #externalButtonsTpl>
|
|
3505
|
+
<ng-content select="[externalButtons]"></ng-content>
|
|
3506
|
+
</ng-template>
|
|
3507
|
+
|
|
3612
3508
|
`, providers: [
|
|
3613
3509
|
ProductSettingsService,
|
|
3614
3510
|
ProductConnectorService,
|
|
3615
3511
|
ProductEventService,
|
|
3616
3512
|
ProductConnectorAdapterService
|
|
3617
3513
|
], encapsulation: ViewEncapsulation.Emulated, standalone: false }]
|
|
3618
|
-
}], ctorParameters: () => [{ type: ProductEventService }, { type: ProductSettingsService }, { type: ProductConnectorService }, { type: LocalStorageService }], propDecorators: {
|
|
3514
|
+
}], ctorParameters: () => [{ type: ProductEventService }, { type: ProductSettingsService }, { type: ProductConnectorService }, { type: LocalStorageService }], propDecorators: { externalButtonsTpl: [{
|
|
3515
|
+
type: ContentChild,
|
|
3516
|
+
args: ['externalButtonsTpl']
|
|
3517
|
+
}], sku: [{
|
|
3619
3518
|
type: Input
|
|
3620
3519
|
}], isReturn: [{
|
|
3621
3520
|
type: Input
|
|
3622
|
-
}], showRelatedProductsPopup: [{
|
|
3623
|
-
type: Input
|
|
3624
3521
|
}], enableRenderCarousel: [{
|
|
3625
3522
|
type: Input
|
|
3626
3523
|
}], settings: [{
|
|
@@ -3629,6 +3526,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3629
3526
|
type: Input
|
|
3630
3527
|
}], handleAddToCartInternally: [{
|
|
3631
3528
|
type: Input
|
|
3529
|
+
}], externalButtonTemplate: [{
|
|
3530
|
+
type: Input
|
|
3632
3531
|
}], onAddToCart: [{
|
|
3633
3532
|
type: Output
|
|
3634
3533
|
}], forceRenderImage: [{
|
|
@@ -3946,7 +3845,7 @@ class ProductDeliveryComponent {
|
|
|
3946
3845
|
<div class="pp-default-description" [textContent]="deliveryDescription | date:'dd MMMM yyyy'"></div>
|
|
3947
3846
|
</div>
|
|
3948
3847
|
</div>
|
|
3949
|
-
`, 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:
|
|
3848
|
+
`, 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: i6$2.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
3950
3849
|
}
|
|
3951
3850
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDeliveryComponent, decorators: [{
|
|
3952
3851
|
type: Component,
|
|
@@ -4132,6 +4031,117 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4132
4031
|
}]
|
|
4133
4032
|
}] });
|
|
4134
4033
|
|
|
4034
|
+
class ProductDialogComponent {
|
|
4035
|
+
showClass() {
|
|
4036
|
+
return true;
|
|
4037
|
+
}
|
|
4038
|
+
constructor(iconCache, _sanitizer, _productConnectorService, _productConnectorAdapterService, _appEventService) {
|
|
4039
|
+
this.iconCache = iconCache;
|
|
4040
|
+
this._sanitizer = _sanitizer;
|
|
4041
|
+
this._productConnectorService = _productConnectorService;
|
|
4042
|
+
this._productConnectorAdapterService = _productConnectorAdapterService;
|
|
4043
|
+
this._appEventService = _appEventService;
|
|
4044
|
+
this.icon = IconEnum;
|
|
4045
|
+
this.closeRelatedPopup = new EventEmitter();
|
|
4046
|
+
this.type = SelectorType;
|
|
4047
|
+
}
|
|
4048
|
+
ngOnInit() {
|
|
4049
|
+
}
|
|
4050
|
+
closeCatalog() {
|
|
4051
|
+
// need to emit close
|
|
4052
|
+
this.closeRelatedPopup.emit(false);
|
|
4053
|
+
}
|
|
4054
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogComponent, deps: [{ token: IconCacheService }, { token: i1.DomSanitizer }, { token: ProductConnectorService }, { token: ProductConnectorAdapterService }, { token: ProductEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4055
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductDialogComponent, isStandalone: false, selector: "co-product-dialog", inputs: { refType: "refType", mainArticle: "mainArticle", articles: "articles" }, outputs: { closeRelatedPopup: "closeRelatedPopup" }, host: { properties: { "class.co-product-dialog": "this.showClass" } }, ngImport: i0, template: `
|
|
4056
|
+
<div class="product-dialog-wrap">
|
|
4057
|
+
<div class="product-dialog-container">
|
|
4058
|
+
<div class="container-header">
|
|
4059
|
+
<div class="header-info">
|
|
4060
|
+
<h3>
|
|
4061
|
+
<co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
|
|
4062
|
+
(click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
|
|
4063
|
+
</h3>
|
|
4064
|
+
</div>
|
|
4065
|
+
<div class="close-icon" (click)="closeCatalog()">
|
|
4066
|
+
<co-icon class="fullscreen-button"
|
|
4067
|
+
[iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
4068
|
+
(click)="closeCatalog()"></co-icon>
|
|
4069
|
+
</div>
|
|
4070
|
+
</div>
|
|
4071
|
+
<div class="related-product-container">
|
|
4072
|
+
@if (articles) {
|
|
4073
|
+
<app-product-related
|
|
4074
|
+
class="no-padding"
|
|
4075
|
+
[articles]="articles">
|
|
4076
|
+
</app-product-related>
|
|
4077
|
+
}
|
|
4078
|
+
</div>
|
|
4079
|
+
<div class="close-button-container">
|
|
4080
|
+
<button class="ok-button" (click)="closeCatalog()">
|
|
4081
|
+
<co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
|
|
4082
|
+
(click)="closeCatalog()"></co-icon>
|
|
4083
|
+
</button>
|
|
4084
|
+
<button class="close-button" (click)="closeCatalog()">
|
|
4085
|
+
<co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
4086
|
+
(click)="closeCatalog()"></co-icon>
|
|
4087
|
+
</button>
|
|
4088
|
+
</div>
|
|
4089
|
+
</div>
|
|
4090
|
+
</div>
|
|
4091
|
+
`, isInline: true, styles: [".product-dialog-wrap{display:flex;justify-content:center;position:absolute;z-index:800;top:0}.product-dialog-wrap .product-dialog-container{background:#fff;min-width:75vw;max-height:90vh;border:1px solid #F8F8F8}.product-dialog-wrap .product-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3{display:flex;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}.product-dialog-wrap .product-dialog-container .container-header .close-icon{cursor:pointer}.product-dialog-wrap .product-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}.product-dialog-wrap .product-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon{height:20px;width:20px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg polygon{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container .ok-button{background:#1a73e8}.product-dialog-wrap .product-dialog-container .close-button-container .close-button{background:#475060}::ng-deep .content-wrapper{width:auto!important}\n"], dependencies: [{ kind: "component", type: ProductRelatedComponent, selector: "app-product-related", inputs: ["refType", "label", "externalSource", "isSmallModus", "createFrozenArticle", "articles"] }, { kind: "component", type: i6.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
4092
|
+
}
|
|
4093
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogComponent, decorators: [{
|
|
4094
|
+
type: Component,
|
|
4095
|
+
args: [{ selector: 'co-product-dialog', template: `
|
|
4096
|
+
<div class="product-dialog-wrap">
|
|
4097
|
+
<div class="product-dialog-container">
|
|
4098
|
+
<div class="container-header">
|
|
4099
|
+
<div class="header-info">
|
|
4100
|
+
<h3>
|
|
4101
|
+
<co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
|
|
4102
|
+
(click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
|
|
4103
|
+
</h3>
|
|
4104
|
+
</div>
|
|
4105
|
+
<div class="close-icon" (click)="closeCatalog()">
|
|
4106
|
+
<co-icon class="fullscreen-button"
|
|
4107
|
+
[iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
4108
|
+
(click)="closeCatalog()"></co-icon>
|
|
4109
|
+
</div>
|
|
4110
|
+
</div>
|
|
4111
|
+
<div class="related-product-container">
|
|
4112
|
+
@if (articles) {
|
|
4113
|
+
<app-product-related
|
|
4114
|
+
class="no-padding"
|
|
4115
|
+
[articles]="articles">
|
|
4116
|
+
</app-product-related>
|
|
4117
|
+
}
|
|
4118
|
+
</div>
|
|
4119
|
+
<div class="close-button-container">
|
|
4120
|
+
<button class="ok-button" (click)="closeCatalog()">
|
|
4121
|
+
<co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
|
|
4122
|
+
(click)="closeCatalog()"></co-icon>
|
|
4123
|
+
</button>
|
|
4124
|
+
<button class="close-button" (click)="closeCatalog()">
|
|
4125
|
+
<co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
|
|
4126
|
+
(click)="closeCatalog()"></co-icon>
|
|
4127
|
+
</button>
|
|
4128
|
+
</div>
|
|
4129
|
+
</div>
|
|
4130
|
+
</div>
|
|
4131
|
+
`, standalone: false, styles: [".product-dialog-wrap{display:flex;justify-content:center;position:absolute;z-index:800;top:0}.product-dialog-wrap .product-dialog-container{background:#fff;min-width:75vw;max-height:90vh;border:1px solid #F8F8F8}.product-dialog-wrap .product-dialog-container .container-header{display:flex;justify-content:space-between;border-bottom:1px solid #F8F8F8;padding:25px;box-sizing:border-box;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3{display:flex;align-items:center}.product-dialog-wrap .product-dialog-container .container-header .header-info h3 co-icon{margin-right:10px}.product-dialog-wrap .product-dialog-container .container-header .close-icon{cursor:pointer}.product-dialog-wrap .product-dialog-container .close-button-container{display:flex;justify-content:center;padding:10px}.product-dialog-wrap .product-dialog-container .close-button-container button{cursor:pointer;border:none;color:#fff;padding:8px;box-shadow:0 3px 3px #0000004d;height:auto;width:auto;margin:0 3px;border-radius:3px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon{height:20px;width:20px}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container button ::ng-deep co-icon svg polygon{fill:#fff}.product-dialog-wrap .product-dialog-container .close-button-container .ok-button{background:#1a73e8}.product-dialog-wrap .product-dialog-container .close-button-container .close-button{background:#475060}::ng-deep .content-wrapper{width:auto!important}\n"] }]
|
|
4132
|
+
}], ctorParameters: () => [{ type: IconCacheService }, { type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: ProductConnectorAdapterService }, { type: ProductEventService }], propDecorators: { refType: [{
|
|
4133
|
+
type: Input
|
|
4134
|
+
}], mainArticle: [{
|
|
4135
|
+
type: Input
|
|
4136
|
+
}], articles: [{
|
|
4137
|
+
type: Input
|
|
4138
|
+
}], closeRelatedPopup: [{
|
|
4139
|
+
type: Output
|
|
4140
|
+
}], showClass: [{
|
|
4141
|
+
type: HostBinding,
|
|
4142
|
+
args: ['class.co-product-dialog']
|
|
4143
|
+
}] } });
|
|
4144
|
+
|
|
4135
4145
|
class ProductDialogModule {
|
|
4136
4146
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4137
4147
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogModule, declarations: [ProductDialogComponent], imports: [CommonModule,
|
|
@@ -4640,12 +4650,13 @@ class ProductExternalSourceComponent {
|
|
|
4640
4650
|
ProductConnectorService,
|
|
4641
4651
|
ProductEventService,
|
|
4642
4652
|
ProductConnectorAdapterService
|
|
4643
|
-
], ngImport: i0, template: `
|
|
4653
|
+
], queries: [{ propertyName: "externalButtonsTpl", first: true, predicate: ["externalButtonsTpl"], descendants: true }], ngImport: i0, template: `
|
|
4644
4654
|
@if (loaded) {
|
|
4645
4655
|
@if (showProduct) {
|
|
4646
4656
|
<app-product-page
|
|
4647
4657
|
[sku]="sku"
|
|
4648
4658
|
[settings]="externalSettings"
|
|
4659
|
+
[externalButtonTemplate]="externalButtonsTpl"
|
|
4649
4660
|
[externalSource]="externalSource"
|
|
4650
4661
|
></app-product-page>
|
|
4651
4662
|
}
|
|
@@ -4661,7 +4672,11 @@ class ProductExternalSourceComponent {
|
|
|
4661
4672
|
(configuratorFinished)="handleConfigurationFinished($event)"></co-product-hd>
|
|
4662
4673
|
}
|
|
4663
4674
|
}
|
|
4664
|
-
|
|
4675
|
+
|
|
4676
|
+
<ng-template #externalButtonsTpl>
|
|
4677
|
+
<ng-content select="[externalButtons]"></ng-content>
|
|
4678
|
+
</ng-template>
|
|
4679
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProductPageComponent, selector: "app-product-page", inputs: ["sku", "settings", "externalSource", "createFrozenArticle", "isReturn", "enableRenderCarousel", "externalButtonTemplate"], outputs: ["openStockEvent"] }, { kind: "component", type: ProductHdComponent, selector: "co-product-hd", inputs: ["sku", "token", "variant", "urlParams"], outputs: ["configuratorFinished", "configurationError"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4665
4680
|
}
|
|
4666
4681
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductExternalSourceComponent, decorators: [{
|
|
4667
4682
|
type: Component,
|
|
@@ -4673,6 +4688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4673
4688
|
<app-product-page
|
|
4674
4689
|
[sku]="sku"
|
|
4675
4690
|
[settings]="externalSettings"
|
|
4691
|
+
[externalButtonTemplate]="externalButtonsTpl"
|
|
4676
4692
|
[externalSource]="externalSource"
|
|
4677
4693
|
></app-product-page>
|
|
4678
4694
|
}
|
|
@@ -4688,7 +4704,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4688
4704
|
(configuratorFinished)="handleConfigurationFinished($event)"></co-product-hd>
|
|
4689
4705
|
}
|
|
4690
4706
|
}
|
|
4691
|
-
|
|
4707
|
+
|
|
4708
|
+
<ng-template #externalButtonsTpl>
|
|
4709
|
+
<ng-content select="[externalButtons]"></ng-content>
|
|
4710
|
+
</ng-template>
|
|
4711
|
+
`,
|
|
4692
4712
|
providers: [
|
|
4693
4713
|
ProductSettingsService,
|
|
4694
4714
|
ProductConnectorService,
|
|
@@ -4698,7 +4718,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4698
4718
|
encapsulation: ViewEncapsulation.None,
|
|
4699
4719
|
standalone: false
|
|
4700
4720
|
}]
|
|
4701
|
-
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: ProductEventService }], propDecorators: {
|
|
4721
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: ProductEventService }], propDecorators: { externalButtonsTpl: [{
|
|
4722
|
+
type: ContentChild,
|
|
4723
|
+
args: ['externalButtonsTpl']
|
|
4724
|
+
}], sku: [{
|
|
4702
4725
|
type: Input
|
|
4703
4726
|
}], catalogDefinition: [{
|
|
4704
4727
|
type: Input
|