angular-three-postprocessing 2.0.0-beta.23 → 2.0.0-beta.236
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/esm2022/lib/effect-composer.mjs +135 -170
- package/esm2022/lib/effect.mjs +45 -70
- package/esm2022/lib/effects/ascii.mjs +121 -0
- package/esm2022/lib/effects/bloom.mjs +39 -0
- package/esm2022/lib/effects/brightness-contrast.mjs +48 -0
- package/esm2022/lib/effects/chromatic-abberation.mjs +48 -0
- package/esm2022/lib/effects/color-average.mjs +34 -0
- package/esm2022/lib/effects/color-depth.mjs +38 -0
- package/esm2022/lib/effects/depth-of-field.mjs +57 -0
- package/esm2022/lib/effects/depth.mjs +38 -0
- package/esm2022/lib/effects/dot-screen.mjs +38 -0
- package/esm2022/lib/effects/fxaa.mjs +38 -0
- package/esm2022/lib/effects/glitch.mjs +65 -0
- package/esm2022/lib/effects/god-rays.mjs +42 -0
- package/esm2022/lib/effects/grid.mjs +45 -0
- package/esm2022/lib/effects/hue-saturation.mjs +38 -0
- package/esm2022/lib/effects/index.mjs +27 -18
- package/esm2022/lib/effects/lens-flare.mjs +195 -0
- package/esm2022/lib/effects/lut.mjs +51 -0
- package/esm2022/lib/effects/noise.mjs +39 -0
- package/esm2022/lib/effects/pixelation.mjs +31 -0
- package/esm2022/lib/effects/scanline.mjs +43 -0
- package/esm2022/lib/effects/sepia.mjs +38 -0
- package/esm2022/lib/effects/shock-wave.mjs +38 -0
- package/esm2022/lib/effects/smaa.mjs +38 -0
- package/esm2022/lib/effects/tilt-shift-2.mjs +121 -0
- package/esm2022/lib/effects/tilt-shift.mjs +39 -0
- package/esm2022/lib/effects/vignette.mjs +38 -0
- package/esm2022/lib/effects/water.mjs +64 -0
- package/esm2022/lib/utils.mjs +14 -0
- package/fesm2022/angular-three-postprocessing.mjs +1205 -655
- package/fesm2022/angular-three-postprocessing.mjs.map +1 -1
- package/lib/effect-composer.d.ts +70 -66
- package/lib/effect.d.ts +55 -24
- package/lib/effects/ascii.d.ts +24 -0
- package/lib/effects/bloom.d.ts +10 -0
- package/lib/effects/brightness-contrast.d.ts +15 -0
- package/lib/effects/chromatic-abberation.d.ts +16 -0
- package/lib/effects/color-average.d.ts +12 -0
- package/lib/effects/color-depth.d.ts +14 -0
- package/lib/effects/depth-of-field.d.ts +30 -0
- package/lib/effects/depth.d.ts +14 -0
- package/lib/effects/dot-screen.d.ts +15 -0
- package/lib/effects/fxaa.d.ts +13 -0
- package/lib/effects/glitch.d.ts +30 -0
- package/lib/effects/god-rays.d.ts +38 -0
- package/lib/effects/grid.d.ts +24 -0
- package/lib/effects/hue-saturation.d.ts +15 -0
- package/lib/effects/index.d.ts +26 -17
- package/lib/effects/lens-flare.d.ts +111 -0
- package/lib/effects/lut.d.ts +20 -0
- package/lib/effects/noise.d.ts +14 -0
- package/lib/effects/pixelation.d.ts +17 -0
- package/lib/effects/scanline.d.ts +17 -0
- package/lib/effects/sepia.d.ts +14 -0
- package/lib/effects/shock-wave.d.ts +11 -0
- package/lib/effects/smaa.d.ts +15 -0
- package/lib/effects/tilt-shift-2.d.ts +35 -0
- package/lib/effects/tilt-shift.d.ts +22 -0
- package/lib/effects/vignette.d.ts +17 -0
- package/lib/effects/water.d.ts +20 -0
- package/lib/utils.d.ts +3 -0
- package/package.json +54 -46
- package/esm2022/lib/effects/bloom/bloom.mjs +0 -33
- package/esm2022/lib/effects/brightness-contrast/brightness-contrast.mjs +0 -29
- package/esm2022/lib/effects/color-depth/color-depth.mjs +0 -29
- package/esm2022/lib/effects/depth/depth.mjs +0 -29
- package/esm2022/lib/effects/dot-screen/dot-screen.mjs +0 -29
- package/esm2022/lib/effects/hue-saturation/hue-saturation.mjs +0 -29
- package/esm2022/lib/effects/lut/lut.mjs +0 -74
- package/esm2022/lib/effects/noise/noise.mjs +0 -33
- package/esm2022/lib/effects/pixelation/pixelation.mjs +0 -37
- package/esm2022/lib/effects/scanline/scanline.mjs +0 -33
- package/esm2022/lib/effects/sepia/sepia.mjs +0 -29
- package/esm2022/lib/effects/shock-wave/shock-wave.mjs +0 -29
- package/esm2022/lib/effects/smaa/smaa.mjs +0 -29
- package/esm2022/lib/effects/ssao/ssao.mjs +0 -217
- package/esm2022/lib/effects/tilt-shift/tilt-shift.mjs +0 -33
- package/esm2022/lib/effects/tone-mapping/tone-mapping.mjs +0 -29
- package/esm2022/lib/effects/vignette/vignette.mjs +0 -29
- package/lib/effects/bloom/bloom.d.ts +0 -13
- package/lib/effects/brightness-contrast/brightness-contrast.d.ts +0 -15
- package/lib/effects/color-depth/color-depth.d.ts +0 -14
- package/lib/effects/depth/depth.d.ts +0 -14
- package/lib/effects/dot-screen/dot-screen.d.ts +0 -15
- package/lib/effects/hue-saturation/hue-saturation.d.ts +0 -15
- package/lib/effects/lut/lut.d.ts +0 -29
- package/lib/effects/noise/noise.d.ts +0 -15
- package/lib/effects/pixelation/pixelation.d.ts +0 -20
- package/lib/effects/scanline/scanline.d.ts +0 -15
- package/lib/effects/sepia/sepia.d.ts +0 -14
- package/lib/effects/shock-wave/shock-wave.d.ts +0 -17
- package/lib/effects/smaa/smaa.d.ts +0 -16
- package/lib/effects/ssao/ssao.d.ts +0 -42
- package/lib/effects/tilt-shift/tilt-shift.d.ts +0 -23
- package/lib/effects/tone-mapping/tone-mapping.d.ts +0 -22
- package/lib/effects/vignette/vignette.d.ts +0 -17
|
@@ -1,148 +1,172 @@
|
|
|
1
|
-
import { CUSTOM_ELEMENTS_SCHEMA, Component, Injector,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, Directive, Injector, TemplateRef, ViewContainerRef, afterNextRender, computed, contentChild, inject, input, viewChild, } from '@angular/core';
|
|
2
|
+
import { createApiToken, extend, getLocalState, injectBeforeRender, injectNgtStore } from 'angular-three';
|
|
3
|
+
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
4
|
+
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
|
+
import { DepthDownsamplingPass, Effect, EffectAttribute, EffectComposer, EffectPass, NormalPass, Pass, RenderPass, } from 'postprocessing';
|
|
6
|
+
import { Group, HalfFloatType, NoToneMapping } from 'three';
|
|
6
7
|
import { isWebGL2Available } from 'three-stdlib';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
extend({ Group });
|
|
9
|
-
export const [
|
|
10
|
+
export const [injectEffectComposerApi, provideEffectComposerApi] = createApiToken(() => NgtpEffectComposer);
|
|
11
|
+
const defaultOptions = {
|
|
12
|
+
enabled: true,
|
|
13
|
+
renderPriority: 1,
|
|
14
|
+
autoClear: true,
|
|
15
|
+
multisampling: 8,
|
|
16
|
+
frameBufferType: HalfFloatType,
|
|
17
|
+
};
|
|
18
|
+
function isConvolution(effect) {
|
|
19
|
+
return (effect.getAttributes() & EffectAttribute.CONVOLUTION) === EffectAttribute.CONVOLUTION;
|
|
20
|
+
}
|
|
21
|
+
export class NgtpEffects {
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffects, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NgtpEffects, isStandalone: true, selector: "ng-template[effects]", ngImport: i0 }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffects, decorators: [{
|
|
26
|
+
type: Directive,
|
|
27
|
+
args: [{ selector: 'ng-template[effects]', standalone: true }]
|
|
28
|
+
}] });
|
|
10
29
|
export class NgtpEffectComposer {
|
|
11
|
-
set _enabled(enabled) {
|
|
12
|
-
this.inputs.set({ enabled });
|
|
13
|
-
}
|
|
14
|
-
set _depthBuffer(depthBuffer) {
|
|
15
|
-
this.inputs.set({ depthBuffer });
|
|
16
|
-
}
|
|
17
|
-
set _disableNormalPass(disableNormalPass) {
|
|
18
|
-
this.inputs.set({ disableNormalPass });
|
|
19
|
-
}
|
|
20
|
-
set _stencilBuffer(stencilBuffer) {
|
|
21
|
-
this.inputs.set({ stencilBuffer });
|
|
22
|
-
}
|
|
23
|
-
set _autoClear(autoClear) {
|
|
24
|
-
this.inputs.set({ autoClear });
|
|
25
|
-
}
|
|
26
|
-
set _resolutionScale(resolutionScale) {
|
|
27
|
-
this.inputs.set({ resolutionScale });
|
|
28
|
-
}
|
|
29
|
-
set _multisampling(multisampling) {
|
|
30
|
-
this.inputs.set({ multisampling });
|
|
31
|
-
}
|
|
32
|
-
set _frameBufferType(frameBufferType) {
|
|
33
|
-
this.inputs.set({ frameBufferType });
|
|
34
|
-
}
|
|
35
|
-
set _renderPriority(renderPriority) {
|
|
36
|
-
this.inputs.set({ renderPriority });
|
|
37
|
-
}
|
|
38
|
-
set _camera(camera) {
|
|
39
|
-
this.inputs.set({ camera });
|
|
40
|
-
}
|
|
41
|
-
set _scene(scene) {
|
|
42
|
-
this.inputs.set({ scene });
|
|
43
|
-
}
|
|
44
30
|
constructor() {
|
|
45
|
-
this.
|
|
46
|
-
enabled: true,
|
|
47
|
-
renderPriority: 1,
|
|
48
|
-
autoClear: true,
|
|
49
|
-
multisampling: 8,
|
|
50
|
-
frameBufferType: THREE.HalfFloatType,
|
|
51
|
-
});
|
|
52
|
-
this.composerRef = injectNgtRef();
|
|
31
|
+
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
53
32
|
this.injector = inject(Injector);
|
|
33
|
+
this.autoEffect = injectAutoEffect();
|
|
54
34
|
this.store = injectNgtStore();
|
|
35
|
+
this.size = this.store.select('size');
|
|
55
36
|
this.gl = this.store.select('gl');
|
|
56
37
|
this.defaultScene = this.store.select('scene');
|
|
57
38
|
this.defaultCamera = this.store.select('camera');
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
60
|
-
this.
|
|
61
|
-
this.
|
|
62
|
-
this.
|
|
63
|
-
this.
|
|
64
|
-
this.
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
67
|
-
this.
|
|
68
|
-
this.
|
|
69
|
-
this.
|
|
70
|
-
this.composerEntities = computed(() => {
|
|
39
|
+
this.depthBuffer = computed(() => this.options().depthBuffer);
|
|
40
|
+
this.stencilBuffer = computed(() => this.options().stencilBuffer);
|
|
41
|
+
this.multisampling = computed(() => this.options().multisampling);
|
|
42
|
+
this.frameBufferType = computed(() => this.options().frameBufferType);
|
|
43
|
+
this.scene = computed(() => this.options().scene ?? this.defaultScene());
|
|
44
|
+
this.camera = computed(() => this.options().camera ?? this.defaultCamera());
|
|
45
|
+
this.enableNormalPass = computed(() => this.options().enableNormalPass);
|
|
46
|
+
this.resolutionScale = computed(() => this.options().resolutionScale);
|
|
47
|
+
this.group = viewChild.required('group');
|
|
48
|
+
this.groupAnchor = viewChild.required('group', { read: ViewContainerRef });
|
|
49
|
+
this.content = contentChild.required(NgtpEffects, { read: TemplateRef });
|
|
50
|
+
this.composerData = computed(() => {
|
|
71
51
|
const webGL2Available = isWebGL2Available();
|
|
72
|
-
const [gl, depthBuffer, stencilBuffer, multisampling, frameBufferType,
|
|
52
|
+
const [gl, scene, camera, depthBuffer, stencilBuffer, multisampling, frameBufferType, enableNormalPass, resolutionScale,] = [
|
|
73
53
|
this.gl(),
|
|
54
|
+
this.scene(),
|
|
55
|
+
this.camera(),
|
|
74
56
|
this.depthBuffer(),
|
|
75
57
|
this.stencilBuffer(),
|
|
76
58
|
this.multisampling(),
|
|
77
59
|
this.frameBufferType(),
|
|
78
|
-
this.
|
|
79
|
-
this.activeCamera(),
|
|
80
|
-
this.disableNormalPass(),
|
|
60
|
+
this.enableNormalPass(),
|
|
81
61
|
this.resolutionScale(),
|
|
82
62
|
];
|
|
83
|
-
//
|
|
84
|
-
const
|
|
63
|
+
// initialize composer
|
|
64
|
+
const composer = new EffectComposer(gl, {
|
|
85
65
|
depthBuffer,
|
|
86
66
|
stencilBuffer,
|
|
87
67
|
multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,
|
|
88
68
|
frameBufferType,
|
|
89
69
|
});
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
//
|
|
70
|
+
// add render pass
|
|
71
|
+
composer.addPass(new RenderPass(scene, camera));
|
|
72
|
+
// create normal pass
|
|
93
73
|
let downSamplingPass = null;
|
|
94
74
|
let normalPass = null;
|
|
95
|
-
if (
|
|
75
|
+
if (enableNormalPass) {
|
|
96
76
|
normalPass = new NormalPass(scene, camera);
|
|
97
77
|
normalPass.enabled = false;
|
|
98
|
-
|
|
78
|
+
composer.addPass(normalPass);
|
|
99
79
|
if (resolutionScale !== undefined && webGL2Available) {
|
|
100
80
|
downSamplingPass = new DepthDownsamplingPass({ normalBuffer: normalPass.texture, resolutionScale });
|
|
101
81
|
downSamplingPass.enabled = false;
|
|
102
|
-
|
|
82
|
+
composer.addPass(downSamplingPass);
|
|
103
83
|
}
|
|
104
84
|
}
|
|
105
|
-
return {
|
|
85
|
+
return { composer, normalPass, downSamplingPass };
|
|
106
86
|
});
|
|
107
|
-
this.composer = computed(() => this.composerEntities().effectComposer);
|
|
108
87
|
this.api = computed(() => {
|
|
109
|
-
const [{
|
|
110
|
-
this.
|
|
88
|
+
const [{ composer, normalPass, downSamplingPass }, camera, scene, resolutionScale] = [
|
|
89
|
+
this.composerData(),
|
|
90
|
+
this.camera(),
|
|
91
|
+
this.scene(),
|
|
111
92
|
this.resolutionScale(),
|
|
112
|
-
this.activeCamera(),
|
|
113
|
-
this.activeScene(),
|
|
114
93
|
];
|
|
115
|
-
return { composer,
|
|
94
|
+
return { composer, camera, scene, normalPass, downSamplingPass, resolutionScale };
|
|
95
|
+
});
|
|
96
|
+
afterNextRender(() => {
|
|
97
|
+
this.disableToneMapping();
|
|
98
|
+
this.setComposerSize();
|
|
99
|
+
this.render();
|
|
100
|
+
this.updatePasses();
|
|
101
|
+
injectBeforeRender(({ delta }) => {
|
|
102
|
+
const [{ composer }, { enabled, autoClear, stencilBuffer }, gl] = [
|
|
103
|
+
this.composerData(),
|
|
104
|
+
this.options(),
|
|
105
|
+
this.gl(),
|
|
106
|
+
];
|
|
107
|
+
if (enabled) {
|
|
108
|
+
const currentAutoClear = gl.autoClear;
|
|
109
|
+
gl.autoClear = autoClear;
|
|
110
|
+
if (stencilBuffer && !autoClear)
|
|
111
|
+
gl.clearStencil();
|
|
112
|
+
composer.render(delta);
|
|
113
|
+
gl.autoClear = currentAutoClear;
|
|
114
|
+
}
|
|
115
|
+
}, { injector: this.injector, priority: this.options().enabled ? this.options().renderPriority : 0 });
|
|
116
116
|
});
|
|
117
|
-
this.setComposerSize();
|
|
118
|
-
this.updatePasses();
|
|
119
117
|
}
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
// NOTE: Disable tone mapping because threejs disallows tonemapping on render targets
|
|
119
|
+
disableToneMapping() {
|
|
120
|
+
this.autoEffect(() => {
|
|
121
|
+
const gl = this.gl();
|
|
122
|
+
const currentTonemapping = gl.toneMapping;
|
|
123
|
+
gl.toneMapping = NoToneMapping;
|
|
124
|
+
return () => {
|
|
125
|
+
gl.toneMapping = currentTonemapping;
|
|
126
|
+
};
|
|
127
|
+
});
|
|
122
128
|
}
|
|
123
129
|
setComposerSize() {
|
|
124
|
-
|
|
125
|
-
const [composer,
|
|
126
|
-
composer
|
|
130
|
+
this.autoEffect(() => {
|
|
131
|
+
const [{ composer }, { width, height }] = [this.composerData(), this.size()];
|
|
132
|
+
if (composer) {
|
|
133
|
+
composer.setSize(width, height);
|
|
134
|
+
}
|
|
127
135
|
});
|
|
128
136
|
}
|
|
137
|
+
render() {
|
|
138
|
+
this.autoEffect((injector) => {
|
|
139
|
+
const ref = this.groupAnchor().createEmbeddedView(this.content(), {}, { injector });
|
|
140
|
+
ref.detectChanges();
|
|
141
|
+
return () => ref.destroy();
|
|
142
|
+
}, { allowSignalWrites: true });
|
|
143
|
+
}
|
|
129
144
|
updatePasses() {
|
|
130
|
-
|
|
131
|
-
const [{
|
|
132
|
-
this.
|
|
133
|
-
this.
|
|
134
|
-
this.
|
|
135
|
-
this.activeCamera(),
|
|
145
|
+
this.autoEffect(() => {
|
|
146
|
+
const [group, { composer, normalPass, downSamplingPass }, camera] = [
|
|
147
|
+
this.group(),
|
|
148
|
+
this.composerData(),
|
|
149
|
+
this.camera(),
|
|
136
150
|
];
|
|
137
151
|
const passes = [];
|
|
138
|
-
if (
|
|
152
|
+
if (group.nativeElement && composer) {
|
|
153
|
+
const localState = getLocalState(group.nativeElement);
|
|
154
|
+
if (!localState)
|
|
155
|
+
return;
|
|
156
|
+
const children = localState.nonObjects();
|
|
139
157
|
for (let i = 0; i < children.length; i++) {
|
|
140
158
|
const child = children[i];
|
|
141
159
|
if (child instanceof Effect) {
|
|
142
|
-
const effects = [];
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
160
|
+
const effects = [child];
|
|
161
|
+
if (!isConvolution(child)) {
|
|
162
|
+
let next = null;
|
|
163
|
+
while ((next = children[i + 1]) instanceof Effect) {
|
|
164
|
+
if (isConvolution(next))
|
|
165
|
+
break;
|
|
166
|
+
effects.push(next);
|
|
167
|
+
i++;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
146
170
|
const pass = new EffectPass(camera, ...effects);
|
|
147
171
|
passes.push(pass);
|
|
148
172
|
}
|
|
@@ -150,99 +174,40 @@ export class NgtpEffectComposer {
|
|
|
150
174
|
passes.push(child);
|
|
151
175
|
}
|
|
152
176
|
}
|
|
153
|
-
for (const pass of passes)
|
|
177
|
+
for (const pass of passes) {
|
|
154
178
|
composer.addPass(pass);
|
|
179
|
+
}
|
|
155
180
|
if (normalPass)
|
|
156
181
|
normalPass.enabled = true;
|
|
157
182
|
if (downSamplingPass)
|
|
158
183
|
downSamplingPass.enabled = true;
|
|
159
184
|
}
|
|
160
|
-
|
|
185
|
+
return () => {
|
|
161
186
|
for (const pass of passes)
|
|
162
187
|
composer?.removePass(pass);
|
|
163
188
|
if (normalPass)
|
|
164
189
|
normalPass.enabled = false;
|
|
165
190
|
if (downSamplingPass)
|
|
166
191
|
downSamplingPass.enabled = false;
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
beforeRender() {
|
|
171
|
-
injectBeforeRender(({ delta }) => {
|
|
172
|
-
const [enabled, gl, autoClear, stencilBuffer, composer] = [
|
|
173
|
-
this.inputs.get('enabled'),
|
|
174
|
-
this.gl(),
|
|
175
|
-
this.autoClear(),
|
|
176
|
-
this.stencilBuffer(),
|
|
177
|
-
this.composer(),
|
|
178
|
-
];
|
|
179
|
-
if (enabled) {
|
|
180
|
-
const currentAutoClear = gl.autoClear;
|
|
181
|
-
gl.autoClear = autoClear;
|
|
182
|
-
if (stencilBuffer && !autoClear)
|
|
183
|
-
gl.clearStencil();
|
|
184
|
-
composer.render(delta);
|
|
185
|
-
gl.autoClear = currentAutoClear;
|
|
186
|
-
}
|
|
187
|
-
}, {
|
|
188
|
-
injector: this.injector,
|
|
189
|
-
priority: this.inputs.get('enabled') ? this.inputs.get('renderPriority') : 0,
|
|
192
|
+
};
|
|
190
193
|
});
|
|
191
194
|
}
|
|
192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
194
|
-
<ngt-group
|
|
195
|
-
|
|
196
|
-
</ngt-group>
|
|
197
|
-
`, isInline: true }); }
|
|
195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffectComposer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.3", type: NgtpEffectComposer, isStandalone: true, selector: "ngtp-effect-composer", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideEffectComposerApi()], queries: [{ propertyName: "content", first: true, predicate: NgtpEffects, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "group", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "groupAnchor", first: true, predicate: ["group"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
|
|
197
|
+
<ngt-group #group ngtCompound></ngt-group>
|
|
198
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
198
199
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffectComposer, decorators: [{
|
|
200
201
|
type: Component,
|
|
201
202
|
args: [{
|
|
202
203
|
selector: 'ngtp-effect-composer',
|
|
203
204
|
standalone: true,
|
|
204
205
|
template: `
|
|
205
|
-
<ngt-group
|
|
206
|
-
<ng-content />
|
|
207
|
-
</ngt-group>
|
|
206
|
+
<ngt-group #group ngtCompound></ngt-group>
|
|
208
207
|
`,
|
|
209
|
-
providers: [
|
|
208
|
+
providers: [provideEffectComposerApi()],
|
|
210
209
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
210
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
211
211
|
}]
|
|
212
|
-
}], ctorParameters:
|
|
213
|
-
type: Input
|
|
214
|
-
}], _enabled: [{
|
|
215
|
-
type: Input,
|
|
216
|
-
args: [{ alias: 'enabled' }]
|
|
217
|
-
}], _depthBuffer: [{
|
|
218
|
-
type: Input,
|
|
219
|
-
args: [{ alias: 'depthBuffer' }]
|
|
220
|
-
}], _disableNormalPass: [{
|
|
221
|
-
type: Input,
|
|
222
|
-
args: [{ alias: 'disableNormalPass' }]
|
|
223
|
-
}], _stencilBuffer: [{
|
|
224
|
-
type: Input,
|
|
225
|
-
args: [{ alias: 'stencilBuffer' }]
|
|
226
|
-
}], _autoClear: [{
|
|
227
|
-
type: Input,
|
|
228
|
-
args: [{ alias: 'autoClear' }]
|
|
229
|
-
}], _resolutionScale: [{
|
|
230
|
-
type: Input,
|
|
231
|
-
args: [{ alias: 'resolutionScale' }]
|
|
232
|
-
}], _multisampling: [{
|
|
233
|
-
type: Input,
|
|
234
|
-
args: [{ alias: 'multisampling' }]
|
|
235
|
-
}], _frameBufferType: [{
|
|
236
|
-
type: Input,
|
|
237
|
-
args: [{ alias: 'frameBufferType' }]
|
|
238
|
-
}], _renderPriority: [{
|
|
239
|
-
type: Input,
|
|
240
|
-
args: [{ alias: 'renderPriority' }]
|
|
241
|
-
}], _camera: [{
|
|
242
|
-
type: Input,
|
|
243
|
-
args: [{ alias: 'camera' }]
|
|
244
|
-
}], _scene: [{
|
|
245
|
-
type: Input,
|
|
246
|
-
args: [{ alias: 'scene' }]
|
|
247
|
-
}] } });
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdC1jb21wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ04sb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sY0FBYyxFQUNkLFVBQVUsRUFDVixVQUFVLEVBQ1YsSUFBSSxFQUNKLFVBQVUsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUVqRCxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBZ0JsQixNQUFNLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLDRCQUE0QixDQUFDLEdBQUcsb0JBQW9CLENBQzlGLENBQUMsUUFBNEIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFDOUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FDL0QsQ0FBQztBQWFGLE1BQU0sT0FBTyxrQkFBa0I7SUFXOUIsSUFBaUMsUUFBUSxDQUFDLE9BQWdCO1FB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QUFFLGlCQUFpQixFQUFFO2dCQUlLLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSUYsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSUssTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDb21wb25lbnQsXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0Zm9yd2FyZFJlZixcblx0aW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdGNyZWF0ZUluamVjdGlvblRva2VuLFxuXHRleHRlbmQsXG5cdGluamVjdEJlZm9yZVJlbmRlcixcblx0aW5qZWN0Tmd0UmVmLFxuXHRpbmplY3ROZ3RTdG9yZSxcblx0c2lnbmFsU3RvcmUsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHtcblx0RGVwdGhEb3duc2FtcGxpbmdQYXNzLFxuXHRFZmZlY3QsXG5cdEVmZmVjdENvbXBvc2VyLFxuXHRFZmZlY3RQYXNzLFxuXHROb3JtYWxQYXNzLFxuXHRQYXNzLFxuXHRSZW5kZXJQYXNzLFxufSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGlzV2ViR0wyQXZhaWxhYmxlIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXh0ZW5kKHsgR3JvdXAgfSk7XG5cbmV4cG9ydCB0eXBlIE5ndHBFZmZlY3RDb21wb3NlclN0YXRlID0ge1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHRkZXB0aEJ1ZmZlcj86IGJvb2xlYW47XG5cdGRpc2FibGVOb3JtYWxQYXNzPzogYm9vbGVhbjtcblx0c3RlbmNpbEJ1ZmZlcj86IGJvb2xlYW47XG5cdGF1dG9DbGVhcjogYm9vbGVhbjtcblx0cmVzb2x1dGlvblNjYWxlPzogbnVtYmVyO1xuXHRtdWx0aXNhbXBsaW5nOiBudW1iZXI7XG5cdGZyYW1lQnVmZmVyVHlwZTogVEhSRUUuVGV4dHVyZURhdGFUeXBlO1xuXHRyZW5kZXJQcmlvcml0eTogbnVtYmVyO1xuXHRjYW1lcmE/OiBUSFJFRS5DYW1lcmE7XG5cdHNjZW5lPzogVEhSRUUuU2NlbmU7XG59O1xuXG5leHBvcnQgY29uc3QgW2luamVjdE5ndHBFZmZlY3RDb21wb3NlckFwaSwgcHJvdmlkZU5ndHBFZmZlY3RDb21wb3NlckFwaV0gPSBjcmVhdGVJbmplY3Rpb25Ub2tlbihcblx0KGNvbXBvc2VyOiBOZ3RwRWZmZWN0Q29tcG9zZXIpID0+IGNvbXBvc2VyLmFwaSxcblx0eyBpc1Jvb3Q6IGZhbHNlLCBkZXBzOiBbZm9yd2FyZFJlZigoKSA9PiBOZ3RwRWZmZWN0Q29tcG9zZXIpXSB9LFxuKTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1lZmZlY3QtY29tcG9zZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgW3JlZl09XCJjb21wb3NlclJlZlwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZU5ndHBFZmZlY3RDb21wb3NlckFwaSgpXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RwRWZmZWN0Q29tcG9zZXIge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHBFZmZlY3RDb21wb3NlclN0YXRlPih7XG5cdFx0ZW5hYmxlZDogdHJ1ZSxcblx0XHRyZW5kZXJQcmlvcml0eTogMSxcblx0XHRhdXRvQ2xlYXI6IHRydWUsXG5cdFx0bXVsdGlzYW1wbGluZzogOCxcblx0XHRmcmFtZUJ1ZmZlclR5cGU6IFRIUkVFLkhhbGZGbG9hdFR5cGUsXG5cdH0pO1xuXG5cdEBJbnB1dCgpIGNvbXBvc2VyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZW5hYmxlZCcgfSkgc2V0IF9lbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBlbmFibGVkIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkZXB0aEJ1ZmZlcicgfSkgc2V0IF9kZXB0aEJ1ZmZlcihkZXB0aEJ1ZmZlcjogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRlcHRoQnVmZmVyIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkaXNhYmxlTm9ybWFsUGFzcycgfSkgc2V0IF9kaXNhYmxlTm9ybWFsUGFzcyhkaXNhYmxlTm9ybWFsUGFzczogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRpc2FibGVOb3JtYWxQYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzdGVuY2lsQnVmZmVyJyB9KSBzZXQgX3N0ZW5jaWxCdWZmZXIoc3RlbmNpbEJ1ZmZlcjogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHN0ZW5jaWxCdWZmZXIgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2F1dG9DbGVhcicgfSkgc2V0IF9hdXRvQ2xlYXIoYXV0b0NsZWFyOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYXV0b0NsZWFyIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyZXNvbHV0aW9uU2NhbGUnIH0pIHNldCBfcmVzb2x1dGlvblNjYWxlKHJlc29sdXRpb25TY2FsZTogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcmVzb2x1dGlvblNjYWxlIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtdWx0aXNhbXBsaW5nJyB9KSBzZXQgX211bHRpc2FtcGxpbmcobXVsdGlzYW1wbGluZzogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbXVsdGlzYW1wbGluZyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnZnJhbWVCdWZmZXJUeXBlJyB9KSBzZXQgX2ZyYW1lQnVmZmVyVHlwZShmcmFtZUJ1ZmZlclR5cGU6IFRIUkVFLlRleHR1cmVEYXRhVHlwZSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGZyYW1lQnVmZmVyVHlwZSB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAncmVuZGVyUHJpb3JpdHknIH0pIHNldCBfcmVuZGVyUHJpb3JpdHkocmVuZGVyUHJpb3JpdHk6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHJlbmRlclByaW9yaXR5IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdjYW1lcmEnIH0pIHNldCBfY2FtZXJhKGNhbWVyYTogVEhSRUUuQ2FtZXJhKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgY2FtZXJhIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdzY2VuZScgfSkgc2V0IF9zY2VuZShzY2VuZTogVEhSRUUuU2NlbmUpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBzY2VuZSB9KTtcblx0fVxuXG5cdHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHRwcml2YXRlIGdsID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJyk7XG5cdHByaXZhdGUgZGVmYXVsdFNjZW5lID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NjZW5lJyk7XG5cdHByaXZhdGUgZGVmYXVsdENhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBzaXplID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NpemUnKTtcblxuXHRwcml2YXRlIGRlcHRoQnVmZmVyID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdkZXB0aEJ1ZmZlcicpO1xuXHRwcml2YXRlIHN0ZW5jaWxCdWZmZXIgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3N0ZW5jaWxCdWZmZXInKTtcblx0cHJpdmF0ZSBtdWx0aXNhbXBsaW5nID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdtdWx0aXNhbXBsaW5nJyk7XG5cdHByaXZhdGUgZnJhbWVCdWZmZXJUeXBlID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdmcmFtZUJ1ZmZlclR5cGUnKTtcblx0cHJpdmF0ZSBzY2VuZSA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnc2NlbmUnKTtcblx0cHJpdmF0ZSBjYW1lcmEgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2NhbWVyYScpO1xuXHRwcml2YXRlIGRpc2FibGVOb3JtYWxQYXNzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdkaXNhYmxlTm9ybWFsUGFzcycpO1xuXHRwcml2YXRlIHJlc29sdXRpb25TY2FsZSA9IHRoaXMuaW5wdXRzLnNlbGVjdCgncmVzb2x1dGlvblNjYWxlJyk7XG5cdHByaXZhdGUgYXV0b0NsZWFyID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdhdXRvQ2xlYXInKTtcblxuXHRwcml2YXRlIGFjdGl2ZVNjZW5lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zY2VuZSgpIHx8IHRoaXMuZGVmYXVsdFNjZW5lKCkpO1xuXHRwcml2YXRlIGFjdGl2ZUNhbWVyYSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY2FtZXJhKCkgfHwgdGhpcy5kZWZhdWx0Q2FtZXJhKCkpO1xuXG5cdHByaXZhdGUgY29tcG9zZXJFbnRpdGllcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB3ZWJHTDJBdmFpbGFibGUgPSBpc1dlYkdMMkF2YWlsYWJsZSgpO1xuXHRcdGNvbnN0IFtcblx0XHRcdGdsLFxuXHRcdFx0ZGVwdGhCdWZmZXIsXG5cdFx0XHRzdGVuY2lsQnVmZmVyLFxuXHRcdFx0bXVsdGlzYW1wbGluZyxcblx0XHRcdGZyYW1lQnVmZmVyVHlwZSxcblx0XHRcdHNjZW5lLFxuXHRcdFx0Y2FtZXJhLFxuXHRcdFx0ZGlzYWJsZU5vcm1hbFBhc3MsXG5cdFx0XHRyZXNvbHV0aW9uU2NhbGUsXG5cdFx0XSA9IFtcblx0XHRcdHRoaXMuZ2woKSxcblx0XHRcdHRoaXMuZGVwdGhCdWZmZXIoKSxcblx0XHRcdHRoaXMuc3RlbmNpbEJ1ZmZlcigpLFxuXHRcdFx0dGhpcy5tdWx0aXNhbXBsaW5nKCksXG5cdFx0XHR0aGlzLmZyYW1lQnVmZmVyVHlwZSgpLFxuXHRcdFx0dGhpcy5hY3RpdmVTY2VuZSgpLFxuXHRcdFx0dGhpcy5hY3RpdmVDYW1lcmEoKSxcblx0XHRcdHRoaXMuZGlzYWJsZU5vcm1hbFBhc3MoKSxcblx0XHRcdHRoaXMucmVzb2x1dGlvblNjYWxlKCksXG5cdFx0XTtcblxuXHRcdC8vIEluaXRpYWxpemUgY29tcG9zZXJcblx0XHRjb25zdCBlZmZlY3RDb21wb3NlciA9IG5ldyBFZmZlY3RDb21wb3NlcihnbCwge1xuXHRcdFx0ZGVwdGhCdWZmZXIsXG5cdFx0XHRzdGVuY2lsQnVmZmVyLFxuXHRcdFx0bXVsdGlzYW1wbGluZzogbXVsdGlzYW1wbGluZyA+IDAgJiYgd2ViR0wyQXZhaWxhYmxlID8gbXVsdGlzYW1wbGluZyA6IDAsXG5cdFx0XHRmcmFtZUJ1ZmZlclR5cGUsXG5cdFx0fSk7XG5cblx0XHQvLyBBZGQgcmVuZGVyIHBhc3Ncblx0XHRlZmZlY3RDb21wb3Nlci5hZGRQYXNzKG5ldyBSZW5kZXJQYXNzKHNjZW5lLCBjYW1lcmEpKTtcblxuXHRcdC8vIENyZWF0ZSBub3JtYWwgcGFzc1xuXHRcdGxldCBkb3duU2FtcGxpbmdQYXNzID0gbnVsbDtcblx0XHRsZXQgbm9ybWFsUGFzcyA9IG51bGw7XG5cdFx0aWYgKCFkaXNhYmxlTm9ybWFsUGFzcykge1xuXHRcdFx0bm9ybWFsUGFzcyA9IG5ldyBOb3JtYWxQYXNzKHNjZW5lLCBjYW1lcmEpO1xuXHRcdFx0bm9ybWFsUGFzcy5lbmFibGVkID0gZmFsc2U7XG5cdFx0XHRlZmZlY3RDb21wb3Nlci5hZGRQYXNzKG5vcm1hbFBhc3MpO1xuXHRcdFx0aWYgKHJlc29sdXRpb25TY2FsZSAhPT0gdW5kZWZpbmVkICYmIHdlYkdMMkF2YWlsYWJsZSkge1xuXHRcdFx0XHRkb3duU2FtcGxpbmdQYXNzID0gbmV3IERlcHRoRG93bnNhbXBsaW5nUGFzcyh7IG5vcm1hbEJ1ZmZlcjogbm9ybWFsUGFzcy50ZXh0dXJlLCByZXNvbHV0aW9uU2NhbGUgfSk7XG5cdFx0XHRcdGRvd25TYW1wbGluZ1Bhc3MuZW5hYmxlZCA9IGZhbHNlO1xuXHRcdFx0XHRlZmZlY3RDb21wb3Nlci5hZGRQYXNzKGRvd25TYW1wbGluZ1Bhc3MpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB7IGVmZmVjdENvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzIH07XG5cdH0pO1xuXG5cdHByaXZhdGUgY29tcG9zZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbXBvc2VyRW50aXRpZXMoKS5lZmZlY3RDb21wb3Nlcik7XG5cblx0YXBpID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFt7IGVmZmVjdENvbXBvc2VyOiBjb21wb3Nlciwgbm9ybWFsUGFzcywgZG93blNhbXBsaW5nUGFzcyB9LCByZXNvbHV0aW9uU2NhbGUsIGNhbWVyYSwgc2NlbmVdID0gW1xuXHRcdFx0dGhpcy5jb21wb3NlckVudGl0aWVzKCksXG5cdFx0XHR0aGlzLnJlc29sdXRpb25TY2FsZSgpLFxuXHRcdFx0dGhpcy5hY3RpdmVDYW1lcmEoKSxcblx0XHRcdHRoaXMuYWN0aXZlU2NlbmUoKSxcblx0XHRdO1xuXHRcdHJldHVybiB7IGNvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzLCByZXNvbHV0aW9uU2NhbGUsIGNhbWVyYSwgc2NlbmUgfTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5zZXRDb21wb3NlclNpemUoKTtcblx0XHR0aGlzLnVwZGF0ZVBhc3NlcygpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0Q29tcG9zZXJTaXplKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbY29tcG9zZXIsIHNpemVdID0gW3RoaXMuY29tcG9zZXIoKSwgdGhpcy5zaXplKCldO1xuXHRcdFx0Y29tcG9zZXIuc2V0U2l6ZShzaXplLndpZHRoLCBzaXplLmhlaWdodCk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZVBhc3NlcygpIHtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgW3sgZWZmZWN0Q29tcG9zZXI6IGNvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzIH0sIGluc3RhbmNlLCBjaGlsZHJlbiwgY2FtZXJhXSA9IFtcblx0XHRcdFx0dGhpcy5jb21wb3NlckVudGl0aWVzKCksXG5cdFx0XHRcdHRoaXMuY29tcG9zZXJSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5jb21wb3NlclJlZi5jaGlsZHJlbignbm9uT2JqZWN0cycpKCksXG5cdFx0XHRcdHRoaXMuYWN0aXZlQ2FtZXJhKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRjb25zdCBwYXNzZXM6IFBhc3NbXSA9IFtdO1xuXG5cdFx0XHRpZiAoaW5zdGFuY2UgJiYgY29tcG9zZXIgJiYgY2hpbGRyZW4ubGVuZ3RoKSB7XG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRjb25zdCBjaGlsZCA9IGNoaWxkcmVuW2ldO1xuXHRcdFx0XHRcdGlmIChjaGlsZCBpbnN0YW5jZW9mIEVmZmVjdCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgZWZmZWN0czogRWZmZWN0W10gPSBbXTtcblxuXHRcdFx0XHRcdFx0d2hpbGUgKGNoaWxkcmVuW2ldIGluc3RhbmNlb2YgRWZmZWN0KSBlZmZlY3RzLnB1c2goY2hpbGRyZW5baSsrXSBhcyBFZmZlY3QpO1xuXHRcdFx0XHRcdFx0aS0tO1xuXG5cdFx0XHRcdFx0XHRjb25zdCBwYXNzID0gbmV3IEVmZmVjdFBhc3MoY2FtZXJhLCAuLi5lZmZlY3RzKTtcblx0XHRcdFx0XHRcdHBhc3Nlcy5wdXNoKHBhc3MpO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoY2hpbGQgaW5zdGFuY2VvZiBQYXNzKSB7XG5cdFx0XHRcdFx0XHRwYXNzZXMucHVzaChjaGlsZCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zm9yIChjb25zdCBwYXNzIG9mIHBhc3NlcykgY29tcG9zZXIuYWRkUGFzcyhwYXNzKTtcblx0XHRcdFx0aWYgKG5vcm1hbFBhc3MpIG5vcm1hbFBhc3MuZW5hYmxlZCA9IHRydWU7XG5cdFx0XHRcdGlmIChkb3duU2FtcGxpbmdQYXNzKSBkb3duU2FtcGxpbmdQYXNzLmVuYWJsZWQgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4ge1xuXHRcdFx0XHRmb3IgKGNvbnN0IHBhc3Mgb2YgcGFzc2VzKSBjb21wb3Nlcj8ucmVtb3ZlUGFzcyhwYXNzKTtcblx0XHRcdFx0aWYgKG5vcm1hbFBhc3MpIG5vcm1hbFBhc3MuZW5hYmxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZiAoZG93blNhbXBsaW5nUGFzcykgZG93blNhbXBsaW5nUGFzcy5lbmFibGVkID0gZmFsc2U7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgYmVmb3JlUmVuZGVyKCkge1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcihcblx0XHRcdCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdFx0Y29uc3QgW2VuYWJsZWQsIGdsLCBhdXRvQ2xlYXIsIHN0ZW5jaWxCdWZmZXIsIGNvbXBvc2VyXSA9IFtcblx0XHRcdFx0XHR0aGlzLmlucHV0cy5nZXQoJ2VuYWJsZWQnKSxcblx0XHRcdFx0XHR0aGlzLmdsKCksXG5cdFx0XHRcdFx0dGhpcy5hdXRvQ2xlYXIoKSxcblx0XHRcdFx0XHR0aGlzLnN0ZW5jaWxCdWZmZXIoKSxcblx0XHRcdFx0XHR0aGlzLmNvbXBvc2VyKCksXG5cdFx0XHRcdF07XG5cdFx0XHRcdGlmIChlbmFibGVkKSB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudEF1dG9DbGVhciA9IGdsLmF1dG9DbGVhcjtcblx0XHRcdFx0XHRnbC5hdXRvQ2xlYXIgPSBhdXRvQ2xlYXI7XG5cdFx0XHRcdFx0aWYgKHN0ZW5jaWxCdWZmZXIgJiYgIWF1dG9DbGVhcikgZ2wuY2xlYXJTdGVuY2lsKCk7XG5cdFx0XHRcdFx0Y29tcG9zZXIucmVuZGVyKGRlbHRhKTtcblx0XHRcdFx0XHRnbC5hdXRvQ2xlYXIgPSBjdXJyZW50QXV0b0NsZWFyO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHRpbmplY3RvcjogdGhpcy5pbmplY3Rvcixcblx0XHRcdFx0cHJpb3JpdHk6IHRoaXMuaW5wdXRzLmdldCgnZW5hYmxlZCcpID8gdGhpcy5pbnB1dHMuZ2V0KCdyZW5kZXJQcmlvcml0eScpIDogMCxcblx0XHRcdH0sXG5cdFx0KTtcblx0fVxufVxuIl19
|
|
212
|
+
}], ctorParameters: () => [] });
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdC1jb21wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsU0FBUyxFQUVULFFBQVEsRUFDUixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixRQUFRLEVBQ1IsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLGVBQWUsRUFDZixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixJQUFJLEVBQ0osVUFBVSxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFVLEtBQUssRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUEwQixNQUFNLE9BQU8sQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRWpELE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFXbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBaUI1RyxNQUFNLGNBQWMsR0FBOEI7SUFDakQsT0FBTyxFQUFFLElBQUk7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LENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixDQUFDO2dCQUVELElBQUksVUFBVTtvQkFBRSxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDMUMsSUFBSSxnQkFBZ0I7b0JBQUUsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN2RCxDQUFDO1lBRUQsT0FBTyxHQUFHLEVBQUU7Z0JBQ1gsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNO29CQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksVUFBVTtvQkFBRSxVQUFVLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDM0MsSUFBSSxnQkFBZ0I7b0JBQUUsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN4RCxDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBck1XLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDZNQUpuQixDQUFDLHdCQUF3QixFQUFFLENBQUMsK0RBMEJQLFdBQVcsMkJBQVUsV0FBVywrTkFEZCxnQkFBZ0IsNkNBNUJ4RDs7RUFFVDs7MkZBS1csa0JBQWtCO2tCQVY5QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O0VBRVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0SW5qZWN0b3IsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGNvbXB1dGVkLFxuXHRjb250ZW50Q2hpbGQsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVBcGlUb2tlbiwgZXh0ZW5kLCBnZXRMb2NhbFN0YXRlLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQge1xuXHREZXB0aERvd25zYW1wbGluZ1Bhc3MsXG5cdEVmZmVjdCxcblx0RWZmZWN0QXR0cmlidXRlLFxuXHRFZmZlY3RDb21wb3Nlcixcblx0RWZmZWN0UGFzcyxcblx0Tm9ybWFsUGFzcyxcblx0UGFzcyxcblx0UmVuZGVyUGFzcyxcbn0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgQ2FtZXJhLCBHcm91cCwgSGFsZkZsb2F0VHlwZSwgTm9Ub25lTWFwcGluZywgU2NlbmUsIFRleHR1cmVEYXRhVHlwZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGlzV2ViR0wyQXZhaWxhYmxlIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXh0ZW5kKHsgR3JvdXAgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0cEVmZmVjdENvbXBvc2VyQXBpIHtcblx0Y29tcG9zZXI6IEVmZmVjdENvbXBvc2VyO1xuXHRjYW1lcmE6IENhbWVyYTtcblx0c2NlbmU6IFNjZW5lO1xuXHRub3JtYWxQYXNzOiBOb3JtYWxQYXNzIHwgbnVsbDtcblx0ZG93blNhbXBsaW5nUGFzczogRGVwdGhEb3duc2FtcGxpbmdQYXNzIHwgbnVsbDtcblx0cmVzb2x1dGlvblNjYWxlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgW2luamVjdEVmZmVjdENvbXBvc2VyQXBpLCBwcm92aWRlRWZmZWN0Q29tcG9zZXJBcGldID0gY3JlYXRlQXBpVG9rZW4oKCkgPT4gTmd0cEVmZmVjdENvbXBvc2VyKTtcblxuaW50ZXJmYWNlIE5ndHBFZmZlY3RDb21wb3Nlck9wdGlvbnMge1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHRkZXB0aEJ1ZmZlcj86IGJvb2xlYW47XG5cdC8qKiBPbmx5IHVzZWQgZm9yIFNTR0kgY3VycmVudGx5LCBsZWF2ZSBpdCBkaXNhYmxlZCBmb3IgZXZlcnl0aGluZyBlbHNlIHVubGVzcyBpdCdzIG5lZWRlZCAqL1xuXHRlbmFibGVOb3JtYWxQYXNzPzogYm9vbGVhbjtcblx0c3RlbmNpbEJ1ZmZlcj86IGJvb2xlYW47XG5cdGF1dG9DbGVhcjogYm9vbGVhbjtcblx0cmVzb2x1dGlvblNjYWxlPzogbnVtYmVyO1xuXHRtdWx0aXNhbXBsaW5nOiBudW1iZXI7XG5cdGZyYW1lQnVmZmVyVHlwZTogVGV4dHVyZURhdGFUeXBlO1xuXHRyZW5kZXJQcmlvcml0eTogbnVtYmVyO1xuXHRjYW1lcmE/OiBDYW1lcmE7XG5cdHNjZW5lPzogU2NlbmU7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RwRWZmZWN0Q29tcG9zZXJPcHRpb25zID0ge1xuXHRlbmFibGVkOiB0cnVlLFxuXHRyZW5kZXJQcmlvcml0eTogMSxcblx0YXV0b0NsZWFyOiB0cnVlLFxuXHRtdWx0aXNhbXBsaW5nOiA4LFxuXHRmcmFtZUJ1ZmZlclR5cGU6IEhhbGZGbG9hdFR5cGUsXG59O1xuXG5mdW5jdGlvbiBpc0NvbnZvbHV0aW9uKGVmZmVjdDogRWZmZWN0KSB7XG5cdHJldHVybiAoZWZmZWN0LmdldEF0dHJpYnV0ZXMoKSAmIEVmZmVjdEF0dHJpYnV0ZS5DT05WT0xVVElPTikgPT09IEVmZmVjdEF0dHJpYnV0ZS5DT05WT0xVVElPTjtcbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbZWZmZWN0c10nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0cEVmZmVjdHMge31cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1lZmZlY3QtY29tcG9zZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwIG5ndENvbXBvdW5kPjwvbmd0LWdyb3VwPlxuXHRgLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlRWZmZWN0Q29tcG9zZXJBcGkoKV0sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBFZmZlY3RDb21wb3NlciB7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cdGF1dG9FZmZlY3QgPSBpbmplY3RBdXRvRWZmZWN0KCk7XG5cdHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0c2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cdGdsID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJyk7XG5cdGRlZmF1bHRTY2VuZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpO1xuXHRkZWZhdWx0Q2FtZXJhID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NhbWVyYScpO1xuXG5cdGRlcHRoQnVmZmVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuZGVwdGhCdWZmZXIpO1xuXHRzdGVuY2lsQnVmZmVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuc3RlbmNpbEJ1ZmZlcik7XG5cdG11bHRpc2FtcGxpbmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5tdWx0aXNhbXBsaW5nKTtcblx0ZnJhbWVCdWZmZXJUeXBlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuZnJhbWVCdWZmZXJUeXBlKTtcblx0c2NlbmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5zY2VuZSA/PyB0aGlzLmRlZmF1bHRTY2VuZSgpKTtcblx0Y2FtZXJhID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuY2FtZXJhID8/IHRoaXMuZGVmYXVsdENhbWVyYSgpKTtcblx0ZW5hYmxlTm9ybWFsUGFzcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLmVuYWJsZU5vcm1hbFBhc3MpO1xuXHRyZXNvbHV0aW9uU2NhbGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5yZXNvbHV0aW9uU2NhbGUpO1xuXG5cdGdyb3VwID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0Z3JvdXBBbmNob3IgPSB2aWV3Q2hpbGQucmVxdWlyZWQoJ2dyb3VwJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pO1xuXHRjb250ZW50ID0gY29udGVudENoaWxkLnJlcXVpcmVkKE5ndHBFZmZlY3RzLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pO1xuXG5cdGNvbXBvc2VyRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB3ZWJHTDJBdmFpbGFibGUgPSBpc1dlYkdMMkF2YWlsYWJsZSgpO1xuXHRcdGNvbnN0IFtcblx0XHRcdGdsLFxuXHRcdFx0c2NlbmUsXG5cdFx0XHRjYW1lcmEsXG5cdFx0XHRkZXB0aEJ1ZmZlcixcblx0XHRcdHN0ZW5jaWxCdWZmZXIsXG5cdFx0XHRtdWx0aXNhbXBsaW5nLFxuXHRcdFx0ZnJhbWVCdWZmZXJUeXBlLFxuXHRcdFx0ZW5hYmxlTm9ybWFsUGFzcyxcblx0XHRcdHJlc29sdXRpb25TY2FsZSxcblx0XHRdID0gW1xuXHRcdFx0dGhpcy5nbCgpLFxuXHRcdFx0dGhpcy5zY2VuZSgpLFxuXHRcdFx0dGhpcy5jYW1lcmEoKSxcblx0XHRcdHRoaXMuZGVwdGhCdWZmZXIoKSxcblx0XHRcdHRoaXMuc3RlbmNpbEJ1ZmZlcigpLFxuXHRcdFx0dGhpcy5tdWx0aXNhbXBsaW5nKCksXG5cdFx0XHR0aGlzLmZyYW1lQnVmZmVyVHlwZSgpLFxuXHRcdFx0dGhpcy5lbmFibGVOb3JtYWxQYXNzKCksXG5cdFx0XHR0aGlzLnJlc29sdXRpb25TY2FsZSgpLFxuXHRcdF07XG5cblx0XHQvLyBpbml0aWFsaXplIGNvbXBvc2VyXG5cdFx0Y29uc3QgY29tcG9zZXIgPSBuZXcgRWZmZWN0Q29tcG9zZXIoZ2wsIHtcblx0XHRcdGRlcHRoQnVmZmVyLFxuXHRcdFx0c3RlbmNpbEJ1ZmZlcixcblx0XHRcdG11bHRpc2FtcGxpbmc6IG11bHRpc2FtcGxpbmcgPiAwICYmIHdlYkdMMkF2YWlsYWJsZSA/IG11bHRpc2FtcGxpbmcgOiAwLFxuXHRcdFx0ZnJhbWVCdWZmZXJUeXBlLFxuXHRcdH0pO1xuXG5cdFx0Ly8gYWRkIHJlbmRlciBwYXNzXG5cdFx0Y29tcG9zZXIuYWRkUGFzcyhuZXcgUmVuZGVyUGFzcyhzY2VuZSwgY2FtZXJhKSk7XG5cblx0XHQvLyBjcmVhdGUgbm9ybWFsIHBhc3Ncblx0XHRsZXQgZG93blNhbXBsaW5nUGFzcyA9IG51bGw7XG5cdFx0bGV0IG5vcm1hbFBhc3MgPSBudWxsO1xuXHRcdGlmIChlbmFibGVOb3JtYWxQYXNzKSB7XG5cdFx0XHRub3JtYWxQYXNzID0gbmV3IE5vcm1hbFBhc3Moc2NlbmUsIGNhbWVyYSk7XG5cdFx0XHRub3JtYWxQYXNzLmVuYWJsZWQgPSBmYWxzZTtcblx0XHRcdGNvbXBvc2VyLmFkZFBhc3Mobm9ybWFsUGFzcyk7XG5cdFx0XHRpZiAocmVzb2x1dGlvblNjYWxlICE9PSB1bmRlZmluZWQgJiYgd2ViR0wyQXZhaWxhYmxlKSB7XG5cdFx0XHRcdGRvd25TYW1wbGluZ1Bhc3MgPSBuZXcgRGVwdGhEb3duc2FtcGxpbmdQYXNzKHsgbm9ybWFsQnVmZmVyOiBub3JtYWxQYXNzLnRleHR1cmUsIHJlc29sdXRpb25TY2FsZSB9KTtcblx0XHRcdFx0ZG93blNhbXBsaW5nUGFzcy5lbmFibGVkID0gZmFsc2U7XG5cdFx0XHRcdGNvbXBvc2VyLmFkZFBhc3MoZG93blNhbXBsaW5nUGFzcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHsgY29tcG9zZXIsIG5vcm1hbFBhc3MsIGRvd25TYW1wbGluZ1Bhc3MgfTtcblx0fSk7XG5cblx0YXBpID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFt7IGNvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzIH0sIGNhbWVyYSwgc2NlbmUsIHJlc29sdXRpb25TY2FsZV0gPSBbXG5cdFx0XHR0aGlzLmNvbXBvc2VyRGF0YSgpLFxuXHRcdFx0dGhpcy5jYW1lcmEoKSxcblx0XHRcdHRoaXMuc2NlbmUoKSxcblx0XHRcdHRoaXMucmVzb2x1dGlvblNjYWxlKCksXG5cdFx0XTtcblx0XHRyZXR1cm4geyBjb21wb3NlciwgY2FtZXJhLCBzY2VuZSwgbm9ybWFsUGFzcywgZG93blNhbXBsaW5nUGFzcywgcmVzb2x1dGlvblNjYWxlIH07XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHR0aGlzLmRpc2FibGVUb25lTWFwcGluZygpO1xuXHRcdFx0dGhpcy5zZXRDb21wb3NlclNpemUoKTtcblx0XHRcdHRoaXMucmVuZGVyKCk7XG5cdFx0XHR0aGlzLnVwZGF0ZVBhc3NlcygpO1xuXG5cdFx0XHRpbmplY3RCZWZvcmVSZW5kZXIoXG5cdFx0XHRcdCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBbeyBjb21wb3NlciB9LCB7IGVuYWJsZWQsIGF1dG9DbGVhciwgc3RlbmNpbEJ1ZmZlciB9LCBnbF0gPSBbXG5cdFx0XHRcdFx0XHR0aGlzLmNvbXBvc2VyRGF0YSgpLFxuXHRcdFx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRcdFx0XHR0aGlzLmdsKCksXG5cdFx0XHRcdFx0XTtcblxuXHRcdFx0XHRcdGlmIChlbmFibGVkKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBjdXJyZW50QXV0b0NsZWFyID0gZ2wuYXV0b0NsZWFyO1xuXHRcdFx0XHRcdFx0Z2wuYXV0b0NsZWFyID0gYXV0b0NsZWFyO1xuXHRcdFx0XHRcdFx0aWYgKHN0ZW5jaWxCdWZmZXIgJiYgIWF1dG9DbGVhcikgZ2wuY2xlYXJTdGVuY2lsKCk7XG5cdFx0XHRcdFx0XHRjb21wb3Nlci5yZW5kZXIoZGVsdGEpO1xuXHRcdFx0XHRcdFx0Z2wuYXV0b0NsZWFyID0gY3VycmVudEF1dG9DbGVhcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsIHByaW9yaXR5OiB0aGlzLm9wdGlvbnMoKS5lbmFibGVkID8gdGhpcy5vcHRpb25zKCkucmVuZGVyUHJpb3JpdHkgOiAwIH0sXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gTk9URTogRGlzYWJsZSB0b25lIG1hcHBpbmcgYmVjYXVzZSB0aHJlZWpzIGRpc2FsbG93cyB0b25lbWFwcGluZyBvbiByZW5kZXIgdGFyZ2V0c1xuXHRwcml2YXRlIGRpc2FibGVUb25lTWFwcGluZygpIHtcblx0XHR0aGlzLmF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgZ2wgPSB0aGlzLmdsKCk7XG5cdFx0XHRjb25zdCBjdXJyZW50VG9uZW1hcHBpbmcgPSBnbC50b25lTWFwcGluZztcblx0XHRcdGdsLnRvbmVNYXBwaW5nID0gTm9Ub25lTWFwcGluZztcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGdsLnRvbmVNYXBwaW5nID0gY3VycmVudFRvbmVtYXBwaW5nO1xuXHRcdFx0fTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgc2V0Q29tcG9zZXJTaXplKCkge1xuXHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbeyBjb21wb3NlciB9LCB7IHdpZHRoLCBoZWlnaHQgfV0gPSBbdGhpcy5jb21wb3NlckRhdGEoKSwgdGhpcy5zaXplKCldO1xuXHRcdFx0aWYgKGNvbXBvc2VyKSB7XG5cdFx0XHRcdGNvbXBvc2VyLnNldFNpemUod2lkdGgsIGhlaWdodCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIHJlbmRlcigpIHtcblx0XHR0aGlzLmF1dG9FZmZlY3QoXG5cdFx0XHQoaW5qZWN0b3IpID0+IHtcblx0XHRcdFx0Y29uc3QgcmVmID0gdGhpcy5ncm91cEFuY2hvcigpLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbnRlbnQoKSwge30sIHsgaW5qZWN0b3IgfSk7XG5cdFx0XHRcdHJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cblx0XHRcdFx0cmV0dXJuICgpID0+IHJlZi5kZXN0cm95KCk7XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZVBhc3NlcygpIHtcblx0XHR0aGlzLmF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW2dyb3VwLCB7IGNvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzIH0sIGNhbWVyYV0gPSBbXG5cdFx0XHRcdHRoaXMuZ3JvdXAoKSxcblx0XHRcdFx0dGhpcy5jb21wb3NlckRhdGEoKSxcblx0XHRcdFx0dGhpcy5jYW1lcmEoKSxcblx0XHRcdF07XG5cblx0XHRcdGNvbnN0IHBhc3NlczogUGFzc1tdID0gW107XG5cblx0XHRcdGlmIChncm91cC5uYXRpdmVFbGVtZW50ICYmIGNvbXBvc2VyKSB7XG5cdFx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGdyb3VwLm5hdGl2ZUVsZW1lbnQpO1xuXHRcdFx0XHRpZiAoIWxvY2FsU3RhdGUpIHJldHVybjtcblxuXHRcdFx0XHRjb25zdCBjaGlsZHJlbiA9IGxvY2FsU3RhdGUubm9uT2JqZWN0cygpO1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0Y29uc3QgY2hpbGQgPSBjaGlsZHJlbltpXTtcblx0XHRcdFx0XHRpZiAoY2hpbGQgaW5zdGFuY2VvZiBFZmZlY3QpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGVmZmVjdHM6IEVmZmVjdFtdID0gW2NoaWxkXTtcblxuXHRcdFx0XHRcdFx0aWYgKCFpc0NvbnZvbHV0aW9uKGNoaWxkKSkge1xuXHRcdFx0XHRcdFx0XHRsZXQgbmV4dDogdW5rbm93biA9IG51bGw7XG5cdFx0XHRcdFx0XHRcdHdoaWxlICgobmV4dCA9IGNoaWxkcmVuW2kgKyAxXSkgaW5zdGFuY2VvZiBFZmZlY3QpIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoaXNDb252b2x1dGlvbihuZXh0KSkgYnJlYWs7XG5cdFx0XHRcdFx0XHRcdFx0ZWZmZWN0cy5wdXNoKG5leHQgYXMgRWZmZWN0KTtcblx0XHRcdFx0XHRcdFx0XHRpKys7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Y29uc3QgcGFzcyA9IG5ldyBFZmZlY3RQYXNzKGNhbWVyYSwgLi4uZWZmZWN0cyk7XG5cdFx0XHRcdFx0XHRwYXNzZXMucHVzaChwYXNzKTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNoaWxkIGluc3RhbmNlb2YgUGFzcykge1xuXHRcdFx0XHRcdFx0cGFzc2VzLnB1c2goY2hpbGQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAoY29uc3QgcGFzcyBvZiBwYXNzZXMpIHtcblx0XHRcdFx0XHRjb21wb3Nlci5hZGRQYXNzKHBhc3MpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKG5vcm1hbFBhc3MpIG5vcm1hbFBhc3MuZW5hYmxlZCA9IHRydWU7XG5cdFx0XHRcdGlmIChkb3duU2FtcGxpbmdQYXNzKSBkb3duU2FtcGxpbmdQYXNzLmVuYWJsZWQgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRmb3IgKGNvbnN0IHBhc3Mgb2YgcGFzc2VzKSBjb21wb3Nlcj8ucmVtb3ZlUGFzcyhwYXNzKTtcblx0XHRcdFx0aWYgKG5vcm1hbFBhc3MpIG5vcm1hbFBhc3MuZW5hYmxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZiAoZG93blNhbXBsaW5nUGFzcykgZG93blNhbXBsaW5nUGFzcy5lbmFibGVkID0gZmFsc2U7XG5cdFx0XHR9O1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
package/esm2022/lib/effect.mjs
CHANGED
|
@@ -1,78 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, Directive, inject, input } from '@angular/core';
|
|
2
|
+
import { injectNgtRef, injectNgtStore } from 'angular-three';
|
|
3
|
+
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
4
|
+
import { createNoopInjectionToken } from 'ngxtension/create-injection-token';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
set _opacity(opacity) {
|
|
10
|
-
this.inputs.set({ opacity });
|
|
6
|
+
export const [injectDefaultEffectOptions, provideDefaultEffectOptions] = createNoopInjectionToken('Default Effect options');
|
|
7
|
+
export class NgtpEffectBlendMode {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.effect = inject(NgtpEffect, { optional: true });
|
|
11
10
|
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffectBlendMode, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: NgtpEffectBlendMode, isStandalone: true, selector: "ngtp-effect-blend-mode", ngImport: i0, template: `
|
|
13
|
+
@if (effect) {
|
|
14
|
+
<ngt-value [rawValue]="effect.blendFunction()" attach="blendMode.blendFunction" />
|
|
15
|
+
<ngt-value [rawValue]="effect.opacity()" attach="blendMode.opacity.value" />
|
|
16
|
+
}
|
|
17
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffectBlendMode, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{
|
|
22
|
+
selector: 'ngtp-effect-blend-mode',
|
|
23
|
+
standalone: true,
|
|
24
|
+
template: `
|
|
25
|
+
@if (effect) {
|
|
26
|
+
<ngt-value [rawValue]="effect.blendFunction()" attach="blendMode.blendFunction" />
|
|
27
|
+
<ngt-value [rawValue]="effect.opacity()" attach="blendMode.opacity.value" />
|
|
28
|
+
}
|
|
29
|
+
`,
|
|
30
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
31
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
export class NgtpEffect {
|
|
12
35
|
constructor() {
|
|
13
|
-
this.
|
|
14
|
-
this.effectRef = injectNgtRef();
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.opacity = this.inputs.select('opacity');
|
|
36
|
+
this.defaultEffectOptions = injectDefaultEffectOptions({ optional: true });
|
|
37
|
+
this.effectRef = input(injectNgtRef());
|
|
38
|
+
this.blendFunction = input(this.defaultEffectOptions?.blendFunction);
|
|
39
|
+
this.opacity = input(this.defaultEffectOptions?.opacity);
|
|
40
|
+
this.autoEffect = injectAutoEffect();
|
|
19
41
|
this.store = injectNgtStore();
|
|
20
42
|
this.camera = this.store.select('camera');
|
|
21
43
|
this.invalidate = this.store.select('invalidate');
|
|
22
|
-
this.nativeInputs = computed(() => {
|
|
23
|
-
const effect = this.effectRef.nativeElement;
|
|
24
|
-
if (!effect)
|
|
25
|
-
return this.previousInputs || null;
|
|
26
|
-
const localState = getLocalState(effect);
|
|
27
|
-
if (!localState)
|
|
28
|
-
return this.previousInputs || null;
|
|
29
|
-
const nativeProps = localState.nativeProps.state();
|
|
30
|
-
delete nativeProps['__ngt_dummy_state__'];
|
|
31
|
-
if ('camera' in nativeProps) {
|
|
32
|
-
delete nativeProps['camera'];
|
|
33
|
-
}
|
|
34
|
-
if (!Object.keys(nativeProps).length)
|
|
35
|
-
return this.previousInputs || null;
|
|
36
|
-
return (this.previousInputs = nativeProps);
|
|
37
|
-
}, { equal: (a, b) => is.equ(a, b, { objects: 'shallow' }) });
|
|
38
|
-
this.args = computed(() => {
|
|
39
|
-
const [nativeInputs, nativeArgs] = [this.nativeInputs(), this.nativeArgs()];
|
|
40
|
-
if (nativeInputs) {
|
|
41
|
-
nativeArgs.push(nativeInputs);
|
|
42
|
-
}
|
|
43
|
-
return nativeArgs;
|
|
44
|
-
});
|
|
45
|
-
this.setBlendMode();
|
|
46
|
-
}
|
|
47
|
-
setBlendMode() {
|
|
48
|
-
effect(() => {
|
|
49
|
-
const [blendFunction, opacity, effect, invalidate] = [
|
|
50
|
-
this.blendFunction(),
|
|
51
|
-
this.opacity(),
|
|
52
|
-
this.effectRef.nativeElement,
|
|
53
|
-
this.invalidate(),
|
|
54
|
-
];
|
|
55
|
-
if (!effect)
|
|
56
|
-
return;
|
|
57
|
-
effect.blendMode.blendFunction =
|
|
58
|
-
!blendFunction && blendFunction !== 0 ? this.defaultBlendFunction : blendFunction;
|
|
59
|
-
if (opacity !== undefined)
|
|
60
|
-
effect.blendMode.opacity.value = opacity;
|
|
61
|
-
invalidate();
|
|
62
|
-
});
|
|
63
44
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
65
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffect, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.3", type: NgtpEffect, isStandalone: true, inputs: { effectRef: { classPropertyName: "effectRef", publicName: "effectRef", isSignal: true, isRequired: false, transformFunction: null }, blendFunction: { classPropertyName: "blendFunction", publicName: "blendFunction", isSignal: true, isRequired: false, transformFunction: null }, opacity: { classPropertyName: "opacity", publicName: "opacity", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
66
47
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
-
type: Directive
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
args: [{ alias: 'blendFunction' }]
|
|
74
|
-
}], _opacity: [{
|
|
75
|
-
type: Input,
|
|
76
|
-
args: [{ alias: 'opacity' }]
|
|
77
|
-
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVF2RCxNQUFNLE9BQWdCLFVBQVU7SUFLL0IsSUFBdUMsY0FBYyxDQUFDLGFBQTRCO1FBQ2pGLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBaUMsUUFBUSxDQUFDLE9BQWU7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUF3Q0Q7UUFsREEsV0FBTSxHQUFHLFdBQVcsRUFBbUIsQ0FBQztRQUUvQixjQUFTLEdBQUcsWUFBWSxFQUFXLENBQUM7UUFVbkMseUJBQW9CLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxlQUFVLEdBQXlCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUV0RCxrQkFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BELFlBQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5QixVQUFLLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDekIsV0FBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENB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bnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgY29tcHV0ZWQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0TG9jYWxTdGF0ZSwgaW5qZWN0Tmd0UmVmLCBpbmplY3ROZ3RTdG9yZSwgaXMsIHNpZ25hbFN0b3JlLCB0eXBlIE5ndEFueVJlY29yZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQmxlbmRGdW5jdGlvbiwgRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuXG5leHBvcnQgdHlwZSBOZ3RwRWZmZWN0U3RhdGUgPSB7XG5cdGJsZW5kRnVuY3Rpb24/OiBCbGVuZEZ1bmN0aW9uO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd0cEVmZmVjdDxURWZmZWN0IGV4dGVuZHMgRWZmZWN0PiB7XG5cdGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHBFZmZlY3RTdGF0ZT4oKTtcblxuXHRASW5wdXQoKSBlZmZlY3RSZWYgPSBpbmplY3ROZ3RSZWY8VEVmZmVjdD4oKTtcblxuXHRASW5wdXQoeyBhbGlhczogJ2JsZW5kRnVuY3Rpb24nIH0pIHNldCBfYmxlbmRGdW5jdGlvbihibGVuZEZ1bmN0aW9uOiBCbGVuZEZ1bmN0aW9uKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYmxlbmRGdW5jdGlvbiB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnb3BhY2l0eScgfSkgc2V0IF9vcGFjaXR5KG9wYWNpdHk6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG9wYWNpdHkgfSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZGVmYXVsdEJsZW5kRnVuY3Rpb24gPSBCbGVuZEZ1bmN0aW9uLk5PUk1BTDtcblx0cHJvdGVjdGVkIG5hdGl2ZUFyZ3M6ICgpID0+IE5ndEFueVJlY29yZFtdID0gKCkgPT4gW107XG5cblx0YmxlbmRGdW5jdGlvbiA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYmxlbmRGdW5jdGlvbicpO1xuXHRvcGFjaXR5ID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdvcGFjaXR5Jyk7XG5cblx0cHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0cHJvdGVjdGVkIGNhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0cHJpdmF0ZSBpbnZhbGlkYXRlID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2ludmFsaWRhdGUnKTtcblxuXHRwcml2YXRlIHByZXZpb3VzSW5wdXRzPzogTmd0QW55UmVjb3JkO1xuXG5cdHByaXZhdGUgbmF0aXZlSW5wdXRzID0gY29tcHV0ZWQoXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3QgZWZmZWN0ID0gdGhpcy5lZmZlY3RSZWYubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICghZWZmZWN0KSByZXR1cm4gdGhpcy5wcmV2aW91c0lucHV0cyB8fCBudWxsO1xuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoZWZmZWN0KTtcblx0XHRcdGlmICghbG9jYWxTdGF0ZSkgcmV0dXJuIHRoaXMucHJldmlvdXNJbnB1dHMgfHwgbnVsbDtcblx0XHRcdGNvbnN0IG5hdGl2ZVByb3BzID0gbG9jYWxTdGF0ZS5uYXRpdmVQcm9wcy5zdGF0ZSgpO1xuXHRcdFx0ZGVsZXRlIG5hdGl2ZVByb3BzWydfX25ndF9kdW1teV9zdGF0ZV9fJ107XG5cdFx0XHRpZiAoJ2NhbWVyYScgaW4gbmF0aXZlUHJvcHMpIHtcblx0XHRcdFx0ZGVsZXRlIG5hdGl2ZVByb3BzWydjYW1lcmEnXTtcblx0XHRcdH1cblx0XHRcdGlmICghT2JqZWN0LmtleXMobmF0aXZlUHJvcHMpLmxlbmd0aCkgcmV0dXJuIHRoaXMucHJldmlvdXNJbnB1dHMgfHwgbnVsbDtcblx0XHRcdHJldHVybiAodGhpcy5wcmV2aW91c0lucHV0cyA9IG5hdGl2ZVByb3BzKTtcblx0XHR9LFxuXHRcdHsgZXF1YWw6IChhLCBiKSA9PiBpcy5lcXUoYSwgYiwgeyBvYmplY3RzOiAnc2hhbGxvdycgfSkgfSxcblx0KTtcblxuXHRhcmdzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFtuYXRpdmVJbnB1dHMsIG5hdGl2ZUFyZ3NdID0gW3RoaXMubmF0aXZlSW5wdXRzKCksIHRoaXMubmF0aXZlQXJncygpXTtcblx0XHRpZiAobmF0aXZlSW5wdXRzKSB7XG5cdFx0XHRuYXRpdmVBcmdzLnB1c2gobmF0aXZlSW5wdXRzKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbmF0aXZlQXJncztcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5zZXRCbGVuZE1vZGUoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0QmxlbmRNb2RlKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbYmxlbmRGdW5jdGlvbiwgb3BhY2l0eSwgZWZmZWN0LCBpbnZhbGlkYXRlXSA9IFtcblx0XHRcdFx0dGhpcy5ibGVuZEZ1bmN0aW9uKCksXG5cdFx0XHRcdHRoaXMub3BhY2l0eSgpLFxuXHRcdFx0XHR0aGlzLmVmZmVjdFJlZi5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRcdF07XG5cblx0XHRcdGlmICghZWZmZWN0KSByZXR1cm47XG5cdFx0XHRlZmZlY3QuYmxlbmRNb2RlLmJsZW5kRnVuY3Rpb24gPVxuXHRcdFx0XHQhYmxlbmRGdW5jdGlvbiAmJiBibGVuZEZ1bmN0aW9uICE9PSAwID8gdGhpcy5kZWZhdWx0QmxlbmRGdW5jdGlvbiA6IGJsZW5kRnVuY3Rpb247XG5cdFx0XHRpZiAob3BhY2l0eSAhPT0gdW5kZWZpbmVkKSBlZmZlY3QuYmxlbmRNb2RlLm9wYWNpdHkudmFsdWUgPSBvcGFjaXR5O1xuXHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpEffect, decorators: [{
|
|
49
|
+
type: Directive,
|
|
50
|
+
args: [{ standalone: true }]
|
|
51
|
+
}] });
|
|
52
|
+
export const NgtpEffectHostDirective = { directive: NgtpEffect, inputs: ['blendFunction', 'opacity', 'effectRef'] };
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUc3RSxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUEwQixFQUFFLDJCQUEyQixDQUFDLEdBQUcsd0JBQXdCLENBRzlGLHdCQUF3QixDQUFDLENBQUM7QUFjN0IsTUFBTSxPQUFPLG1CQUFtQjtJQVpoQztRQWFDLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDaEQ7OEdBRlksbUJBQW1CO2tHQUFuQixtQkFBbUIsa0ZBVHJCOzs7OztFQUtUOzsyRkFJVyxtQkFBbUI7a0JBWi9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7RUFLVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DOztBQU1ELE1BQU0sT0FBTyxVQUFVO0lBRHZCO1FBRUMseUJBQW9CLEdBQUcsMEJBQTBCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV0RSxjQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBVSxDQUFDLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBELGVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hDLFVBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBNkI3Qzs4R0F2Q1ksVUFBVTtrR0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs7QUEwQy9CLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndFJlZiwgaW5qZWN0Tmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IGNyZWF0ZU5vb3BJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ25neHRlbnNpb24vY3JlYXRlLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBCbGVuZEZ1bmN0aW9uLCBFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5cbmV4cG9ydCBjb25zdCBbaW5qZWN0RGVmYXVsdEVmZmVjdE9wdGlvbnMsIHByb3ZpZGVEZWZhdWx0RWZmZWN0T3B0aW9uc10gPSBjcmVhdGVOb29wSW5qZWN0aW9uVG9rZW48e1xuXHRibGVuZEZ1bmN0aW9uPzogQmxlbmRGdW5jdGlvbjtcblx0b3BhY2l0eT86IG51bWJlcjtcbn0+KCdEZWZhdWx0IEVmZmVjdCBvcHRpb25zJyk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtZWZmZWN0LWJsZW5kLW1vZGUnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdEBpZiAoZWZmZWN0KSB7XG5cdFx0XHQ8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJlZmZlY3QuYmxlbmRGdW5jdGlvbigpXCIgYXR0YWNoPVwiYmxlbmRNb2RlLmJsZW5kRnVuY3Rpb25cIiAvPlxuXHRcdFx0PG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwiZWZmZWN0Lm9wYWNpdHkoKVwiIGF0dGFjaD1cImJsZW5kTW9kZS5vcGFjaXR5LnZhbHVlXCIgLz5cblx0XHR9XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBFZmZlY3RCbGVuZE1vZGUge1xuXHRlZmZlY3QgPSBpbmplY3QoTmd0cEVmZmVjdCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RwRWZmZWN0IHtcblx0ZGVmYXVsdEVmZmVjdE9wdGlvbnMgPSBpbmplY3REZWZhdWx0RWZmZWN0T3B0aW9ucyh7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdGVmZmVjdFJlZiA9IGlucHV0KGluamVjdE5ndFJlZjxFZmZlY3Q+KCkpO1xuXHRibGVuZEZ1bmN0aW9uID0gaW5wdXQodGhpcy5kZWZhdWx0RWZmZWN0T3B0aW9ucz8uYmxlbmRGdW5jdGlvbik7XG5cdG9wYWNpdHkgPSBpbnB1dCh0aGlzLmRlZmF1bHRFZmZlY3RPcHRpb25zPy5vcGFjaXR5KTtcblxuXHRhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXHRzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdGNhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0aW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cblx0Ly8gY29uc3RydWN0b3IoKSB7XG5cdC8vIFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0Ly8gXHRcdHRoaXMuc2V0QmxlbmRNb2RlKCk7XG5cdC8vIFx0fSk7XG5cdC8vIH1cblx0Ly9cblx0Ly8gcHJpdmF0ZSBzZXRCbGVuZE1vZGUoKSB7XG5cdC8vIFx0dGhpcy5hdXRvRWZmZWN0KCgpID0+IHtcblx0Ly8gXHRcdGNvbnN0IFtlZmZlY3QsIGJsZW5kRnVuY3Rpb24sIG9wYWNpdHksIGludmFsaWRhdGVdID0gW1xuXHQvLyBcdFx0XHR0aGlzLmVmZmVjdFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdC8vIFx0XHRcdHRoaXMuYmxlbmRGdW5jdGlvbigpLFxuXHQvLyBcdFx0XHR0aGlzLm9wYWNpdHkoKSxcblx0Ly8gXHRcdFx0dGhpcy5pbnZhbGlkYXRlKCksXG5cdC8vIFx0XHRdO1xuXHQvLyBcdFx0aWYgKCFlZmZlY3QpIHJldHVybjtcblx0Ly9cblx0Ly8gXHRcdGlmIChibGVuZEZ1bmN0aW9uICE9PSB1bmRlZmluZWQpIHtcblx0Ly8gXHRcdFx0ZWZmZWN0LmJsZW5kTW9kZS5ibGVuZEZ1bmN0aW9uID0gYmxlbmRGdW5jdGlvbjtcblx0Ly8gXHRcdH1cblx0Ly9cblx0Ly8gXHRcdGlmIChvcGFjaXR5ICE9PSB1bmRlZmluZWQpIHtcblx0Ly8gXHRcdFx0ZWZmZWN0LmJsZW5kTW9kZS5vcGFjaXR5LnZhbHVlID0gb3BhY2l0eTtcblx0Ly8gXHRcdH1cblx0Ly9cblx0Ly8gXHRcdGludmFsaWRhdGUoKTtcblx0Ly8gXHR9KTtcblx0Ly8gfVxufVxuXG5leHBvcnQgY29uc3QgTmd0cEVmZmVjdEhvc3REaXJlY3RpdmUgPSB7IGRpcmVjdGl2ZTogTmd0cEVmZmVjdCwgaW5wdXRzOiBbJ2JsZW5kRnVuY3Rpb24nLCAnb3BhY2l0eScsICdlZmZlY3RSZWYnXSB9O1xuIl19
|