@colijnit/homedecorator 257.1.4 → 258.1.1

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.
Files changed (68) hide show
  1. package/app/core/enum/icon.enum.d.ts +4 -0
  2. package/app/core/model/homedecorator-settings-options.d.ts +3 -0
  3. package/app/core/model/homedecorator-settings.d.ts +1 -2
  4. package/app/core/service/3dm-api.d.ts +35 -3
  5. package/app/core/utils/file.utils.d.ts +2 -0
  6. package/app/plugins/lite-selector/lite-selector/component/answers-slideout/answers-slideout.component.scss +20 -0
  7. package/app/plugins/model-uploader/model-previewer/model-preview.component.d.ts +4 -2
  8. package/app/plugins/model-uploader/model-previewer/model-preview.component.scss +36 -0
  9. package/app/plugins/model-uploader/model-uploader/model-upload.component.scss +5 -0
  10. package/app/plugins/model-uploader/model-uploader/model-uploader.component.d.ts +2 -4
  11. package/app/plugins/model-uploader/model-uploader.module.d.ts +2 -1
  12. package/app/plugins/render/render-controls/render-controls.component.d.ts +6 -2
  13. package/app/plugins/render/render-controls/render-controls.component.scss +74 -1
  14. package/app/plugins/render/render.module.d.ts +3 -1
  15. package/app/plugins/render/service/new-render.service.d.ts +1 -1
  16. package/app/plugins/render/service/render.service.d.ts +1 -1
  17. package/app/plugins/threedselector/element-buttons/element-buttons.component.scss +8 -5
  18. package/app/plugins/threedselector/element-toolbar/element-toolbar.component.scss +20 -3
  19. package/app/plugins/threedselector/threedselector/service/variation-cache.service.d.ts +1 -0
  20. package/app/plugins/threedselector/threedselector/threedselector.component.d.ts +2 -0
  21. package/app/plugins/threedselector/threedselector/threedselector.component.scss +18 -0
  22. package/app/shared/loader/bundle-loader.component.scss +60 -0
  23. package/app/shared/loader/loader.component.d.ts +6 -0
  24. package/app/shared/loader/loader.module.d.ts +8 -0
  25. package/assets/icons/add_light.svg +1 -0
  26. package/assets/icons/plus_regular.svg +1 -0
  27. package/assets/icons/rotate_light.svg +1 -0
  28. package/assets/icons/triangle_exclamation.svg +1 -0
  29. package/bundles/colijnit-homedecorator.umd.js +635 -304
  30. package/bundles/colijnit-homedecorator.umd.js.map +1 -1
  31. package/esm2015/app/app.version.js +3 -3
  32. package/esm2015/app/core/enum/icon.enum.js +5 -1
  33. package/esm2015/app/core/model/homedecorator-settings-options.js +5 -2
  34. package/esm2015/app/core/model/homedecorator-settings.js +2 -2
  35. package/esm2015/app/core/model/icon.js +5 -1
  36. package/esm2015/app/core/service/3dm-api.js +123 -31
  37. package/esm2015/app/core/service/homedecorator-settings.service.js +5 -5
  38. package/esm2015/app/core/service/utils.service.js +77 -28
  39. package/esm2015/app/core/utils/file.utils.js +17 -4
  40. package/esm2015/app/core/utils/variation-utils.js +12 -5
  41. package/esm2015/app/plugins/core3d/service/ssr.service.js +3 -3
  42. package/esm2015/app/plugins/lite-selector/lite-selector/component/answer-card/answer-card.component.js +2 -2
  43. package/esm2015/app/plugins/lite-selector/lite-selector/component/answers-slideout/answers-slideout.component.js +2 -2
  44. package/esm2015/app/plugins/model-uploader/model-previewer/model-preview.component.js +139 -38
  45. package/esm2015/app/plugins/model-uploader/model-uploader/model-uploader.component.js +5 -7
  46. package/esm2015/app/plugins/model-uploader/model-uploader.module.js +8 -4
  47. package/esm2015/app/plugins/product-catalog/own-collection-catalog/product-own-collection.component.js +1 -1
  48. package/esm2015/app/plugins/product-catalog/product-catalog/product-catalog.component.js +4 -2
  49. package/esm2015/app/plugins/render/render-controls/render-controls.component.js +407 -257
  50. package/esm2015/app/plugins/render/render-dialog/render-dialog.component.js +2 -2
  51. package/esm2015/app/plugins/render/render.module.js +12 -4
  52. package/esm2015/app/plugins/render/service/new-render.service.js +39 -48
  53. package/esm2015/app/plugins/render/service/render.service.js +8 -6
  54. package/esm2015/app/plugins/room-planner/components/texture-picker/texture-picker.component.js +1 -1
  55. package/esm2015/app/plugins/threedselector/element-buttons/element-buttons.component.js +2 -2
  56. package/esm2015/app/plugins/threedselector/element-toolbar/element-toolbar.component.js +2 -2
  57. package/esm2015/app/plugins/threedselector/threedselector/service/build-furniture.service.js +85 -61
  58. package/esm2015/app/plugins/threedselector/threedselector/service/load-furniture.service.js +2 -2
  59. package/esm2015/app/plugins/threedselector/threedselector/service/threedselector.service.js +2 -4
  60. package/esm2015/app/plugins/threedselector/threedselector/service/variation-cache.service.js +15 -27
  61. package/esm2015/app/plugins/threedselector/threedselector/service/variation.service.js +3 -2
  62. package/esm2015/app/plugins/threedselector/threedselector/threedselector.component.js +6 -2
  63. package/esm2015/app/shared/category-library/category-library.component.js +1 -1
  64. package/esm2015/app/shared/loader/loader.component.js +23 -0
  65. package/esm2015/app/shared/loader/loader.module.js +29 -0
  66. package/fesm2015/colijnit-homedecorator.js +1015 -533
  67. package/fesm2015/colijnit-homedecorator.js.map +1 -1
  68. package/package.json +10 -10
