@colijnit/product 262.1.8 → 300.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
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
+ import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
5
6
  import { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';
6
7
  import { SuperArticle } from '@colijnit/articleapi/build/model/super-article';
7
8
  import { Articles } from '@colijnit/articleapi/build/articles';
@@ -25,7 +26,6 @@ import { IconModule, LoaderModule, ScrollContainerModule, InputNumberPickerModul
25
26
  import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
26
27
  import * as i6$1 from '@angular/cdk/overlay';
27
28
  import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
28
- import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
29
29
  import * as i3 from '@colijnit/sharedcomponents';
30
30
  import { FilesUploadModule } from '@colijnit/sharedcomponents';
31
31
 
@@ -34,8 +34,8 @@ 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.8";
38
- this.publishDate = "30-6-2026, 16:40:54";
37
+ this.symVer = "300.1.0";
38
+ this.publishDate = "14-7-2026, 10:22:51";
39
39
  }
40
40
  }
41
41
 
@@ -104,7 +104,9 @@ class ProductEventService {
104
104
  }
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductEventService, decorators: [{
106
106
  type: Injectable,
107
- args: [{ providedIn: 'root' }]
107
+ args: [{
108
+ providedIn: 'root'
109
+ }]
108
110
  }] });
109
111
 
110
112
  // 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.
@@ -253,15 +255,6 @@ class ProductConnectorAdapterService {
253
255
  return this._boFactory.makeWithRawBackendData(ImageContent, response.resultObject);
254
256
  }
255
257
  }
256
- async savePreset() {
257
- const response = await this.articleConnector.storePreset();
258
- if (response && response.validationResult && response.validationResult.success) {
259
- return Promise.resolve(true);
260
- }
261
- else {
262
- return Promise.resolve(false);
263
- }
264
- }
265
258
  async getDefaultLanguage(upId) {
266
259
  // this should always be fetched from the mainapi from the client
267
260
  const response = await this.mainConnector.getPublicParams(upId);
@@ -651,6 +644,42 @@ class ProductConnectorService {
651
644
  getSuperArticle(id) {
652
645
  return this._adapterService.getSuperArticle(id);
653
646
  }
647
+ async prepareArticleForCart(article, quantity, externalSource, createFrozenArticle = true) {
648
+ if (!article) {
649
+ return null;
650
+ }
651
+ if (createFrozenArticle) {
652
+ if (article.goodType === 'B') {
653
+ if (article.isConfigurable) {
654
+ const json = await this.getJSONFromArticleObject(article.goodId, article.goodType, quantity, externalSource);
655
+ if (json) {
656
+ return json;
657
+ }
658
+ }
659
+ else {
660
+ return await this._handleGeneratedArticleDirectly(article.goodId, quantity);
661
+ }
662
+ }
663
+ else {
664
+ if (externalSource) {
665
+ return await this.getJSONFromArticleObject(article.goodId, article.goodType, quantity, externalSource);
666
+ }
667
+ else {
668
+ return article;
669
+ }
670
+ }
671
+ }
672
+ else {
673
+ if (article.goodType === 'B') {
674
+ if (!article.isConfigurable) {
675
+ return await this._handleGeneratedArticleDirectly(article.goodId, quantity);
676
+ }
677
+ }
678
+ else {
679
+ return article;
680
+ }
681
+ }
682
+ }
654
683
  getJsonArticleFlatTree(goodId, goodType, quantity, externalSource = false, showLoader = true, configuratorStatistics) {
655
684
  return this._adapterService.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, this._instanceId, configuratorStatistics);
656
685
  }
@@ -663,15 +692,28 @@ class ProductConnectorService {
663
692
  async getImageForCoDocument(document, thumb = false) {
664
693
  return this._adapterService.getImageForCoDocument(document, thumb);
665
694
  }
666
- async savePreset() {
667
- return await this._adapterService.savePreset();
668
- }
669
695
  async getDefaultLanguage(upId) {
670
696
  return await this._adapterService.getDefaultLanguage(upId);
671
697
  }
672
698
  onShowLoaderChange(showLoader) {
673
699
  this._shouldShowLoader = showLoader;
674
700
  }
701
+ async getJSONFromArticleObject(goodId, goodType, quantity, externalSource) {
702
+ const configuratorStatistics = new ConfiguratorStatisticsEnvironment();
703
+ configuratorStatistics.userType = 'iOneProductPage';
704
+ configuratorStatistics.transactionType = 'Sales';
705
+ configuratorStatistics.actionDomain = 'bundle';
706
+ configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
707
+ configuratorStatistics.webHost = window.location.host;
708
+ configuratorStatistics.bundleHost = window.location.host;
709
+ return await this.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, true, configuratorStatistics);
710
+ }
711
+ async _handleGeneratedArticleDirectly(goodId, quantity) {
712
+ const generatedGoodId = await this.getGeneratedArtDirectly(goodId, true);
713
+ if (generatedGoodId) {
714
+ return await this._adapterService.getArticleFullObject(generatedGoodId, true);
715
+ }
716
+ }
675
717
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductConnectorService, deps: [{ token: ProductConnectorAdapterService }, { token: ProductSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
676
718
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductConnectorService }); }
677
719
  }
@@ -1665,66 +1707,11 @@ class ProductAddtocartComponent {
1665
1707
  this.addToCartButton = undefined;
1666
1708
  }
