@colijnit/configurator 261.20.8 → 261.20.10

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,9 +2,9 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, EventEmitter, HostBinding, ViewEncapsulation, Component, Input, Output, HostListener, ViewChild, Directive, ElementRef, ViewChildren, TemplateRef, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
3
3
  import * as i5 from '@angular/common';
4
4
  import { CommonModule, AsyncPipe } from '@angular/common';
5
+ import { BehaviorSubject, Subject, combineLatest, debounceTime } from 'rxjs';
5
6
  import * as THREE from 'three';
6
7
  import { Color, WebGLRenderer, Box3, Vector3, Scene, PerspectiveCamera, MathUtils, AmbientLight, DirectionalLight, Group, Euler, Object3D, EventDispatcher, MeshBasicMaterial, Mesh, PlaneGeometry, DoubleSide, MeshStandardMaterial, CylinderGeometry, RingGeometry, Matrix4, Raycaster, BufferGeometry, Line, DataTexture, RGFormat, UnsignedByteType, LinearFilter, Shape, Vector2, SphereGeometry, SRGBColorSpace, PCFSoftShadowMap, ShadowMaterial, LightProbe, Texture as Texture$1, MeshPhongMaterial, NoToneMapping, TextureLoader, RGBAFormat, Quaternion, PointLight, BoxGeometry, BackSide, FrontSide, ShapeGeometry } from 'three';
7
- import { BehaviorSubject, Subject, combineLatest } from 'rxjs';
8
8
  import { HdecoPlacement } from '@colijnit/configuratorapi/build/enum/hdeco-placement.enum';
9
9
  import * as i6 from '@colijnit/utilities';
10
10
  import { ObjectUtils, MaterialUtils, DeviceUtils as DeviceUtils$1, DeviceTier as DeviceTier$1, TranslationModule, UtilitiesPipesModule } from '@colijnit/utilities';
@@ -56,12 +56,6 @@ import { GLTFExporter } from 'three/examples/jsm/exporters/GLTFExporter.js';
56
56
  import { MatButtonModule } from '@angular/material/button';
57
57
  import { MatIconModule } from '@angular/material/icon';
58
58
 
59
- var ConfigurationTemplate;
60
- (function (ConfigurationTemplate) {
61
- ConfigurationTemplate["default"] = "default";
62
- ConfigurationTemplate["showFullConfiguration"] = "showFullConfiguration";
63
- })(ConfigurationTemplate || (ConfigurationTemplate = {}));
64
-
65
59
  class ArParameters {
66
60
  depthOcclusion = false;
67
61
  depthHitTest = false;
@@ -419,14 +413,13 @@ class ConfiguratorEventService {
419
413
  buildStarted = new BehaviorSubject(false);
420
414
  buildFinished = new BehaviorSubject(undefined);
421
415
  addedToScene = new BehaviorSubject(undefined);
422
- configurationTemplateChange = new BehaviorSubject(undefined);
423
416
  articleNotFound = new BehaviorSubject(undefined);
424
417
  selectionWithAnswersChanged = new BehaviorSubject(undefined);
425
418
  glbCreated = new Subject();
426
419
  showOutline = new Subject();
427
420
  showErrorOutline = new Subject();
428
421
  hideOutline = new Subject();
429
- articleReceived = new Subject();
422
+ articleReceived = new BehaviorSubject(undefined);
430
423
  selectionsReceived = new Subject();
431
424
  answersReceived = new Subject();
432
425
  extraAnswerDataLoaded = new Subject();
@@ -1037,11 +1030,11 @@ class ConfiguratorConnectorService {
1037
1030
  selections = this._boFactory.makeBOArrayFromRawBackendDataArray(Selection, response.resultObjects);
1038
1031
  }
1039
1032
  if (this.article.showFullConfiguration) {
1040
- this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.showFullConfiguration);
1033
+ // this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.showFullConfiguration);
1041
1034
  await this._createSelectorFullConfiguration(selections);
1042
1035
  }
1043
1036
  else {
1044
- this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.default);
1037
+ // this._appEventService.configurationTemplateChange.next(ConfigurationTemplate.default);
1045
1038
  this._prepareSelections(selections);
1046
1039
  }
