@colijnit/homedecorator 262.1.5 → 262.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/plugins/render/render-controls/input-slider/input-slider.component.scss +117 -0
- package/app/plugins/render/render-controls/render-controls.component.scss +4 -40
- package/fesm2022/colijnit-homedecorator.mjs +487 -421
- package/fesm2022/colijnit-homedecorator.mjs.map +1 -1
- package/index.d.ts +48 -28
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Pipe, Component, Inject, Input, HostBinding, Optional, ViewChild, EventEmitter, ElementRef, Output, Directive, ChangeDetectionStrategy,
|
|
2
|
+
import { Injectable, Pipe, Component, Inject, Input, HostBinding, Optional, ViewChild, EventEmitter, ElementRef, Output, Directive, ChangeDetectionStrategy, ViewEncapsulation, HostListener, SkipSelf, Self, NgModule, NO_ERRORS_SCHEMA, forwardRef } from '@angular/core';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Vector2, Mesh, Object3D, PointLight, Matrix4, Box3, Vector3, Euler, BoxGeometry, MeshBasicMaterial, Scene, AxesHelper, Group, BufferGeometry, Float32BufferAttribute, Line, LineBasicMaterial, CylinderGeometry, EquirectangularReflectionMapping, Material as Material$1, Texture as Texture$1, Source, EventDispatcher, Color, PerspectiveCamera, Quaternion, PlaneGeometry, DoubleSide, MeshStandardMaterial, RingGeometry, MathUtils, Raycaster, DataTexture, UnsignedByteType, LinearFilter, Shape, LinearSRGBColorSpace, SRGBColorSpace, SphereGeometry, PCFSoftShadowMap, ShadowMaterial, LightProbe, DirectionalLight, MeshPhongMaterial, BackSide, FrontSide, NoToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, CustomToneMapping, NeutralToneMapping, BasicShadowMap, PCFShadowMap, VSMShadowMap, OrthographicCamera, WebGLRenderer, TextureLoader, EllipseCurve, ArcCurve, NearestFilter, MeshPhysicalMaterial, Path, ShapeGeometry, ConeGeometry, ObjectLoader, Light, Camera as Camera$1, RepeatWrapping, SpotLight, AmbientLight, HemisphereLight, AdditiveBlending, LineSegments, EdgesGeometry, CircleGeometry, ExtrudeGeometry, InstancedMesh, Clock, AnimationMixer, AnimationClip, BufferAttribute, NoColorSpace, ArrowHelper as ArrowHelper$1, UVMapping, CubeReflectionMapping, CubeRefractionMapping, EquirectangularRefractionMapping, CubeUVReflectionMapping, NearestMipmapNearestFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipMapLinearFilter, LinearMipmapNearestFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipMapLinearFilter, AlphaFormat, RGBAFormat, DepthFormat, DepthStencilFormat, RedFormat, RedIntegerFormat, RGFormat, RGIntegerFormat, RGBAIntegerFormat, ByteType, ShortType, UnsignedShortType, IntType, UnsignedIntType, FloatType, HalfFloatType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedInt248Type, ClampToEdgeWrapping, MirroredRepeatWrapping, ZeroFactor, OneFactor, SrcColorFactor, OneMinusSrcColorFactor, SrcAlphaFactor, OneMinusSrcAlphaFactor, DstAlphaFactor, OneMinusDstAlphaFactor, DstColorFactor, OneMinusDstColorFactor, AddEquation, SubtractEquation, ReverseSubtractEquation, MinEquation, MaxEquation, NoBlending, NormalBlending, SubtractiveBlending, MultiplyBlending, CustomBlending, TangentSpaceNormalMap, ObjectSpaceNormalMap, ZeroStencilOp, KeepStencilOp, ReplaceStencilOp, IncrementStencilOp, DecrementStencilOp, IncrementWrapStencilOp, DecrementWrapStencilOp, InvertStencilOp, NeverStencilFunc, LessStencilFunc, EqualStencilFunc, LessEqualStencilFunc, GreaterStencilFunc, NotEqualStencilFunc, GreaterEqualStencilFunc, AlwaysStencilFunc, SpotLightHelper, DirectionalLightHelper, HemisphereLightHelper, PointLightHelper, GridHelper, PMREMGenerator, BoxHelper } from 'three';
|
|
5
5
|
import { BehaviorSubject, Subject, Observable, throwError, ReplaySubject, combineLatest, filter as filter$1, take as take$1, from } from 'rxjs';
|
|
@@ -105,7 +105,7 @@ import { trigger, state, style, transition, animate, query, animateChild } from
|
|
|
105
105
|
import * as i2$2 from '@angular/common';
|
|
106
106
|
import { CommonModule } from '@angular/common';
|
|
107
107
|
import * as i5$1 from '@colijnit/corecomponents_v12';
|
|
108
|
-
import { LoaderModule as LoaderModule$1, IconModule, TooltipDirectiveModule, ListOfValuesModule, ButtonModule,
|
|
108
|
+
import { LoaderModule as LoaderModule$1, IconModule, InputTextModule, InputNumberPickerModule, TooltipDirectiveModule, ListOfValuesModule, ButtonModule, ImageModule, CoreComponentsTranslationModule } from '@colijnit/corecomponents_v12';
|
|
109
109
|
import * as i2$3 from '@angular/material/input';
|
|
110
110
|
import { MatInputModule, MatFormField } from '@angular/material/input';
|
|
111
111
|
import * as i12 from '@angular/material/select';
|
|
@@ -114,9 +114,9 @@ import * as i4 from '@angular/material/tooltip';
|
|
|
114
114
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
115
115
|
import * as i1$4 from 'ngx-color/sketch';
|
|
116
116
|
import { ColorSketchModule } from 'ngx-color/sketch';
|
|
117
|
+
import * as dat from 'dat.gui';
|
|
117
118
|
import * as i3$2 from '@angular/material/slider';
|
|
118
119
|
import { MatSliderModule } from '@angular/material/slider';
|
|
119
|
-
import * as dat from 'dat.gui';
|
|
120
120
|
import * as i14 from '@angular/flex-layout/flex';
|
|
121
121
|
import * as i2$4 from '@angular/material/progress-bar';
|
|
122
122
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
@@ -3665,7 +3665,7 @@ class HomedecoratorAppEventService {
|
|
|
3665
3665
|
this.externalOpen = new Subject();
|
|
3666
3666
|
this.searchClick = new Subject();
|
|
3667
3667
|
this.shareProject = new Subject();
|
|
3668
|
-
this.configurationFromPresetLoaded = new
|
|
3668
|
+
this.configurationFromPresetLoaded = new Subject();
|
|
3669
3669
|
}
|
|
3670
3670
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HomedecoratorAppEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3671
3671
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HomedecoratorAppEventService, providedIn: 'root' }); }
|
|
@@ -24838,8 +24838,8 @@ class FloorTileIntersectionService {
|
|
|
24838
24838
|
floorHits: new Array(),
|
|
24839
24839
|
edgeHits: new Array()
|
|
24840
24840
|
};
|
|
24841
|
-
const bvhLeft = new MeshBVH(geometryLeft);
|
|
24842
|
-
const bvhRight = (geometryRight !== null) ? new MeshBVH(geometryRight) : null;
|
|
24841
|
+
const bvhLeft = new MeshBVH(geometryLeft, { maxLeafSize: 10 });
|
|
24842
|
+
const bvhRight = (geometryRight !== null) ? new MeshBVH(geometryRight, { maxLeafSize: 10 }) : null;
|
|
24843
24843
|
const positionReference = new Object3D();
|
|
24844
24844
|
for (const floorItem of floorPattern) {
|
|
24845
24845
|
const bvh = (floorItem.isLeft) ? bvhLeft : bvhRight;
|
|
@@ -29191,7 +29191,15 @@ class RenderService {
|
|
|
29191
29191
|
};
|
|
29192
29192
|
}
|
|
29193
29193
|
}
|
|
29194
|
-
_getSceneRenderSettings(assetId) {
|
|
29194
|
+
_getSceneRenderSettings(assetId, settings) {
|
|
29195
|
+
let hdriIntensityOverwrite;
|
|
29196
|
+
if (settings && settings.hdriIntensity) {
|
|
29197
|
+
hdriIntensityOverwrite = settings.hdriIntensity;
|
|
29198
|
+
}
|
|
29199
|
+
let hdriRotationOverwrite;
|
|
29200
|
+
if (settings && settings.hdriRotation) {
|
|
29201
|
+
hdriRotationOverwrite = settings.hdriRotation;
|
|
29202
|
+
}
|
|
29195
29203
|
// Get the asset information from the BlenderRenderSettings
|
|
29196
29204
|
let renderScenes = [];
|
|
29197
29205
|
if (this._settingsService.settings.blenderSceneSettings && this._settingsService.settings.blenderSceneSettings.scenes) {
|
|
@@ -29221,16 +29229,18 @@ class RenderService {
|
|
|
29221
29229
|
compositeScene.sceneAssetId = renderScene.primarySceneName;
|
|
29222
29230
|
compositeScene.activeCameraId = 1;
|
|
29223
29231
|
compositeScene.default = true;
|
|
29224
|
-
compositeScene.hdriRotation =
|
|
29225
|
-
|
|
29232
|
+
compositeScene.hdriRotation =
|
|
29233
|
+
hdriRotationOverwrite ? this._apiServiceModule.degreesToVector3(hdriRotationOverwrite) : this._apiServiceModule.degreesToVector3(renderScene.hdriRotation);
|
|
29234
|
+
compositeScene.hdriIntensity = hdriIntensityOverwrite ? hdriIntensityOverwrite : renderScene.hdriIntensity;
|
|
29226
29235
|
compositeScene.id = 600;
|
|
29227
29236
|
if (renderScene.multiSceneRender) {
|
|
29228
29237
|
const additionalScene = new SceneSettings();
|
|
29229
29238
|
additionalScene.sceneAssetId = renderScene.secondarySceneName;
|
|
29230
29239
|
additionalScene.activeCameraId = 1;
|
|
29231
29240
|
additionalScene.default = false;
|
|
29232
|
-
additionalScene.hdriRotation =
|
|
29233
|
-
|
|
29241
|
+
additionalScene.hdriRotation =
|
|
29242
|
+
hdriRotationOverwrite ? this._apiServiceModule.degreesToVector3(hdriRotationOverwrite) : this._apiServiceModule.degreesToVector3(renderScene.hdriRotation);
|
|
29243
|
+
additionalScene.hdriIntensity = hdriIntensityOverwrite ? hdriIntensityOverwrite : renderScene.hdriIntensity;
|
|
29234
29244
|
additionalScene.id = 601;
|
|
29235
29245
|
scenes = [compositeScene, additionalScene];
|
|
29236
29246
|
}
|
|
@@ -29245,7 +29255,7 @@ class RenderService {
|
|
|
29245
29255
|
}
|
|
29246
29256
|
_getDataForRoomRender(settings) {
|
|
29247
29257
|
this._cameraService.camera.updateMatrixWorld(true);
|
|
29248
|
-
const sceneSettings = this._getSceneRenderSettings(settings.sceneAsset.name);
|
|
29258
|
+
const sceneSettings = this._getSceneRenderSettings(settings.sceneAsset.name, settings);
|
|
29249
29259
|
const options = {
|
|
29250
29260
|
width: settings.width,
|
|
29251
29261
|
height: settings.height,
|
|
@@ -31321,7 +31331,7 @@ class ConfigurationPresetLoadService {
|
|
|
31321
31331
|
if (initResponse && initResponse.validationResult && initResponse.validationResult.success) {
|
|
31322
31332
|
this._messageService.emit(MessageType.LoadConfigurationFromPreset, {
|
|
31323
31333
|
sku: this.sku,
|
|
31324
|
-
instanceId:
|
|
31334
|
+
instanceId: initResponse.resultObject,
|
|
31325
31335
|
settings: this._externalSourceOptions
|
|
31326
31336
|
});
|
|
31327
31337
|
this.reset();
|
|
@@ -33677,6 +33687,126 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33677
33687
|
class BlenderRenderSettings {
|
|
33678
33688
|
}
|
|
33679
33689
|
|
|
33690
|
+
class InputSliderComponent {
|
|
33691
|
+
constructor(iconService) {
|
|
33692
|
+
this.iconService = iconService;
|
|
33693
|
+
// TODO we might need to change the inputs to core components ones, but then we need to change the way homedeco looks.
|
|
33694
|
+
// For now just html inputs are fine.
|
|
33695
|
+
this.icons = IconEnum;
|
|
33696
|
+
this.label = '';
|
|
33697
|
+
this.min = 0;
|
|
33698
|
+
this.max = 1000;
|
|
33699
|
+
this.step = 1;
|
|
33700
|
+
this.value = 0;
|
|
33701
|
+
this.valueChange = new EventEmitter();
|
|
33702
|
+
}
|
|
33703
|
+
onValueChange(newValue) {
|
|
33704
|
+
const numeric = +newValue;
|
|
33705
|
+
this.value = numeric;
|
|
33706
|
+
this.valueChange.emit(numeric);
|
|
33707
|
+
}
|
|
33708
|
+
increment() {
|
|
33709
|
+
this.onValueChange(this.value + this.step);
|
|
33710
|
+
}
|
|
33711
|
+
decrement() {
|
|
33712
|
+
this.onValueChange(this.value - this.step);
|
|
33713
|
+
}
|
|
33714
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputSliderComponent, deps: [{ token: HomedecoratorIconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33715
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: InputSliderComponent, isStandalone: false, selector: "co-input-slider", inputs: { label: "label", min: "min", max: "max", step: "step", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
33716
|
+
<div class="setting-part-container">
|
|
33717
|
+
<div class="form-field third-width">
|
|
33718
|
+
@if (label) {
|
|
33719
|
+
<label [for]="label" class="form-field-label" [textContent]="label"></label>
|
|
33720
|
+
}
|
|
33721
|
+
|
|
33722
|
+
<input
|
|
33723
|
+
[id]="label"
|
|
33724
|
+
type="number"
|
|
33725
|
+
class="form-field-input"
|
|
33726
|
+
[min]="min"
|
|
33727
|
+
[max]="max"
|
|
33728
|
+
[step]="step"
|
|
33729
|
+
[ngModel]="value"
|
|
33730
|
+
(ngModelChange)="onValueChange($event)">
|
|
33731
|
+
</div>
|
|
33732
|
+
|
|
33733
|
+
<div class="setting-part-buttons">
|
|
33734
|
+
<button class="amount-button" (click)="decrement()">
|
|
33735
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
33736
|
+
</button>
|
|
33737
|
+
<button class="amount-button" (click)="increment()">
|
|
33738
|
+
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
33739
|
+
</button>
|
|
33740
|
+
</div>
|
|
33741
|
+
|
|
33742
|
+
<div class="setting-part-slider">
|
|
33743
|
+
<input
|
|
33744
|
+
type="range"
|
|
33745
|
+
class="value-slider"
|
|
33746
|
+
[min]="min"
|
|
33747
|
+
[max]="max"
|
|
33748
|
+
[step]="step"
|
|
33749
|
+
[ngModel]="value"
|
|
33750
|
+
(ngModelChange)="onValueChange($event)">
|
|
33751
|
+
</div>
|
|
33752
|
+
</div>
|
|
33753
|
+
`, isInline: true, styles: [".setting-part-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.setting-part-container .form-field{position:relative;display:flex;flex-direction:column}.setting-part-container .form-field-label{font-size:10px;color:#171721;margin-bottom:5px}.setting-part-container .form-field-input{border:none;border-bottom:1px solid rgba(0,0,0,.42);background:transparent;font-size:16px;padding:4px 0;outline:none;width:100%;box-sizing:border-box;transition:border-color .2s ease}.setting-part-container .form-field-input:focus{border-bottom:2px solid #da9803;margin-bottom:-1px}.setting-part-container .form-field-input::-webkit-outer-spin-button,.setting-part-container .form-field-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-part-container .form-field-input[type=number]{-moz-appearance:textfield}.setting-part-container .third-width{width:32%}.setting-part-container .setting-part-buttons .amount-button{float:none;box-sizing:border-box;padding:2px;background:none;cursor:pointer;border:none;width:25px;height:25px;margin:0 5px}.setting-part-container .setting-part-buttons .amount-button co-icon{display:block;width:25px;height:25px}.setting-part-container .setting-part-buttons .amount-button co-icon svg{fill:#171721}.setting-part-container .setting-part-slider .value-slider{width:100%;appearance:none;height:2px;background:#da98034d;outline:none;cursor:pointer}.setting-part-container .setting-part-slider .value-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:#da9803;cursor:pointer}.setting-part-container .setting-part-slider .value-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#da9803;border:none;cursor:pointer}.setting-part-container .setting-part-slider .value-slider::-moz-range-track{height:2px;background:#da98034d}\n"], dependencies: [{ kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$1.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
33754
|
+
}
|
|
33755
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputSliderComponent, decorators: [{
|
|
33756
|
+
type: Component,
|
|
33757
|
+
args: [{ selector: 'co-input-slider', template: `
|
|
33758
|
+
<div class="setting-part-container">
|
|
33759
|
+
<div class="form-field third-width">
|
|
33760
|
+
@if (label) {
|
|
33761
|
+
<label [for]="label" class="form-field-label" [textContent]="label"></label>
|
|
33762
|
+
}
|
|
33763
|
+
|
|
33764
|
+
<input
|
|
33765
|
+
[id]="label"
|
|
33766
|
+
type="number"
|
|
33767
|
+
class="form-field-input"
|
|
33768
|
+
[min]="min"
|
|
33769
|
+
[max]="max"
|
|
33770
|
+
[step]="step"
|
|
33771
|
+
[ngModel]="value"
|
|
33772
|
+
(ngModelChange)="onValueChange($event)">
|
|
33773
|
+
</div>
|
|
33774
|
+
|
|
33775
|
+
<div class="setting-part-buttons">
|
|
33776
|
+
<button class="amount-button" (click)="decrement()">
|
|
33777
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
33778
|
+
</button>
|
|
33779
|
+
<button class="amount-button" (click)="increment()">
|
|
33780
|
+
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
33781
|
+
</button>
|
|
33782
|
+
</div>
|
|
33783
|
+
|
|
33784
|
+
<div class="setting-part-slider">
|
|
33785
|
+
<input
|
|
33786
|
+
type="range"
|
|
33787
|
+
class="value-slider"
|
|
33788
|
+
[min]="min"
|
|
33789
|
+
[max]="max"
|
|
33790
|
+
[step]="step"
|
|
33791
|
+
[ngModel]="value"
|
|
33792
|
+
(ngModelChange)="onValueChange($event)">
|
|
33793
|
+
</div>
|
|
33794
|
+
</div>
|
|
33795
|
+
`, standalone: false, encapsulation: ViewEncapsulation.None, styles: [".setting-part-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.setting-part-container .form-field{position:relative;display:flex;flex-direction:column}.setting-part-container .form-field-label{font-size:10px;color:#171721;margin-bottom:5px}.setting-part-container .form-field-input{border:none;border-bottom:1px solid rgba(0,0,0,.42);background:transparent;font-size:16px;padding:4px 0;outline:none;width:100%;box-sizing:border-box;transition:border-color .2s ease}.setting-part-container .form-field-input:focus{border-bottom:2px solid #da9803;margin-bottom:-1px}.setting-part-container .form-field-input::-webkit-outer-spin-button,.setting-part-container .form-field-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-part-container .form-field-input[type=number]{-moz-appearance:textfield}.setting-part-container .third-width{width:32%}.setting-part-container .setting-part-buttons .amount-button{float:none;box-sizing:border-box;padding:2px;background:none;cursor:pointer;border:none;width:25px;height:25px;margin:0 5px}.setting-part-container .setting-part-buttons .amount-button co-icon{display:block;width:25px;height:25px}.setting-part-container .setting-part-buttons .amount-button co-icon svg{fill:#171721}.setting-part-container .setting-part-slider .value-slider{width:100%;appearance:none;height:2px;background:#da98034d;outline:none;cursor:pointer}.setting-part-container .setting-part-slider .value-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:#da9803;cursor:pointer}.setting-part-container .setting-part-slider .value-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#da9803;border:none;cursor:pointer}.setting-part-container .setting-part-slider .value-slider::-moz-range-track{height:2px;background:#da98034d}\n"] }]
|
|
33796
|
+
}], ctorParameters: () => [{ type: HomedecoratorIconCacheService }], propDecorators: { label: [{
|
|
33797
|
+
type: Input
|
|
33798
|
+
}], min: [{
|
|
33799
|
+
type: Input
|
|
33800
|
+
}], max: [{
|
|
33801
|
+
type: Input
|
|
33802
|
+
}], step: [{
|
|
33803
|
+
type: Input
|
|
33804
|
+
}], value: [{
|
|
33805
|
+
type: Input
|
|
33806
|
+
}], valueChange: [{
|
|
33807
|
+
type: Output
|
|
33808
|
+
}] } });
|
|
33809
|
+
|
|
33680
33810
|
// A pipe for appending strings to other strings in view templates.
|
|
33681
33811
|
class AppendPipe {
|
|
33682
33812
|
transform(value, append) {
|
|
@@ -33991,410 +34121,326 @@ class RenderControlsComponent {
|
|
|
33991
34121
|
}
|
|
33992
34122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderControlsComponent, deps: [{ token: MessageBusService }, { token: ViewModeService }, { token: HomedecoratorSettingsService }, { token: HomedecoratorIconCacheService }, { token: RenderService }, { token: i1$2.MatDialog }, { token: SceneService }, { token: CameraService }, { token: ConfigurationService }, { token: HomedecoratorSettingsService }, { token: UtilsService }, { token: RoomService }, { token: WallMeasurementsService }, { token: ConnectionHeathService }, { token: HomedecoratorDictionaryService }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33993
34123
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: RenderControlsComponent, isStandalone: false, selector: "rp-render-controls", viewQueries: [{ propertyName: "renderButton", first: true, predicate: ["renderButton"], descendants: true }], ngImport: i0, template: `
|
|
33994
|
-
|
|
33995
|
-
|
|
33996
|
-
|
|
33997
|
-
|
|
33998
|
-
|
|
33999
|
-
|
|
34000
|
-
|
|
34001
|
-
|
|
34002
|
-
|
|
34003
|
-
|
|
34004
|
-
|
|
34124
|
+
<div class="render-container">
|
|
34125
|
+
@if (startUploading) {
|
|
34126
|
+
<rp-render-progress></rp-render-progress>
|
|
34127
|
+
}
|
|
34128
|
+
<!-- the Yellow render indicators -->
|
|
34129
|
+
@if (inPictureMode) {
|
|
34130
|
+
<div class="render-indicators">
|
|
34131
|
+
<div class="render-indicator-top-left"></div>
|
|
34132
|
+
<div class="render-indicator-top-right"></div>
|
|
34133
|
+
<div class="render-indicator-bottom-left"></div>
|
|
34134
|
+
<div class="render-indicator-bottom-right"></div>
|
|
34135
|
+
</div>
|
|
34136
|
+
<div class="render-popup-container">
|
|
34137
|
+
<div class="render-popup-header">
|
|
34138
|
+
<h3>
|
|
34139
|
+
<span>{{ 'PICTURE_MODE' | localize }}</span>
|
|
34140
|
+
@if (hasError) {
|
|
34141
|
+
<co-icon class="renderErrorIcon" [iconData]="iconService.getIcon(icons.TriangleExclamation)"
|
|
34142
|
+
[matTooltip]="'BLENDER_RENDER_ERROR' | localize"></co-icon>
|
|
34143
|
+
}
|
|
34144
|
+
</h3>
|
|
34145
|
+
<button
|
|
34146
|
+
class="close-popup-container"
|
|
34147
|
+
(click)="resetBlenderRenderScene()">
|
|
34148
|
+
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
34149
|
+
</button>
|
|
34150
|
+
</div>
|
|
34151
|
+
<div class="render-popup-preview">
|
|
34152
|
+
@if (blenderPreviewRender) {
|
|
34153
|
+
<img [src]="blenderPreviewRender" alt="">
|
|
34154
|
+
}
|
|
34155
|
+
@if (!blenderPreviewRender) {
|
|
34156
|
+
<div class="render-popup-preview-placeholder">
|
|
34157
|
+
<span>{{ 'PREVIEW' | localize }}</span>
|
|
34005
34158
|
</div>
|
|
34006
|
-
|
|
34007
|
-
|
|
34008
|
-
|
|
34009
|
-
|
|
34010
|
-
|
|
34011
|
-
|
|
34012
|
-
|
|
34013
|
-
|
|
34014
|
-
|
|
34015
|
-
|
|
34016
|
-
|
|
34017
|
-
(click)="resetBlenderRenderScene()">
|
|
34018
|
-
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
34019
|
-
</button>
|
|
34020
|
-
</div>
|
|
34021
|
-
<div class="render-popup-preview">
|
|
34022
|
-
@if (blenderPreviewRender) {
|
|
34023
|
-
<img [src]="blenderPreviewRender" alt="">
|
|
34024
|
-
}
|
|
34025
|
-
@if (!blenderPreviewRender) {
|
|
34026
|
-
<div class="render-popup-preview-placeholder">
|
|
34027
|
-
<span>{{ 'PREVIEW' | localize }}</span>
|
|
34028
|
-
</div>
|
|
34029
|
-
}
|
|
34030
|
-
<button class="render-popup-refresh-preview" (click)="createBlenderRender(true)">
|
|
34031
|
-
<co-icon [iconData]="iconService.getIcon(icons.RetryButton)"></co-icon>
|
|
34032
|
-
</button>
|
|
34033
|
-
</div>
|
|
34034
|
-
@if (renderService.blendFilesRender) {
|
|
34035
|
-
<div class="render-popup-dropdown">
|
|
34036
|
-
<div class="toggleable" (click)="toggleRenderSettings()">
|
|
34037
|
-
<p>
|
|
34038
|
-
@if (!showRenderSettings) {
|
|
34039
|
-
<span [textContent]="'RENDER_ADVANCED_SETTINGS_SHOW' | localize"></span>
|
|
34040
|
-
}
|
|
34041
|
-
@if (showRenderSettings) {
|
|
34042
|
-
<span [textContent]="'RENDER_ADVANCED_SETTINGS_HIDE' | localize"></span>
|
|
34043
|
-
}
|
|
34044
|
-
</p>
|
|
34045
|
-
<co-icon [ngClass]="{'icon-rotate': showRenderSettings}"
|
|
34046
|
-
[iconData]="iconService.getIcon(icons.ArrowPointDown)"></co-icon>
|
|
34047
|
-
</div>
|
|
34048
|
-
@if (showRenderSettings) {
|
|
34049
|
-
<div class="advanced-render-settings">
|
|
34050
|
-
<div class="setting-part-container">
|
|
34051
|
-
<mat-form-field
|
|
34052
|
-
class="face-select-form"
|
|
34053
|
-
>
|
|
34054
|
-
<mat-label>{{ "ENVIRONMENT" | localize }}</mat-label>
|
|
34055
|
-
<mat-select [(ngModel)]="selectedRenderScene" (selectionChange)="updateBlenderSceneSettings($event)">
|
|
34056
|
-
@for (scene of sceneList; track scene) {
|
|
34057
|
-
<mat-option
|
|
34058
|
-
[value]="scene">{{ scene.name }}
|
|
34059
|
-
</mat-option>
|
|
34060
|
-
}
|
|
34061
|
-
</mat-select>
|
|
34062
|
-
</mat-form-field>
|
|
34063
|
-
</div>
|
|
34064
|
-
<div class="setting-part-container">
|
|
34065
|
-
<mat-form-field class="third-width">
|
|
34066
|
-
<mat-label [textContent]="'ENVIRONMENT_LIGHT' | localize"></mat-label>
|
|
34067
|
-
<input
|
|
34068
|
-
[type]="'number'"
|
|
34069
|
-
matInput
|
|
34070
|
-
[(ngModel)]="hdriIntensity"
|
|
34071
|
-
(ngModelChange)="hdriIntensity = +$event">
|
|
34072
|
-
</mat-form-field>
|
|
34073
|
-
<div class="setting-part-buttons">
|
|
34074
|
-
<button class="amount-button" (click)="hdriIntensity = +hdriIntensity - 1">
|
|
34075
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
34076
|
-
</button>
|
|
34077
|
-
<button class="amount-button" (click)="hdriIntensity = +hdriIntensity + 1">
|
|
34078
|
-
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
34079
|
-
</button>
|
|
34080
|
-
</div>
|
|
34081
|
-
<div class="setting-part-slider">
|
|
34082
|
-
<mat-slider class="value" min="1" max="20" step="1" [(ngModel)]="hdriIntensity"></mat-slider>
|
|
34083
|
-
</div>
|
|
34084
|
-
</div>
|
|
34085
|
-
<div class="setting-part-container">
|
|
34086
|
-
<mat-form-field class="third-width">
|
|
34087
|
-
<mat-label [textContent]="'ROTATION' | localize"></mat-label>
|
|
34088
|
-
<input
|
|
34089
|
-
[type]="'number'"
|
|
34090
|
-
matInput
|
|
34091
|
-
[(ngModel)]="hdriRotation"
|
|
34092
|
-
(ngModelChange)="hdriRotation = +$event">
|
|
34093
|
-
</mat-form-field>
|
|
34094
|
-
<div class="setting-part-buttons">
|
|
34095
|
-
<button class="amount-button" (click)="hdriRotation = +hdriRotation - 1">
|
|
34096
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
34097
|
-
</button>
|
|
34098
|
-
<button class="amount-button" (click)="hdriRotation = +hdriRotation + 1">
|
|
34099
|
-
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
34100
|
-
</button>
|
|
34101
|
-
</div>
|
|
34102
|
-
<div class="setting-part-slider">
|
|
34103
|
-
<mat-slider class="value" min="0" max="360" step="1" [(ngModel)]="hdriRotation"></mat-slider>
|
|
34104
|
-
</div>
|
|
34105
|
-
</div>
|
|
34106
|
-
<div class="setting-part-container">
|
|
34107
|
-
<mat-form-field class="third-width">
|
|
34108
|
-
<mat-label [textContent]="'LIGHTS' | localize"></mat-label>
|
|
34109
|
-
<input
|
|
34110
|
-
[type]="'number'"
|
|
34111
|
-
matInput
|
|
34112
|
-
[(ngModel)]="lightingExposure"
|
|
34113
|
-
(ngModelChange)="lightingExposure = +$event">
|
|
34114
|
-
</mat-form-field>
|
|
34115
|
-
<div class="setting-part-buttons">
|
|
34116
|
-
<button class="amount-button" (click)="lightingExposure = +lightingExposure - 1">
|
|
34117
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
34118
|
-
</button>
|
|
34119
|
-
<button class="amount-button" (click)="lightingExposure = +lightingExposure + 1">
|
|
34120
|
-
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
34121
|
-
</button>
|
|
34122
|
-
</div>
|
|
34123
|
-
<div class="setting-part-slider">
|
|
34124
|
-
<mat-slider class="value" min="1" max="10" step="1" [(ngModel)]="lightingExposure"></mat-slider>
|
|
34125
|
-
</div>
|
|
34126
|
-
</div>
|
|
34127
|
-
</div>
|
|
34128
|
-
}
|
|
34129
|
-
</div>
|
|
34159
|
+
}
|
|
34160
|
+
<button class="render-popup-refresh-preview" (click)="createBlenderRender(true)">
|
|
34161
|
+
<co-icon [iconData]="iconService.getIcon(icons.RetryButton)"></co-icon>
|
|
34162
|
+
</button>
|
|
34163
|
+
</div>
|
|
34164
|
+
@if (renderService.blendFilesRender) {
|
|
34165
|
+
<div class="render-popup-dropdown">
|
|
34166
|
+
<div class="toggleable" (click)="toggleRenderSettings()">
|
|
34167
|
+
<p>
|
|
34168
|
+
@if (!showRenderSettings) {
|
|
34169
|
+
<span [textContent]="'RENDER_ADVANCED_SETTINGS_SHOW' | localize"></span>
|
|
34130
34170
|
}
|
|
34131
|
-
|
|
34132
|
-
|
|
34133
|
-
|
|
34134
|
-
|
|
34135
|
-
|
|
34136
|
-
|
|
34137
|
-
x{{ size.height }}
|
|
34138
|
-
</mat-option>
|
|
34139
|
-
}
|
|
34140
|
-
</mat-select>
|
|
34141
|
-
</mat-form-field>
|
|
34142
|
-
</div>
|
|
34143
|
-
<div class="render-popup-button-container">
|
|
34144
|
-
<button class="render-popup-button photo-button"
|
|
34145
|
-
(click)="createBlenderRender()"
|
|
34146
|
-
title="{{'MAKE_A_PICTURE' | localize}}"
|
|
34147
|
-
[disabled]="disablePictureButton">
|
|
34148
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleCheck)"></co-icon>
|
|
34149
|
-
{{ 'MAKE_A_PICTURE' | localize }}
|
|
34150
|
-
</button>
|
|
34151
|
-
<button
|
|
34152
|
-
class="render-popup-button cancel-button"
|
|
34153
|
-
(click)="resetBlenderRenderScene()">
|
|
34154
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34155
|
-
{{ 'CLOSE_PHOTO_MODE' | localize }}
|
|
34156
|
-
</button>
|
|
34157
|
-
</div>
|
|
34171
|
+
@if (showRenderSettings) {
|
|
34172
|
+
<span [textContent]="'RENDER_ADVANCED_SETTINGS_HIDE' | localize"></span>
|
|
34173
|
+
}
|
|
34174
|
+
</p>
|
|
34175
|
+
<co-icon [ngClass]="{'icon-rotate': showRenderSettings}"
|
|
34176
|
+
[iconData]="iconService.getIcon(icons.ArrowPointDown)"></co-icon>
|
|
34158
34177
|
</div>
|
|
34159
|
-
|
|
34160
|
-
|
|
34161
|
-
|
|
34162
|
-
|
|
34163
|
-
|
|
34164
|
-
|
|
34165
|
-
|
|
34166
|
-
|
|
34167
|
-
|
|
34168
|
-
|
|
34169
|
-
|
|
34170
|
-
|
|
34171
|
-
|
|
34172
|
-
|
|
34173
|
-
|
|
34174
|
-
(click)="showCullingErrorDialog = false">
|
|
34175
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34176
|
-
{{ 'CLOSE' | localize }}
|
|
34177
|
-
</button>
|
|
34178
|
+
@if (showRenderSettings) {
|
|
34179
|
+
<div class="advanced-render-settings">
|
|
34180
|
+
<div class="setting-part-container">
|
|
34181
|
+
<mat-form-field
|
|
34182
|
+
class="face-select-form"
|
|
34183
|
+
>
|
|
34184
|
+
<mat-label>{{ "ENVIRONMENT" | localize }}</mat-label>
|
|
34185
|
+
<mat-select [(ngModel)]="selectedRenderScene" (selectionChange)="updateBlenderSceneSettings($event)">
|
|
34186
|
+
@for (scene of sceneList; track scene) {
|
|
34187
|
+
<mat-option
|
|
34188
|
+
[value]="scene">{{ scene.name }}
|
|
34189
|
+
</mat-option>
|
|
34190
|
+
}
|
|
34191
|
+
</mat-select>
|
|
34192
|
+
</mat-form-field>
|
|
34178
34193
|
</div>
|
|
34179
|
-
|
|
34194
|
+
|
|
34195
|
+
<co-input-slider
|
|
34196
|
+
[label]="'ENVIRONMENT_LIGHT' | localize"
|
|
34197
|
+
[min]="1"
|
|
34198
|
+
[max]="20"
|
|
34199
|
+
[(value)]="hdriIntensity">
|
|
34200
|
+
</co-input-slider>
|
|
34201
|
+
|
|
34202
|
+
<co-input-slider
|
|
34203
|
+
[label]="'ROTATION' | localize"
|
|
34204
|
+
[min]="1"
|
|
34205
|
+
[max]="360"
|
|
34206
|
+
[(value)]="hdriRotation">
|
|
34207
|
+
</co-input-slider>
|
|
34208
|
+
|
|
34209
|
+
<co-input-slider
|
|
34210
|
+
[label]="'LIGHTS' | localize"
|
|
34211
|
+
[min]="1"
|
|
34212
|
+
[max]="10"
|
|
34213
|
+
[(value)]="lightingExposure">
|
|
34214
|
+
</co-input-slider>
|
|
34215
|
+
</div>
|
|
34216
|
+
}
|
|
34217
|
+
</div>
|
|
34180
34218
|
}
|
|
34181
|
-
<
|
|
34182
|
-
|
|
34183
|
-
|
|
34184
|
-
|
|
34185
|
-
|
|
34186
|
-
[
|
|
34187
|
-
|
|
34188
|
-
|
|
34189
|
-
|
|
34190
|
-
</mat-
|
|
34191
|
-
|
|
34192
|
-
|
|
34193
|
-
`, isInline: true, styles: [".render-container{position:relative}.render-container .render-popup-container{background:#ffffffb3;padding:10px 25px 25px;border-radius:5px;box-shadow:0 1px 5px #0000001f}.render-container .render-popup-container .render-popup-header{display:flex;justify-content:space-between;font-family:inherit}.render-container .render-popup-container .render-popup-header h3{display:flex;justify-content:space-between}.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon{width:20px;height:20px;margin-left:20px}.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon svg,.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon svg polygon{fill:#dc143c}.render-container .render-popup-container .render-popup-header .close-popup-container{cursor:pointer;border:none;background:none;float:none;height:auto;width:auto}.render-container .render-popup-container .render-popup-button-container{display:flex;justify-content:space-between;font-family:inherit}.render-container .render-popup-container .render-popup-button-container .render-popup-button{float:none;width:100%;max-width:130px;border-radius:3px;cursor:pointer;border:none;display:flex;height:40px;align-items:center;justify-content:space-evenly}.render-container .render-popup-container .render-popup-button-container .render-popup-button ::ng-deep co-icon{display:inline-block;height:18px;width:18px}.render-container .render-popup-container .render-popup-button-container .render-popup-button ::ng-deep co-icon svg path{fill:#fff}.render-container .render-popup-container .render-popup-button-container .photo-button{color:#fff;background-color:#dda73f}.render-container .render-popup-container .render-popup-button-container .cancel-button{color:#fff;background-color:#5b6875}.render-container .render-popup-container .render-popup-preview{background-color:#fff;min-height:150px;min-width:275px;margin:5px 0;position:relative;width:275px;height:150px}.render-container .render-popup-container .render-popup-preview .render-popup-preview-placeholder{background-color:#fff;display:flex;justify-content:space-around;align-items:center;vertical-align:middle;min-height:150px;border:1px solid #ddd;color:#ddd;font-size:14px}.render-container .render-popup-container .render-popup-preview .render-popup-refresh-preview{position:absolute;bottom:0;right:0;cursor:pointer;border-radius:0;border:none;height:30px;width:30px;background-color:#dda73f;color:#fff;margin:0}.render-container .render-popup-container .render-popup-preview .render-popup-refresh-preview ::ng-deep co-icon svg path{fill:#fff}.render-container .render-popup-container .render-popup-dropdown{margin:5px 0;width:100%}.render-container .render-popup-container .render-popup-dropdown .toggleable{cursor:pointer;display:flex;justify-content:right;align-content:center}.render-container .render-popup-container .render-popup-dropdown .toggleable p{padding:0;margin:0;font-size:12px;line-height:30px}.render-container .render-popup-container .render-popup-dropdown .toggleable .icon-rotate{transform:rotate(180deg)}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field{width:100%;font-size:14px}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-flex{background-color:#fff;color:#000;padding:3px 6px;border:1px solid #ddd}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-underline{display:none}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-wrapper{padding-bottom:0}.render-container .render-popup-container .render-popup-dropdown .setting-part-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.render-container .render-popup-container .render-popup-dropdown .setting-part-container .third-width{width:32%}.render-container .render-popup-container .render-popup-dropdown .setting-part-container .setting-part-buttons .amount-button{float:none;box-sizing:border-box;padding:2px;background:none;cursor:pointer;border:none;width:25px;height:25px;margin:0 5px}.render-container .render-popup-container .render-popup-dropdown .setting-part-container .setting-part-buttons .amount-button co-icon{display:block;width:25px;height:25px}.render-container .render-popup-container .render-popup-dropdown .setting-part-container .setting-part-buttons .amount-button co-icon ::ng-deep svg{fill:#5b6875}.render-container .render-popup-container .render-popup-dropdown .setting-part-container .setting-part-slider .mat-slider-horizontal{min-width:110px;height:28px}.render-container .render-progress{float:left;min-width:50px;border-radius:25px;line-height:50px;text-align:center;padding:0 60px 0 20px;background:#fff;color:#74b77f;font-weight:700;margin:0 -50px 0 0}.render-container .render-input-container{float:right}.render-container .render-input-container input{width:100px;height:24px;margin:5px 0;padding:0 10px;font-size:14px}.render-container button{pointer-events:all;width:50px;height:50px;float:right;border-radius:100%;position:relative;z-index:2;margin-bottom:10px}.render-container button.active{background:#74b77f;color:#fff}.render-container button>*{pointer-events:none}.render-indicators div{position:fixed;width:100px;height:100px}.render-indicators .render-indicator-top-left{left:5vw;top:10vh;border-left:10px solid #dda73f;border-top:10px solid #dda73f;border-top-left-radius:20px}.render-indicators .render-indicator-top-right{right:5vw;top:10vh;border-right:10px solid #dda73f;border-top:10px solid #dda73f;border-top-right-radius:20px}.render-indicators .render-indicator-bottom-left{left:5vw;bottom:5vh;border-left:10px solid #dda73f;border-bottom:10px solid #dda73f;border-bottom-left-radius:20px}.render-indicators .render-indicator-bottom-right{right:5vw;bottom:5vh;border-right:10px solid #dda73f;border-bottom:10px solid #dda73f;border-bottom-right-radius:20px}.render-warning{width:500px;position:fixed;top:20%;left:calc(50% - 250px);border-radius:15px;box-sizing:border-box;background-color:#fff;box-shadow:1px 0 20px #0000001f}.render-warning .render-warming-header{display:flex;justify-content:space-between;border-bottom:1px solid #c5c3c6;padding:20px 20px 10px;align-items:center}.render-warning .render-warming-header h2{padding:0;margin:0}.render-warning .render-warming-header .render-warning-close mat-icon{fill:#c5c3c6;color:#c5c3c6;cursor:pointer;transition:all .2s ease}.render-warning .render-warming-header .render-warning-close:hover mat-icon{fill:#46494c;color:#46494c}.render-warning .render-warning-body{padding:10px 20px}.render-warning .render-warning-footer{display:flex;justify-content:center;padding:0 20px 10px}.render-warning .render-warning-footer .render-popup-button{float:none;width:110px;border-radius:3px;cursor:pointer;border:none;display:flex;height:40px;align-items:center;justify-content:space-evenly;color:#fff;background-color:#5b6875}.render-warning .render-warning-footer .render-popup-button ::ng-deep co-icon{display:inline-block;height:18px;width:18px}.render-warning .render-warning-footer .render-popup-button ::ng-deep co-icon svg path{fill:#fff}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i2$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: i3$2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "component", type: RenderProgressComponent, selector: "rp-render-progress" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
34219
|
+
<div class="render-popup-dropdown">
|
|
34220
|
+
<mat-form-field class="face-select-form">
|
|
34221
|
+
<mat-label>{{ "IMAGE_SIZE" | localize }}</mat-label>
|
|
34222
|
+
<mat-select [(value)]="selectedImageSize">
|
|
34223
|
+
@for (size of imageSizes; track size) {
|
|
34224
|
+
<mat-option [value]="size">{{ size.name }} {{ size.width }}
|
|
34225
|
+
x{{ size.height }}
|
|
34226
|
+
</mat-option>
|
|
34227
|
+
}
|
|
34228
|
+
</mat-select>
|
|
34229
|
+
</mat-form-field>
|
|
34230
|
+
</div>
|
|
34231
|
+
<div class="render-popup-button-container">
|
|
34232
|
+
<button class="render-popup-button photo-button"
|
|
34233
|
+
(click)="createBlenderRender()"
|
|
34234
|
+
title="{{'MAKE_A_PICTURE' | localize}}"
|
|
34235
|
+
[disabled]="disablePictureButton">
|
|
34236
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleCheck)"></co-icon>
|
|
34237
|
+
{{ 'MAKE_A_PICTURE' | localize }}
|
|
34238
|
+
</button>
|
|
34239
|
+
<button
|
|
34240
|
+
class="render-popup-button cancel-button"
|
|
34241
|
+
(click)="resetBlenderRenderScene()">
|
|
34242
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34243
|
+
{{ 'CLOSE_PHOTO_MODE' | localize }}
|
|
34244
|
+
</button>
|
|
34245
|
+
</div>
|
|
34246
|
+
</div>
|
|
34247
|
+
}
|
|
34248
|
+
@if (showCullingErrorDialog) {
|
|
34249
|
+
<div class="render-warning">
|
|
34250
|
+
<div class="render-warming-header">
|
|
34251
|
+
<h2>{{ 'BLENDER_RENDER_ERROR_TITLE' | localize }}</h2>
|
|
34252
|
+
<div class="render-warning-close" (click)="showCullingErrorDialog = false">
|
|
34253
|
+
<mat-icon class="homedecorator-material-icons">cancel</mat-icon>
|
|
34254
|
+
</div>
|
|
34255
|
+
</div>
|
|
34256
|
+
<div class="render-warning-body">
|
|
34257
|
+
<p>{{ 'BLENDER_RENDER_WARNING_CULLING' | localize }}</p>
|
|
34258
|
+
</div>
|
|
34259
|
+
<div class="render-warning-footer">
|
|
34260
|
+
<button
|
|
34261
|
+
class="render-popup-button cancel-button"
|
|
34262
|
+
(click)="showCullingErrorDialog = false">
|
|
34263
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34264
|
+
{{ 'CLOSE' | localize }}
|
|
34265
|
+
</button>
|
|
34266
|
+
</div>
|
|
34267
|
+
</div>
|
|
34268
|
+
}
|
|
34269
|
+
<button
|
|
34270
|
+
#renderButton
|
|
34271
|
+
mat-raised-button
|
|
34272
|
+
matTooltip="{{'RENDER_TAKE_A_PICTURE' | localize}}"
|
|
34273
|
+
[id]="'standalone_render_picture'"
|
|
34274
|
+
[class.active]="viewModeService.viewMode === viewModes.WalkThrough"
|
|
34275
|
+
(click)="showRenderForm($event)">
|
|
34276
|
+
<mat-icon class="icon homedecorator-material-icons"
|
|
34277
|
+
aria-hidden="true">{{ 'photo_camera' }}
|
|
34278
|
+
</mat-icon>
|
|
34279
|
+
</button>
|
|
34280
|
+
</div>
|
|
34281
|
+
`, isInline: true, styles: [".render-container{position:relative;min-width:375px}.render-container .render-popup-container{box-sizing:border-box;background:#ffffffb3;padding:10px 25px 25px;border-radius:5px;box-shadow:0 1px 5px #0000001f}.render-container .render-popup-container .render-popup-header{display:flex;justify-content:space-between;font-family:inherit}.render-container .render-popup-container .render-popup-header h3{display:flex;justify-content:space-between}.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon{width:20px;height:20px;margin-left:20px}.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon svg,.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon svg polygon{fill:#dc143c}.render-container .render-popup-container .render-popup-header .close-popup-container{cursor:pointer;border:none;background:none;float:none;height:auto;width:auto}.render-container .render-popup-container .render-popup-button-container{display:flex;justify-content:space-between;font-family:inherit}.render-container .render-popup-container .render-popup-button-container .render-popup-button{float:none;width:100%;max-width:130px;border-radius:3px;cursor:pointer;border:none;display:flex;height:40px;align-items:center;justify-content:space-evenly}.render-container .render-popup-container .render-popup-button-container .render-popup-button ::ng-deep co-icon{display:inline-block;height:18px;width:18px}.render-container .render-popup-container .render-popup-button-container .render-popup-button ::ng-deep co-icon svg path{fill:#fff}.render-container .render-popup-container .render-popup-button-container .photo-button{color:#fff;background-color:#dda73f}.render-container .render-popup-container .render-popup-button-container .cancel-button{color:#fff;background-color:#5b6875}.render-container .render-popup-container .render-popup-preview{background-color:#fff;min-height:150px;min-width:275px;margin:5px auto;position:relative;width:340px;height:150px}.render-container .render-popup-container .render-popup-preview .render-popup-preview-placeholder{background-color:#fff;display:flex;justify-content:space-around;align-items:center;vertical-align:middle;min-height:150px;border:1px solid #ddd;color:#ddd;font-size:14px}.render-container .render-popup-container .render-popup-preview .render-popup-refresh-preview{position:absolute;bottom:0;right:0;cursor:pointer;border-radius:0;border:none;height:30px;width:30px;background-color:#dda73f;color:#fff;margin:0}.render-container .render-popup-container .render-popup-preview .render-popup-refresh-preview ::ng-deep co-icon svg path{fill:#fff}.render-container .render-popup-container .render-popup-dropdown{margin:5px 0;width:100%}.render-container .render-popup-container .render-popup-dropdown .toggleable{cursor:pointer;display:flex;justify-content:right;align-content:center}.render-container .render-popup-container .render-popup-dropdown .toggleable p{padding:0;margin:0;font-size:12px;line-height:30px}.render-container .render-popup-container .render-popup-dropdown .toggleable .icon-rotate{transform:rotate(180deg)}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field{width:100%;font-size:14px}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-flex{background-color:#fff;color:#000;padding:3px 6px;border:1px solid #ddd}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-underline{display:none}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-wrapper{padding-bottom:0}.render-container .render-progress{float:left;min-width:50px;border-radius:25px;line-height:50px;text-align:center;padding:0 60px 0 20px;background:#fff;color:#74b77f;font-weight:700;margin:0 -50px 0 0}.render-container .render-input-container{float:right}.render-container .render-input-container input{width:100px;height:24px;margin:5px 0;padding:0 10px;font-size:14px}.render-container button{pointer-events:all;width:50px;height:50px;float:right;border-radius:100%;position:relative;z-index:2;margin-bottom:10px}.render-container button.active{background:#74b77f;color:#fff}.render-container button>*{pointer-events:none}.render-indicators div{position:fixed;width:100px;height:100px}.render-indicators .render-indicator-top-left{left:5vw;top:10vh;border-left:10px solid #dda73f;border-top:10px solid #dda73f;border-top-left-radius:20px}.render-indicators .render-indicator-top-right{right:5vw;top:10vh;border-right:10px solid #dda73f;border-top:10px solid #dda73f;border-top-right-radius:20px}.render-indicators .render-indicator-bottom-left{left:5vw;bottom:5vh;border-left:10px solid #dda73f;border-bottom:10px solid #dda73f;border-bottom-left-radius:20px}.render-indicators .render-indicator-bottom-right{right:5vw;bottom:5vh;border-right:10px solid #dda73f;border-bottom:10px solid #dda73f;border-bottom-right-radius:20px}.render-warning{width:500px;position:fixed;top:20%;left:calc(50% - 250px);border-radius:15px;box-sizing:border-box;background-color:#fff;box-shadow:1px 0 20px #0000001f}.render-warning .render-warming-header{display:flex;justify-content:space-between;border-bottom:1px solid #c5c3c6;padding:20px 20px 10px;align-items:center}.render-warning .render-warming-header h2{padding:0;margin:0}.render-warning .render-warming-header .render-warning-close mat-icon{fill:#c5c3c6;color:#c5c3c6;cursor:pointer;transition:all .2s ease}.render-warning .render-warming-header .render-warning-close:hover mat-icon{fill:#46494c;color:#46494c}.render-warning .render-warning-body{padding:10px 20px}.render-warning .render-warning-footer{display:flex;justify-content:center;padding:0 20px 10px}.render-warning .render-warning-footer .render-popup-button{float:none;width:110px;border-radius:3px;cursor:pointer;border:none;display:flex;height:40px;align-items:center;justify-content:space-evenly;color:#fff;background-color:#5b6875}.render-warning .render-warning-footer .render-popup-button ::ng-deep co-icon{display:inline-block;height:18px;width:18px}.render-warning .render-warning-footer .render-popup-button ::ng-deep co-icon svg path{fill:#fff}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: InputSliderComponent, selector: "co-input-slider", inputs: ["label", "min", "max", "step", "value"], outputs: ["valueChange"] }, { kind: "component", type: RenderProgressComponent, selector: "rp-render-progress" }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
34194
34282
|
}
|
|
34195
34283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderControlsComponent, decorators: [{
|
|
34196
34284
|
type: Component,
|
|
34197
34285
|
args: [{ selector: 'rp-render-controls', template: `
|
|
34198
|
-
|
|
34199
|
-
|
|
34200
|
-
|
|
34201
|
-
|
|
34202
|
-
|
|
34203
|
-
|
|
34204
|
-
|
|
34205
|
-
|
|
34206
|
-
|
|
34207
|
-
|
|
34208
|
-
|
|
34286
|
+
<div class="render-container">
|
|
34287
|
+
@if (startUploading) {
|
|
34288
|
+
<rp-render-progress></rp-render-progress>
|
|
34289
|
+
}
|
|
34290
|
+
<!-- the Yellow render indicators -->
|
|
34291
|
+
@if (inPictureMode) {
|
|
34292
|
+
<div class="render-indicators">
|
|
34293
|
+
<div class="render-indicator-top-left"></div>
|
|
34294
|
+
<div class="render-indicator-top-right"></div>
|
|
34295
|
+
<div class="render-indicator-bottom-left"></div>
|
|
34296
|
+
<div class="render-indicator-bottom-right"></div>
|
|
34297
|
+
</div>
|
|
34298
|
+
<div class="render-popup-container">
|
|
34299
|
+
<div class="render-popup-header">
|
|
34300
|
+
<h3>
|
|
34301
|
+
<span>{{ 'PICTURE_MODE' | localize }}</span>
|
|
34302
|
+
@if (hasError) {
|
|
34303
|
+
<co-icon class="renderErrorIcon" [iconData]="iconService.getIcon(icons.TriangleExclamation)"
|
|
34304
|
+
[matTooltip]="'BLENDER_RENDER_ERROR' | localize"></co-icon>
|
|
34305
|
+
}
|
|
34306
|
+
</h3>
|
|
34307
|
+
<button
|
|
34308
|
+
class="close-popup-container"
|
|
34309
|
+
(click)="resetBlenderRenderScene()">
|
|
34310
|
+
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
34311
|
+
</button>
|
|
34312
|
+
</div>
|
|
34313
|
+
<div class="render-popup-preview">
|
|
34314
|
+
@if (blenderPreviewRender) {
|
|
34315
|
+
<img [src]="blenderPreviewRender" alt="">
|
|
34316
|
+
}
|
|
34317
|
+
@if (!blenderPreviewRender) {
|
|
34318
|
+
<div class="render-popup-preview-placeholder">
|
|
34319
|
+
<span>{{ 'PREVIEW' | localize }}</span>
|
|
34209
34320
|
</div>
|
|
34210
|
-
|
|
34211
|
-
|
|
34212
|
-
|
|
34213
|
-
|
|
34214
|
-
|
|
34215
|
-
|
|
34216
|
-
|
|
34217
|
-
|
|
34218
|
-
|
|
34219
|
-
|
|
34220
|
-
|
|
34221
|
-
(click)="resetBlenderRenderScene()">
|
|
34222
|
-
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
34223
|
-
</button>
|
|
34224
|
-
</div>
|
|
34225
|
-
<div class="render-popup-preview">
|
|
34226
|
-
@if (blenderPreviewRender) {
|
|
34227
|
-
<img [src]="blenderPreviewRender" alt="">
|
|
34228
|
-
}
|
|
34229
|
-
@if (!blenderPreviewRender) {
|
|
34230
|
-
<div class="render-popup-preview-placeholder">
|
|
34231
|
-
<span>{{ 'PREVIEW' | localize }}</span>
|
|
34232
|
-
</div>
|
|
34233
|
-
}
|
|
34234
|
-
<button class="render-popup-refresh-preview" (click)="createBlenderRender(true)">
|
|
34235
|
-
<co-icon [iconData]="iconService.getIcon(icons.RetryButton)"></co-icon>
|
|
34236
|
-
</button>
|
|
34237
|
-
</div>
|
|
34238
|
-
@if (renderService.blendFilesRender) {
|
|
34239
|
-
<div class="render-popup-dropdown">
|
|
34240
|
-
<div class="toggleable" (click)="toggleRenderSettings()">
|
|
34241
|
-
<p>
|
|
34242
|
-
@if (!showRenderSettings) {
|
|
34243
|
-
<span [textContent]="'RENDER_ADVANCED_SETTINGS_SHOW' | localize"></span>
|
|
34244
|
-
}
|
|
34245
|
-
@if (showRenderSettings) {
|
|
34246
|
-
<span [textContent]="'RENDER_ADVANCED_SETTINGS_HIDE' | localize"></span>
|
|
34247
|
-
}
|
|
34248
|
-
</p>
|
|
34249
|
-
<co-icon [ngClass]="{'icon-rotate': showRenderSettings}"
|
|
34250
|
-
[iconData]="iconService.getIcon(icons.ArrowPointDown)"></co-icon>
|
|
34251
|
-
</div>
|
|
34252
|
-
@if (showRenderSettings) {
|
|
34253
|
-
<div class="advanced-render-settings">
|
|
34254
|
-
<div class="setting-part-container">
|
|
34255
|
-
<mat-form-field
|
|
34256
|
-
class="face-select-form"
|
|
34257
|
-
>
|
|
34258
|
-
<mat-label>{{ "ENVIRONMENT" | localize }}</mat-label>
|
|
34259
|
-
<mat-select [(ngModel)]="selectedRenderScene" (selectionChange)="updateBlenderSceneSettings($event)">
|
|
34260
|
-
@for (scene of sceneList; track scene) {
|
|
34261
|
-
<mat-option
|
|
34262
|
-
[value]="scene">{{ scene.name }}
|
|
34263
|
-
</mat-option>
|
|
34264
|
-
}
|
|
34265
|
-
</mat-select>
|
|
34266
|
-
</mat-form-field>
|
|
34267
|
-
</div>
|
|
34268
|
-
<div class="setting-part-container">
|
|
34269
|
-
<mat-form-field class="third-width">
|
|
34270
|
-
<mat-label [textContent]="'ENVIRONMENT_LIGHT' | localize"></mat-label>
|
|
34271
|
-
<input
|
|
34272
|
-
[type]="'number'"
|
|
34273
|
-
matInput
|
|
34274
|
-
[(ngModel)]="hdriIntensity"
|
|
34275
|
-
(ngModelChange)="hdriIntensity = +$event">
|
|
34276
|
-
</mat-form-field>
|
|
34277
|
-
<div class="setting-part-buttons">
|
|
34278
|
-
<button class="amount-button" (click)="hdriIntensity = +hdriIntensity - 1">
|
|
34279
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
34280
|
-
</button>
|
|
34281
|
-
<button class="amount-button" (click)="hdriIntensity = +hdriIntensity + 1">
|
|
34282
|
-
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
34283
|
-
</button>
|
|
34284
|
-
</div>
|
|
34285
|
-
<div class="setting-part-slider">
|
|
34286
|
-
<mat-slider class="value" min="1" max="20" step="1" [(ngModel)]="hdriIntensity"></mat-slider>
|
|
34287
|
-
</div>
|
|
34288
|
-
</div>
|
|
34289
|
-
<div class="setting-part-container">
|
|
34290
|
-
<mat-form-field class="third-width">
|
|
34291
|
-
<mat-label [textContent]="'ROTATION' | localize"></mat-label>
|
|
34292
|
-
<input
|
|
34293
|
-
[type]="'number'"
|
|
34294
|
-
matInput
|
|
34295
|
-
[(ngModel)]="hdriRotation"
|
|
34296
|
-
(ngModelChange)="hdriRotation = +$event">
|
|
34297
|
-
</mat-form-field>
|
|
34298
|
-
<div class="setting-part-buttons">
|
|
34299
|
-
<button class="amount-button" (click)="hdriRotation = +hdriRotation - 1">
|
|
34300
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
34301
|
-
</button>
|
|
34302
|
-
<button class="amount-button" (click)="hdriRotation = +hdriRotation + 1">
|
|
34303
|
-
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
34304
|
-
</button>
|
|
34305
|
-
</div>
|
|
34306
|
-
<div class="setting-part-slider">
|
|
34307
|
-
<mat-slider class="value" min="0" max="360" step="1" [(ngModel)]="hdriRotation"></mat-slider>
|
|
34308
|
-
</div>
|
|
34309
|
-
</div>
|
|
34310
|
-
<div class="setting-part-container">
|
|
34311
|
-
<mat-form-field class="third-width">
|
|
34312
|
-
<mat-label [textContent]="'LIGHTS' | localize"></mat-label>
|
|
34313
|
-
<input
|
|
34314
|
-
[type]="'number'"
|
|
34315
|
-
matInput
|
|
34316
|
-
[(ngModel)]="lightingExposure"
|
|
34317
|
-
(ngModelChange)="lightingExposure = +$event">
|
|
34318
|
-
</mat-form-field>
|
|
34319
|
-
<div class="setting-part-buttons">
|
|
34320
|
-
<button class="amount-button" (click)="lightingExposure = +lightingExposure - 1">
|
|
34321
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleMinusLight)"></co-icon>
|
|
34322
|
-
</button>
|
|
34323
|
-
<button class="amount-button" (click)="lightingExposure = +lightingExposure + 1">
|
|
34324
|
-
<co-icon [iconData]="iconService.getIcon(icons.CirclePlusLight)"></co-icon>
|
|
34325
|
-
</button>
|
|
34326
|
-
</div>
|
|
34327
|
-
<div class="setting-part-slider">
|
|
34328
|
-
<mat-slider class="value" min="1" max="10" step="1" [(ngModel)]="lightingExposure"></mat-slider>
|
|
34329
|
-
</div>
|
|
34330
|
-
</div>
|
|
34331
|
-
</div>
|
|
34332
|
-
}
|
|
34333
|
-
</div>
|
|
34321
|
+
}
|
|
34322
|
+
<button class="render-popup-refresh-preview" (click)="createBlenderRender(true)">
|
|
34323
|
+
<co-icon [iconData]="iconService.getIcon(icons.RetryButton)"></co-icon>
|
|
34324
|
+
</button>
|
|
34325
|
+
</div>
|
|
34326
|
+
@if (renderService.blendFilesRender) {
|
|
34327
|
+
<div class="render-popup-dropdown">
|
|
34328
|
+
<div class="toggleable" (click)="toggleRenderSettings()">
|
|
34329
|
+
<p>
|
|
34330
|
+
@if (!showRenderSettings) {
|
|
34331
|
+
<span [textContent]="'RENDER_ADVANCED_SETTINGS_SHOW' | localize"></span>
|
|
34334
34332
|
}
|
|
34335
|
-
|
|
34336
|
-
|
|
34337
|
-
|
|
34338
|
-
|
|
34339
|
-
|
|
34340
|
-
|
|
34341
|
-
x{{ size.height }}
|
|
34342
|
-
</mat-option>
|
|
34343
|
-
}
|
|
34344
|
-
</mat-select>
|
|
34345
|
-
</mat-form-field>
|
|
34346
|
-
</div>
|
|
34347
|
-
<div class="render-popup-button-container">
|
|
34348
|
-
<button class="render-popup-button photo-button"
|
|
34349
|
-
(click)="createBlenderRender()"
|
|
34350
|
-
title="{{'MAKE_A_PICTURE' | localize}}"
|
|
34351
|
-
[disabled]="disablePictureButton">
|
|
34352
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleCheck)"></co-icon>
|
|
34353
|
-
{{ 'MAKE_A_PICTURE' | localize }}
|
|
34354
|
-
</button>
|
|
34355
|
-
<button
|
|
34356
|
-
class="render-popup-button cancel-button"
|
|
34357
|
-
(click)="resetBlenderRenderScene()">
|
|
34358
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34359
|
-
{{ 'CLOSE_PHOTO_MODE' | localize }}
|
|
34360
|
-
</button>
|
|
34361
|
-
</div>
|
|
34333
|
+
@if (showRenderSettings) {
|
|
34334
|
+
<span [textContent]="'RENDER_ADVANCED_SETTINGS_HIDE' | localize"></span>
|
|
34335
|
+
}
|
|
34336
|
+
</p>
|
|
34337
|
+
<co-icon [ngClass]="{'icon-rotate': showRenderSettings}"
|
|
34338
|
+
[iconData]="iconService.getIcon(icons.ArrowPointDown)"></co-icon>
|
|
34362
34339
|
</div>
|
|
34363
|
-
|
|
34364
|
-
|
|
34365
|
-
|
|
34366
|
-
|
|
34367
|
-
|
|
34368
|
-
|
|
34369
|
-
|
|
34370
|
-
|
|
34371
|
-
|
|
34372
|
-
|
|
34373
|
-
|
|
34374
|
-
|
|
34375
|
-
|
|
34376
|
-
|
|
34377
|
-
|
|
34378
|
-
(click)="showCullingErrorDialog = false">
|
|
34379
|
-
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34380
|
-
{{ 'CLOSE' | localize }}
|
|
34381
|
-
</button>
|
|
34340
|
+
@if (showRenderSettings) {
|
|
34341
|
+
<div class="advanced-render-settings">
|
|
34342
|
+
<div class="setting-part-container">
|
|
34343
|
+
<mat-form-field
|
|
34344
|
+
class="face-select-form"
|
|
34345
|
+
>
|
|
34346
|
+
<mat-label>{{ "ENVIRONMENT" | localize }}</mat-label>
|
|
34347
|
+
<mat-select [(ngModel)]="selectedRenderScene" (selectionChange)="updateBlenderSceneSettings($event)">
|
|
34348
|
+
@for (scene of sceneList; track scene) {
|
|
34349
|
+
<mat-option
|
|
34350
|
+
[value]="scene">{{ scene.name }}
|
|
34351
|
+
</mat-option>
|
|
34352
|
+
}
|
|
34353
|
+
</mat-select>
|
|
34354
|
+
</mat-form-field>
|
|
34382
34355
|
</div>
|
|
34383
|
-
|
|
34356
|
+
|
|
34357
|
+
<co-input-slider
|
|
34358
|
+
[label]="'ENVIRONMENT_LIGHT' | localize"
|
|
34359
|
+
[min]="1"
|
|
34360
|
+
[max]="20"
|
|
34361
|
+
[(value)]="hdriIntensity">
|
|
34362
|
+
</co-input-slider>
|
|
34363
|
+
|
|
34364
|
+
<co-input-slider
|
|
34365
|
+
[label]="'ROTATION' | localize"
|
|
34366
|
+
[min]="1"
|
|
34367
|
+
[max]="360"
|
|
34368
|
+
[(value)]="hdriRotation">
|
|
34369
|
+
</co-input-slider>
|
|
34370
|
+
|
|
34371
|
+
<co-input-slider
|
|
34372
|
+
[label]="'LIGHTS' | localize"
|
|
34373
|
+
[min]="1"
|
|
34374
|
+
[max]="10"
|
|
34375
|
+
[(value)]="lightingExposure">
|
|
34376
|
+
</co-input-slider>
|
|
34377
|
+
</div>
|
|
34378
|
+
}
|
|
34379
|
+
</div>
|
|
34384
34380
|
}
|
|
34385
|
-
<
|
|
34386
|
-
|
|
34387
|
-
|
|
34388
|
-
|
|
34389
|
-
|
|
34390
|
-
[
|
|
34391
|
-
|
|
34392
|
-
|
|
34393
|
-
|
|
34394
|
-
</mat-
|
|
34395
|
-
|
|
34396
|
-
|
|
34397
|
-
|
|
34381
|
+
<div class="render-popup-dropdown">
|
|
34382
|
+
<mat-form-field class="face-select-form">
|
|
34383
|
+
<mat-label>{{ "IMAGE_SIZE" | localize }}</mat-label>
|
|
34384
|
+
<mat-select [(value)]="selectedImageSize">
|
|
34385
|
+
@for (size of imageSizes; track size) {
|
|
34386
|
+
<mat-option [value]="size">{{ size.name }} {{ size.width }}
|
|
34387
|
+
x{{ size.height }}
|
|
34388
|
+
</mat-option>
|
|
34389
|
+
}
|
|
34390
|
+
</mat-select>
|
|
34391
|
+
</mat-form-field>
|
|
34392
|
+
</div>
|
|
34393
|
+
<div class="render-popup-button-container">
|
|
34394
|
+
<button class="render-popup-button photo-button"
|
|
34395
|
+
(click)="createBlenderRender()"
|
|
34396
|
+
title="{{'MAKE_A_PICTURE' | localize}}"
|
|
34397
|
+
[disabled]="disablePictureButton">
|
|
34398
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleCheck)"></co-icon>
|
|
34399
|
+
{{ 'MAKE_A_PICTURE' | localize }}
|
|
34400
|
+
</button>
|
|
34401
|
+
<button
|
|
34402
|
+
class="render-popup-button cancel-button"
|
|
34403
|
+
(click)="resetBlenderRenderScene()">
|
|
34404
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34405
|
+
{{ 'CLOSE_PHOTO_MODE' | localize }}
|
|
34406
|
+
</button>
|
|
34407
|
+
</div>
|
|
34408
|
+
</div>
|
|
34409
|
+
}
|
|
34410
|
+
@if (showCullingErrorDialog) {
|
|
34411
|
+
<div class="render-warning">
|
|
34412
|
+
<div class="render-warming-header">
|
|
34413
|
+
<h2>{{ 'BLENDER_RENDER_ERROR_TITLE' | localize }}</h2>
|
|
34414
|
+
<div class="render-warning-close" (click)="showCullingErrorDialog = false">
|
|
34415
|
+
<mat-icon class="homedecorator-material-icons">cancel</mat-icon>
|
|
34416
|
+
</div>
|
|
34417
|
+
</div>
|
|
34418
|
+
<div class="render-warning-body">
|
|
34419
|
+
<p>{{ 'BLENDER_RENDER_WARNING_CULLING' | localize }}</p>
|
|
34420
|
+
</div>
|
|
34421
|
+
<div class="render-warning-footer">
|
|
34422
|
+
<button
|
|
34423
|
+
class="render-popup-button cancel-button"
|
|
34424
|
+
(click)="showCullingErrorDialog = false">
|
|
34425
|
+
<co-icon [iconData]="iconService.getIcon(icons.CircleXmark)"></co-icon>
|
|
34426
|
+
{{ 'CLOSE' | localize }}
|
|
34427
|
+
</button>
|
|
34428
|
+
</div>
|
|
34429
|
+
</div>
|
|
34430
|
+
}
|
|
34431
|
+
<button
|
|
34432
|
+
#renderButton
|
|
34433
|
+
mat-raised-button
|
|
34434
|
+
matTooltip="{{'RENDER_TAKE_A_PICTURE' | localize}}"
|
|
34435
|
+
[id]="'standalone_render_picture'"
|
|
34436
|
+
[class.active]="viewModeService.viewMode === viewModes.WalkThrough"
|
|
34437
|
+
(click)="showRenderForm($event)">
|
|
34438
|
+
<mat-icon class="icon homedecorator-material-icons"
|
|
34439
|
+
aria-hidden="true">{{ 'photo_camera' }}
|
|
34440
|
+
</mat-icon>
|
|
34441
|
+
</button>
|
|
34442
|
+
</div>
|
|
34443
|
+
`, standalone: false, styles: [".render-container{position:relative;min-width:375px}.render-container .render-popup-container{box-sizing:border-box;background:#ffffffb3;padding:10px 25px 25px;border-radius:5px;box-shadow:0 1px 5px #0000001f}.render-container .render-popup-container .render-popup-header{display:flex;justify-content:space-between;font-family:inherit}.render-container .render-popup-container .render-popup-header h3{display:flex;justify-content:space-between}.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon{width:20px;height:20px;margin-left:20px}.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon svg,.render-container .render-popup-container .render-popup-header h3 ::ng-deep .renderErrorIcon svg polygon{fill:#dc143c}.render-container .render-popup-container .render-popup-header .close-popup-container{cursor:pointer;border:none;background:none;float:none;height:auto;width:auto}.render-container .render-popup-container .render-popup-button-container{display:flex;justify-content:space-between;font-family:inherit}.render-container .render-popup-container .render-popup-button-container .render-popup-button{float:none;width:100%;max-width:130px;border-radius:3px;cursor:pointer;border:none;display:flex;height:40px;align-items:center;justify-content:space-evenly}.render-container .render-popup-container .render-popup-button-container .render-popup-button ::ng-deep co-icon{display:inline-block;height:18px;width:18px}.render-container .render-popup-container .render-popup-button-container .render-popup-button ::ng-deep co-icon svg path{fill:#fff}.render-container .render-popup-container .render-popup-button-container .photo-button{color:#fff;background-color:#dda73f}.render-container .render-popup-container .render-popup-button-container .cancel-button{color:#fff;background-color:#5b6875}.render-container .render-popup-container .render-popup-preview{background-color:#fff;min-height:150px;min-width:275px;margin:5px auto;position:relative;width:340px;height:150px}.render-container .render-popup-container .render-popup-preview .render-popup-preview-placeholder{background-color:#fff;display:flex;justify-content:space-around;align-items:center;vertical-align:middle;min-height:150px;border:1px solid #ddd;color:#ddd;font-size:14px}.render-container .render-popup-container .render-popup-preview .render-popup-refresh-preview{position:absolute;bottom:0;right:0;cursor:pointer;border-radius:0;border:none;height:30px;width:30px;background-color:#dda73f;color:#fff;margin:0}.render-container .render-popup-container .render-popup-preview .render-popup-refresh-preview ::ng-deep co-icon svg path{fill:#fff}.render-container .render-popup-container .render-popup-dropdown{margin:5px 0;width:100%}.render-container .render-popup-container .render-popup-dropdown .toggleable{cursor:pointer;display:flex;justify-content:right;align-content:center}.render-container .render-popup-container .render-popup-dropdown .toggleable p{padding:0;margin:0;font-size:12px;line-height:30px}.render-container .render-popup-container .render-popup-dropdown .toggleable .icon-rotate{transform:rotate(180deg)}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field{width:100%;font-size:14px}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-flex{background-color:#fff;color:#000;padding:3px 6px;border:1px solid #ddd}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-underline{display:none}.render-container .render-popup-container .render-popup-dropdown .mat-mdc-form-field ::ng-deep .mat-mdc-form-field-wrapper{padding-bottom:0}.render-container .render-progress{float:left;min-width:50px;border-radius:25px;line-height:50px;text-align:center;padding:0 60px 0 20px;background:#fff;color:#74b77f;font-weight:700;margin:0 -50px 0 0}.render-container .render-input-container{float:right}.render-container .render-input-container input{width:100px;height:24px;margin:5px 0;padding:0 10px;font-size:14px}.render-container button{pointer-events:all;width:50px;height:50px;float:right;border-radius:100%;position:relative;z-index:2;margin-bottom:10px}.render-container button.active{background:#74b77f;color:#fff}.render-container button>*{pointer-events:none}.render-indicators div{position:fixed;width:100px;height:100px}.render-indicators .render-indicator-top-left{left:5vw;top:10vh;border-left:10px solid #dda73f;border-top:10px solid #dda73f;border-top-left-radius:20px}.render-indicators .render-indicator-top-right{right:5vw;top:10vh;border-right:10px solid #dda73f;border-top:10px solid #dda73f;border-top-right-radius:20px}.render-indicators .render-indicator-bottom-left{left:5vw;bottom:5vh;border-left:10px solid #dda73f;border-bottom:10px solid #dda73f;border-bottom-left-radius:20px}.render-indicators .render-indicator-bottom-right{right:5vw;bottom:5vh;border-right:10px solid #dda73f;border-bottom:10px solid #dda73f;border-bottom-right-radius:20px}.render-warning{width:500px;position:fixed;top:20%;left:calc(50% - 250px);border-radius:15px;box-sizing:border-box;background-color:#fff;box-shadow:1px 0 20px #0000001f}.render-warning .render-warming-header{display:flex;justify-content:space-between;border-bottom:1px solid #c5c3c6;padding:20px 20px 10px;align-items:center}.render-warning .render-warming-header h2{padding:0;margin:0}.render-warning .render-warming-header .render-warning-close mat-icon{fill:#c5c3c6;color:#c5c3c6;cursor:pointer;transition:all .2s ease}.render-warning .render-warming-header .render-warning-close:hover mat-icon{fill:#46494c;color:#46494c}.render-warning .render-warning-body{padding:10px 20px}.render-warning .render-warning-footer{display:flex;justify-content:center;padding:0 20px 10px}.render-warning .render-warning-footer .render-popup-button{float:none;width:110px;border-radius:3px;cursor:pointer;border:none;display:flex;height:40px;align-items:center;justify-content:space-evenly;color:#fff;background-color:#5b6875}.render-warning .render-warning-footer .render-popup-button ::ng-deep co-icon{display:inline-block;height:18px;width:18px}.render-warning .render-warning-footer .render-popup-button ::ng-deep co-icon svg path{fill:#fff}\n"] }]
|
|
34398
34444
|
}], ctorParameters: () => [{ type: MessageBusService }, { type: ViewModeService }, { type: HomedecoratorSettingsService }, { type: HomedecoratorIconCacheService }, { type: RenderService }, { type: i1$2.MatDialog }, { type: SceneService }, { type: CameraService }, { type: ConfigurationService }, { type: HomedecoratorSettingsService }, { type: UtilsService }, { type: RoomService }, { type: WallMeasurementsService }, { type: ConnectionHeathService }, { type: HomedecoratorDictionaryService }, { type: DialogService }], propDecorators: { renderButton: [{
|
|
34399
34445
|
type: ViewChild,
|
|
34400
34446
|
args: ['renderButton']
|
|
@@ -42586,30 +42632,18 @@ class ConfigurationPresetLoaderComponent {
|
|
|
42586
42632
|
showClass() {
|
|
42587
42633
|
return true;
|
|
42588
42634
|
}
|
|
42589
|
-
constructor(configurationPresetService, iconService
|
|
42635
|
+
constructor(configurationPresetService, iconService) {
|
|
42590
42636
|
this.configurationPresetService = configurationPresetService;
|
|
42591
42637
|
this.iconService = iconService;
|
|
42592
|
-
this._homedecoratorConnectorService = _homedecoratorConnectorService;
|
|
42593
|
-
this._messageService = _messageService;
|
|
42594
42638
|
this.icon = IconEnum;
|
|
42595
42639
|
}
|
|
42596
|
-
ngOnInit() {
|
|
42597
|
-
// TODO REMOVE MOCK
|
|
42598
|
-
// Own source, good ol' instanbull
|
|
42599
|
-
// this.configurationPresetService.sku = '1000610952';
|
|
42600
|
-
// this.configurationPresetService.instanceId = '67483';
|
|
42601
|
-
// IMG extern
|
|
42602
|
-
// this.configurationPresetService.sku = '70000107';
|
|
42603
|
-
// this.configurationPresetService.instanceId = '354490';
|
|
42604
|
-
// this.configurationPresetService.externalSourceId = 171;
|
|
42605
|
-
}
|
|
42606
42640
|
handleCloseClick() {
|
|
42607
42641
|
this.configurationPresetService.reset();
|
|
42608
42642
|
}
|
|
42609
42643
|
handleLoadPreset() {
|
|
42610
42644
|
this.configurationPresetService.LoadPreset();
|
|
42611
42645
|
}
|
|
42612
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfigurationPresetLoaderComponent, deps: [{ token: ConfigurationPresetLoadService }, { token: HomedecoratorIconCacheService }
|
|
42646
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfigurationPresetLoaderComponent, deps: [{ token: ConfigurationPresetLoadService }, { token: HomedecoratorIconCacheService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42613
42647
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ConfigurationPresetLoaderComponent, isStandalone: false, selector: "co-configurator-preset-loader", host: { properties: { "class.co-configurator-preset-loader": "this.showClass" } }, ngImport: i0, template: `
|
|
42614
42648
|
|
|
42615
42649
|
@if (configurationPresetService.showConfigurationLoad) {
|
|
@@ -42659,7 +42693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
42659
42693
|
}
|
|
42660
42694
|
|
|
42661
42695
|
`, standalone: false, encapsulation: ViewEncapsulation.None, styles: [".co-configurator-preset-loader .configurator-preset-loader-container{position:fixed;background:#fff;right:50px;bottom:50px;width:100%;max-width:400px;min-height:40px;box-sizing:border-box;padding:15px 5px;display:flex;justify-content:space-between;align-items:center;border-radius:15px;box-shadow:1px 1px 4px #0003;pointer-events:all;z-index:102}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-icon{background:#4e9b7e;border-radius:50%;width:30px;height:30px}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-icon .co-icon svg polygon{fill:#fff}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-info .preset-head{text-transform:uppercase;font-size:12px}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-info .preset-sku{font-size:18px;font-weight:700;margin:5px 0 15px}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-info .preset-text-link{font-size:14px;cursor:pointer;color:#4e9b7e;text-align:center}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-info .preset-text-link:hover{text-decoration:underline}.co-configurator-preset-loader .configurator-preset-loader-container .configurator-preset-close .co-button{background:none}\n"] }]
|
|
42662
|
-
}], ctorParameters: () => [{ type: ConfigurationPresetLoadService }, { type: HomedecoratorIconCacheService }
|
|
42696
|
+
}], ctorParameters: () => [{ type: ConfigurationPresetLoadService }, { type: HomedecoratorIconCacheService }], propDecorators: { showClass: [{
|
|
42663
42697
|
type: HostBinding,
|
|
42664
42698
|
args: ['class.co-configurator-preset-loader']
|
|
42665
42699
|
}] } });
|
|
@@ -50588,6 +50622,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
50588
50622
|
}]
|
|
50589
50623
|
}] });
|
|
50590
50624
|
|
|
50625
|
+
class InputSliderModule {
|
|
50626
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
50627
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: InputSliderModule, declarations: [InputSliderComponent], imports: [FormsModule,
|
|
50628
|
+
IconModule,
|
|
50629
|
+
InputTextModule,
|
|
50630
|
+
InputNumberPickerModule], exports: [InputSliderComponent] }); }
|
|
50631
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputSliderModule, imports: [FormsModule,
|
|
50632
|
+
IconModule,
|
|
50633
|
+
InputTextModule,
|
|
50634
|
+
InputNumberPickerModule] }); }
|
|
50635
|
+
}
|
|
50636
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputSliderModule, decorators: [{
|
|
50637
|
+
type: NgModule,
|
|
50638
|
+
args: [{
|
|
50639
|
+
imports: [
|
|
50640
|
+
FormsModule,
|
|
50641
|
+
IconModule,
|
|
50642
|
+
InputTextModule,
|
|
50643
|
+
InputNumberPickerModule
|
|
50644
|
+
],
|
|
50645
|
+
exports: [
|
|
50646
|
+
InputSliderComponent
|
|
50647
|
+
],
|
|
50648
|
+
declarations: [
|
|
50649
|
+
InputSliderComponent
|
|
50650
|
+
]
|
|
50651
|
+
}]
|
|
50652
|
+
}] });
|
|
50653
|
+
|
|
50591
50654
|
class RenderModule {
|
|
50592
50655
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
50593
50656
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: RenderModule, declarations: [RenderControlsComponent,
|
|
@@ -50606,7 +50669,8 @@ class RenderModule {
|
|
|
50606
50669
|
IconModule,
|
|
50607
50670
|
MatSliderModule,
|
|
50608
50671
|
TooltipDirectiveModule,
|
|
50609
|
-
ProgressBarModule
|
|
50672
|
+
ProgressBarModule,
|
|
50673
|
+
InputSliderModule], exports: [RenderControlsComponent,
|
|
50610
50674
|
RenderProgressComponent] }); }
|
|
50611
50675
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderModule, providers: [
|
|
50612
50676
|
HomedecoratorIconCacheService
|
|
@@ -50625,7 +50689,8 @@ class RenderModule {
|
|
|
50625
50689
|
IconModule,
|
|
50626
50690
|
MatSliderModule,
|
|
50627
50691
|
TooltipDirectiveModule,
|
|
50628
|
-
ProgressBarModule
|
|
50692
|
+
ProgressBarModule,
|
|
50693
|
+
InputSliderModule] }); }
|
|
50629
50694
|
}
|
|
50630
50695
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RenderModule, decorators: [{
|
|
50631
50696
|
type: NgModule,
|
|
@@ -50646,7 +50711,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
50646
50711
|
IconModule,
|
|
50647
50712
|
MatSliderModule,
|
|
50648
50713
|
TooltipDirectiveModule,
|
|
50649
|
-
ProgressBarModule
|
|
50714
|
+
ProgressBarModule,
|
|
50715
|
+
InputSliderModule
|
|
50650
50716
|
],
|
|
50651
50717
|
declarations: [
|
|
50652
50718
|
RenderControlsComponent,
|