1667
1709
  async handleAddToCartClick(quantity) {
1668
- if (this.createFrozenArticle) {
1669
- if (this.article.goodType === 'B') {
1670
- if (this.article.isConfigurable) {
1671
- const article = await this._getJSONFromArticleObject({ article: this.article, quantity: quantity });
1672
- if (article) {
1673
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1674
- }
1675
- }
1676
- else {
1677
- await this._handleGeneratedArticleDirectly(quantity);
1678
- }
1679
- }
1680
- else {
1681
- let article;
1682
- if (!!this.externalSource) {
1683
- article = await this._getJSONFromArticleObject({ article: this.article, quantity: quantity });
1684
- }
1685
- else {
1686
- article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(this.article);
1687
- }
1688
- if (article) {
1689
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1690
- }
1691
- }
1692
- }
1693
- else {
1694
- if (this.article.goodType === 'B') {
1695
- if (!this.article.isConfigurable) {
1696
- await this._handleGeneratedArticleDirectly(quantity);
1697
- }
1698
- }
1699
- else {
1700
- const article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(this.article);
1701
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1702
- }
1703
- }
1710
+ const article = await this._ioneControllerService.prepareArticleForCart(this.article, quantity, !!this.externalSource, this.createFrozenArticle);
1711
+ this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1704
1712
  }
1705
1713
  async handleAddToQuoteClick(quantity) {
1706
- this._appEventService.onAddToQuote.next(await this._getJSONFromArticleObject({ article: this.article, quantity: quantity }));
1707
- }
1708
- async _getJSONFromArticleObject(article) {
1709
- const configuratorStatistics = new ConfiguratorStatisticsEnvironment();
1710
- configuratorStatistics.userType = 'iOneProductPage';
1711
- configuratorStatistics.transactionType = 'Sales';
1712
- configuratorStatistics.actionDomain = 'bundle';
1713
- configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
1714
- configuratorStatistics.webHost = window.location.host;
1715
- configuratorStatistics.bundleHost = window.location.host;
1716
- return await this._ioneControllerService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, !!this.externalSource, true, configuratorStatistics);
1717
- }
1718
- async _handleGeneratedArticleDirectly(quantity) {
1719
- const generatedGoodId = await this._getGeneratedArtDirectly(this.article.goodId);
1720
- if (generatedGoodId) {
1721
- const articleFull = await this._productConnectorAdapterService.getArticleFullObject(generatedGoodId, true);
1722
- const article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(articleFull);
1723
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1724
- }
1725
- }
1726
- async _getGeneratedArtDirectly(goodId) {
1727
- return await this._ioneControllerService.getGeneratedArtDirectly(goodId, true);
1714
+ this._appEventService.onAddToQuote.next(await this._ioneControllerService.getJSONFromArticleObject(this.article.goodId, this.article.goodType, quantity, !!this.externalSource));
1728
1715
  }