@@ -1,6 +1,7 @@
1
1
  /** AUTO GENERATED FILE. DO NOT CHANGE.. **/
2
2
  export declare enum IconEnum {
3
3
  AddButton = "add-button",
4
+ AddLight = "add_light",
4
5
  Aperture = "aperture",
5
6
  ArrowUpRightAndArrowDownLeftFromCenter = "arrow-up-right-and-arrow-down-left-from-center",
6
7
  ArrowsLeftRight = "arrows-left-right",
@@ -73,8 +74,10 @@ export declare enum IconEnum {
73
74
  PaintRollerLight = "paint_roller_light",
74
75
  PenRuler = "pen-ruler",
75
76
  PencilLight = "pencil_light",
77
+ PlusRegular = "plus_regular",
76
78
  Qrcode = "qrcode",
77
79
  RetryButton = "retry-button",
80
+ RotateLight = "rotate_light",
78
81
  Settings = "settings",
79
82
  StreetViewOrange = "street-view-orange",
80
83
  StreetView = "street_view",
@@ -82,6 +85,7 @@ export declare enum IconEnum {
82
85
  TiltPhone = "tilt-phone",
83
86
  TrashCanLight = "trash_can_light",
84
87
  TriangleDown = "triangle_down",
88
+ TriangleExclamation = "triangle_exclamation",
85
89
  TriangleUp = "triangle_up",
86
90
  UploadLight = "upload_light",
87
91
  WandMagicSparkles = "wand_magic_sparkles",
@@ -49,4 +49,7 @@ export declare class HomedecoratorSettingsOptions {
49
49
  aaEnabled: boolean;
50
50
  useCanvasImage: boolean;
51
51
  useThumbnailImage: boolean;
52
+ showProgressBar: boolean;
53
+ showProgressText: boolean;
54
+ showSelectionLoader: boolean;
52
55
  }
@@ -33,7 +33,6 @@ export declare class HomedecoratorSettings {
33
33
  options: HomedecoratorSettingsOptions;
34
34
  catalogParameters: GetArticlesForCatalogRequest;
35
35
  renderParameters: RenderParameters;
36
- newRenderParameters: RenderParameters;
37
36
  arParameters: ArParameters;
38
37
  faqUrl: string;
39
38
  feedbackUrl: string;
@@ -43,7 +42,7 @@ export declare class HomedecoratorSettings {
43
42
  sceneBackground: string;
44
43
  sceneBackgroundColor: string;
45
44
  standaloneSceneBackgroundColor: string;
46
- blenderRenderService: boolean;
45
+ blendFilesRender: boolean;
47
46
  renderApiClientId: string;
48
47
  uploadEndpoint: string;
49
48
  renderEndpoint: string;
@@ -1,5 +1,5 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { PerspectiveCamera } from 'three';
2
+ import { PerspectiveCamera, Vector3 } from 'three';
3
3
  import { HomedecoratorSettingsService } from './homedecorator-settings.service';
4
4
  import { MessageBusService } from './message-bus.service';
5
5
  import { MatDialog } from '@angular/material/dialog';
@@ -16,6 +16,26 @@ export declare class OutputSettings {
16
16
  duration: number;
17
17
  bounces: number;
18
18
  }
19
+ export declare class SceneSettings {
20
+ activeCameraId: number;
21
+ sceneAssetId: string;
22
+ lightGroupId: number;
23
+ hdriAssetId: number;
24
+ hdriRotation: Vector3;
25
+ hdriIntensity: number;
26
+ default: boolean;
27
+ id: number;
28
+ }
29
+ export declare class RenderSettings {
30
+ renderSettingsAssetId: string;
31
+ width: number;
32
+ height: number;
33
+ outputType: OutputType;
34
+ renderType: RenderType;
35
+ transparency: boolean;
36
+ quality: number;
37
+ exposure: number;
38
+ }
19
39
  export declare class Camera {
20
40
  id: number;
21
41
  assetId: string;
@@ -29,6 +49,12 @@ export declare class CameraDOF {
29
49
  blades: number;
30
50
  rotation: number;
31
51
  }
52
+ export declare class RGBA {
53
+ r: number;
54
+ g: number;
55
+ b: number;
56
+ a: number;
57
+ }
32
58
  declare enum OutputType {
33
59
  Jpeg = 0,
34
60
  Png = 1,
@@ -49,18 +75,24 @@ export declare class ApiServiceModule {
49
75
  constructor(iOneControllerService: HomedecoratorConnectorService, messageService: MessageBusService, _http: HttpClient, _settingsService: HomedecoratorSettingsService, _dialog: MatDialog, _configurationService: ConfigurationService);
50
76
  uploadToApiGLB(formData: FormData, filename: string, camera: PerspectiveCamera, standalone: boolean, renderParameters: any, renderPreview: boolean): Promise<void>;
51
77
  requestRender(filename: string, camera: PerspectiveCamera, standalone: boolean, renderParameters: any, renderPreview: boolean): Promise<any>;
78
+ getCameraProperties(camera: PerspectiveCamera): any;
79
+ getRenderFromJson(requestData: any): Promise<void>;
80
+ private _sendJsonRequest;
52
81
  private _sendRequest;
53
82
  private _setOptions;
54
83
  private _createRenderRequestBody;
55
84
  private _createProductRenderRequestBody;
56
- private _setOutputSettings;
57
- private _setProductOutputSettings;
85
+ private _setRenderSettings;
86
+ private _setProductRenderSettings;
87
+ private _setSceneSettings;
88
+ private _setProductSceneSettings;
58
89
  private _calculateCameraPositionRotation;
59
90
  private _setCameraRotation;
60
91
  private _cameraSettings;
61
92
  private _cameraProductSettings;
62
93
  private _getSceneBasedLights;
63
94
  private _shortenValue;
95
+ private _degreesToVector3;
64
96
  static ɵfac: i0.ɵɵFactoryDeclaration<ApiServiceModule, never>;
65
97
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiServiceModule>;
66
98
  }
@@ -1,5 +1,7 @@
1
1
  export declare class FileUtils {
2
2
  private static _cachedTextureUploads;
3
+ private static _filesDontExist;
4
+ private static _filesExist;
3
5
  static StripMimeStringFromDataUri(dataUri: string): string;
4
6
  static GetMimeStringFromDataUri(dataUri: string): string;
5
7
  /**
@@ -4,6 +4,26 @@ co-slideout {
4
4
  }
5
5
 
6
6
  :host {
7
+ &.custom-dimensions {
8
+ co-slideout {
9
+ width: 640px;
10
+ max-width: 100%;
11
+ height: 100%;
12
+ padding: 30px;
13
+ box-sizing: border-box;
14
+ h4 {
15
+ margin: 10px 0;
16
+ }
17
+ .title {
18
+ .options-search {
19
+ margin: 0 0 10px 0;
20
+ }
21
+ }
22
+ .filter {
23
+ margin: 0 0 15px 0;
24
+ }
25
+ }
26
+ }
7
27
  &.bottom-align:not(.custom-dimensions) {
8
28
  co-slideout {
9
29
  width: 100%;
@@ -57,6 +57,9 @@ export declare class ModelPreviewComponent implements OnInit, OnDestroy {
57
57
  heightAdjustable: boolean;
58
58
  placementOptions: CoDomainValue[];
59
59
  selectedPlacement: number;
60
+ canvReference: HTMLElement;
61
+ hasErrors: boolean;
62
+ listOfErrors: any[];
60
63
  private _measurements;
61
64
  protected readonly icon: typeof IconEnum;
62
65
  ngOnInit(): void;
@@ -94,8 +97,7 @@ export declare class ModelPreviewComponent implements OnInit, OnDestroy {
94
97
  private _blobToArrayBuffer;
95
98
  private _createLightFromProperties;
96
99
  private _setObjectProperties;
97
- private _validateTextures;
98
- private _replaceProceduralTextures;
100
+ private _validateObjectStructure;
99
101
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelPreviewComponent, never>;
100
102
  static ɵcmp: i0.ɵɵComponentDeclaration<ModelPreviewComponent, "rp-model-preview", never, {}, {}, never, never>;
101
103
  }
@@ -2,6 +2,7 @@
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  font-size: 14px;
5
+ position: relative;
5
6
 
6
7
  .model-preview-window {
7
8
  .model-preview-window-bottom {
@@ -44,6 +45,7 @@
44
45
  .model-preview-info-right {
45
46
  }
46
47
  }
48
+
47
49
  .model-preview-info {
48
50
  margin-top: 80px;
49
51
  }
@@ -97,6 +99,7 @@ mat-radio-group {
97
99
  box-sizing: border-box;
98
100
  padding: 4px 10px;
99
101
  line-height: 30px;
102
+
100
103
  &:hover {
101
104
  background: #da9803;
102
105
  color: #fff;
@@ -118,6 +121,7 @@ mat-radio-group {
118
121
  display: flex;
119
122
  justify-content: space-between;
120
123
  margin-bottom: 5px;
124
+
121
125
  p {
122
126
  margin: 0;
123
127
  padding: 0;
@@ -151,17 +155,20 @@ mat-radio-group {
151
155
  font-size: 14px;
152
156
  position: relative;
153
157
  top: -15px;
158
+
154
159
  ::ng-deep mat-icon {
155
160
  width: 25px;
156
161
  height: 25px;
157
162
  position: relative;
158
163
  top: 8px;
164
+
159
165
  svg {
160
166
  path {
161
167
  fill: #da9803;
162
168
  }
163
169
  }
164
170
  }
171
+
165
172
  &:hover {
166
173
  background: none;
167
174
  color: #da9803;
@@ -189,6 +196,7 @@ mat-radio-group {
189
196
  .exportButtonDark {
190
197
  background: #5b6875;
191
198
  border-color: #5b6875;
199
+
192
200
  &:hover {
193
201
  background: #5b6875;
194
202
  color: #fff;
@@ -200,6 +208,34 @@ mat-radio-group {
200
208
  cursor: pointer;
201
209
  }
202
210
 
211
+ .model-error-background {
212
+ position: absolute;
213
+ // make sure it fits the mat-dialog
214
+ top: -52px;
215
+ right: -24px;
216
+ bottom: -24px;
217
+ left: -24px;
218
+ z-index: 99;
219
+ background: rgba(0, 0, 0, 0.6);
220
+ }
221
+
222
+ .model-error-container {
223
+ position: relative;
224
+ background: #fff;
225
+ box-sizing: border-box;
226
+ padding: 10px 25px;
227
+ border: 1px solid #5b6875;
228
+ top: 30%;
229
+ left: 50%;
230
+ width: 400px;
231
+ margin-left: -200px;
232
+
233
+ .model-error-header {
234
+ display: flex;
235
+ justify-content: space-between;
236
+ }
237
+ }
238
+
203
239
  :host {
204
240
  ::ng-deep .mat-form-field-wrapper {
205
241
  padding-bottom: 0;
@@ -23,6 +23,11 @@
23
23
  }
24
24
  }
25
25
 
26
+ .modelSupport {
27
+ display: block;
28
+ font-size: 12px;
29
+ font-style: italic;
30
+ }
26
31
  .upload-error-container {
27
32
  position: relative;
28
33
  padding: .75rem 1.25rem;
@@ -1,8 +1,8 @@
1
- import { ElementRef, OnDestroy, OnInit } from '@angular/core';
1
+ import { ElementRef } from '@angular/core';
2
2
  import { HomedecoratorSettingsService } from '../../../core/service/homedecorator-settings.service';
3
3
  import { MessageBusService } from '../../../core/service/message-bus.service';
4
4
  import * as i0 from "@angular/core";
5
- export declare class ModelUploaderComponent implements OnInit, OnDestroy {
5
+ export declare class ModelUploaderComponent {
6
6
  settingsService: HomedecoratorSettingsService;
7
7
  private _messageService;
8
8
  fileUploadInput: ElementRef;
@@ -13,8 +13,6 @@ export declare class ModelUploaderComponent implements OnInit, OnDestroy {
13
13
  private _maxFileSize;
14
14
  private _allowedFiles;
15
15
  constructor(settingsService: HomedecoratorSettingsService, _messageService: MessageBusService);
16
- ngOnInit(): void;
17
- ngOnDestroy(): void;
18
16
  onChange(event: any): void;
19
17
  upload(fileExtension: string): Promise<void>;
20
18
  fileToArrayBuffer(file: File): Promise<ArrayBuffer>;
@@ -14,8 +14,9 @@ import * as i12 from "@angular/material/form-field";
14
14
  import * as i13 from "@angular/material/core";
15
15
  import * as i14 from "@angular/material/select";
16
16
  import * as i15 from "@angular/forms";
17
+ import * as i16 from "../../shared/loader/loader.module";
17
18
  export declare class ModelUploaderModule {
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelUploaderModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<ModelUploaderModule, [typeof i1.ModelUploaderComponent, typeof i2.ModelPreviewComponent], [typeof i3.CommonModule, typeof i4.CoreModule, typeof i5.MatIconModule, typeof i6.MatButtonModule, typeof i7.ButtonModule, typeof i8.ImageModule, typeof i9.CatalogExternalSourcesModule, typeof i9.CatalogExternalSourceModule, typeof i10.MatRadioModule, typeof i11.MatSlideToggleModule, typeof i12.MatFormFieldModule, typeof i13.MatOptionModule, typeof i14.MatSelectModule, typeof i7.IconModule, typeof i15.FormsModule], [typeof i1.ModelUploaderComponent]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ModelUploaderModule, [typeof i1.ModelUploaderComponent, typeof i2.ModelPreviewComponent], [typeof i3.CommonModule, typeof i4.CoreModule, typeof i5.MatIconModule, typeof i6.MatButtonModule, typeof i7.ButtonModule, typeof i8.ImageModule, typeof i9.CatalogExternalSourcesModule, typeof i9.CatalogExternalSourceModule, typeof i10.MatRadioModule, typeof i11.MatSlideToggleModule, typeof i12.MatFormFieldModule, typeof i13.MatOptionModule, typeof i14.MatSelectModule, typeof i7.IconModule, typeof i15.FormsModule, typeof i16.LoaderModule], [typeof i1.ModelUploaderComponent]>;
20
21
  static ɵinj: i0.ɵɵInjectorDeclaration<ModelUploaderModule>;
21
22
  }
@@ -30,6 +30,10 @@ export declare class RenderControlsComponent {
30
30
  private _utilsService;
31
31
  readonly icons: typeof IconEnum;
32
32
  blenderPreviewRender: string;
33
+ hdriIntensity: number;
34
+ hdriRotation: number;
35
+ lightingExposure: number;
36
+ showRenderSettings: boolean;
33
37
  private _subs;
34
38
  constructor(renderService: RenderService, messageService: MessageBusService, viewModeService: ViewModeService, settingsService: HomedecoratorSettingsService, iconService: HomedecoratorIconCacheService, _dialog: MatDialog, _sceneService: SceneService, _cameraService: CameraService, _configurationService: ConfigurationService, _settingsService: HomedecoratorSettingsService, _newRenderService: NewRenderService, _utilsService: UtilsService);
35
39
  get disablePictureButton(): boolean;
@@ -42,14 +46,14 @@ export declare class RenderControlsComponent {
42
46
  inPictureMode: boolean;
43
47
  readonly renderModes: typeof RenderModes;
44
48
  showRenderForm(event: MouseEvent): void;
45
- checkCameraPosition(event: MouseEvent): void;
46
49
  startRenderingRoom(): Promise<void>;
47
50
  createBlenderRender(): void;
48
51
  resetBlenderRenderScene(): void;
49
52
  moveCameraWithinBounds(): void;
50
53
  getPreviewRender(): void;
51
54
  showPreview(image: string): void;
52
- private _validateRenderPosition;
55
+ toggleRenderSettings(): void;
56
+ validateRenderPosition(): void;
53
57
  private _getObjectsByName;
54
58
  static ɵfac: i0.ɵɵFactoryDeclaration<RenderControlsComponent, never>;
55
59
  static ɵcmp: i0.ɵɵComponentDeclaration<RenderControlsComponent, "rp-render-controls", never, {}, {}, never, never>;
@@ -15,12 +15,26 @@ $border-color: #dda73f;
15
15
  padding: 10px 25px 25px;
16
16
  border-radius: 5px;
17
17
  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
18
+ max-width: 275px;
18
19
 
19
20
  .render-popup-header {
20
21
  display: flex;
21
22
  justify-content: space-between;
22
23
  font-family: inherit;
23
24
 
25
+ h3 {
26
+ display: flex;
27
+ justify-content: space-between;
28
+ ::ng-deep .renderErrorIcon {
29
+ width: 20px;
30
+ height: 20px;
31
+ margin-left: 20px;
32
+ svg, svg polygon {
33
+ fill: #DC143C;
34
+ }
35
+ }
36
+ }
37
+
24
38
  .close-popup-container {
25
39
  cursor: pointer;
26
40
  border: none;
@@ -78,6 +92,8 @@ $border-color: #dda73f;
78
92
  min-width: 275px;
79
93
  margin: 5px 0;
80
94
  position: relative;
95
+ width: 275px;
96
+ height: 150px;
81
97
 
82
98
  .render-popup-preview-placeholder {
83
99
  background-color: #fff;
@@ -102,6 +118,7 @@ $border-color: #dda73f;
102
118
  width: 30px;
103
119
  background-color: #dda73f;
104
120
  color: #fff;
121
+ margin: 0;
105
122
 
106
123
  ::ng-deep co-icon {
107
124
  svg {
@@ -117,13 +134,31 @@ $border-color: #dda73f;
117
134
  margin: 5px 0;
118
135
  width: 100%;
119
136
 
137
+ .toggleable {
138
+ cursor: pointer;
139
+ display: flex;
140
+ justify-content: right;
141
+ align-content: center;
142
+ p{
143
+ padding: 0;
144
+ margin: 0;
145
+ font-size: 12px;
146
+ line-height: 30px;
147
+ }
148
+
149
+ .icon-rotate {
150
+ transform: rotate(180deg);
151
+ }
152
+ }
153
+
120
154
  .mat-form-field {
121
155
  width: 100%;
122
-
156
+ font-size: 14px;
123
157
  ::ng-deep .mat-form-field-flex {
124
158
  background-color: #fff;
125
159
  color: #000;
126
160
  padding: 3px 6px;
161
+ border: 1px solid #ddd;
127
162
  }
128
163
 
129
164
  ::ng-deep .mat-form-field-underline {
@@ -134,6 +169,44 @@ $border-color: #dda73f;
134
169
  padding-bottom: 0;
135
170
  }
136
171
  }
172
+
173
+ .setting-part-container {
174
+ display: flex;
175
+ justify-content: space-between;
176
+ align-items: center;
177
+ margin-bottom: 5px;
178
+ .third-width {
179
+ width: 32%
180
+ }
181
+ .setting-part-buttons {
182
+
183
+ .amount-button {
184
+ float: none;
185
+ box-sizing: border-box;
186
+ padding: 2px;
187
+ background: none;
188
+ cursor: pointer;
189
+ border: none;
190
+ width: 25px;
191
+ height: 25px;
192
+ margin: 0 5px;
193
+ co-icon {
194
+ display: block;
195
+ width: 25px;
196
+ height: 25px;
197
+ ::ng-deep svg {
198
+ fill: #5b6875;
199
+ }
200
+ }
201
+ }
202
+ }
203
+ .setting-part-slider {
204
+ .mat-slider-horizontal {
205
+ min-width: 110px;
206
+ height: 28px;
207
+ }
208
+ }
209
+ }
137
210
  }
138
211
  }
139
212
 
@@ -14,8 +14,10 @@ import * as i12 from "@angular/material/grid-list";
14
14
  import * as i13 from "@angular/material/progress-spinner";
15
15
  import * as i14 from "@angular/forms";
16
16
  import * as i15 from "@colijnit/corecomponents";
17
+ import * as i16 from "@angular/material/slider";
18
+ import * as i17 from "@colijnit/corecomponents_v12";
17
19
  export declare class RenderModule {
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<RenderModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<RenderModule, [typeof i1.RenderDialogComponent, typeof i2.RenderControlsComponent], [typeof i3.CoreModule, typeof i4.CommonModule, typeof i5.MatButtonModule, typeof i6.MatDialogModule, typeof i7.MatTooltipModule, typeof i8.MatInputModule, typeof i9.MatIconModule, typeof i10.MatSelectModule, typeof i11.MatSlideToggleModule, typeof i12.MatGridListModule, typeof i13.MatProgressSpinnerModule, typeof i14.FormsModule, typeof i15.IconModule], [typeof i1.RenderDialogComponent, typeof i2.RenderControlsComponent]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RenderModule, [typeof i1.RenderDialogComponent, typeof i2.RenderControlsComponent], [typeof i3.CoreModule, typeof i4.CommonModule, typeof i5.MatButtonModule, typeof i6.MatDialogModule, typeof i7.MatTooltipModule, typeof i8.MatInputModule, typeof i9.MatIconModule, typeof i10.MatSelectModule, typeof i11.MatSlideToggleModule, typeof i12.MatGridListModule, typeof i13.MatProgressSpinnerModule, typeof i14.FormsModule, typeof i15.IconModule, typeof i16.MatSliderModule, typeof i17.TooltipDirectiveModule], [typeof i1.RenderDialogComponent, typeof i2.RenderControlsComponent]>;
20
22
  static ɵinj: i0.ɵɵInjectorDeclaration<RenderModule>;
21
23
  }
@@ -51,12 +51,12 @@ export declare class NewRenderService implements OnDestroy {
51
51
  renderRoom(size: any): Promise<void>;
52
52
  private _exportToGlb;
53
53
  private _getNewRenderImage;
54
- private _handleAjaxBlenderRender;
55
54
  private _handleAjaxRender;
56
55
  private _handleWebSocketRender;
57
56
  private _handleWebSocketRoomRender;
58
57
  private _showPreviewImage;
59
58
  private _getDataForRender;
59
+ private _getSceneRenderSettings;
60
60
  private _getDataForRoomRender;
61
61
  private _arrayBufferToBase64;
62
62
  static ɵfac: i0.ɵɵFactoryDeclaration<NewRenderService, never>;
@@ -58,7 +58,7 @@ export declare class RenderService implements OnDestroy {
58
58
  selectedImageSize: number;
59
59
  selectedEnvironment: number;
60
60
  selectedRenderScene: string;
61
- blenderRenderService: boolean;
61
+ blendFilesRender: boolean;
62
62
  positions: number;
63
63
  save: boolean;
64
64
  renderRoomImageChanged: BehaviorSubject<string>;
@@ -25,14 +25,17 @@
25
25
  min-width: 30px;
26
26
  height: 35px;
27
27
  width: 35px;
28
- max-height: 50px;
29
- max-width: 50px;
30
- background: #2c67ff;
28
+ max-height: 30px;
29
+ max-width: 30px;
30
+ background: #17253391;
31
31
  transform: translate(-15px, -15px);
32
32
  box-shadow: 0 0 0 5px rgb(0 0 0 / 7%);
33
33
  ::ng-deep co-icon {
34
- width: 100%;
35
- height: 100%;
34
+ width: 16px;
35
+ height: 16px;
36
+ svg {
37
+ fill: #FFF;
38
+ }
36
39
  }
37
40
  }
38
41
 
@@ -27,9 +27,9 @@
27
27
 
28
28
  ::ng-deep co-icon {
29
29
  margin-right: 7px;
30
- border: 1px solid black;
31
- width: 18px;
32
- height: 18px;
30
+ border: none;
31
+ width: 16px;
32
+ height: 16px;
33
33
  border-radius: 10px;
34
34
 
35
35
  svg g {
@@ -76,6 +76,7 @@
76
76
  .toolbar-wrapper {
77
77
  display: flex;
78
78
  align-items: center;
79
+ gap: 2px;
79
80
  }
80
81
  .toolbar-wrapper button:not(:last-child) {
81
82
  margin-right: 5px;
@@ -88,6 +89,22 @@
88
89
  align-items: center;
89
90
  justify-content: center;
90
91
  }
92
+ :host ::ng-deep .mat-flat-button.mat-accent,
93
+ :host ::ng-deep .mat-raised-button.mat-accent,
94
+ :host ::ng-deep .mat-fab.mat-accent,
95
+ :host ::ng-deep .mat-mini-fab.mat-accent {
96
+ background-color: #17253391;
97
+ width: 36px;
98
+ height: 36px;
99
+ border-radius: 4px;
100
+ co-icon {
101
+ width: 16px;
102
+ height: 16px;
103
+ svg {
104
+ fill: #FFF;
105
+ }
106
+ }
107
+ }
91
108
 
92
109
  :host ::ng-deep .mat.mat-mini-fab {
93
110
  margin-right: 200px;
@@ -18,6 +18,7 @@ export declare class VariationCacheService implements OnDestroy {
18
18
  preloadVariationsAsync(schema: string, fileNames: string[], articleAssetPath?: string): Promise<void>;
19
19
  loadVariation(schema: string, fileName: string): Promise<VariationSettings>;
20
20
  private _waitForVariationToLoad;
21
+ private _createSettingsForFileName;
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<VariationCacheService, never>;
22
23
  static ɵprov: i0.ɵɵInjectableDeclaration<VariationCacheService>;
23
24
  }
@@ -115,6 +115,8 @@ export declare class ThreedselectorComponent implements OnInit, OnDestroy {
115
115
  loaderProgress: number;
116
116
  loaderText: string;
117
117
  showLoader: boolean;
118
+ showProgressBar: boolean;
119
+ showProgressText: boolean;
118
120
  private _selectedElementObject;
119
121
  private _skuAlreadySet;
120
122
  private _itemsFromScratch;
@@ -95,6 +95,24 @@
95
95
  z-index: 1000;
96
96
  box-sizing: border-box;
97
97
  padding: 15px;
98
+ &.full {
99
+ width: 100%;
100
+ top: 0;
101
+ left: 0;
102
+ margin-left: 0;
103
+ border-radius: 0;
104
+ transform: none;
105
+ z-index: auto;
106
+ padding: 0;
107
+ position: absolute;
108
+ #progress-bar {
109
+ width: 100%;
110
+ height: 5px;
111
+ border: none;
112
+ margin-top: 0;
113
+ border-radius: 0;
114
+ }
115
+ }
98
116
  }
99
117
 
100
118
  #loader-text {
@@ -0,0 +1,60 @@
1
+ :host {
2
+ position: fixed;
3
+ width: 100%;
4
+ height: 100%;
5
+ top: 0;
6
+ left: 0;
7
+ background: rgba(0, 0, 0, 0.1);
8
+ opacity: 0;
9
+ pointer-events: none;
10
+ transition: opacity 0.3s ease;
11
+ &.show {
12
+ opacity: 1;
13
+ pointer-events: all;
14
+ transition: opacity 0.3s ease;
15
+ }
16
+
17
+ .organic-loader {
18
+ width: 80px;
19
+ height: 80px;
20
+ z-index: 1100;
21
+ align-items: center;
22
+ justify-content: center;
23
+ position: fixed;
24
+ left: 50%;
25
+ top: 50%;
26
+ transform: translate(-50%, -50%);
27
+ svg {
28
+ width: 100%;
29
+ height: 100%;
30
+ }
31
+ }
32
+ .inner-circle {
33
+ transform-origin: 100px 100px;
34
+ animation: spin 2s linear infinite;
35
+ stroke: rgb(150, 80, 160);
36
+ stroke-width: 10px;
37
+ stroke-dasharray: 500px;
38
+ }
39
+
40
+ @keyframes spin {
41
+ 0% { transform: rotate(0deg); }
42
+ 100% { transform: rotate(360deg); }
43
+ }
44
+
45
+ /* Blinking letters from left to right */
46
+ #letter1, #letter2, #letter3, #letter4 {
47
+ opacity: 0;
48
+ animation: blink 1.6s infinite;
49
+ }
50
+
51
+ #letter1 { animation-delay: 0s; }
52
+ #letter2 { animation-delay: 0.3s; }
53
+ #letter3 { animation-delay: 0.6s; }
54
+ #letter4 { animation-delay: 0.9s; }
55
+
56
+ @keyframes blink {
57
+ 0%, 100% { opacity: 0; }
58
+ 50% { opacity: 1; }
59
+ }
60
+ }