angular-three-soba 2.1.0 → 2.2.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.
- package/abstractions/lib/catmull-rom-line.d.ts +139 -139
- package/abstractions/lib/edges.d.ts +164 -164
- package/abstractions/lib/grid.d.ts +39 -39
- package/abstractions/lib/line.d.ts +8 -7
- package/abstractions/lib/prism-geometry.d.ts +4 -4
- package/abstractions/lib/rounded-box.d.ts +3 -3
- package/abstractions/lib/text-3d.d.ts +46 -46
- package/abstractions/lib/text.d.ts +1 -2
- package/cameras/lib/cube-camera.d.ts +1 -1
- package/cameras/lib/orthographic-camera.d.ts +7 -8
- package/cameras/lib/perspective-camera.d.ts +2 -3
- package/controls/index.d.ts +9 -1
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard.mjs +3 -3
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +3 -3
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/edges.mjs +30 -34
- package/esm2022/abstractions/lib/gradient-texture.mjs +3 -3
- package/esm2022/abstractions/lib/grid.mjs +3 -3
- package/esm2022/abstractions/lib/helper.mjs +18 -20
- package/esm2022/abstractions/lib/line.mjs +25 -28
- package/esm2022/abstractions/lib/prism-geometry.mjs +3 -3
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/rounded-box.mjs +11 -17
- package/esm2022/abstractions/lib/text-3d.mjs +14 -17
- package/esm2022/abstractions/lib/text.mjs +11 -16
- package/esm2022/cameras/lib/camera-content.mjs +3 -3
- package/esm2022/cameras/lib/cube-camera.mjs +18 -27
- package/esm2022/cameras/lib/orthographic-camera.mjs +20 -20
- package/esm2022/cameras/lib/perspective-camera.mjs +21 -21
- package/esm2022/controls/index.mjs +6 -2
- package/esm2022/controls/lib/camera-controls.mjs +3 -3
- package/esm2022/controls/lib/orbit-controls.mjs +3 -3
- package/esm2022/controls/lib/scroll-controls.mjs +124 -130
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
- package/esm2022/gizmos/index.mjs +6 -0
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +187 -0
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +304 -0
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +332 -0
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +265 -0
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +264 -0
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +337 -0
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +266 -0
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +232 -0
- package/esm2022/gizmos/lib/transform-controls.mjs +177 -0
- package/esm2022/loaders/lib/loader.mjs +3 -3
- package/esm2022/materials/lib/custom-shader-material.mjs +8 -12
- package/esm2022/materials/lib/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-reflector-material.mjs +11 -15
- package/esm2022/materials/lib/mesh-refraction-material.mjs +26 -30
- package/esm2022/materials/lib/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/lib/point-material.mjs +3 -3
- package/esm2022/misc/lib/bake-shadows.mjs +8 -10
- package/esm2022/misc/lib/computed-attribute.mjs +15 -19
- package/esm2022/misc/lib/decal.mjs +56 -53
- package/esm2022/misc/lib/fbo.mjs +10 -10
- package/esm2022/misc/lib/html/html-content.mjs +62 -67
- package/esm2022/misc/lib/html/html.mjs +3 -3
- package/esm2022/misc/lib/intersect.mjs +6 -9
- package/esm2022/misc/lib/sampler.mjs +48 -42
- package/esm2022/performances/lib/adaptive-dpr.mjs +29 -35
- package/esm2022/performances/lib/adaptive-events.mjs +12 -16
- package/esm2022/performances/lib/detailed.mjs +14 -18
- package/esm2022/performances/lib/instances/instances.mjs +16 -22
- package/esm2022/performances/lib/points/points.mjs +19 -25
- package/esm2022/performances/lib/segments/segments.mjs +11 -14
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +1 -1
- package/esm2022/staging/index.mjs +3 -2
- package/esm2022/staging/lib/accumulative-shadows.mjs +19 -21
- package/esm2022/staging/lib/backdrop.mjs +19 -23
- package/esm2022/staging/lib/bb-anchor.mjs +3 -3
- package/esm2022/staging/lib/bounds.mjs +39 -43
- package/esm2022/staging/lib/camera-shake.mjs +14 -18
- package/esm2022/staging/lib/caustics.mjs +24 -28
- package/esm2022/staging/lib/center.mjs +28 -32
- package/esm2022/staging/lib/contact-shadows.mjs +3 -3
- package/esm2022/staging/lib/environment/environment.mjs +338 -0
- package/esm2022/staging/lib/environment/inject-environment.mjs +184 -0
- package/esm2022/staging/lib/float.mjs +3 -3
- package/esm2022/staging/lib/lightformer.mjs +18 -22
- package/esm2022/staging/lib/mask.mjs +8 -12
- package/esm2022/staging/lib/matcap-texture.mjs +9 -11
- package/esm2022/staging/lib/normal-texture.mjs +9 -11
- package/esm2022/staging/lib/randomized-lights.mjs +9 -13
- package/esm2022/staging/lib/render-texture.mjs +19 -20
- package/esm2022/staging/lib/sky.mjs +3 -3
- package/esm2022/staging/lib/spot-light.mjs +32 -40
- package/esm2022/staging/lib/stage.mjs +13 -17
- package/esm2022/stats/lib/stats.mjs +21 -27
- package/fesm2022/angular-three-soba-abstractions.mjs +119 -138
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +57 -64
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +141 -1470
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +2318 -0
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +52 -62
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +194 -195
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +90 -114
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +427 -430
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +20 -26
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/gizmos/README.md +3 -0
- package/gizmos/index.d.ts +5 -0
- package/gizmos/lib/gizmo-helper/gizmo-helper.d.ts +45 -0
- package/gizmos/lib/gizmo-helper/gizmo-viewcube.d.ts +74 -0
- package/gizmos/lib/gizmo-helper/gizmo-viewport.d.ts +64 -0
- package/{controls → gizmos}/lib/pivot-controls/pivot-controls.d.ts +1 -1
- package/gizmos/lib/transform-controls.d.ts +50 -0
- package/materials/lib/mesh-transmission-material.d.ts +1 -1
- package/misc/lib/computed-attribute.d.ts +2 -2
- package/misc/lib/decal.d.ts +4 -4
- package/misc/lib/html/html-content.d.ts +6 -6
- package/misc/lib/html/html.d.ts +1 -1
- package/misc/lib/sampler.d.ts +1 -3
- package/package.json +14 -8
- package/performances/lib/instances/instances.d.ts +3 -3
- package/shaders/lib/mesh-refraction-material.d.ts +2 -5
- package/staging/index.d.ts +2 -1
- package/staging/lib/camera-shake.d.ts +0 -1
- package/staging/lib/caustics.d.ts +1 -1
- package/staging/lib/center.d.ts +2 -2
- package/staging/lib/contact-shadows.d.ts +1 -1
- package/staging/lib/{environment.d.ts → environment/environment.d.ts} +20 -49
- package/staging/lib/environment/inject-environment.d.ts +33 -0
- package/staging/lib/lightformer.d.ts +1 -1
- package/staging/lib/mask.d.ts +1 -1
- package/staging/lib/matcap-texture.d.ts +0 -1
- package/staging/lib/normal-texture.d.ts +0 -1
- package/staging/lib/render-texture.d.ts +1 -1
- package/staging/lib/sky.d.ts +1 -1
- package/staging/lib/stage.d.ts +3 -2
- package/esm2022/controls/lib/pivot-controls/axis-arrow.mjs +0 -263
- package/esm2022/controls/lib/pivot-controls/axis-rotator.mjs +0 -264
- package/esm2022/controls/lib/pivot-controls/pivot-controls.mjs +0 -340
- package/esm2022/controls/lib/pivot-controls/plane-slider.mjs +0 -266
- package/esm2022/controls/lib/pivot-controls/scaling-sphere.mjs +0 -232
- package/esm2022/staging/lib/environment.mjs +0 -481
- /package/{controls → gizmos}/lib/pivot-controls/axis-arrow.d.ts +0 -0
- /package/{controls → gizmos}/lib/pivot-controls/axis-rotator.d.ts +0 -0
- /package/{controls → gizmos}/lib/pivot-controls/plane-slider.d.ts +0 -0
- /package/{controls → gizmos}/lib/pivot-controls/scaling-sphere.d.ts +0 -0
|
@@ -42,8 +42,8 @@ export class NgtsFloat {
|
|
|
42
42
|
container.updateMatrix();
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsFloat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: NgtsFloat, isStandalone: true, selector: "ngts-float", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "floatRef", first: true, predicate: ["float"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
47
47
|
<ngt-group [parameters]="parameters()">
|
|
48
48
|
<ngt-group #float [matrixAutoUpdate]="false">
|
|
49
49
|
<ng-content />
|
|
@@ -51,7 +51,7 @@ export class NgtsFloat {
|
|
|
51
51
|
</ngt-group>
|
|
52
52
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
53
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsFloat, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{
|
|
57
57
|
selector: 'ngts-float',
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input, viewChild, } from '@angular/core';
|
|
2
2
|
import { applyProps, extend, NgtArgs, omit, pick, vector3 } from 'angular-three';
|
|
3
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
4
3
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
4
|
import { DoubleSide, Mesh, MeshBasicMaterial, PlaneGeometry, RingGeometry } from 'three';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
@@ -30,26 +29,23 @@ export class NgtsLightformer {
|
|
|
30
29
|
this.meshRef = viewChild.required('mesh');
|
|
31
30
|
this.defaultMaterialRef = viewChild('defaultMaterial');
|
|
32
31
|
extend({ Mesh, MeshBasicMaterial, RingGeometry, PlaneGeometry });
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const mesh = this.meshRef().nativeElement;
|
|
47
|
-
mesh.lookAt(target);
|
|
48
|
-
});
|
|
32
|
+
effect(() => {
|
|
33
|
+
const material = this.defaultMaterialRef()?.nativeElement;
|
|
34
|
+
if (!material)
|
|
35
|
+
return;
|
|
36
|
+
applyProps(material, { color: this.color() });
|
|
37
|
+
material.color.multiplyScalar(this.intensity());
|
|
38
|
+
});
|
|
39
|
+
effect(() => {
|
|
40
|
+
const target = this.target();
|
|
41
|
+
if (!target)
|
|
42
|
+
return;
|
|
43
|
+
const mesh = this.meshRef().nativeElement;
|
|
44
|
+
mesh.lookAt(target);
|
|
49
45
|
});
|
|
50
46
|
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsLightformer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsLightformer, isStandalone: true, selector: "ngts-lightformer", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }, { propertyName: "defaultMaterialRef", first: true, predicate: ["defaultMaterial"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
53
49
|
<ngt-mesh #mesh [scale]="fixedScale()" [parameters]="parameters()">
|
|
54
50
|
<ng-content select="[data-lightformer-geometry]">
|
|
55
51
|
@switch (form()) {
|
|
@@ -72,7 +68,7 @@ export class NgtsLightformer {
|
|
|
72
68
|
</ngt-mesh>
|
|
73
69
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
74
70
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsLightformer, decorators: [{
|
|
76
72
|
type: Component,
|
|
77
73
|
args: [{
|
|
78
74
|
selector: 'ngts-lightformer',
|
|
@@ -104,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
104
100
|
imports: [NgtArgs],
|
|
105
101
|
}]
|
|
106
102
|
}], ctorParameters: () => [] });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL2xpZ2h0Zm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsTUFBTSxFQUVOLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUF1QixJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBVyxNQUFNLE9BQU8sQ0FBQzs7QUFZbEcsTUFBTSxjQUFjLEdBQTZEO0lBQ2hGLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsQ0FBQztJQUNSLFNBQVMsRUFBRSxDQUFDO0NBQ1osQ0FBQztBQStCRixNQUFNLE9BQU8sZUFBZTtJQXFCM0I7UUFwQkEsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUVsQixZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFaEcsY0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwQyxXQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztRQUNILFNBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUMsUUFBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWhDLFlBQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFtQixNQUFNLENBQUMsQ0FBQztRQUN2RCx1QkFBa0IsR0FBRyxTQUFTLENBQWdDLGlCQUFpQixDQUFDLENBQUM7UUFHaEYsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFDMUQsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUV0QixVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFFcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0F2Q1csZUFBZTtrR0FBZixlQUFlLCtiQTFCakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFCVCw0REFHUyxPQUFPOzsyRkFFTCxlQUFlO2tCQTdCM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0aW5wdXQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhcHBseVByb3BzLCBleHRlbmQsIE5ndEFyZ3MsIE5ndE1lc2gsIE5ndFZlY3RvcjMsIG9taXQsIHBpY2ssIHZlY3RvcjMgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IERvdWJsZVNpZGUsIE1lc2gsIE1lc2hCYXNpY01hdGVyaWFsLCBQbGFuZUdlb21ldHJ5LCBSaW5nR2VvbWV0cnksIFRleHR1cmUgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0xpZ2h0Zm9ybWVyT3B0aW9ucyB7XG5cdG1hcD86IFRleHR1cmU7XG5cdHRvbmVNYXBwZWQ6IGJvb2xlYW47XG5cdGNvbG9yOiBzdHJpbmc7XG5cdGZvcm06ICdjaXJjbGUnIHwgJ3JpbmcnIHwgJ3JlY3QnO1xuXHRzY2FsZTogbnVtYmVyIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgW251bWJlciwgbnVtYmVyXTtcblx0aW50ZW5zaXR5OiBudW1iZXI7XG5cdHRhcmdldD86IE5ndFZlY3RvcjM7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPE9taXQ8Tmd0TWVzaCwgJ3NjYWxlJz4+ICYgTmd0c0xpZ2h0Zm9ybWVyT3B0aW9ucyA9IHtcblx0dG9uZU1hcHBlZDogZmFsc2UsXG5cdGNvbG9yOiAnd2hpdGUnLFxuXHRmb3JtOiAncmVjdCcsXG5cdHNjYWxlOiAxLFxuXHRpbnRlbnNpdHk6IDEsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWxpZ2h0Zm9ybWVyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LW1lc2ggI21lc2ggW3NjYWxlXT1cImZpeGVkU2NhbGUoKVwiIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtbGlnaHRmb3JtZXItZ2VvbWV0cnldXCI+XG5cdFx0XHRcdEBzd2l0Y2ggKGZvcm0oKSkge1xuXHRcdFx0XHRcdEBjYXNlICgnY2lyY2xlJykge1xuXHRcdFx0XHRcdFx0PG5ndC1yaW5nLWdlb21ldHJ5ICphcmdzPVwiWzAsIDEsIDY0XVwiIC8+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBjYXNlICgncmluZycpIHtcblx0XHRcdFx0XHRcdDxuZ3QtcmluZy1nZW9tZXRyeSAqYXJncz1cIlswLjUsIDEsIDY0XVwiIC8+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBjYXNlICgncmVjdCcpIHtcblx0XHRcdFx0XHRcdDxuZ3QtcGxhbmUtZ2VvbWV0cnkgLz5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdDwvbmctY29udGVudD5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltkYXRhLWxpZ2h0Zm9ybWVyLW1hdGVyaWFsXVwiPlxuXHRcdFx0XHQ8bmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWwgI2RlZmF1bHRNYXRlcmlhbCBbdG9uZU1hcHBlZF09XCJ0b25lTWFwcGVkKClcIiBbbWFwXT1cIm1hcCgpXCIgW3NpZGVdPVwic2lkZVwiIC8+XG5cdFx0XHQ8L25nLWNvbnRlbnQ+XG5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtbWVzaD5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzTGlnaHRmb3JtZXIge1xuXHRzaWRlID0gRG91YmxlU2lkZTtcblxuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgWydtYXAnLCAndG9uZU1hcHBlZCcsICdjb2xvcicsICdmb3JtJywgJ3NjYWxlJywgJ2ludGVuc2l0eScsICd0YXJnZXQnXSk7XG5cblx0cHJpdmF0ZSBpbnRlbnNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ludGVuc2l0eScpO1xuXHRwcml2YXRlIGNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xvcicpO1xuXHRwcml2YXRlIHRhcmdldCA9IHZlY3RvcjModGhpcy5vcHRpb25zLCAndGFyZ2V0JywgdHJ1ZSk7XG5cdHByaXZhdGUgc2NhbGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3NjYWxlJyk7XG5cdGZpeGVkU2NhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlKCk7XG5cdFx0cmV0dXJuIEFycmF5LmlzQXJyYXkoc2NhbGUpICYmIHNjYWxlLmxlbmd0aCA9PT0gMiA/IFtzY2FsZVswXSwgc2NhbGVbMV0sIDFdIDogc2NhbGU7XG5cdH0pO1xuXHRmb3JtID0gcGljayh0aGlzLm9wdGlvbnMsICdmb3JtJyk7XG5cdHRvbmVNYXBwZWQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RvbmVNYXBwZWQnKTtcblx0bWFwID0gcGljayh0aGlzLm9wdGlvbnMsICdtYXAnKTtcblxuXHRtZXNoUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8TWVzaD4+KCdtZXNoJyk7XG5cdGRlZmF1bHRNYXRlcmlhbFJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPE1lc2hCYXNpY01hdGVyaWFsPj4oJ2RlZmF1bHRNYXRlcmlhbCcpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IE1lc2gsIE1lc2hCYXNpY01hdGVyaWFsLCBSaW5nR2VvbWV0cnksIFBsYW5lR2VvbWV0cnkgfSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgbWF0ZXJpYWwgPSB0aGlzLmRlZmF1bHRNYXRlcmlhbFJlZigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKCFtYXRlcmlhbCkgcmV0dXJuO1xuXG5cdFx0XHRhcHBseVByb3BzKG1hdGVyaWFsLCB7IGNvbG9yOiB0aGlzLmNvbG9yKCkgfSk7XG5cdFx0XHRtYXRlcmlhbC5jb2xvci5tdWx0aXBseVNjYWxhcih0aGlzLmludGVuc2l0eSgpKTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xuXHRcdFx0aWYgKCF0YXJnZXQpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgbWVzaCA9IHRoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRtZXNoLmxvb2tBdCh0YXJnZXQpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input, numberAttribute, viewChild, } from '@angular/core';
|
|
2
2
|
import { extend, omit, pick } from 'angular-three';
|
|
3
3
|
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
5
4
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
6
5
|
import { AlwaysStencilFunc, EqualStencilFunc, KeepStencilOp, Mesh, NotEqualStencilFunc, ReplaceStencilOp, } from 'three';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
@@ -31,22 +30,19 @@ export class NgtsMask {
|
|
|
31
30
|
};
|
|
32
31
|
});
|
|
33
32
|
extend({ Mesh });
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const [mesh, spread] = [this.meshRef().nativeElement, this.spread()];
|
|
38
|
-
Object.assign(mesh.material, spread);
|
|
39
|
-
});
|
|
33
|
+
effect(() => {
|
|
34
|
+
const [mesh, spread] = [this.meshRef().nativeElement, this.spread()];
|
|
35
|
+
Object.assign(mesh.material, spread);
|
|
40
36
|
});
|
|
41
37
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsMask, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: NgtsMask, isStandalone: true, selector: "ngts-mask", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
44
40
|
<ngt-mesh #mesh [renderOrder]="-id()" [parameters]="parameters()">
|
|
45
41
|
<ng-content />
|
|
46
42
|
</ngt-mesh>
|
|
47
43
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
44
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsMask, decorators: [{
|
|
50
46
|
type: Component,
|
|
51
47
|
args: [{
|
|
52
48
|
selector: 'ngts-mask',
|
|
@@ -75,4 +71,4 @@ export function injectMask(id, inverse = () => false, { injector } = {}) {
|
|
|
75
71
|
});
|
|
76
72
|
});
|
|
77
73
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9zdGFnaW5nL3NyYy9saWIvbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLE1BQU0sRUFHTixLQUFLLEVBQ0wsZUFBZSxFQUNmLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFXLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ04saUJBQWlCLEVBRWpCLGdCQUFnQixFQUNoQixhQUFhLEVBRWIsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixnQkFBZ0IsR0FDaEIsTUFBTSxPQUFPLENBQUM7O0FBT2YsTUFBTSxjQUFjLEdBQW9CO0lBQ3ZDLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxLQUFLO0NBQ2pCLENBQUM7QUFhRixNQUFNLE9BQU8sUUFBUTtJQXdCcEI7UUF2QkEsT0FBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM5QyxZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRTlELFlBQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUE2QyxNQUFNLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUMsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlDLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN2RixPQUFPO2dCQUNOLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLGlCQUFpQjtnQkFDOUIsV0FBVyxFQUFFLGdCQUFnQjtnQkFDN0IsWUFBWSxFQUFFLGdCQUFnQjtnQkFDOUIsWUFBWSxFQUFFLGdCQUFnQjthQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFHRixNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQS9CVyxRQUFRO2tHQUFSLFFBQVEsK2FBUlY7Ozs7RUFJVDs7MkZBSVcsUUFBUTtrQkFYcEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDL0M7O0FBbUNELE1BQU0sVUFBVSxVQUFVLENBQ3pCLEVBQWdCLEVBQ2hCLFVBQXlCLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFDcEMsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsT0FBTyxjQUFjLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDaEQsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLE9BQU87Z0JBQ04sWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFVBQVUsRUFBRSxHQUFHO2dCQUNmLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7Z0JBQzlELFdBQVcsRUFBRSxhQUFhO2dCQUMxQixZQUFZLEVBQUUsYUFBYTtnQkFDM0IsWUFBWSxFQUFFLGFBQWE7YUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0SW5qZWN0b3IsXG5cdGlucHV0LFxuXHRudW1iZXJBdHRyaWJ1dGUsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndE1lc2gsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHtcblx0QWx3YXlzU3RlbmNpbEZ1bmMsXG5cdEJ1ZmZlckdlb21ldHJ5LFxuXHRFcXVhbFN0ZW5jaWxGdW5jLFxuXHRLZWVwU3RlbmNpbE9wLFxuXHRNYXRlcmlhbCxcblx0TWVzaCxcblx0Tm90RXF1YWxTdGVuY2lsRnVuYyxcblx0UmVwbGFjZVN0ZW5jaWxPcCxcbn0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNNYXNrT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0TWVzaD4ge1xuXHRjb2xvcldyaXRlOiBib29sZWFuO1xuXHRkZXB0aFdyaXRlOiBib29sZWFuO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c01hc2tPcHRpb25zID0ge1xuXHRjb2xvcldyaXRlOiBmYWxzZSxcblx0ZGVwdGhXcml0ZTogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW1hc2snLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtbWVzaCAjbWVzaCBbcmVuZGVyT3JkZXJdPVwiLWlkKClcIiBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtbWVzaD5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c01hc2sge1xuXHRpZCA9IGlucHV0KDEsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIFsnY29sb3JXcml0ZScsICdkZXB0aFdyaXRlJ10pO1xuXG5cdG1lc2hSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxNZXNoPEJ1ZmZlckdlb21ldHJ5LCBNYXRlcmlhbD4+PignbWVzaCcpO1xuXG5cdHByaXZhdGUgY29sb3JXcml0ZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnY29sb3JXcml0ZScpO1xuXHRwcml2YXRlIGRlcHRoV3JpdGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlcHRoV3JpdGUnKTtcblx0cHJpdmF0ZSBzcHJlYWQgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgW2lkLCBjb2xvcldyaXRlLCBkZXB0aFdyaXRlXSA9IFt0aGlzLmlkKCksIHRoaXMuY29sb3JXcml0ZSgpLCB0aGlzLmRlcHRoV3JpdGUoKV07XG5cdFx0cmV0dXJuIHtcblx0XHRcdGNvbG9yV3JpdGUsXG5cdFx0XHRkZXB0aFdyaXRlLFxuXHRcdFx0c3RlbmNpbFdyaXRlOiB0cnVlLFxuXHRcdFx0c3RlbmNpbFJlZjogaWQsXG5cdFx0XHRzdGVuY2lsRnVuYzogQWx3YXlzU3RlbmNpbEZ1bmMsXG5cdFx0XHRzdGVuY2lsRmFpbDogUmVwbGFjZVN0ZW5jaWxPcCxcblx0XHRcdHN0ZW5jaWxaRmFpbDogUmVwbGFjZVN0ZW5jaWxPcCxcblx0XHRcdHN0ZW5jaWxaUGFzczogUmVwbGFjZVN0ZW5jaWxPcCxcblx0XHR9O1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBNZXNoIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IFttZXNoLCBzcHJlYWRdID0gW3RoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ByZWFkKCldO1xuXHRcdFx0T2JqZWN0LmFzc2lnbihtZXNoLm1hdGVyaWFsLCBzcHJlYWQpO1xuXHRcdH0pO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RNYXNrKFxuXHRpZDogKCkgPT4gbnVtYmVyLFxuXHRpbnZlcnNlOiAoKSA9PiBib29sZWFuID0gKCkgPT4gZmFsc2UsXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0TWFzaywgaW5qZWN0b3IsICgpID0+IHtcblx0XHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW19pZCwgX2ludmVyc2VdID0gW2lkKCksIGludmVyc2UoKV07XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdGVuY2lsV3JpdGU6IHRydWUsXG5cdFx0XHRcdHN0ZW5jaWxSZWY6IF9pZCxcblx0XHRcdFx0c3RlbmNpbEZ1bmM6IF9pbnZlcnNlID8gTm90RXF1YWxTdGVuY2lsRnVuYyA6IEVxdWFsU3RlbmNpbEZ1bmMsXG5cdFx0XHRcdHN0ZW5jaWxGYWlsOiBLZWVwU3RlbmNpbE9wLFxuXHRcdFx0XHRzdGVuY2lsWkZhaWw6IEtlZXBTdGVuY2lsT3AsXG5cdFx0XHRcdHN0ZW5jaWxaUGFzczogS2VlcFN0ZW5jaWxPcCxcblx0XHRcdH07XG5cdFx0fSk7XG5cdH0pO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DestroyRef, Directive,
|
|
1
|
+
import { DestroyRef, Directive, TemplateRef, ViewContainerRef, afterNextRender, computed, inject, input, output, signal, untracked, } from '@angular/core';
|
|
2
2
|
import { injectTexture } from 'angular-three-soba/loaders';
|
|
3
3
|
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -48,17 +48,15 @@ export class NgtsMatcapTexture {
|
|
|
48
48
|
constructor() {
|
|
49
49
|
this.matcapTexture = input();
|
|
50
50
|
this.matcapTextureLoaded = output();
|
|
51
|
-
this.injector = inject(Injector);
|
|
52
51
|
this.template = inject(TemplateRef);
|
|
53
52
|
this.vcr = inject(ViewContainerRef);
|
|
54
53
|
this.id = computed(() => this.matcapTexture()?.id ?? 0);
|
|
55
54
|
this.format = computed(() => this.matcapTexture()?.format ?? 1024);
|
|
55
|
+
const { texture } = injectMatcapTexture(this.id, {
|
|
56
|
+
format: this.format,
|
|
57
|
+
onLoad: this.matcapTextureLoaded.emit.bind(this.matcapTextureLoaded),
|
|
58
|
+
});
|
|
56
59
|
afterNextRender(() => {
|
|
57
|
-
const { texture } = injectMatcapTexture(this.id, {
|
|
58
|
-
format: this.format,
|
|
59
|
-
onLoad: this.matcapTextureLoaded.emit.bind(this.matcapTextureLoaded),
|
|
60
|
-
injector: this.injector,
|
|
61
|
-
});
|
|
62
60
|
untracked(() => {
|
|
63
61
|
this.ref = this.vcr.createEmbeddedView(this.template, { $implicit: texture });
|
|
64
62
|
this.ref.detectChanges();
|
|
@@ -71,11 +69,11 @@ export class NgtsMatcapTexture {
|
|
|
71
69
|
static ngTemplateContextGuard(_, ctx) {
|
|
72
70
|
return true;
|
|
73
71
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
75
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsMatcapTexture, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
73
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.4", type: NgtsMatcapTexture, isStandalone: true, selector: "ng-template[matcapTexture]", inputs: { matcapTexture: { classPropertyName: "matcapTexture", publicName: "matcapTexture", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { matcapTextureLoaded: "matcapTextureLoaded" }, ngImport: i0 }); }
|
|
76
74
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsMatcapTexture, decorators: [{
|
|
78
76
|
type: Directive,
|
|
79
77
|
args: [{ selector: 'ng-template[matcapTexture]', standalone: true }]
|
|
80
78
|
}], ctorParameters: () => [] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2FwLXRleHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL21hdGNhcC10ZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUlULFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRzVELFNBQVMsZUFBZSxDQUFDLE1BQWM7SUFDdEMsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNoQixLQUFLLEVBQUU7WUFDTixPQUFPLE9BQU8sQ0FBQztRQUNoQixLQUFLLEdBQUc7WUFDUCxPQUFPLFFBQVEsQ0FBQztRQUNqQixLQUFLLEdBQUc7WUFDUCxPQUFPLFFBQVEsQ0FBQztRQUNqQixLQUFLLEdBQUc7WUFDUCxPQUFPLFFBQVEsQ0FBQztRQUNqQjtZQUNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztBQUNGLENBQUM7QUFFRCxNQUFNLFFBQVEsR0FBRyxvRUFBb0UsQ0FBQztBQUN0RixNQUFNLFdBQVcsR0FBRyx3RkFBd0YsQ0FBQztBQUU3RyxNQUFNLFVBQVUsbUJBQW1CLENBQ2xDLEtBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFDbkMsRUFDQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUNuQixNQUFNLEVBQ04sUUFBUSxNQUNrRixFQUFFO0lBRTdGLE9BQU8sY0FBYyxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDekQsTUFBTSxVQUFVLEdBQUcsTUFBTSxD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RSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFvQixFQUFFLEdBQVk7UUFDL0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDOzhHQWhDVyxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0RGVzdHJveVJlZixcblx0RGlyZWN0aXZlLFxuXHRFbWJlZGRlZFZpZXdSZWYsXG5cdEluamVjdG9yLFxuXHRTaWduYWwsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGNvbXB1dGVkLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRvdXRwdXQsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdFRleHR1cmUgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbG9hZGVycyc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IFRleHR1cmUgfSBmcm9tICd0aHJlZSc7XG5cbmZ1bmN0aW9uIGdldEZvcm1hdFN0cmluZyhmb3JtYXQ6IG51bWJlcikge1xuXHRzd2l0Y2ggKGZvcm1hdCkge1xuXHRcdGNhc2UgNjQ6XG5cdFx0XHRyZXR1cm4gJy02NHB4Jztcblx0XHRjYXNlIDEyODpcblx0XHRcdHJldHVybiAnLTEyOHB4Jztcblx0XHRjYXNlIDI1Njpcblx0XHRcdHJldHVybiAnLTI1NnB4Jztcblx0XHRjYXNlIDUxMjpcblx0XHRcdHJldHVybiAnLTUxMnB4Jztcblx0XHRkZWZhdWx0OlxuXHRcdFx0cmV0dXJuICcnO1xuXHR9XG59XG5cbmNvbnN0IExJU1RfVVJMID0gJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9wbW5kcnMvZHJlaS1hc3NldHNAbWFzdGVyL21hdGNhcHMuanNvbic7XG5jb25zdCBNQVRDQVBfUk9PVCA9ICdodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9lbW1lbGxlcHBpL21hdGNhcHMvOWIzNmNjYWFmMGEyNDg4MWEzOTA2MmQwNTU2NmM5ZTkyYmU0YWEwZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RNYXRjYXBUZXh0dXJlKFxuXHRpZDogKCkgPT4gbnVtYmVyIHwgc3RyaW5nID0gKCkgPT4gMCxcblx0e1xuXHRcdGZvcm1hdCA9ICgpID0+IDEwMjQsXG5cdFx0b25Mb2FkLFxuXHRcdGluamVjdG9yLFxuXHR9OiB7IGZvcm1hdD86ICgpID0+IG51bWJlcjsgb25Mb2FkPzogKHRleHR1cmU6IFRleHR1cmVbXSkgPT4gdm9pZDsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30sXG4pIHtcblx0cmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdE1hdGNhcFRleHR1cmUsIGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWF0Y2FwTGlzdCA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pih7fSk7XG5cblx0XHRmZXRjaChMSVNUX1VSTClcblx0XHRcdC50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG5cdFx0XHQudGhlbigobGlzdCkgPT4ge1xuXHRcdFx0XHRtYXRjYXBMaXN0LnNldChsaXN0KTtcblx0XHRcdH0pO1xuXG5cdFx0Y29uc3QgREVGQVVMVF9NQVRDQVAgPSBjb21wdXRlZCgoKSA9PiBtYXRjYXBMaXN0KClbMF0pO1xuXHRcdGNvbnN0IG51bVRvdCA9IGNvbXB1dGVkKCgpID0+IE9iamVjdC5rZXlzKG1hdGNhcExpc3QoKSkubGVuZ3RoKTtcblxuXHRcdGNvbnN0IGZpbGVIYXNoID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgaWRWYWx1ZSA9IGlkKCk7XG5cdFx0XHRpZiAodHlwZW9mIGlkVmFsdWUgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdHJldHVybiBpZFZhbHVlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodHlwZW9mIGlkVmFsdWUgPT09ICdudW1iZXInKSB7XG5cdFx0XHRcdHJldHVybiBtYXRjYXBMaXN0KClbaWRWYWx1ZV07XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgZmlsZU5hbWUgPSBjb21wdXRlZCgoKSA9PiBgJHtmaWxlSGFzaCgpIHx8IERFRkFVTFRfTUFUQ0FQKCl9JHtnZXRGb3JtYXRTdHJpbmcoZm9ybWF0KCkpfS5wbmdgKTtcblx0XHRjb25zdCB1cmwgPSBjb21wdXRlZCgoKSA9PiBgJHtNQVRDQVBfUk9PVH0vJHtmb3JtYXQoKX0vJHtmaWxlTmFtZSgpfWApO1xuXG5cdFx0Y29uc3QgbWF0Y2FwVGV4dHVyZSA9IGluamVjdFRleHR1cmUodXJsLCB7IG9uTG9hZCB9KTtcblxuXHRcdHJldHVybiB7IHVybCwgdGV4dHVyZTogbWF0Y2FwVGV4dHVyZSwgbnVtVG90IH07XG5cdH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNNYXRjYXBUZXh0dXJlT3B0aW9ucyB7XG5cdGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuXHRmb3JtYXQ/OiBudW1iZXI7XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW21hdGNhcFRleHR1cmVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndHNNYXRjYXBUZXh0dXJlIHtcblx0bWF0Y2FwVGV4dHVyZSA9IGlucHV0PE5ndHNNYXRjYXBUZXh0dXJlT3B0aW9ucz4oKTtcblx0bWF0Y2FwVGV4dHVyZUxvYWRlZCA9IG91dHB1dDxUZXh0dXJlW10+KCk7XG5cblx0cHJpdmF0ZSB0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZik7XG5cdHByaXZhdGUgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG5cdHByaXZhdGUgaWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1hdGNhcFRleHR1cmUoKT8uaWQgPz8gMCk7XG5cdHByaXZhdGUgZm9ybWF0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tYXRjYXBUZXh0dXJlKCk/LmZvcm1hdCA/PyAxMDI0KTtcblxuXHRwcml2YXRlIHJlZj86IEVtYmVkZGVkVmlld1JlZjx7ICRpbXBsaWNpdDogU2lnbmFsPFRleHR1cmUgfCBudWxsPiB9PjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCB7IHRleHR1cmUgfSA9IGluamVjdE1hdGNhcFRleHR1cmUodGhpcy5pZCwge1xuXHRcdFx0Zm9ybWF0OiB0aGlzLmZvcm1hdCxcblx0XHRcdG9uTG9hZDogdGhpcy5tYXRjYXBUZXh0dXJlTG9hZGVkLmVtaXQuYmluZCh0aGlzLm1hdGNhcFRleHR1cmVMb2FkZWQpLFxuXHRcdH0pO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMucmVmID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGUsIHsgJGltcGxpY2l0OiB0ZXh0dXJlIH0pO1xuXHRcdFx0XHR0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuXHRcdFx0dGhpcy5yZWY/LmRlc3Ryb3koKTtcblx0XHR9KTtcblx0fVxuXG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF86IE5ndHNNYXRjYXBUZXh0dXJlLCBjdHg6IHVua25vd24pOiBjdHggaXMgeyAkaW1wbGljaXQ6IFNpZ25hbDxUZXh0dXJlIHwgbnVsbD4gfSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DestroyRef, Directive,
|
|
1
|
+
import { DestroyRef, Directive, TemplateRef, ViewContainerRef, afterNextRender, computed, effect, inject, input, output, signal, untracked, } from '@angular/core';
|
|
2
2
|
import { injectTexture } from 'angular-three-soba/loaders';
|
|
3
3
|
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
4
|
import { RepeatWrapping, Vector2 } from 'three';
|
|
@@ -45,7 +45,6 @@ export class NgtsNormalTexture {
|
|
|
45
45
|
constructor() {
|
|
46
46
|
this.normalTexture = input();
|
|
47
47
|
this.normalTextureLoaded = output();
|
|
48
|
-
this.injector = inject(Injector);
|
|
49
48
|
this.template = inject(TemplateRef);
|
|
50
49
|
this.vcr = inject(ViewContainerRef);
|
|
51
50
|
this.id = computed(() => this.normalTexture()?.id ?? 0);
|
|
@@ -53,12 +52,11 @@ export class NgtsNormalTexture {
|
|
|
53
52
|
const { id: _, ...settings } = this.normalTexture() || {};
|
|
54
53
|
return settings;
|
|
55
54
|
});
|
|
55
|
+
const { texture } = injectNormalTexture(this.id, {
|
|
56
|
+
settings: this.settings,
|
|
57
|
+
onLoad: this.normalTextureLoaded.emit.bind(this.normalTextureLoaded),
|
|
58
|
+
});
|
|
56
59
|
afterNextRender(() => {
|
|
57
|
-
const { texture } = injectNormalTexture(this.id, {
|
|
58
|
-
settings: this.settings,
|
|
59
|
-
onLoad: this.normalTextureLoaded.emit.bind(this.normalTextureLoaded),
|
|
60
|
-
injector: this.injector,
|
|
61
|
-
});
|
|
62
60
|
untracked(() => {
|
|
63
61
|
this.ref = this.vcr.createEmbeddedView(this.template, { $implicit: texture });
|
|
64
62
|
this.ref.detectChanges();
|
|
@@ -71,11 +69,11 @@ export class NgtsNormalTexture {
|
|
|
71
69
|
static ngTemplateContextGuard(_, ctx) {
|
|
72
70
|
return true;
|
|
73
71
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
75
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsNormalTexture, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
73
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.4", type: NgtsNormalTexture, isStandalone: true, selector: "ng-template[normalTexture]", inputs: { normalTexture: { classPropertyName: "normalTexture", publicName: "normalTexture", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { normalTextureLoaded: "normalTextureLoaded" }, ngImport: i0 }); }
|
|
76
74
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsNormalTexture, decorators: [{
|
|
78
76
|
type: Directive,
|
|
79
77
|
args: [{ selector: 'ng-template[normalTexture]', standalone: true }]
|
|
80
78
|
}], ctorParameters: () => [] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsLXRleHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL25vcm1hbC10ZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUlULFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQVcsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUV6RCxNQUFNLFdBQVcsR0FBRyx3RkFBd0YsQ0FBQztBQUM3RyxNQUFNLFFBQVEsR0FBRyw0RUFBNEUsQ0FBQztBQVE5RixNQUFNLFVBQVUsbUJBQW1CLENBQ2xDLEtBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFDbkMsRUFDQyxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDckIsTUFBTSxFQUNOLFFBQVEsR0FDb0c7SUFFN0csT0FBTyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUN6RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBRXRELEtBQUssQ0FBQyxRQUFRLENBQUM7YUFDYixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN6QixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNkLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFB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TSxFQUFFLE9BQU8sRUFBRSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDaEQsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDcEUsQ0FBQyxDQUFDO1FBRUgsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNwQixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQW9CLEVBQUUsR0FBWTtRQUMvRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7OEdBbkNXLGlCQUFpQjtrR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREZXN0cm95UmVmLFxuXHREaXJlY3RpdmUsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0SW5qZWN0b3IsXG5cdFNpZ25hbCxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDb250YWluZXJSZWYsXG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHRzaWduYWwsXG5cdHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RUZXh0dXJlIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2xvYWRlcnMnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5pbXBvcnQgeyBSZXBlYXRXcmFwcGluZywgVGV4dHVyZSwgVmVjdG9yMiB9IGZyb20gJ3RocmVlJztcblxuY29uc3QgTk9STUFMX1JPT1QgPSAnaHR0cHM6Ly9yYXdjZG4uZ2l0aGFjay5jb20vcG1uZHJzL2RyZWktYXNzZXRzLzdhMzEwNDk5N2UxNTc2ZjgzNDcyODI5ODE1YjAwODgwZDg4YjMyZmInO1xuY29uc3QgTElTVF9VUkwgPSAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3BtbmRycy9kcmVpLWFzc2V0c0BtYXN0ZXIvbm9ybWFscy9ub3JtYWxzLmpzb24nO1xuXG5pbnRlcmZhY2UgTmd0c05vcm1hbFRleHR1cmVTZXR0aW5ncyB7XG5cdHJlcGVhdD86IG51bWJlcltdO1xuXHRhbmlzb3Ryb3B5PzogbnVtYmVyO1xuXHRvZmZzZXQ/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5vcm1hbFRleHR1cmUoXG5cdGlkOiAoKSA9PiBzdHJpbmcgfCBudW1iZXIgPSAoKSA9PiAwLFxuXHR7XG5cdFx0c2V0dGluZ3MgPSAoKSA9PiAoe30pLFxuXHRcdG9uTG9hZCxcblx0XHRpbmplY3Rvcixcblx0fTogeyBzZXR0aW5ncz86ICgpID0+IE5ndHNOb3JtYWxUZXh0dXJlU2V0dGluZ3M7IG9uTG9hZD86ICh0ZXh0dXJlOiBUZXh0dXJlW10pID0+IHZvaWQ7IGluamVjdG9yPzogSW5qZWN0b3IgfSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Tm9ybWFsVGV4dHVyZSwgaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBub3JtYWxMaXN0ID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHt9KTtcblxuXHRcdGZldGNoKExJU1RfVVJMKVxuXHRcdFx0LnRoZW4oKHJlcykgPT4gcmVzLmpzb24oKSlcblx0XHRcdC50aGVuKChsaXN0KSA9PiB7XG5cdFx0XHRcdG5vcm1hbExpc3Quc2V0KGxpc3QpO1xuXHRcdFx0fSk7XG5cblx0XHRjb25zdCBERUZBVUxUX05PUk1BTCA9IGNvbXB1dGVkKCgpID0+IG5vcm1hbExpc3QoKVswXSk7XG5cdFx0Y29uc3QgbnVtVG90ID0gY29tcHV0ZWQoKCkgPT4gT2JqZWN0LmtleXMobm9ybWFsTGlzdCgpKS5sZW5ndGgpO1xuXG5cdFx0Y29uc3QgZmlsZUhhc2ggPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBpZFZhbHVlID0gaWQoKTtcblx0XHRcdGlmICh0eXBlb2YgaWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdFx0cmV0dXJuIGlkVmFsdWU7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0eXBlb2YgaWRWYWx1ZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0cmV0dXJuIG5vcm1hbExpc3QoKVtpZFZhbHVlXTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSk7XG5cblx0XHRjb25zdCBpbWFnZU5hbWUgPSBjb21wdXRlZCgoKSA9PiBmaWxlSGFzaCgpIHx8IERFRkFVTFRfTk9STUFMKCkpO1xuXHRcdGNvbnN0IHVybCA9IGNvbXB1dGVkKCgpID0+IGAke05PUk1BTF9ST09UfS9ub3JtYWxzLyR7aW1hZ2VOYW1lKCl9YCk7XG5cblx0XHRjb25zdCBub3JtYWxUZXh0dXJlID0gaW5qZWN0VGV4dHVyZSh1cmwsIHsgb25Mb2FkIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IHRleHR1cmUgPSBub3JtYWxUZXh0dXJlKCk7XG5cdFx0XHRpZiAoIXRleHR1cmUpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgeyBhbmlzb3Ryb3B5ID0gMSwgcmVwZWF0ID0gWzEsIDFdLCBvZmZzZXQgPSBbMCwgMF0gfSA9IHNldHRpbmdzKCk7XG5cdFx0XHR0ZXh0dXJlLndyYXBTID0gdGV4dHVyZS53cmFwVCA9IFJlcGVhdFdyYXBwaW5nO1xuXHRcdFx0dGV4dHVyZS5yZXBlYXQgPSBuZXcgVmVjdG9yMihyZXBlYXRbMF0sIHJlcGVhdFsxXSk7XG5cdFx0XHR0ZXh0dXJlLm9mZnNldCA9IG5ldyBWZWN0b3IyKG9mZnNldFswXSwgb2Zmc2V0WzFdKTtcblx0XHRcdHRleHR1cmUuYW5pc290cm9weSA9IGFuaXNvdHJvcHk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4geyB1cmwsIHRleHR1cmU6IG5vcm1hbFRleHR1cmUsIG51bVRvdCB9O1xuXHR9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzTm9ybWFsVGV4dHVyZU9wdGlvbnMgZXh0ZW5kcyBOZ3RzTm9ybWFsVGV4dHVyZVNldHRpbmdzIHtcblx0aWQ/OiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW25vcm1hbFRleHR1cmVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndHNOb3JtYWxUZXh0dXJlIHtcblx0bm9ybWFsVGV4dHVyZSA9IGlucHV0PE5ndHNOb3JtYWxUZXh0dXJlT3B0aW9ucz4oKTtcblx0bm9ybWFsVGV4dHVyZUxvYWRlZCA9IG91dHB1dDxUZXh0dXJlW10+KCk7XG5cblx0cHJpdmF0ZSB0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZik7XG5cdHByaXZhdGUgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG5cdHByaXZhdGUgaWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5vcm1hbFRleHR1cmUoKT8uaWQgPz8gMCk7XG5cdHByaXZhdGUgc2V0dGluZ3MgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgeyBpZDogXywgLi4uc2V0dGluZ3MgfSA9IHRoaXMubm9ybWFsVGV4dHVyZSgpIHx8IHt9O1xuXHRcdHJldHVybiBzZXR0aW5ncztcblx0fSk7XG5cblx0cHJpdmF0ZSByZWY/OiBFbWJlZGRlZFZpZXdSZWY8eyAkaW1wbGljaXQ6IFNpZ25hbDxUZXh0dXJlIHwgbnVsbD4gfT47XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgeyB0ZXh0dXJlIH0gPSBpbmplY3ROb3JtYWxUZXh0dXJlKHRoaXMuaWQsIHtcblx0XHRcdHNldHRpbmdzOiB0aGlzLnNldHRpbmdzLFxuXHRcdFx0b25Mb2FkOiB0aGlzLm5vcm1hbFRleHR1cmVMb2FkZWQuZW1pdC5iaW5kKHRoaXMubm9ybWFsVGV4dHVyZUxvYWRlZCksXG5cdFx0fSk7XG5cblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0dGhpcy5yZWYgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSwgeyAkaW1wbGljaXQ6IHRleHR1cmUgfSk7XG5cdFx0XHRcdHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG5cdFx0XHR0aGlzLnJlZj8uZGVzdHJveSgpO1xuXHRcdH0pO1xuXHR9XG5cblx0c3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXzogTmd0c05vcm1hbFRleHR1cmUsIGN0eDogdW5rbm93bik6IGN0eCBpcyB7ICRpbXBsaWNpdDogU2lnbmFsPFRleHR1cmUgfCBudWxsPiB9IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component,
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, computed, effect, inject, input, viewChild, } from '@angular/core';
|
|
2
2
|
import { NgtArgs, extend, omit, pick } from 'angular-three';
|
|
3
3
|
import { getVersion } from 'angular-three-soba/misc';
|
|
4
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
5
4
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
6
5
|
import { DirectionalLight, Group, MathUtils, OrthographicCamera, Vector2, Vector3 } from 'three';
|
|
7
6
|
import { NgtsAccumulativeShadows } from './accumulative-shadows';
|
|
@@ -40,13 +39,10 @@ export class NgtsRandomizedLights {
|
|
|
40
39
|
this.far = pick(this.options, 'far');
|
|
41
40
|
this.cameraArgs = computed(() => [-this.size(), this.size(), this.size(), -this.size(), this.near(), this.far()]);
|
|
42
41
|
extend({ Group, DirectionalLight, OrthographicCamera, Vector2 });
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.accumulativeShadows.lightsMap.set(lights.uuid, this.update.bind(this));
|
|
48
|
-
return () => this.accumulativeShadows.lightsMap.delete(lights.uuid);
|
|
49
|
-
});
|
|
42
|
+
effect((onCleanup) => {
|
|
43
|
+
const lights = this.lightsRef().nativeElement;
|
|
44
|
+
this.accumulativeShadows.lightsMap.set(lights.uuid, this.update.bind(this));
|
|
45
|
+
onCleanup(() => this.accumulativeShadows.lightsMap.delete(lights.uuid));
|
|
50
46
|
});
|
|
51
47
|
}
|
|
52
48
|
update() {
|
|
@@ -67,8 +63,8 @@ export class NgtsRandomizedLights {
|
|
|
67
63
|
}
|
|
68
64
|
}
|
|
69
65
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsRandomizedLights, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsRandomizedLights, isStandalone: true, selector: "ngts-randomized-lights", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lightsRef", first: true, predicate: ["lights"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
72
68
|
<ngt-group #lights [parameters]="parameters()">
|
|
73
69
|
@for (i of count(); track $index) {
|
|
74
70
|
<ngt-directional-light [castShadow]="castShadow()" [intensity]="intensity() / amount()">
|
|
@@ -80,7 +76,7 @@ export class NgtsRandomizedLights {
|
|
|
80
76
|
</ngt-group>
|
|
81
77
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
82
78
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsRandomizedLights, decorators: [{
|
|
84
80
|
type: Component,
|
|
85
81
|
args: [{
|
|
86
82
|
selector: 'ngts-randomized-lights',
|
|
@@ -101,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
101
97
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
102
98
|
}]
|
|
103
99
|
}], ctorParameters: () => [] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9taXplZC1saWdodHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL3JhbmRvbWl6ZWQtbGlnaHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBWSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQThCakUsTUFBTSxjQUFjLEdBQWdDO0lBQ25ELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLElBQUksRUFBRSxLQUFLO0lBQ1gsT0FBTyxFQUFFLEdBQUc7SUFDWixJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksRUFBRSxHQUFHO0lBQ1QsR0FBRyxFQUFFLEdBQUc7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUNULFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsVUFBVSxFQUFF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O3FCQUFNLENBQUM7b0JBQ1AsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO29CQUNoRSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsRUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQ3pCLENBQUM7Z0JBQ0gsQ0FBQztZQUNGLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQzs4R0FqRVcsb0JBQW9CO2tHQUFwQixvQkFBb0IsaVZBZnRCOzs7Ozs7Ozs7O0VBVVQsNERBQ1MsT0FBTzs7MkZBSUwsb0JBQW9CO2tCQWxCaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0VBVVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRjb21wdXRlZCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIE5ndEdyb3VwLCBleHRlbmQsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGdldFZlcnNpb24gfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBEaXJlY3Rpb25hbExpZ2h0LCBHcm91cCwgTWF0aFV0aWxzLCBPYmplY3QzRCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBWZWN0b3IyLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c0FjY3VtdWxhdGl2ZVNoYWRvd3MgfSBmcm9tICcuL2FjY3VtdWxhdGl2ZS1zaGFkb3dzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzUmFuZG9taXplZExpZ2h0c09wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE5ndEdyb3VwPiB7XG5cdC8qKiBIb3cgbWFueSBmcmFtZXMgaXQgd2lsbCBqaWdnbGUgdGhlIGxpZ2h0cywgMS5cblx0ICogIEZyYW1lcyBpcyBjb250ZXh0IGF3YXJlLCBpZiBhIHByb3ZpZGVyIGxpa2UgQWNjdW11bGF0aXZlU2hhZG93cyBleGlzdHMsIGZyYW1lcyB3aWxsIGJlIHRha2VuIGZyb20gdGhlcmUhICAqL1xuXHRmcmFtZXM6IG51bWJlcjtcblx0LyoqIExpZ2h0IHBvc2l0aW9uLCBbMCwgMCwgMF0gKi9cblx0cG9zaXRpb246IFt4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyXTtcblx0LyoqIFJhZGl1cyBvZiB0aGUgamlnZ2xlLCBoaWdoZXIgdmFsdWVzIG1ha2Ugc29mdGVyIGxpZ2h0LCA1ICovXG5cdHJhZGl1czogbnVtYmVyO1xuXHQvKiogQW1vdW50IG9mIGxpZ2h0cywgOCAqL1xuXHRhbW91bnQ6IG51bWJlcjtcblx0LyoqIExpZ2h0IGludGVuc2l0eSwgMSAqL1xuXHRpbnRlbnNpdHk6IG51bWJlcjtcblx0LyoqIEFtYmllbnQgb2NjbHVzaW9uLCBsb3dlciB2YWx1ZXMgbWVhbiBsZXNzIEFPLCBoaWdodCBtb3JlLCB5b3UgY2FuIG1peCBBTyBhbmQgZGlyZWN0aW9uYWwgbGlnaHQsIDAuNSAqL1xuXHRhbWJpZW50OiBudW1iZXI7XG5cdC8qKiBJZiB0aGUgbGlnaHRzIGNhc3Qgc2hhZG93cywgdGhpcyBpcyB0cnVlIGJ5IGRlZmF1bHQgKi9cblx0Y2FzdFNoYWRvdzogYm9vbGVhbjtcblx0LyoqIERlZmF1bHQgc2hhZG93IGJpYXMsIDAgKi9cblx0YmlhczogbnVtYmVyO1xuXHQvKiogRGVmYXVsdCBtYXAgc2l6ZSwgNTEyICovXG5cdG1hcFNpemU6IG51bWJlcjtcblx0LyoqIERlZmF1bHQgc2l6ZSBvZiB0aGUgc2hhZG93IGNhbWVyYSwgMTAgKi9cblx0c2l6ZTogbnVtYmVyO1xuXHQvKiogRGVmYXVsdCBzaGFkb3cgY2FtZXJhIG5lYXIsIDAuNSAqL1xuXHRuZWFyOiBudW1iZXI7XG5cdC8qKiBEZWZhdWx0IHNoYWRvdyBjYW1lcmEgZmFyLCA1MDAgKi9cblx0ZmFyOiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzUmFuZG9taXplZExpZ2h0c09wdGlvbnMgPSB7XG5cdGNhc3RTaGFkb3c6IHRydWUsXG5cdGJpYXM6IDAuMDAxLFxuXHRtYXBTaXplOiA1MTIsXG5cdHNpemU6IDUsXG5cdG5lYXI6IDAuNSxcblx0ZmFyOiA1MDAsXG5cdGZyYW1lczogMSxcblx0cG9zaXRpb246IFswLCAwLCAwXSxcblx0cmFkaXVzOiAxLFxuXHRhbW91bnQ6IDgsXG5cdGludGVuc2l0eTogZ2V0VmVyc2lvbigpID49IDE1NSA/IE1hdGguUEkgOiAxLFxuXHRhbWJpZW50OiAwLjUsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXJhbmRvbWl6ZWQtbGlnaHRzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNsaWdodHMgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCI+XG5cdFx0XHRAZm9yIChpIG9mIGNvdW50KCk7IHRyYWNrICRpbmRleCkge1xuXHRcdFx0XHQ8bmd0LWRpcmVjdGlvbmFsLWxpZ2h0IFtjYXN0U2hhZG93XT1cImNhc3RTaGFkb3coKVwiIFtpbnRlbnNpdHldPVwiaW50ZW5zaXR5KCkgLyBhbW91bnQoKVwiPlxuXHRcdFx0XHRcdDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImJpYXMoKVwiIGF0dGFjaD1cInNoYWRvdy5iaWFzXCIgLz5cblx0XHRcdFx0XHQ8bmd0LXZlY3RvcjIgKmFyZ3M9XCJzaGFkb3dNYXBTaXplKClcIiBhdHRhY2g9XCJzaGFkb3cubWFwU2l6ZVwiIC8+XG5cdFx0XHRcdFx0PG5ndC1vcnRob2dyYXBoaWMtY2FtZXJhICphcmdzPVwiY2FtZXJhQXJncygpXCIgYXR0YWNoPVwic2hhZG93LmNhbWVyYVwiIC8+XG5cdFx0XHRcdDwvbmd0LWRpcmVjdGlvbmFsLWxpZ2h0PlxuXHRcdFx0fVxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNSYW5kb21pemVkTGlnaHRzIHtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIE9iamVjdC5rZXlzKGRlZmF1bHRPcHRpb25zKSBhcyBBcnJheTxrZXlvZiBOZ3RzUmFuZG9taXplZExpZ2h0c09wdGlvbnM+KTtcblxuXHRsaWdodHNSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdsaWdodHMnKTtcblxuXHRwcml2YXRlIGFjY3VtdWxhdGl2ZVNoYWRvd3MgPSBpbmplY3QoTmd0c0FjY3VtdWxhdGl2ZVNoYWRvd3MpO1xuXG5cdGNhc3RTaGFkb3cgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Nhc3RTaGFkb3cnKTtcblx0YmlhcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYmlhcycpO1xuXHRpbnRlbnNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ludGVuc2l0eScpO1xuXHRhbW91bnQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Ftb3VudCcpO1xuXG5cdHByaXZhdGUgbWFwU2l6ZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnbWFwU2l6ZScpO1xuXHRzaGFkb3dNYXBTaXplID0gY29tcHV0ZWQoKCkgPT4gW3RoaXMubWFwU2l6ZSgpLCB0aGlzLm1hcFNpemUoKV0pO1xuXG5cdHByaXZhdGUgcG9zaXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Bvc2l0aW9uJyk7XG5cdGxlbmd0aCA9IGNvbXB1dGVkKCgpID0+IG5ldyBWZWN0b3IzKC4uLnRoaXMucG9zaXRpb24oKSkubGVuZ3RoKCkpO1xuXG5cdGNvdW50ID0gY29tcHV0ZWQoKCkgPT4gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5hbW91bnQoKSB9LCAoXywgaW5kZXgpID0+IGluZGV4KSk7XG5cblx0cHJpdmF0ZSBzaXplID0gcGljayh0aGlzLm9wdGlvbnMsICdzaXplJyk7XG5cdHByaXZhdGUgbmVhciA9IHBpY2sodGhpcy5vcHRpb25zLCAnbmVhcicpO1xuXHRwcml2YXRlIGZhciA9IHBpY2sodGhpcy5vcHRpb25zLCAnZmFyJyk7XG5cdGNhbWVyYUFyZ3MgPSBjb21wdXRlZCgoKSA9PiBbLXRoaXMuc2l6ZSgpLCB0aGlzLnNpemUoKSwgdGhpcy5zaXplKCksIC10aGlzLnNpemUoKSwgdGhpcy5uZWFyKCksIHRoaXMuZmFyKCldKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCwgRGlyZWN0aW9uYWxMaWdodCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBWZWN0b3IyIH0pO1xuXG5cdFx0Y29uc3QgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHRhdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdFx0Y29uc3QgbGlnaHRzID0gdGhpcy5saWdodHNSZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHR0aGlzLmFjY3VtdWxhdGl2ZVNoYWRvd3MubGlnaHRzTWFwLnNldChsaWdodHMudXVpZCwgdGhpcy51cGRhdGUuYmluZCh0aGlzKSk7XG5cdFx0XHRcdHJldHVybiAoKSA9PiB0aGlzLmFjY3VtdWxhdGl2ZVNoYWRvd3MubGlnaHRzTWFwLmRlbGV0ZShsaWdodHMudXVpZCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHVwZGF0ZSgpIHtcblx0XHRsZXQgbGlnaHQ6IE9iamVjdDNEIHwgdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGxpZ2h0cyA9IHRoaXMubGlnaHRzUmVmKCkubmF0aXZlRWxlbWVudDtcblx0XHRpZiAobGlnaHRzKSB7XG5cdFx0XHRjb25zdCBbeyBhbWJpZW50LCByYWRpdXMsIHBvc2l0aW9uIH0sIGxlbmd0aF0gPSBbdGhpcy5vcHRpb25zKCksIHRoaXMubGVuZ3RoKCldO1xuXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGxpZ2h0cy5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRsaWdodCA9IGxpZ2h0cy5jaGlsZHJlbltpXTtcblx0XHRcdFx0aWYgKE1hdGgucmFuZG9tKCkgPiBhbWJpZW50KSB7XG5cdFx0XHRcdFx0bGlnaHQucG9zaXRpb24uc2V0KFxuXHRcdFx0XHRcdFx0cG9zaXRpb25bMF0gKyBNYXRoVXRpbHMucmFuZEZsb2F0U3ByZWFkKHJhZGl1cyksXG5cdFx0XHRcdFx0XHRwb3NpdGlvblsxXSArIE1hdGhVdGlscy5yYW5kRmxvYXRTcHJlYWQocmFkaXVzKSxcblx0XHRcdFx0XHRcdHBvc2l0aW9uWzJdICsgTWF0aFV0aWxzLnJhbmRGbG9hdFNwcmVhZChyYWRpdXMpLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Y29uc3QgbGFtYmRhID0gTWF0aC5hY29zKDIgKiBNYXRoLnJhbmRvbSgpIC0gMSkgLSBNYXRoLlBJIC8gMi4wO1xuXHRcdFx0XHRcdGNvbnN0IHBoaSA9IDIgKiBNYXRoLlBJICogTWF0aC5yYW5kb20oKTtcblx0XHRcdFx0XHRsaWdodC5wb3NpdGlvbi5zZXQoXG5cdFx0XHRcdFx0XHRNYXRoLmNvcyhsYW1iZGEpICogTWF0aC5jb3MocGhpKSAqIGxlbmd0aCxcblx0XHRcdFx0XHRcdE1hdGguYWJzKE1hdGguY29zKGxhbWJkYSkgKiBNYXRoLnNpbihwaGkpICogbGVuZ3RoKSxcblx0XHRcdFx0XHRcdE1hdGguc2luKGxhbWJkYSkgKiBsZW5ndGgsXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9taXplZC1saWdodHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL3JhbmRvbWl6ZWQtbGlnaHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBWSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQThCakUsTUFBTSxjQUFjLEdBQWdDO0lBQ25ELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLElBQUksRUFBRSxLQUFLO0lBQ1gsT0FBTyxFQUFFLEdBQUc7SUFDWixJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksRUFBRSxHQUFHO0lBQ1QsR0FBRyxFQUFFLEdBQUc7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUNULFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFD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QyxFQUFFLEdBQUcsR0FBRyxDQUFDO29CQUNoRSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsRUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQ3pCLENBQUM7Z0JBQ0gsQ0FBQztZQUNGLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQzs4R0E3RFcsb0JBQW9CO2tHQUFwQixvQkFBb0IsaVZBZnRCOzs7Ozs7Ozs7O0VBVVQsNERBQ1MsT0FBTzs7MkZBSUwsb0JBQW9CO2tCQWxCaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0VBVVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIE5ndEdyb3VwLCBleHRlbmQsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGdldFZlcnNpb24gfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBEaXJlY3Rpb25hbExpZ2h0LCBHcm91cCwgTWF0aFV0aWxzLCBPYmplY3QzRCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBWZWN0b3IyLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c0FjY3VtdWxhdGl2ZVNoYWRvd3MgfSBmcm9tICcuL2FjY3VtdWxhdGl2ZS1zaGFkb3dzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzUmFuZG9taXplZExpZ2h0c09wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE5ndEdyb3VwPiB7XG5cdC8qKiBIb3cgbWFueSBmcmFtZXMgaXQgd2lsbCBqaWdnbGUgdGhlIGxpZ2h0cywgMS5cblx0ICogIEZyYW1lcyBpcyBjb250ZXh0IGF3YXJlLCBpZiBhIHByb3ZpZGVyIGxpa2UgQWNjdW11bGF0aXZlU2hhZG93cyBleGlzdHMsIGZyYW1lcyB3aWxsIGJlIHRha2VuIGZyb20gdGhlcmUhICAqL1xuXHRmcmFtZXM6IG51bWJlcjtcblx0LyoqIExpZ2h0IHBvc2l0aW9uLCBbMCwgMCwgMF0gKi9cblx0cG9zaXRpb246IFt4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyXTtcblx0LyoqIFJhZGl1cyBvZiB0aGUgamlnZ2xlLCBoaWdoZXIgdmFsdWVzIG1ha2Ugc29mdGVyIGxpZ2h0LCA1ICovXG5cdHJhZGl1czogbnVtYmVyO1xuXHQvKiogQW1vdW50IG9mIGxpZ2h0cywgOCAqL1xuXHRhbW91bnQ6IG51bWJlcjtcblx0LyoqIExpZ2h0IGludGVuc2l0eSwgMSAqL1xuXHRpbnRlbnNpdHk6IG51bWJlcjtcblx0LyoqIEFtYmllbnQgb2NjbHVzaW9uLCBsb3dlciB2YWx1ZXMgbWVhbiBsZXNzIEFPLCBoaWdodCBtb3JlLCB5b3UgY2FuIG1peCBBTyBhbmQgZGlyZWN0aW9uYWwgbGlnaHQsIDAuNSAqL1xuXHRhbWJpZW50OiBudW1iZXI7XG5cdC8qKiBJZiB0aGUgbGlnaHRzIGNhc3Qgc2hhZG93cywgdGhpcyBpcyB0cnVlIGJ5IGRlZmF1bHQgKi9cblx0Y2FzdFNoYWRvdzogYm9vbGVhbjtcblx0LyoqIERlZmF1bHQgc2hhZG93IGJpYXMsIDAgKi9cblx0YmlhczogbnVtYmVyO1xuXHQvKiogRGVmYXVsdCBtYXAgc2l6ZSwgNTEyICovXG5cdG1hcFNpemU6IG51bWJlcjtcblx0LyoqIERlZmF1bHQgc2l6ZSBvZiB0aGUgc2hhZG93IGNhbWVyYSwgMTAgKi9cblx0c2l6ZTogbnVtYmVyO1xuXHQvKiogRGVmYXVsdCBzaGFkb3cgY2FtZXJhIG5lYXIsIDAuNSAqL1xuXHRuZWFyOiBudW1iZXI7XG5cdC8qKiBEZWZhdWx0IHNoYWRvdyBjYW1lcmEgZmFyLCA1MDAgKi9cblx0ZmFyOiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzUmFuZG9taXplZExpZ2h0c09wdGlvbnMgPSB7XG5cdGNhc3RTaGFkb3c6IHRydWUsXG5cdGJpYXM6IDAuMDAxLFxuXHRtYXBTaXplOiA1MTIsXG5cdHNpemU6IDUsXG5cdG5lYXI6IDAuNSxcblx0ZmFyOiA1MDAsXG5cdGZyYW1lczogMSxcblx0cG9zaXRpb246IFswLCAwLCAwXSxcblx0cmFkaXVzOiAxLFxuXHRhbW91bnQ6IDgsXG5cdGludGVuc2l0eTogZ2V0VmVyc2lvbigpID49IDE1NSA/IE1hdGguUEkgOiAxLFxuXHRhbWJpZW50OiAwLjUsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXJhbmRvbWl6ZWQtbGlnaHRzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNsaWdodHMgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCI+XG5cdFx0XHRAZm9yIChpIG9mIGNvdW50KCk7IHRyYWNrICRpbmRleCkge1xuXHRcdFx0XHQ8bmd0LWRpcmVjdGlvbmFsLWxpZ2h0IFtjYXN0U2hhZG93XT1cImNhc3RTaGFkb3coKVwiIFtpbnRlbnNpdHldPVwiaW50ZW5zaXR5KCkgLyBhbW91bnQoKVwiPlxuXHRcdFx0XHRcdDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImJpYXMoKVwiIGF0dGFjaD1cInNoYWRvdy5iaWFzXCIgLz5cblx0XHRcdFx0XHQ8bmd0LXZlY3RvcjIgKmFyZ3M9XCJzaGFkb3dNYXBTaXplKClcIiBhdHRhY2g9XCJzaGFkb3cubWFwU2l6ZVwiIC8+XG5cdFx0XHRcdFx0PG5ndC1vcnRob2dyYXBoaWMtY2FtZXJhICphcmdzPVwiY2FtZXJhQXJncygpXCIgYXR0YWNoPVwic2hhZG93LmNhbWVyYVwiIC8+XG5cdFx0XHRcdDwvbmd0LWRpcmVjdGlvbmFsLWxpZ2h0PlxuXHRcdFx0fVxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNSYW5kb21pemVkTGlnaHRzIHtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIE9iamVjdC5rZXlzKGRlZmF1bHRPcHRpb25zKSBhcyBBcnJheTxrZXlvZiBOZ3RzUmFuZG9taXplZExpZ2h0c09wdGlvbnM+KTtcblxuXHRsaWdodHNSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdsaWdodHMnKTtcblxuXHRwcml2YXRlIGFjY3VtdWxhdGl2ZVNoYWRvd3MgPSBpbmplY3QoTmd0c0FjY3VtdWxhdGl2ZVNoYWRvd3MpO1xuXG5cdGNhc3RTaGFkb3cgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Nhc3RTaGFkb3cnKTtcblx0YmlhcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYmlhcycpO1xuXHRpbnRlbnNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ludGVuc2l0eScpO1xuXHRhbW91bnQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Ftb3VudCcpO1xuXG5cdHByaXZhdGUgbWFwU2l6ZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnbWFwU2l6ZScpO1xuXHRzaGFkb3dNYXBTaXplID0gY29tcHV0ZWQoKCkgPT4gW3RoaXMubWFwU2l6ZSgpLCB0aGlzLm1hcFNpemUoKV0pO1xuXG5cdHByaXZhdGUgcG9zaXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Bvc2l0aW9uJyk7XG5cdGxlbmd0aCA9IGNvbXB1dGVkKCgpID0+IG5ldyBWZWN0b3IzKC4uLnRoaXMucG9zaXRpb24oKSkubGVuZ3RoKCkpO1xuXG5cdGNvdW50ID0gY29tcHV0ZWQoKCkgPT4gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5hbW91bnQoKSB9LCAoXywgaW5kZXgpID0+IGluZGV4KSk7XG5cblx0cHJpdmF0ZSBzaXplID0gcGljayh0aGlzLm9wdGlvbnMsICdzaXplJyk7XG5cdHByaXZhdGUgbmVhciA9IHBpY2sodGhpcy5vcHRpb25zLCAnbmVhcicpO1xuXHRwcml2YXRlIGZhciA9IHBpY2sodGhpcy5vcHRpb25zLCAnZmFyJyk7XG5cdGNhbWVyYUFyZ3MgPSBjb21wdXRlZCgoKSA9PiBbLXRoaXMuc2l6ZSgpLCB0aGlzLnNpemUoKSwgdGhpcy5zaXplKCksIC10aGlzLnNpemUoKSwgdGhpcy5uZWFyKCksIHRoaXMuZmFyKCldKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCwgRGlyZWN0aW9uYWxMaWdodCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBWZWN0b3IyIH0pO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGxpZ2h0cyA9IHRoaXMubGlnaHRzUmVmKCkubmF0aXZlRWxlbWVudDtcblx0XHRcdHRoaXMuYWNjdW11bGF0aXZlU2hhZG93cy5saWdodHNNYXAuc2V0KGxpZ2h0cy51dWlkLCB0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB0aGlzLmFjY3VtdWxhdGl2ZVNoYWRvd3MubGlnaHRzTWFwLmRlbGV0ZShsaWdodHMudXVpZCkpO1xuXHRcdH0pO1xuXHR9XG5cblx0dXBkYXRlKCkge1xuXHRcdGxldCBsaWdodDogT2JqZWN0M0QgfCB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgbGlnaHRzID0gdGhpcy5saWdodHNSZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdGlmIChsaWdodHMpIHtcblx0XHRcdGNvbnN0IFt7IGFtYmllbnQsIHJhZGl1cywgcG9zaXRpb24gfSwgbGVuZ3RoXSA9IFt0aGlzLm9wdGlvbnMoKSwgdGhpcy5sZW5ndGgoKV07XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbGlnaHRzLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGxpZ2h0ID0gbGlnaHRzLmNoaWxkcmVuW2ldO1xuXHRcdFx0XHRpZiAoTWF0aC5yYW5kb20oKSA+IGFtYmllbnQpIHtcblx0XHRcdFx0XHRsaWdodC5wb3NpdGlvbi5zZXQoXG5cdFx0XHRcdFx0XHRwb3NpdGlvblswXSArIE1hdGhVdGlscy5yYW5kRmxvYXRTcHJlYWQocmFkaXVzKSxcblx0XHRcdFx0XHRcdHBvc2l0aW9uWzFdICsgTWF0aFV0aWxzLnJhbmRGbG9hdFNwcmVhZChyYWRpdXMpLFxuXHRcdFx0XHRcdFx0cG9zaXRpb25bMl0gKyBNYXRoVXRpbHMucmFuZEZsb2F0U3ByZWFkKHJhZGl1cyksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb25zdCBsYW1iZGEgPSBNYXRoLmFjb3MoMiAqIE1hdGgucmFuZG9tKCkgLSAxKSAtIE1hdGguUEkgLyAyLjA7XG5cdFx0XHRcdFx0Y29uc3QgcGhpID0gMiAqIE1hdGguUEkgKiBNYXRoLnJhbmRvbSgpO1xuXHRcdFx0XHRcdGxpZ2h0LnBvc2l0aW9uLnNldChcblx0XHRcdFx0XHRcdE1hdGguY29zKGxhbWJkYSkgKiBNYXRoLmNvcyhwaGkpICogbGVuZ3RoLFxuXHRcdFx0XHRcdFx0TWF0aC5hYnMoTWF0aC5jb3MobGFtYmRhKSAqIE1hdGguc2luKHBoaSkgKiBsZW5ndGgpLFxuXHRcdFx0XHRcdFx0TWF0aC5zaW4obGFtYmRhKSAqIGxlbmd0aCxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0=
|