1729
1716
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductAddtocartComponent, deps: [{ token: IconCacheService }, { token: ProductConnectorService }, { token: ProductEventService }, { token: ProductSettingsService }, { token: ProductConnectorAdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
1730
1717
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductAddtocartComponent, isStandalone: false, selector: "app-product-addtocart", inputs: { article: "article", externalSource: "externalSource", createFrozenArticle: "createFrozenArticle", configurable: "configurable", configuring: "configuring", showAddToCart: "showAddToCart", isReturn: "isReturn", fullscreen: "fullscreen", quantity: "quantity" }, outputs: { startConfiguration: "startConfiguration", addToCartClick: "addToCartClick", addToQuoteClick: "addToQuoteClick", showRelatedPopup: "showRelatedPopup" }, host: { properties: { "class.full-screen": "this.fullscreen" } }, viewQueries: [{ propertyName: "addToCartButton", first: true, predicate: ["addtocartbutton"], descendants: true, read: ElementRef }], ngImport: i0, template: `
@@ -1911,8 +1898,8 @@ class ProductRelatedComponent {
1911
1898
  get articles() {
1912
1899
  return this._articles;
1913
1900
  }
1914
- constructor(_iOne, _appEventService, _productConnectorAdapterService, _settingsService) {
1915
- this._iOne = _iOne;
1901
+ constructor(_productConnectorService, _appEventService, _productConnectorAdapterService, _settingsService) {
1902
+ this._productConnectorService = _productConnectorService;
1916
1903
  this._appEventService = _appEventService;
1917
1904
  this._productConnectorAdapterService = _productConnectorAdapterService;
1918
1905
  this._settingsService = _settingsService;
@@ -1924,20 +1911,11 @@ class ProductRelatedComponent {
1924
1911
  handleContentClick(article) {
1925
1912
  this._appEventService.onAlternativeClick.next(article);
1926
1913
  }
1927
- async handleAddToCartClick(article) {
1914
+ async handleAddToCartClick(articleListObject) {
1928
1915
  const quantity = 1;
1929
- const articleFull = await this._productConnectorAdapterService.getArticleFullObject(article.goodId, true);
1930
- if (articleFull) {
1931
- if (this.createFrozenArticle) {
1932
- const article = this._iOne.convertArticleFullObjectToArticleExtended(articleFull);
1933
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1934
- // this._appEventService.onAddToCart.next({ article: await this._getJSONFromArticleObject({article: articleFull, quantity: quantity}), quantity: quantity });
1935
- }
1936
- else {
1937
- const article = this._iOne.convertArticleFullObjectToArticleExtended(articleFull);
1938
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1939
- }
1940
- }
1916
+ const articleFull = await this._productConnectorAdapterService.getArticleFullObject(articleListObject.goodId, true);
1917
+ const article = await this._productConnectorService.prepareArticleForCart(articleFull, quantity, !!this.externalSource, this.createFrozenArticle);
1918
+ this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
1941
1919
  }
1942
1920
  handleConfigureButtonClick(article) {
1943
1921
  }
@@ -1951,12 +1929,12 @@ class ProductRelatedComponent {
1951
1929
  configuratorStatistics.sessionId = this._settingsService.settings.session ? this._settingsService.settings.session.sessionId : 'unknown';
1952
1930
  configuratorStatistics.webHost = window.location.host;
1953
1931
  configuratorStatistics.bundleHost = window.location.host;
1954
- return await this._iOne.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, !!this.externalSource, true, configuratorStatistics);
1932
+ return await this._productConnectorService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, !!this.externalSource, true, configuratorStatistics);
1955
1933
  }
1956
1934
  async _loadImages() {
1957
1935
  this.articleViewModels.forEach(avm => {
1958
1936
  if (avm.article.image) {
1959
- this._iOne.getImageForCoDocument(avm.article.image, false).then(imageContent => this._handleImageData(avm, imageContent));
1937
+ this._productConnectorService.getImageForCoDocument(avm.article.image, false).then(imageContent => this._handleImageData(avm, imageContent));
1960
1938
  }
1961
1939
  });
1962
1940
  }
@@ -2303,7 +2281,7 @@ class ProductDocumentsComponent {
2303
2281
  <co-files-upload [documents]="documents" [canAdd]="false" [readonly]="true"></co-files-upload>
2304
2282
  </div>
2305
2283
  }
2306
- `, isInline: true, styles: [":host{display:block}::ng-deep co-files-upload{flex-direction:column!important;width:100%}::ng-deep co-file-upload{margin:0!important;border-bottom:1px solid #f6f5f4}::ng-deep co-file-upload:first-child{border-top:1px solid #f6f5f4}::ng-deep co-files-upload .files-upload-wrapper{flex-direction:column!important;width:100%}::ng-deep co-file-upload co-tile{max-width:100%!important;width:100%;position:relative}::ng-deep co-file-upload co-tile:hover{box-shadow:none!important}::ng-deep co-file-upload co-tile:hover .tile-extra-bottom{background-color:#f6f5f4!important}::ng-deep co-file-upload co-tile .tile-wrapper{position:absolute!important;left:0;top:0;width:100%;height:100%;z-index:2;opacity:0;box-sizing:border-box}::ng-deep co-file-upload co-tile .tile-wrapper .image{position:absolute!important;left:0;top:0;width:100%!important;height:100%!important;cursor:pointer}::ng-deep co-file-upload co-tile .tile-extra-bottom{outline:none!important;border:none!important;background:transparent!important;line-height:20px;padding:20px 20px 20px 60px!important;margin:0!important;background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>%0D%0A<svg%0D%0A xmlns:dc=\"http://purl.org/dc/elements/1.1/\"%0D%0A xmlns:cc=\"http://creativecommons.org/ns%23\"%0D%0A xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns%23\"%0D%0A xmlns:svg=\"http://www.w3.org/2000/svg\"%0D%0A xmlns=\"http://www.w3.org/2000/svg\"%0D%0A xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"%0D%0A xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"%0D%0A viewBox=\"0 0 50 50\"%0D%0A version=\"1.1\"%0D%0A id=\"svg8\"%0D%0A sodipodi:docname=\"download.svg\"%0D%0A inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\">%0D%0A <metadata%0D%0A id=\"metadata14\">%0D%0A <rdf:RDF>%0D%0A <cc:Work%0D%0A rdf:about=\"\">%0D%0A <dc:format>image/svg+xml</dc:format>%0D%0A <dc:type%0D%0A rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />%0D%0A <dc:title></dc:title>%0D%0A </cc:Work>%0D%0A </rdf:RDF>%0D%0A </metadata>%0D%0A <defs%0D%0A id=\"defs12\" />%0D%0A <sodipodi:namedview%0D%0A pagecolor=\"%23ffffff\"%0D%0A bordercolor=\"%23666666\"%0D%0A borderopacity=\"1\"%0D%0A objecttolerance=\"10\"%0D%0A gridtolerance=\"10\"%0D%0A guidetolerance=\"10\"%0D%0A inkscape:pageopacity=\"0\"%0D%0A inkscape:pageshadow=\"2\"%0D%0A inkscape:window-width=\"1920\"%0D%0A inkscape:window-height=\"1017\"%0D%0A id=\"namedview10\"%0D%0A showgrid=\"false\"%0D%0A inkscape:zoom=\"6.675088\"%0D%0A inkscape:cx=\"-14.056273\"%0D%0A inkscape:cy=\"29.806579\"%0D%0A inkscape:window-x=\"-8\"%0D%0A inkscape:window-y=\"-8\"%0D%0A inkscape:window-maximized=\"1\"%0D%0A inkscape:current-layer=\"svg8\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g62\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g64\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g66\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g68\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g70\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g72\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g74\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g76\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g78\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g80\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g82\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g84\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g86\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g88\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g90\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g6-0\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <g%0D%0A id=\"g4-9\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <path%0D%0A inkscape:connector-curvature=\"0\"%0D%0A d=\"m 498.966,339.946 c -7.197,0 -13.034,5.837 -13.034,13.034 v 49.804 c 0,28.747 -23.388,52.135 -52.135,52.135 H 78.203 c -28.747,0 -52.135,-23.388 -52.135,-52.135 V 352.98 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 C 5.835,339.946 0,345.782 0,352.98 v 49.804 c 0,43.121 35.082,78.203 78.203,78.203 h 355.594 c 43.121,0 78.203,-35.082 78.203,-78.203 V 352.98 c 0,-7.198 -5.835,-13.034 -13.034,-13.034 z\"%0D%0A id=\"path2\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A </g>%0D%0A </g>%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g12-0\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <g%0D%0A id=\"g10-8\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <path%0D%0A inkscape:connector-curvature=\"0\"%0D%0A d=\"M 419.833,391.3 H 92.167 c -7.197,0 -13.034,5.837 -13.034,13.034 0,7.197 5.835,13.034 13.034,13.034 h 327.665 c 7.199,0 13.034,-5.835 13.034,-13.034 0,-7.197 -5.835,-13.034 -13.033,-13.034 z\"%0D%0A id=\"path8-3\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A </g>%0D%0A </g>%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g18-4\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <g%0D%0A id=\"g16-7\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <path%0D%0A inkscape:connector-curvature=\"0\"%0D%0A d=\"m 387.919,207.93 c -4.795,-5.367 -13.034,-5.834 -18.404,-1.038 L 269.033,296.657 V 44.048 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 -7.197,0 -13.034,5.835 -13.034,13.034 V 296.657 L 142.483,206.893 c -5.367,-4.796 -13.607,-4.328 -18.404,1.038 -4.794,5.369 -4.331,13.609 1.037,18.404 l 109.174,97.527 c 6.187,5.529 13.946,8.292 21.708,8.292 7.759,0 15.519,-2.763 21.708,-8.289 l 109.174,-97.53 c 5.37,-4.798 5.834,-13.038 1.039,-18.405 z\"%0D%0A id=\"path14-9\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A </g>%0D%0A </g>%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g20\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g22-9\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g24-3\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g26\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g28-4\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g30-2\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g32\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g34-2\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g36-1\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g38\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g40-6\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g42-4\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g44\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g46-7\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g48-3\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A</svg>%0D%0A') no-repeat left 6px center / 36px auto!important}::ng-deep co-file-upload co-tile .tile-extra-bottom .main{padding:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", inputs: ["label", "amount"] }, { kind: "component", type: i3.FilesUploadComponent, selector: "co-files-upload", inputs: ["dropzone", "label", "cfgNames", "customImageClick", "isEditable", "hideAvatars", "fileSavesOnPopupOkClick", "selected"], outputs: ["editSlideoutSubmit", "tagsChangeEvent", "imageClick"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2284
+ `, isInline: true, styles: [":host{display:block}::ng-deep co-files-upload{flex-direction:column!important;width:100%}::ng-deep co-file-upload{margin:0!important;border-bottom:1px solid #f6f5f4}::ng-deep co-file-upload:first-child{border-top:1px solid #f6f5f4}::ng-deep co-files-upload .files-upload-wrapper{flex-direction:column!important;width:100%}::ng-deep co-file-upload co-tile{max-width:100%!important;width:100%;position:relative}::ng-deep co-file-upload co-tile:hover{box-shadow:none!important}::ng-deep co-file-upload co-tile:hover .tile-extra-bottom{background-color:#f6f5f4!important}::ng-deep co-file-upload co-tile .tile-wrapper{position:absolute!important;left:0;top:0;width:100%;height:100%;z-index:2;opacity:0;box-sizing:border-box}::ng-deep co-file-upload co-tile .tile-wrapper .image{position:absolute!important;left:0;top:0;width:100%!important;height:100%!important;cursor:pointer}::ng-deep co-file-upload co-tile .tile-extra-bottom{outline:none!important;border:none!important;background:transparent!important;line-height:20px;padding:20px 20px 20px 60px!important;margin:0!important;background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>%0D%0A<svg%0D%0A xmlns:dc=\"http://purl.org/dc/elements/1.1/\"%0D%0A xmlns:cc=\"http://creativecommons.org/ns%23\"%0D%0A xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns%23\"%0D%0A xmlns:svg=\"http://www.w3.org/2000/svg\"%0D%0A xmlns=\"http://www.w3.org/2000/svg\"%0D%0A xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\"%0D%0A xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"%0D%0A viewBox=\"0 0 50 50\"%0D%0A version=\"1.1\"%0D%0A id=\"svg8\"%0D%0A sodipodi:docname=\"download.svg\"%0D%0A inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\">%0D%0A <metadata%0D%0A id=\"metadata14\">%0D%0A <rdf:RDF>%0D%0A <cc:Work%0D%0A rdf:about=\"\">%0D%0A <dc:format>image/svg+xml</dc:format>%0D%0A <dc:type%0D%0A rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />%0D%0A <dc:title></dc:title>%0D%0A </cc:Work>%0D%0A </rdf:RDF>%0D%0A </metadata>%0D%0A <defs%0D%0A id=\"defs12\" />%0D%0A <sodipodi:namedview%0D%0A pagecolor=\"%23ffffff\"%0D%0A bordercolor=\"%23666666\"%0D%0A borderopacity=\"1\"%0D%0A objecttolerance=\"10\"%0D%0A gridtolerance=\"10\"%0D%0A guidetolerance=\"10\"%0D%0A inkscape:pageopacity=\"0\"%0D%0A inkscape:pageshadow=\"2\"%0D%0A inkscape:window-width=\"1920\"%0D%0A inkscape:window-height=\"1017\"%0D%0A id=\"namedview10\"%0D%0A showgrid=\"false\"%0D%0A inkscape:zoom=\"6.675088\"%0D%0A inkscape:cx=\"-14.056273\"%0D%0A inkscape:cy=\"29.806579\"%0D%0A inkscape:window-x=\"-8\"%0D%0A inkscape:window-y=\"-8\"%0D%0A inkscape:window-maximized=\"1\"%0D%0A inkscape:current-layer=\"svg8\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g62\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g64\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g66\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g68\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g70\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g72\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g74\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g76\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g78\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g80\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g82\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g84\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g86\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g88\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\"%0D%0A id=\"g90\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g6-0\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <g%0D%0A id=\"g4-9\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <path%0D%0A inkscape:connector-curvature=\"0\"%0D%0A d=\"m 498.966,339.946 c -7.197,0 -13.034,5.837 -13.034,13.034 v 49.804 c 0,28.747 -23.388,52.135 -52.135,52.135 H 78.203 c -28.747,0 -52.135,-23.388 -52.135,-52.135 V 352.98 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 C 5.835,339.946 0,345.782 0,352.98 v 49.804 c 0,43.121 35.082,78.203 78.203,78.203 h 355.594 c 43.121,0 78.203,-35.082 78.203,-78.203 V 352.98 c 0,-7.198 -5.835,-13.034 -13.034,-13.034 z\"%0D%0A id=\"path2\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A </g>%0D%0A </g>%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g12-0\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <g%0D%0A id=\"g10-8\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <path%0D%0A inkscape:connector-curvature=\"0\"%0D%0A d=\"M 419.833,391.3 H 92.167 c -7.197,0 -13.034,5.837 -13.034,13.034 0,7.197 5.835,13.034 13.034,13.034 h 327.665 c 7.199,0 13.034,-5.835 13.034,-13.034 0,-7.197 -5.835,-13.034 -13.033,-13.034 z\"%0D%0A id=\"path8-3\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A </g>%0D%0A </g>%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g18-4\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <g%0D%0A id=\"g16-7\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\">%0D%0A <path%0D%0A inkscape:connector-curvature=\"0\"%0D%0A d=\"m 387.919,207.93 c -4.795,-5.367 -13.034,-5.834 -18.404,-1.038 L 269.033,296.657 V 44.048 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 -7.197,0 -13.034,5.835 -13.034,13.034 V 296.657 L 142.483,206.893 c -5.367,-4.796 -13.607,-4.328 -18.404,1.038 -4.794,5.369 -4.331,13.609 1.037,18.404 l 109.174,97.527 c 6.187,5.529 13.946,8.292 21.708,8.292 7.759,0 15.519,-2.763 21.708,-8.289 l 109.174,-97.53 c 5.37,-4.798 5.834,-13.038 1.039,-18.405 z\"%0D%0A id=\"path14-9\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A </g>%0D%0A </g>%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g20\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g22-9\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g24-3\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g26\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g28-4\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g30-2\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g32\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g34-2\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g36-1\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g38\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g40-6\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g42-4\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g44\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g46-7\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A <g%0D%0A transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\"%0D%0A id=\"g48-3\"%0D%0A style=\"fill:%23484f60;fill-opacity:1\" />%0D%0A</svg>%0D%0A') no-repeat left 6px center / 36px auto!important}::ng-deep co-file-upload co-tile .tile-extra-bottom .main{padding:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header", inputs: ["label", "amount"] }, { kind: "component", type: i3.FilesUploadComponent, selector: "co-files-upload", inputs: ["dropzone", "label", "cfgNames", "customImageClick", "isEditable", "hideAvatars", "fileSavesOnPopupOkClick", "extendedDropzone", "selected"], outputs: ["editSlideoutSubmit", "tagsChangeEvent", "imageClick"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
2307
2285
  }
2308
2286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDocumentsComponent, decorators: [{
2309
2287
  type: Component,
@@ -2507,117 +2485,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2507
2485
  type: Input
2508
2486
  }] } });
2509
2487
 
2510
- class ProductDialogComponent {
2511
- showClass() {
2512
- return true;
2513
- }
2514
- constructor(iconCache, _sanitizer, _productConnectorService, _productConnectorAdapterService, _appEventService) {
2515
- this.iconCache = iconCache;
2516
- this._sanitizer = _sanitizer;
2517
- this._productConnectorService = _productConnectorService;
2518
- this._productConnectorAdapterService = _productConnectorAdapterService;
2519
- this._appEventService = _appEventService;
2520
- this.icon = IconEnum;
2521
- this.closeRelatedPopup = new EventEmitter();
2522
- this.type = SelectorType;
2523
- }
2524
- ngOnInit() {
2525
- }
2526
- closeCatalog() {
2527
- // need to emit close
2528
- this.closeRelatedPopup.emit(false);
2529
- }
2530
- 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 }); }
2531
- 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: `
2532
- <div class="product-dialog-wrap">
2533
- <div class="product-dialog-container">
2534
- <div class="container-header">
2535
- <div class="header-info">
2536
- <h3>
2537
- <co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
2538
- (click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
2539
- </h3>
2540
- </div>
2541
- <div class="close-icon" (click)="closeCatalog()">
2542
- <co-icon class="fullscreen-button"
2543
- [iconData]="iconCache.getIcon(icon.CrossSkinny)"
2544
- (click)="closeCatalog()"></co-icon>
2545
- </div>
2546
- </div>
2547
- <div class="related-product-container">
2548
- @if (articles) {
2549
- <app-product-related
2550
- class="no-padding"
2551
- [articles]="articles">
2552
- </app-product-related>
2553
- }
2554
- </div>
2555
- <div class="close-button-container">
2556
- <button class="ok-button" (click)="closeCatalog()">
2557
- <co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
2558
- (click)="closeCatalog()"></co-icon>
2559
- </button>
2560
- <button class="close-button" (click)="closeCatalog()">
2561
- <co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
2562
- (click)="closeCatalog()"></co-icon>
2563
- </button>
2564
- </div>
2565
- </div>
2566
- </div>
2567
- `, 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" }] }); }
2568
- }
2569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogComponent, decorators: [{
2570
- type: Component,
2571
- args: [{ selector: 'co-product-dialog', template: `
2572
- <div class="product-dialog-wrap">
2573
- <div class="product-dialog-container">
2574
- <div class="container-header">
2575
- <div class="header-info">
2576
- <h3>
2577
- <co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
2578
- (click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
2579
- </h3>
2580
- </div>
2581
- <div class="close-icon" (click)="closeCatalog()">
2582
- <co-icon class="fullscreen-button"
2583
- [iconData]="iconCache.getIcon(icon.CrossSkinny)"
2584
- (click)="closeCatalog()"></co-icon>
2585
- </div>
2586
- </div>
2587
- <div class="related-product-container">
2588
- @if (articles) {
2589
- <app-product-related
2590
- class="no-padding"
2591
- [articles]="articles">
2592
- </app-product-related>
2593
- }
2594
- </div>
2595
- <div class="close-button-container">
2596
- <button class="ok-button" (click)="closeCatalog()">
2597
- <co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
2598
- (click)="closeCatalog()"></co-icon>
2599
- </button>
2600
- <button class="close-button" (click)="closeCatalog()">
2601
- <co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
2602
- (click)="closeCatalog()"></co-icon>
2603
- </button>
2604
- </div>
2605
- </div>
2606
- </div>
2607
- `, 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"] }]
2608
- }], ctorParameters: () => [{ type: IconCacheService }, { type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: ProductConnectorAdapterService }, { type: ProductEventService }], propDecorators: { refType: [{
2609
- type: Input
2610
- }], mainArticle: [{
2611
- type: Input
2612
- }], articles: [{
2613
- type: Input
2614
- }], closeRelatedPopup: [{
2615
- type: Output
2616
- }], showClass: [{
2617
- type: HostBinding,
2618
- args: ['class.co-product-dialog']
2619
- }] } });
2620
-
2621
2488
  class VectorObject {
2622
2489
  }
2623
2490
  class RenderParameters {
@@ -2861,7 +2728,6 @@ class ProductPageComponent {
2861
2728
  this.icon = IconEnum;
2862
2729
  this.createFrozenArticle = true;
2863
2730
  this.isReturn = false;
2864
- this.showRelatedProductsPopup = false;
2865
2731
  this.openStockEvent = new EventEmitter();
2866
2732
  this.configurable = true;
2867
2733
  this.threeD = false;
@@ -2968,14 +2834,10 @@ class ProductPageComponent {
2968
2834
  });
2969
2835
  }
2970
2836
  });
2971
- this.showRelatedProductsPopup = false;
2972
2837
  }
2973
2838
  openStock() {
2974
2839
  this.openStockEvent.emit();
2975
2840
  }
2976
- handlePopUpChange(event) {
2977
- this.showRelatedProductsPopup = event;
2978
- }
2979
2841
  handleObjectAddedToScene(build) {
2980
2842
  if (this.threeD && this.enableRenderCarousel) {
2981
2843
  this._buildResult = build;
@@ -3019,7 +2881,7 @@ class ProductPageComponent {
3019
2881
  this._configuringService.renderImage(this._buildResult, renderOptions, false);
3020
2882
  }
3021
2883
  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 }); }
3022
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProductPageComponent, isStandalone: false, selector: "app-product-page", inputs: { sku: "sku", settings: "settings", externalSource: "externalSource", createFrozenArticle: "createFrozenArticle", isReturn: "isReturn", showRelatedProductsPopup: "showRelatedProductsPopup", enableRenderCarousel: "enableRenderCarousel", 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: `
2884
+ 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: `
3023
2885
  @if (settingsLoaded) {
3024
2886
  <div class="page-wrapper">
3025
2887
  <div class="page-wrapper-content">
@@ -3125,8 +2987,7 @@ class ProductPageComponent {
3125
2987
  [article]="article"
3126
2988
  [externalSource]="externalSource"
3127
2989
  [isReturn]="isReturn"
3128
- (startConfiguration)="handleStartConfiguration()"
3129
- (showRelatedPopup)="handlePopUpChange($event)">
2990
+ (startConfiguration)="handleStartConfiguration()">
3130
2991
  </app-product-addtocart>
3131
2992
  </div>
3132
2993
  }
@@ -3199,19 +3060,9 @@ class ProductPageComponent {
3199
3060
  </div>
3200
3061
  </div>
3201
3062
  </div>
3202
- @if (showRelatedProductsPopup) {
3203
- <div>
3204
- <co-product-dialog
3205
- [mainArticle]="article"
3206
- [articles]="article?.relatedArticles"
3207
- [refType]="1"
3208
- (closeRelatedPopup)="handlePopUpChange($event)">
3209
- </co-product-dialog>
3210
- </div>
3211
- }
3212
3063
  </div>
3213
3064
  }
3214
- `, 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: 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: [
3065
+ `, 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: [
3215
3066
  trigger('toggleFullScreen', [
3216
3067
  state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
3217
3068
  state('halfscreen', style({ 'position': '*', 'top': '*', 'left': '*', 'width': '*', 'height': '*' })),
@@ -3353,8 +3204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3353
3204
  [article]="article"
3354
3205
  [externalSource]="externalSource"
3355
3206
  [isReturn]="isReturn"
3356
- (startConfiguration)="handleStartConfiguration()"
3357
- (showRelatedPopup)="handlePopUpChange($event)">
3207
+ (startConfiguration)="handleStartConfiguration()">
3358
3208
  </app-product-addtocart>
3359
3209
  </div>
3360
3210
  }
@@ -3427,16 +3277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3427
3277
  </div>
3428
3278
  </div>
3429
3279
  </div>
3430
- @if (showRelatedProductsPopup) {
3431
- <div>
3432
- <co-product-dialog
3433
- [mainArticle]="article"
3434
- [articles]="article?.relatedArticles"
3435
- [refType]="1"
3436
- (closeRelatedPopup)="handlePopUpChange($event)">
3437
- </co-product-dialog>
3438
- </div>
3439
- }
3440
3280
  </div>
3441
3281
  }
3442
3282
  `, encapsulation: ViewEncapsulation.None, animations: [
@@ -3488,8 +3328,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3488
3328
  type: Input
3489
3329
  }], isReturn: [{
3490
3330
  type: Input
3491
- }], showRelatedProductsPopup: [{
3492
- type: Input
3493
3331
  }], enableRenderCarousel: [{
3494
3332
  type: Input
3495
3333
  }], externalButtonTemplate: [{
@@ -3604,7 +3442,7 @@ class IoneProductComponent {
3604
3442
  this.openStockEvent.emit();
3605
3443
  }
3606
3444
  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 }); }
3607
- 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", showRelatedProductsPopup: "showRelatedProductsPopup", 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: [
3445
+ 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: [
3608
3446
  ProductSettingsService,
3609
3447
  ProductConnectorService,
3610
3448
  ProductEventService,
@@ -3616,7 +3454,6 @@ class IoneProductComponent {
3616
3454
  [isReturn]="isReturn"
3617
3455
  [sku]="sku"
3618
3456
  [externalButtonTemplate]="externalButtonsTpl"
3619
- [showRelatedProductsPopup]="showRelatedProductsPopup"
3620
3457
  [enableRenderCarousel]="enableRenderCarousel"
3621
3458
  (openStockEvent)="openStock()">
3622
3459
  </app-product-page>
@@ -3626,7 +3463,7 @@ class IoneProductComponent {
3626
3463
  <ng-content select="[externalButtons]"></ng-content>
3627
3464
  </ng-template>
3628
3465
 
3629
- `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: ProductPageComponent, selector: "app-product-page", inputs: ["sku", "settings", "externalSource", "createFrozenArticle", "isReturn", "showRelatedProductsPopup", "enableRenderCarousel", "externalButtonTemplate"], outputs: ["openStockEvent"] }] }); }
3466
+ `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: ProductPageComponent, selector: "app-product-page", inputs: ["sku", "settings", "externalSource", "createFrozenArticle", "isReturn", "enableRenderCarousel", "externalButtonTemplate"], outputs: ["openStockEvent"] }] }); }
3630
3467
  }
3631
3468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IoneProductComponent, decorators: [{
3632
3469
  type: Component,
@@ -3637,7 +3474,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3637
3474
  [isReturn]="isReturn"
3638
3475
  [sku]="sku"
3639
3476
  [externalButtonTemplate]="externalButtonsTpl"
3640
- [showRelatedProductsPopup]="showRelatedProductsPopup"
3641
3477
  [enableRenderCarousel]="enableRenderCarousel"
3642
3478
  (openStockEvent)="openStock()">
3643
3479
  </app-product-page>
@@ -3660,8 +3496,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
3660
3496
  type: Input
3661
3497
  }], isReturn: [{
3662
3498
  type: Input
3663
- }], showRelatedProductsPopup: [{
3664
- type: Input
3665
3499
  }], enableRenderCarousel: [{
3666
3500
  type: Input
3667
3501
  }], settings: [{
@@ -4175,6 +4009,117 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
4175
4009
  }]
4176
4010
  }] });