1047
1040
  }
@@ -2203,6 +2196,17 @@ class BuildFurnitureBaseService {
2203
2196
  MaterialUtils.ClearCaches();
2204
2197
  VariationUtils.ClearCache();
2205
2198
  }
2199
+ cleanup() {
2200
+ ObjectUtils.DisposeObject(this.full3DObjectToUse);
2201
+ this.full3DObjectToUse = undefined;
2202
+ this._currentCustomFloorGroup = undefined;
2203
+ ObjectUtils.DisposeObject(this._activeChildElement);
2204
+ this._activeChildElement = undefined;
2205
+ this.placedAdjustables.length = 0;
2206
+ this.placedAddables.length = 0;
2207
+ this._adjustables.length = 0;
2208
+ this._addables.length = 0;
2209
+ }
2206
2210
  async prepareInstanceForBuild(shouldCopyInstance, loadFromProject, looseOriginalConfiguration, result) {
2207
2211
  if (shouldCopyInstance && !loadFromProject) {
2208
2212
  const originalInstanceId = result.instanceId;
@@ -2652,17 +2656,6 @@ class BuildFurnitureBaseService {
2652
2656
  // clean
2653
2657
  this.cleanup();
2654
2658
  }
2655
- cleanup() {
2656
- ObjectUtils.DisposeObject(this.full3DObjectToUse);
2657
- this.full3DObjectToUse = undefined;
2658
- this._currentCustomFloorGroup = undefined;
2659
- ObjectUtils.DisposeObject(this._activeChildElement);
2660
- this._activeChildElement = undefined;
2661
- this.placedAdjustables.length = 0;
2662
- this.placedAddables.length = 0;
2663
- this._adjustables.length = 0;
2664
- this._addables.length = 0;
2665
- }
2666
2659
  canConnectSelections(sel1, sel2) {
2667
2660
  if (!sel1.decoNode || !sel2.decoNode) {
2668
2661
  return false;
@@ -7080,7 +7073,8 @@ class ConfiguringService {
7080
7073
  this._subs.push(combineLatest([
7081
7074
  this._appEventService.skuSet,
7082
7075
  this._appEventService.instanceIdSet
7083
- ]).subscribe(async ([sku, instanceId]) => {
7076
+ ]).pipe(debounceTime(0) // wait for events to finish, because skuSet and instanceIdSet events are emitted simultaneously
7077
+ ).subscribe(([sku, instanceId]) => {
7084
7078
  this.sku = sku;
7085
7079
  if (this.sku) {
7086
7080
  this.instanceId = undefined;
@@ -8598,6 +8592,7 @@ class AnswersSlideoutComponent {
8598
8592
  // TODO change to input
8599
8593
  valutaSymbol = '€';
8600
8594
  hasInfoOpen = false;
8595
+ showTagFilter = false;
8601
8596
  _openCount = 0;
8602
8597
  _answers;
8603
8598
  _subs = [];
@@ -8620,6 +8615,7 @@ class AnswersSlideoutComponent {
8620
8615
  this.valutaSymbol = this.settingsService.settings.currencySymbol;
8621
8616
  }
8622
8617
  this.bottomAlign = this.settingsService.settings.options.bottomAnswers;
8618
+ this.showTagFilter = this.settingsService.settings.options.showTagFilter;
8623
8619
  }
8624
8620
  }));
8625
8621
  }
@@ -8826,7 +8822,7 @@ class AnswersSlideoutComponent {
8826
8822
  ></co-color-filter>
8827
8823
  }
8828
8824
  </div>
8829
- @if (settingsService.settings.options.showTagFilter) {
8825
+ @if (showTagFilter) {
8830
8826
  <div class="filter">
8831
8827
  @for (tag of tagArray; track tag) {
8832
8828
  <co-tag-filter
@@ -8838,7 +8834,7 @@ class AnswersSlideoutComponent {
8838
8834
  }
8839
8835
  }
8840
8836
  <div class="cards" visibilityObserverMaster>
8841
- @for (answer of filteredAnswers; track answer) {
8837
+ @for (answer of filteredAnswers; track answer.id) {
8842
8838
  @if (answer.isGroupHeader) {
8843
8839
  <div class="group-header-wrapper">
8844
8840
  <div class="group-header-title">
@@ -8974,7 +8970,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
8974
8970
  ></co-color-filter>
8975
8971
  }
8976
8972
  </div>
8977
- @if (settingsService.settings.options.showTagFilter) {
8973
+ @if (showTagFilter) {
8978
8974
  <div class="filter">
8979
8975
  @for (tag of tagArray; track tag) {
8980
8976
  <co-tag-filter
@@ -8986,7 +8982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
8986
8982
  }
8987
8983
  }
8988
8984
  <div class="cards" visibilityObserverMaster>
8989
- @for (answer of filteredAnswers; track answer) {
8985
+ @for (answer of filteredAnswers; track answer.id) {
8990
8986
  @if (answer.isGroupHeader) {
8991
8987
  <div class="group-header-wrapper">
8992
8988
  <div class="group-header-title">
@@ -10039,7 +10035,7 @@ class SelectionsSummaryComponent {
10039
10035
  }
10040
10036
  @if (selections && selections.length > 0) {
10041
10037
  <div class="selections-content small-scrollbar">
10042
- @for (sel of selections; track sel; let index = $index) {
10038
+ @for (sel of selections; track sel.id; let index = $index) {
10043
10039
  <co-selections-summary-line
10044
10040
  [selection]="sel"
10045
10041
  [answersTemplate]="answersTemplate ? answersTemplate : undefined"
@@ -10083,7 +10079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
10083
10079
  }
10084
10080
  @if (selections && selections.length > 0) {
10085
10081
  <div class="selections-content small-scrollbar">
10086
- @for (sel of selections; track sel; let index = $index) {
10082
+ @for (sel of selections; track sel.id; let index = $index) {
10087
10083
  <co-selections-summary-line
10088
10084
  [selection]="sel"
10089
10085
  [answersTemplate]="answersTemplate ? answersTemplate : undefined"
@@ -10676,7 +10672,7 @@ class ProductConfiguratorSelectorOptionDropDownComponent {
10676
10672
  <div class="configurator-option-dropdown-container">
10677
10673
  <div class="custom-select-wrapper">
10678
10674
  <select class="option-dropdown-select" (change)="onChange($event)">
10679
- @for (option of options; track option; let i = $index) {
10675
+ @for (option of options; track option.id; let i = $index) {
10680
10676
  <option [value]="option" [selected]="option.selected === 'F'">
10681
10677
  @if (option.nodeText) {
10682
10678
  <p [textContent]="option.nodeText | localize:true | async"></p>
@@ -10702,7 +10698,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
10702
10698
  <div class="configurator-option-dropdown-container">
10703
10699
  <div class="custom-select-wrapper">
10704
10700
  <select class="option-dropdown-select" (change)="onChange($event)">
10705
- @for (option of options; track option; let i = $index) {
10701
+ @for (option of options; track option.id; let i = $index) {
10706
10702
  <option [value]="option" [selected]="option.selected === 'F'">
10707
10703
  @if (option.nodeText) {
10708
10704
  <p [textContent]="option.nodeText | localize:true | async"></p>
@@ -10858,7 +10854,7 @@ class ProductConfiguratorSelectorOptionComponent {
10858
10854
  @if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
10859
10855
  && !this.largeTileOptions.includes(this.selection.displayOptionControl)
10860
10856
  && !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
10861
- @for (child of listOfChoices; track child) {
10857
+ @for (child of listOfChoices; track child.id) {
10862
10858
  <div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
10863
10859
  @if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
10864
10860
  <co-product-configurator-selector-option-button
@@ -10907,7 +10903,7 @@ class ProductConfiguratorSelectorOptionComponent {
10907
10903
  @if (
10908
10904
  this.largeTileOptions.includes(this.selection.displayOptionControl)
10909
10905
  || this.smallTileOptions.includes(this.selection.displayOptionControl)) {
10910
- @for (child of visibleAnswers; track child) {
10906
+ @for (child of visibleAnswers; track child.id) {
10911
10907
  <div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
10912
10908
  <co-product-configurator-selector-option-tile
10913
10909
  [option]="child"
@@ -10963,7 +10959,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
10963
10959
  @if (this.selection.displayOptionControl !== configurationDisplayOption.DropDown
10964
10960
  && !this.largeTileOptions.includes(this.selection.displayOptionControl)
10965
10961
  && !this.smallTileOptions.includes(this.selection.displayOptionControl)) {
10966
- @for (child of listOfChoices; track child) {
10962
+ @for (child of listOfChoices; track child.id) {
10967
10963
  <div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
10968
10964
  @if (this.selection.displayOptionControl === configurationDisplayOption.Button) {
10969
10965
  <co-product-configurator-selector-option-button
@@ -11012,7 +11008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
11012
11008
  @if (
11013
11009
  this.largeTileOptions.includes(this.selection.displayOptionControl)
11014
11010
  || this.smallTileOptions.includes(this.selection.displayOptionControl)) {
11015
- @for (child of visibleAnswers; track child) {
11011
+ @for (child of visibleAnswers; track child.id) {
11016
11012
  <div class="selector-option-wrapper" [class.active]="child.selected ==='F'">
11017
11013
  <co-product-configurator-selector-option-tile
11018
11014
  [option]="child"
@@ -11574,7 +11570,11 @@ class ProductConfiguratorComponent {
11574
11570
  if (selection) {
11575
11571
  this.onSelectionsSummarySelectSelection(selection);
11576
11572
  }
11577
- }), this._eventService.articleReceived.subscribe((article) => this._handleArticleReceived(article)), this._eventService.selectionWithAnswersChanged.subscribe((selections) => this._handleSelectionWithAnswersChanged(selections)));
11573
+ }), this._eventService.articleReceived.subscribe((article) => {
11574
+ if (article) {
11575
+ this._handleArticleReceived(article);
11576
+ }
11577
+ }), this._eventService.selectionWithAnswersChanged.subscribe((selections) => this._handleSelectionWithAnswersChanged(selections)));
11578
11578
  }
11579
11579
  ngOnDestroy() {
11580
11580
  this._subs.forEach(s => s.unsubscribe());
@@ -11729,9 +11729,11 @@ class ConfiguratorComponent {
11729
11729
  _buildFurnitureService;
11730
11730
  _configuratorConnectorService;
11731
11731
  showClass = true;
11732
+ show = true;
11732
11733
  set sku(value) {
11734
+ this._reset();
11733
11735
  this._sku = value;
11734
- if (this._sku && this.loaded) {
11736
+ if (this.loaded) {
11735
11737
  this._configuratorEventService.skuSet.next(this._sku);
11736
11738
  this._skuSet = true;
11737
11739
  }
@@ -11740,8 +11742,9 @@ class ConfiguratorComponent {
11740
11742
  return this._sku;
11741
11743
  }
11742
11744
  set instanceId(value) {
11745
+ this._reset();
11743
11746
  this._instanceId = value;
11744
- if (this._instanceId && this.loaded) {
11747
+ if (this.loaded) {
11745
11748
  this._configuratorEventService.instanceIdSet.next(this._instanceId);
11746
11749
  this._instanceIdSet = true;
11747
11750
  }
@@ -11775,11 +11778,12 @@ class ConfiguratorComponent {
11775
11778
  resultHasErrors = false;
11776
11779
  showErrorDiagram = false;
11777
11780
  configurationResultObject;
11778
- showFullConfiguration = false;
11781
+ showFullConfiguration = undefined;
11779
11782
  showLiteSelector = false;
11780
11783
  showSelections = false;
11781
11784
  showAnswers = false;
11782
11785
  loaded = false;
11786
+ forceShow = false;
11783
11787
  _subs = [];
11784
11788
  _loadingFromPreset = false;
11785
11789
  _settings;
@@ -11787,6 +11791,7 @@ class ConfiguratorComponent {
11787
11791
  _instanceIdSet = false;
11788
11792
  _sku;
11789
11793
  _skuSet = false;
11794
+ _alreadyReset = false;
11790
11795
  constructor(settingsService, loaderService, _configuratorEventService, _configuringService, _buildFurnitureService, _configuratorConnectorService) {
11791
11796
  this.settingsService = settingsService;
11792
11797
  this.loaderService = loaderService;
@@ -11794,7 +11799,11 @@ class ConfiguratorComponent {
11794
11799
  this._configuringService = _configuringService;
11795
11800
  this._buildFurnitureService = _buildFurnitureService;
11796
11801
  this._configuratorConnectorService = _configuratorConnectorService;
11797
- this._subs.push(this._configuratorEventService.articleNotFound.subscribe((buildResult) => this._handleArticleNotFound(buildResult)), this._configuratorEventService.answerCountReceived.subscribe((answerCount) => this._handleAnswerCountReceived(answerCount)), this._configuratorEventService.buildFinished.subscribe((resultObject) => this._handleBuildFinished(resultObject)), this._configuratorEventService.configurationTemplateChange.subscribe((template) => this._handleTemplateChange(template)), this._configuratorConnectorService.controllerInitialized.subscribe((initialized) => {
11802
+ this._subs.push(this._configuratorEventService.articleNotFound.subscribe((buildResult) => this._handleArticleNotFound(buildResult)), this._configuratorEventService.answerCountReceived.subscribe((answerCount) => this._handleAnswerCountReceived(answerCount)), this._configuratorEventService.buildFinished.subscribe((resultObject) => this._handleBuildFinished(resultObject)), this._configuratorEventService.articleReceived.subscribe((article) => {
11803
+ if (article) {
11804
+ this.showFullConfiguration = !!article.showFullConfiguration;
11805
+ }
11806
+ }), this._configuratorConnectorService.controllerInitialized.subscribe((initialized) => {
11798
11807
  if (initialized) {
11799
11808
  this.loaded = true;
11800
11809
  if (this._sku && !this._skuSet) {
@@ -11806,6 +11815,12 @@ class ConfiguratorComponent {
11806
11815
  this._instanceIdSet = true;
11807
11816
  }
11808
11817
  }
11818
+ }), combineLatest([
11819
+ this._configuratorEventService.skuSet,
11820
+ this._configuratorEventService.instanceIdSet
11821
+ ]).pipe(debounceTime(0) // wait for events to finish, because skuSet and instanceIdSet events are emitted simultaneously
11822
+ ).subscribe(([sku, instanceId]) => {
11823
+ this._alreadyReset = false;
11809
11824
  }));
11810
11825
  }
11811
11826
  ngOnInit() {
@@ -11854,9 +11869,7 @@ class ConfiguratorComponent {
11854
11869
  }
11855
11870
  _handleAnswerCountReceived(answerCount) {
11856
11871
  this.showAnswers = answerCount > 0;
11857
- if (this.showAnswers) {
11858
- this.showLiteSelector = !this._loadingFromPreset;
11859
- }
11872
+ this.forceShow = this.showAnswers;
11860
11873
  }
11861
11874
  _handleBuildFinished(result) {
11862
11875
  if (!result) {
@@ -11871,20 +11884,25 @@ class ConfiguratorComponent {
11871
11884
  this.showErrorDiagram = true;
11872
11885
  }
11873
11886
  }
11874
- _handleTemplateChange(template) {
11875
- if (template === ConfigurationTemplate.default) {
11876
- this.showFullConfiguration = false;
11877
- }
11878
- else if (template === ConfigurationTemplate.showFullConfiguration) {
11879
- this.showFullConfiguration = true;
11880
- }
11881
- else {
11882
- this.showFullConfiguration = false;
11887
+ _reset() {
11888
+ if (this._alreadyReset) {
11889
+ return;
11883
11890
  }
11891
+ this._configuratorConnectorService.cleanUp();
11892
+ this._buildFurnitureService.currentActiveService.cleanup(); // Clean up the threeD stuff.
11893
+ this.showFullConfiguration = undefined;
11894
+ this._configuratorEventService.skuSet.next(undefined);
11895
+ this._configuratorEventService.instanceIdSet.next(undefined);
11896
+ this._configuratorEventService.instanceSet.next(undefined);
11897
+ this._configuratorEventService.articleNotFound.next(undefined);
11898
+ this._configuratorEventService.selectionWithAnswersChanged.next(undefined);
11899
+ this._configuratorEventService.articleReceived.next(undefined);
11900
+ this._configuratorEventService.buildFinished.next(undefined);
11901
+ this._alreadyReset = true;
11884
11902
  }
11885
11903
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfiguratorComponent, deps: [{ token: ConfiguratorSettingsService }, { token: LoaderService }, { token: ConfiguratorEventService }, { token: ConfiguringService }, { token: SwitchBuildFurnitureService }, { token: ConfiguratorConnectorService }], target: i0.ɵɵFactoryTarget.Component });
11886
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorComponent, isStandalone: false, selector: "co-configurator", inputs: { sku: "sku", instanceId: "instanceId", settings: "settings", scene: "scene", showLoader: "showLoader", showProgressBar: "showProgressBar", showErrorMessages: "showErrorMessages", outputErrorMessages: "outputErrorMessages", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation" }, outputs: { isLoading: "isLoading", updateProgressBar: "updateProgressBar", errorMessages: "errorMessages", showChange: "showChange" }, host: { properties: { "class.co-configurator": "this.showClass" } }, ngImport: i0, template: `
11887
- @if (loaded) {
11904
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfiguratorComponent, isStandalone: false, selector: "co-configurator", inputs: { show: "show", sku: "sku", instanceId: "instanceId", settings: "settings", scene: "scene", showLoader: "showLoader", showProgressBar: "showProgressBar", showErrorMessages: "showErrorMessages", outputErrorMessages: "outputErrorMessages", canCloseConfigurator: "canCloseConfigurator", animateSlideout: "animateSlideout", showHeaderInformation: "showHeaderInformation" }, outputs: { isLoading: "isLoading", updateProgressBar: "updateProgressBar", errorMessages: "errorMessages", showChange: "showChange" }, host: { properties: { "class.co-configurator": "this.showClass" } }, ngImport: i0, template: `
11905
+ @if (loaded && (show || forceShow)) {
11888
11906
  @if (showProgressBar) {
11889
11907
  <co-progress-bar></co-progress-bar>
11890
11908
  }
@@ -11897,7 +11915,7 @@ class ConfiguratorComponent {
11897
11915
  (closeErrorDialoag)="handleCloseErrorDialog()"
11898
11916
  ></co-configurator-error-dialog>
11899
11917
  }
11900
- @if (!showFullConfiguration) {
11918
+ @if (showFullConfiguration === false) {
11901
11919
  <co-lite-selector
11902
11920
  class="floating"
11903
11921
  [animateSlideout]="animateSlideout"
@@ -11924,7 +11942,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
11924
11942
  args: [{
11925
11943
  selector: 'co-configurator',
11926
11944
  template: `
11927
- @if (loaded) {
11945
+ @if (loaded && (show || forceShow)) {
11928
11946
  @if (showProgressBar) {
11929
11947
  <co-progress-bar></co-progress-bar>
11930
11948
  }
@@ -11937,7 +11955,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
11937
11955
  (closeErrorDialoag)="handleCloseErrorDialog()"
11938
11956
  ></co-configurator-error-dialog>
11939
11957
  }
11940
- @if (!showFullConfiguration) {
11958
+ @if (showFullConfiguration === false) {
11941
11959
  <co-lite-selector
11942
11960
  class="floating"
11943
11961
  [animateSlideout]="animateSlideout"
@@ -11964,6 +11982,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
11964
11982
  }], ctorParameters: () => [{ type: ConfiguratorSettingsService }, { type: LoaderService }, { type: ConfiguratorEventService }, { type: ConfiguringService }, { type: SwitchBuildFurnitureService }, { type: ConfiguratorConnectorService }], propDecorators: { showClass: [{
11965
11983
  type: HostBinding,
11966
11984
  args: ['class.co-configurator']
11985
+ }], show: [{
11986
+ type: Input
11967
11987
  }], sku: [{
11968
11988
  type: Input
11969
11989
  }], instanceId: [{