4177
4011
 
4012
+ class ProductDialogComponent {
4013
+ showClass() {
4014
+ return true;
4015
+ }
4016
+ constructor(iconCache, _sanitizer, _productConnectorService, _productConnectorAdapterService, _appEventService) {
4017
+ this.iconCache = iconCache;
4018
+ this._sanitizer = _sanitizer;
4019
+ this._productConnectorService = _productConnectorService;
4020
+ this._productConnectorAdapterService = _productConnectorAdapterService;
4021
+ this._appEventService = _appEventService;
4022
+ this.icon = IconEnum;
4023
+ this.closeRelatedPopup = new EventEmitter();
4024
+ this.type = SelectorType;
4025
+ }
4026
+ ngOnInit() {
4027
+ }
4028
+ closeCatalog() {
4029
+ // need to emit close
4030
+ this.closeRelatedPopup.emit(false);
4031
+ }
4032
+ 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 }); }
4033
+ 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: `
4034
+ <div class="product-dialog-wrap">
4035
+ <div class="product-dialog-container">
4036
+ <div class="container-header">
4037
+ <div class="header-info">
4038
+ <h3>
4039
+ <co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
4040
+ (click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
4041
+ </h3>
4042
+ </div>
4043
+ <div class="close-icon" (click)="closeCatalog()">
4044
+ <co-icon class="fullscreen-button"
4045
+ [iconData]="iconCache.getIcon(icon.CrossSkinny)"
4046
+ (click)="closeCatalog()"></co-icon>
4047
+ </div>
4048
+ </div>
4049
+ <div class="related-product-container">
4050
+ @if (articles) {
4051
+ <app-product-related
4052
+ class="no-padding"
4053
+ [articles]="articles">
4054
+ </app-product-related>
4055
+ }
4056
+ </div>
4057
+ <div class="close-button-container">
4058
+ <button class="ok-button" (click)="closeCatalog()">
4059
+ <co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
4060
+ (click)="closeCatalog()"></co-icon>
4061
+ </button>
4062
+ <button class="close-button" (click)="closeCatalog()">
4063
+ <co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
4064
+ (click)="closeCatalog()"></co-icon>
4065
+ </button>
4066
+ </div>
4067
+ </div>
4068
+ </div>
4069
+ `, 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" }] }); }
4070
+ }
4071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogComponent, decorators: [{
4072
+ type: Component,
4073
+ args: [{ selector: 'co-product-dialog', template: `
4074
+ <div class="product-dialog-wrap">
4075
+ <div class="product-dialog-container">
4076
+ <div class="container-header">
4077
+ <div class="header-info">
4078
+ <h3>
4079
+ <co-icon [iconData]="iconCache.getIcon(icon.LinkSimpleRegular)"
4080
+ (click)="closeCatalog()"></co-icon>{{ 'SUGGESTION' | localize }} <b>{{ mainArticle.name }}</b> ({{ mainArticle.articleNr }})
4081
+ </h3>
4082
+ </div>
4083
+ <div class="close-icon" (click)="closeCatalog()">
4084
+ <co-icon class="fullscreen-button"
4085
+ [iconData]="iconCache.getIcon(icon.CrossSkinny)"
4086
+ (click)="closeCatalog()"></co-icon>
4087
+ </div>
4088
+ </div>
4089
+ <div class="related-product-container">
4090
+ @if (articles) {
4091
+ <app-product-related
4092
+ class="no-padding"
4093
+ [articles]="articles">
4094
+ </app-product-related>
4095
+ }
4096
+ </div>
4097
+ <div class="close-button-container">
4098
+ <button class="ok-button" (click)="closeCatalog()">
4099
+ <co-icon [iconData]="iconCache.getIcon(icon.SaveSkinny)"
4100
+ (click)="closeCatalog()"></co-icon>
4101
+ </button>
4102
+ <button class="close-button" (click)="closeCatalog()">
4103
+ <co-icon [iconData]="iconCache.getIcon(icon.CrossSkinny)"
4104
+ (click)="closeCatalog()"></co-icon>
4105
+ </button>
4106
+ </div>
4107
+ </div>
4108
+ </div>
4109
+ `, 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"] }]
4110
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: i1.DomSanitizer }, { type: ProductConnectorService }, { type: ProductConnectorAdapterService }, { type: ProductEventService }], propDecorators: { refType: [{
4111
+ type: Input
4112
+ }], mainArticle: [{
4113
+ type: Input
4114
+ }], articles: [{
4115
+ type: Input
4116
+ }], closeRelatedPopup: [{
4117
+ type: Output
4118
+ }], showClass: [{
4119
+ type: HostBinding,
4120
+ args: ['class.co-product-dialog']
4121
+ }] } });
4122
+
4178
4123
  class ProductDialogModule {
4179
4124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4180
4125
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ProductDialogModule, declarations: [ProductDialogComponent], imports: [CommonModule,
@@ -4709,7 +4654,7 @@ class ProductExternalSourceComponent {
4709
4654
  <ng-template #externalButtonsTpl>
4710
4655
  <ng-content select="[externalButtons]"></ng-content>
4711
4656
  </ng-template>
4712
- `, isInline: true, dependencies: [{ kind: "component", type: ProductPageComponent, selector: "app-product-page", inputs: ["sku", "settings", "externalSource", "createFrozenArticle", "isReturn", "showRelatedProductsPopup", "enableRenderCarousel", "externalButtonTemplate"], outputs: ["openStockEvent"] }, { kind: "component", type: ProductHdComponent, selector: "co-product-hd", inputs: ["sku", "token", "variant", "urlParams"], outputs: ["configuratorFinished", "configurationError"] }], encapsulation: i0.ViewEncapsulation.None }); }
4657
+ `, 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 }); }
4713
4658
  }
4714
4659
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProductExternalSourceComponent, decorators: [{
4715
4660
  type: Component,