angular-three-postprocessing 2.2.0 → 2.3.0
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 +31 -41
- package/esm2022/lib/effect.mjs +6 -6
- package/esm2022/lib/effects/ascii.mjs +3 -3
- package/esm2022/lib/effects/bloom.mjs +3 -3
- package/esm2022/lib/effects/brightness-contrast.mjs +3 -3
- package/esm2022/lib/effects/chromatic-abberation.mjs +3 -3
- package/esm2022/lib/effects/color-average.mjs +3 -3
- package/esm2022/lib/effects/color-depth.mjs +3 -3
- package/esm2022/lib/effects/depth-of-field.mjs +9 -15
- package/esm2022/lib/effects/depth.mjs +3 -3
- package/esm2022/lib/effects/dot-screen.mjs +3 -3
- package/esm2022/lib/effects/fxaa.mjs +3 -3
- package/esm2022/lib/effects/glitch.mjs +15 -19
- package/esm2022/lib/effects/god-rays.mjs +9 -13
- package/esm2022/lib/effects/grid.mjs +10 -14
- package/esm2022/lib/effects/hue-saturation.mjs +3 -3
- package/esm2022/lib/effects/index.mjs +2 -1
- package/esm2022/lib/effects/lens-flare.mjs +13 -17
- package/esm2022/lib/effects/lut.mjs +18 -22
- package/esm2022/lib/effects/noise.mjs +3 -3
- package/esm2022/lib/effects/outline.mjs +33 -30
- package/esm2022/lib/effects/pixelation.mjs +3 -3
- package/esm2022/lib/effects/scanline.mjs +3 -3
- package/esm2022/lib/effects/sepia.mjs +3 -3
- package/esm2022/lib/effects/shock-wave.mjs +3 -3
- package/esm2022/lib/effects/smaa.mjs +3 -3
- package/esm2022/lib/effects/tilt-shift-2.mjs +3 -3
- package/esm2022/lib/effects/tilt-shift.mjs +3 -3
- package/esm2022/lib/effects/tone-mapping.mjs +81 -0
- package/esm2022/lib/effects/vignette.mjs +3 -3
- package/esm2022/lib/effects/water.mjs +3 -3
- package/esm2022/n8ao/angular-three-postprocessing-n8ao.mjs +5 -0
- package/esm2022/n8ao/index.mjs +2 -0
- package/esm2022/n8ao/lib/n8ao.mjs +78 -0
- package/fesm2022/angular-three-postprocessing-n8ao.mjs +85 -0
- package/fesm2022/angular-three-postprocessing-n8ao.mjs.map +1 -0
- package/fesm2022/angular-three-postprocessing.mjs +269 -218
- package/fesm2022/angular-three-postprocessing.mjs.map +1 -1
- package/lib/effect-composer.d.ts +0 -4
- package/lib/effects/depth-of-field.d.ts +1 -2
- package/lib/effects/glitch.d.ts +2 -3
- package/lib/effects/god-rays.d.ts +1 -2
- package/lib/effects/grid.d.ts +0 -1
- package/lib/effects/index.d.ts +1 -0
- package/lib/effects/lens-flare.d.ts +5 -7
- package/lib/effects/lut.d.ts +2 -3
- package/lib/effects/tone-mapping.d.ts +43 -0
- package/n8ao/README.md +3 -0
- package/n8ao/index.d.ts +1 -0
- package/n8ao/lib/n8ao.d.ts +35 -0
- package/package.json +13 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, inject, input, untracked, } from '@angular/core';
|
|
2
2
|
import { injectStore, NgtArgs, NgtSelection, omit, pick, resolveRef } from 'angular-three';
|
|
3
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
4
3
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
4
|
import { OutlineEffect } from 'postprocessing';
|
|
6
5
|
import { NgtpEffectComposer } from '../effect-composer';
|
|
@@ -73,31 +72,35 @@ export class NgtpOutline {
|
|
|
73
72
|
...restOptions,
|
|
74
73
|
});
|
|
75
74
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// NOTE:
|
|
89
|
-
if (
|
|
90
|
-
|
|
91
|
-
if (this.selection() === undefined) {
|
|
92
|
-
throw new Error('[NGT PostProcessing]: ngtp-outline requires selection input or use NgtSelection');
|
|
93
|
-
}
|
|
94
|
-
return this.handleSelectionChangeEffect(this.selection, this.effect, this.invalidate);
|
|
75
|
+
effect((onCleanup) => {
|
|
76
|
+
const effect = this.effect();
|
|
77
|
+
onCleanup(() => effect.dispose());
|
|
78
|
+
});
|
|
79
|
+
effect(() => {
|
|
80
|
+
const [effect, invalidate, selectionLayer] = [this.effect(), this.invalidate(), this.selectionLayer()];
|
|
81
|
+
effect.selectionLayer = selectionLayer;
|
|
82
|
+
invalidate();
|
|
83
|
+
});
|
|
84
|
+
effect((onCleanup) => {
|
|
85
|
+
// NOTE: we run this effect if declarative NgtSelection is not enabled
|
|
86
|
+
if (!this.ngtSelection) {
|
|
87
|
+
// NOTE: if NgtSelection is not used and selection is not provided, we throw
|
|
88
|
+
if (this.selection() === undefined) {
|
|
89
|
+
throw new Error('[NGT PostProcessing]: ngtp-outline requires selection input or use NgtSelection');
|
|
95
90
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return
|
|
91
|
+
const cleanup = this.handleSelectionChangeEffect(this.selection, this.effect, this.invalidate);
|
|
92
|
+
onCleanup(() => {
|
|
93
|
+
cleanup?.();
|
|
94
|
+
});
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// NOTE: we run this effect if declarative NgtSelection is enabled
|
|
98
|
+
const selectionEnabled = this.ngtSelection.enabled();
|
|
99
|
+
if (!selectionEnabled)
|
|
100
|
+
return;
|
|
101
|
+
const cleanup = this.handleSelectionChangeEffect(this.ngtSelection.selected, this.effect, this.invalidate);
|
|
102
|
+
onCleanup(() => {
|
|
103
|
+
cleanup?.();
|
|
101
104
|
});
|
|
102
105
|
});
|
|
103
106
|
}
|
|
@@ -122,12 +125,12 @@ export class NgtpOutline {
|
|
|
122
125
|
invalidate();
|
|
123
126
|
};
|
|
124
127
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpOutline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpOutline, isStandalone: true, selector: "ngtp-outline", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
127
130
|
<ngt-primitive *args="[effect()]" />
|
|
128
131
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
129
132
|
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpOutline, decorators: [{
|
|
131
134
|
type: Component,
|
|
132
135
|
args: [{
|
|
133
136
|
selector: 'ngtp-outline',
|
|
@@ -140,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
140
143
|
imports: [NgtArgs],
|
|
141
144
|
}]
|
|
142
145
|
}], ctorParameters: () => [] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL291dGxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixzQkFBc0IsRUFFdEIsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3hELE1BQU0sY0FBYyxHQUF1QjtJQUMxQyxjQUFjLEVBQUUsRUFBRTtDQUNsQixDQUFDO0FBWUYsTUFBTSxPQUFPLFdBQVc7SUFxRnZCO1FBcEZBLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEUsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1QyxVQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVks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LEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7RUFFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRhZnRlck5leHRSZW5kZXIsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0U3RvcmUsIE5ndEFyZ3MsIE5ndFNlbGVjdGlvbiwgb21pdCwgcGljaywgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0QXV0b0VmZmVjdCB9IGZyb20gJ25neHRlbnNpb24vYXV0by1lZmZlY3QnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgT3V0bGluZUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE9iamVjdDNEIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdENvbXBvc2VyIH0gZnJvbSAnLi4vZWZmZWN0LWNvbXBvc2VyJztcblxuZXhwb3J0IHR5cGUgTmd0cE91dGxpbmVPcHRpb25zID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBPdXRsaW5lRWZmZWN0PlsyXSAmIHtcblx0c2VsZWN0aW9uPzogQXJyYXk8T2JqZWN0M0QgfCBFbGVtZW50UmVmPE9iamVjdDNEPj47XG5cdHNlbGVjdGlvbkxheWVyOiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0cE91dGxpbmVPcHRpb25zID0ge1xuXHRzZWxlY3Rpb25MYXllcjogMTAsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLW91dGxpbmUnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2VmZmVjdCgpXVwiIC8+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cE91dGxpbmUge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0cHJpdmF0ZSBuZ3RTZWxlY3Rpb24gPSBpbmplY3QoTmd0U2VsZWN0aW9uLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXHRwcml2YXRlIGVmZmVjdENvbXBvc2VyID0gaW5qZWN0KE5ndHBFZmZlY3RDb21wb3Nlcik7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdHByaXZhdGUgc2VsZWN0aW9uID0gcGljayh0aGlzLm9wdGlvbnMsICdzZWxlY3Rpb24nKTtcblx0cHJpdmF0ZSBzZWxlY3Rpb25MYXllciA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2VsZWN0aW9uTGF5ZXInKTtcblxuXHRwcml2YXRlIGJsZW5kRnVuY3Rpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ2JsZW5kRnVuY3Rpb24nKTtcblx0cHJpdmF0ZSBwYXR0ZXJuVGV4dHVyZSA9IHBpY2sodGhpcy5vcHRpb25zLCAncGF0dGVyblRleHR1cmUnKTtcblx0cHJpdmF0ZSBlZGdlU3RyZW5ndGggPSBwaWNrKHRoaXMub3B0aW9ucywgJ2VkZ2VTdHJlbmd0aCcpO1xuXHRwcml2YXRlIHB1bHNlU3BlZWQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3B1bHNlU3BlZWQnKTtcblx0cHJpdmF0ZSB2aXNpYmxlRWRnZUNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICd2aXNpYmxlRWRnZUNvbG9yJyk7XG5cdHByaXZhdGUgaGlkZGVuRWRnZUNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdoaWRkZW5FZGdlQ29sb3InKTtcblx0cHJpdmF0ZSB3aWR0aCA9IHBpY2sodGhpcy5vcHRpb25zLCAnd2lkdGgnKTtcblx0cHJpdmF0ZSBoZWlnaHQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2hlaWdodCcpO1xuXHRwcml2YXRlIGtlcm5lbFNpemUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2tlcm5lbFNpemUnKTtcblx0cHJpdmF0ZSBibHVyID0gcGljayh0aGlzLm9wdGlvbnMsICdibHVyJyk7XG5cdHByaXZhdGUgeFJheSA9IHBpY2sodGhpcy5vcHRpb25zLCAneFJheScpO1xuXHRwcml2YXRlIHJlc3RPcHRpb25zID0gb21pdCh0aGlzLm9wdGlvbnMsIFtcblx0XHQnYmxlbmRGdW5jdGlvbicsXG5cdFx0J3BhdHRlcm5UZXh0dXJlJyxcblx0XHQnZWRnZVN0cmVuZ3RoJyxcblx0XHQncHVsc2VTcGVlZCcsXG5cdFx0J3Zpc2libGVFZGdlQ29sb3InLFxuXHRcdCdoaWRkZW5FZGdlQ29sb3InLFxuXHRcdCd3aWR0aCcsXG5cdFx0J2hlaWdodCcsXG5cdFx0J2tlcm5lbFNpemUnLFxuXHRcdCdibHVyJyxcblx0XHQneFJheScsXG5cdF0pO1xuXG5cdGVmZmVjdCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbXG5cdFx0XHRzY2VuZSxcblx0XHRcdGNhbWVyYSxcblx0XHRcdGJsZW5kRnVuY3Rpb24sXG5cdFx0XHRwYXR0ZXJuVGV4dHVyZSxcblx0XHRcdGVkZ2VTdHJlbmd0aCxcblx0XHRcdHB1bHNlU3BlZWQsXG5cdFx0XHR2aXNpYmxlRWRnZUNvbG9yLFxuXHRcdFx0aGlkZGVuRWRnZUNvbG9yLFxuXHRcdFx0d2lkdGgsXG5cdFx0XHRoZWlnaHQsXG5cdFx0XHRrZXJuZWxTaXplLFxuXHRcdFx0Ymx1cixcblx0XHRcdHhSYXksXG5cdFx0XHRyZXN0T3B0aW9ucyxcblx0XHRdID0gW1xuXHRcdFx0dGhpcy5lZmZlY3RDb21wb3Nlci5zY2VuZSgpLFxuXHRcdFx0dGhpcy5lZmZlY3RDb21wb3Nlci5jYW1lcmEoKSxcblx0XHRcdHRoaXMuYmxlbmRGdW5jdGlvbigpLFxuXHRcdFx0dGhpcy5wYXR0ZXJuVGV4dHVyZSgpLFxuXHRcdFx0dGhpcy5lZGdlU3RyZW5ndGgoKSxcblx0XHRcdHRoaXMucHVsc2VTcGVlZCgpLFxuXHRcdFx0dGhpcy52aXNpYmxlRWRnZUNvbG9yKCksXG5cdFx0XHR0aGlzLmhpZGRlbkVkZ2VDb2xvcigpLFxuXHRcdFx0dGhpcy53aWR0aCgpLFxuXHRcdFx0dGhpcy5oZWlnaHQoKSxcblx0XHRcdHRoaXMua2VybmVsU2l6ZSgpLFxuXHRcdFx0dGhpcy5ibHVyKCksXG5cdFx0XHR0aGlzLnhSYXkoKSxcblx0XHRcdHVudHJhY2tlZCh0aGlzLnJlc3RPcHRpb25zKSxcblx0XHRdO1xuXG5cdFx0cmV0dXJuIG5ldyBPdXRsaW5lRWZmZWN0KHNjZW5lLCBjYW1lcmEsIHtcblx0XHRcdGJsZW5kRnVuY3Rpb24sXG5cdFx0XHRwYXR0ZXJuVGV4dHVyZSxcblx0XHRcdGVkZ2VTdHJlbmd0aCxcblx0XHRcdHB1bHNlU3BlZWQsXG5cdFx0XHR2aXNpYmxlRWRnZUNvbG9yLFxuXHRcdFx0aGlkZGVuRWRnZUNvbG9yLFxuXHRcdFx0d2lkdGgsXG5cdFx0XHRoZWlnaHQsXG5cdFx0XHRrZXJuZWxTaXplLFxuXHRcdFx0Ymx1cixcblx0XHRcdHhSYXksXG5cdFx0XHQuLi5yZXN0T3B0aW9ucyxcblx0XHR9KTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHRhdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdFx0Y29uc3QgZWZmZWN0ID0gdGhpcy5lZmZlY3QoKTtcblx0XHRcdFx0cmV0dXJuICgpID0+IGVmZmVjdC5kaXNwb3NlKCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0YXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IFtlZmZlY3QsIGludmFsaWRhdGUsIHNlbGVjdGlvbkxheWVyXSA9IFt0aGlzLmVmZmVjdCgpLCB0aGlzLmludmFsaWRhdGUoKSwgdGhpcy5zZWxlY3Rpb25MYXllcigpXTtcblx0XHRcdFx0ZWZmZWN0LnNlbGVjdGlvbkxheWVyID0gc2VsZWN0aW9uTGF5ZXI7XG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRhdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdFx0Ly8gTk9URTogd2UgcnVuIHRoaXMgZWZmZWN0IGlmIGRlY2xhcmF0aXZlIE5ndFNlbGVjdGlvbiBpcyBub3QgZW5hYmxlZFxuXHRcdFx0XHRpZiAoIXRoaXMubmd0U2VsZWN0aW9uKSB7XG5cdFx0XHRcdFx0Ly8gTk9URTogaWYgTmd0U2VsZWN0aW9uIGlzIG5vdCB1c2VkIGFuZCBzZWxlY3Rpb24gaXMgbm90IHByb3ZpZGVkLCB3ZSB0aHJvd1xuXHRcdFx0XHRcdGlmICh0aGlzLnNlbGVjdGlvbigpID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcignW05HVCBQb3N0UHJvY2Vzc2luZ106IG5ndHAtb3V0bGluZSByZXF1aXJlcyBzZWxlY3Rpb24gaW5wdXQgb3IgdXNlIE5ndFNlbGVjdGlvbicpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZUVmZmVjdCh0aGlzLnNlbGVjdGlvbiwgdGhpcy5lZmZlY3QsIHRoaXMuaW52YWxpZGF0ZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBOT1RFOiB3ZSBydW4gdGhpcyBlZmZlY3QgaWYgZGVjbGFyYXRpdmUgTmd0U2VsZWN0aW9uIGlzIGVuYWJsZWRcblx0XHRcdFx0Y29uc3Qgc2VsZWN0aW9uRW5hYmxlZCA9IHRoaXMubmd0U2VsZWN0aW9uLmVuYWJsZWQoKTtcblx0XHRcdFx0aWYgKCFzZWxlY3Rpb25FbmFibGVkKSByZXR1cm47XG5cdFx0XHRcdHJldHVybiB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZUVmZmVjdCh0aGlzLm5ndFNlbGVjdGlvbi5zZWxlY3RlZCwgdGhpcy5lZmZlY3QsIHRoaXMuaW52YWxpZGF0ZSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlRWZmZWN0KFxuXHRcdHNlbGVjdGVkOiAoKSA9PiBBcnJheTxPYmplY3QzRCB8IEVsZW1lbnRSZWY8T2JqZWN0M0Q+PiB8IHVuZGVmaW5lZCxcblx0XHRfZWZmZWN0OiAoKSA9PiBPdXRsaW5lRWZmZWN0LFxuXHRcdF9pbnZhbGlkYXRlOiAoKSA9PiAoKSA9PiB2b2lkLFxuXHQpIHtcblx0XHRjb25zdCBzZWxlY3Rpb24gPSBzZWxlY3RlZCgpO1xuXHRcdGlmICghc2VsZWN0aW9uIHx8IHNlbGVjdGlvbi5sZW5ndGggPT09IDApIHJldHVybjtcblxuXHRcdGNvbnN0IFtlZmZlY3QsIGludmFsaWRhdGVdID0gW19lZmZlY3QoKSwgX2ludmFsaWRhdGUoKV07XG5cblx0XHRjb25zdCBvYmplY3RzOiBPYmplY3QzRFtdID0gW107XG5cdFx0Zm9yIChjb25zdCBlbCBvZiBzZWxlY3Rpb24pIHtcblx0XHRcdGNvbnN0IG9iaiA9IHJlc29sdmVSZWYoZWwpO1xuXHRcdFx0aWYgKCFvYmopIGNvbnRpbnVlO1xuXHRcdFx0b2JqZWN0cy5wdXNoKG9iaik7XG5cdFx0fVxuXG5cdFx0aWYgKG9iamVjdHMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cblx0XHRlZmZlY3Quc2VsZWN0aW9uLnNldChvYmplY3RzKTtcblx0XHRpbnZhbGlkYXRlKCk7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0ZWZmZWN0LnNlbGVjdGlvbi5jbGVhcigpO1xuXHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdH07XG5cdH1cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL291dGxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixNQUFNLEVBRU4sTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3hELE1BQU0sY0FBYyxHQUF1QjtJQUMxQyxjQUFjLEVBQUUsRUFBRTtDQUNsQixDQUFDO0FBWUYsTUFBTSxPQUFPLFdBQVc7SUFxRnZCO1FBcEZBLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEUsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1QyxVQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTdDLGNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFD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QVcsa05BUGI7O0VBRVQsNERBR1MsT0FBTzs7MkZBRUwsV0FBVztrQkFWdkIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7RUFFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRjb21wdXRlZCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0U3RvcmUsIE5ndEFyZ3MsIE5ndFNlbGVjdGlvbiwgb21pdCwgcGljaywgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgT3V0bGluZUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE9iamVjdDNEIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdENvbXBvc2VyIH0gZnJvbSAnLi4vZWZmZWN0LWNvbXBvc2VyJztcblxuZXhwb3J0IHR5cGUgTmd0cE91dGxpbmVPcHRpb25zID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBPdXRsaW5lRWZmZWN0PlsyXSAmIHtcblx0c2VsZWN0aW9uPzogQXJyYXk8T2JqZWN0M0QgfCBFbGVtZW50UmVmPE9iamVjdDNEPj47XG5cdHNlbGVjdGlvbkxheWVyOiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0cE91dGxpbmVPcHRpb25zID0ge1xuXHRzZWxlY3Rpb25MYXllcjogMTAsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLW91dGxpbmUnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2VmZmVjdCgpXVwiIC8+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cE91dGxpbmUge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0cHJpdmF0ZSBuZ3RTZWxlY3Rpb24gPSBpbmplY3QoTmd0U2VsZWN0aW9uLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXHRwcml2YXRlIGVmZmVjdENvbXBvc2VyID0gaW5qZWN0KE5ndHBFZmZlY3RDb21wb3Nlcik7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdHByaXZhdGUgc2VsZWN0aW9uID0gcGljayh0aGlzLm9wdGlvbnMsICdzZWxlY3Rpb24nKTtcblx0cHJpdmF0ZSBzZWxlY3Rpb25MYXllciA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2VsZWN0aW9uTGF5ZXInKTtcblxuXHRwcml2YXRlIGJsZW5kRnVuY3Rpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ2JsZW5kRnVuY3Rpb24nKTtcblx0cHJpdmF0ZSBwYXR0ZXJuVGV4dHVyZSA9IHBpY2sodGhpcy5vcHRpb25zLCAncGF0dGVyblRleHR1cmUnKTtcblx0cHJpdmF0ZSBlZGdlU3RyZW5ndGggPSBwaWNrKHRoaXMub3B0aW9ucywgJ2VkZ2VTdHJlbmd0aCcpO1xuXHRwcml2YXRlIHB1bHNlU3BlZWQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3B1bHNlU3BlZWQnKTtcblx0cHJpdmF0ZSB2aXNpYmxlRWRnZUNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICd2aXNpYmxlRWRnZUNvbG9yJyk7XG5cdHByaXZhdGUgaGlkZGVuRWRnZUNvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdoaWRkZW5FZGdlQ29sb3InKTtcblx0cHJpdmF0ZSB3aWR0aCA9IHBpY2sodGhpcy5vcHRpb25zLCAnd2lkdGgnKTtcblx0cHJpdmF0ZSBoZWlnaHQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2hlaWdodCcpO1xuXHRwcml2YXRlIGtlcm5lbFNpemUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2tlcm5lbFNpemUnKTtcblx0cHJpdmF0ZSBibHVyID0gcGljayh0aGlzLm9wdGlvbnMsICdibHVyJyk7XG5cdHByaXZhdGUgeFJheSA9IHBpY2sodGhpcy5vcHRpb25zLCAneFJheScpO1xuXHRwcml2YXRlIHJlc3RPcHRpb25zID0gb21pdCh0aGlzLm9wdGlvbnMsIFtcblx0XHQnYmxlbmRGdW5jdGlvbicsXG5cdFx0J3BhdHRlcm5UZXh0dXJlJyxcblx0XHQnZWRnZVN0cmVuZ3RoJyxcblx0XHQncHVsc2VTcGVlZCcsXG5cdFx0J3Zpc2libGVFZGdlQ29sb3InLFxuXHRcdCdoaWRkZW5FZGdlQ29sb3InLFxuXHRcdCd3aWR0aCcsXG5cdFx0J2hlaWdodCcsXG5cdFx0J2tlcm5lbFNpemUnLFxuXHRcdCdibHVyJyxcblx0XHQneFJheScsXG5cdF0pO1xuXG5cdGVmZmVjdCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbXG5cdFx0XHRzY2VuZSxcblx0XHRcdGNhbWVyYSxcblx0XHRcdGJsZW5kRnVuY3Rpb24sXG5cdFx0XHRwYXR0ZXJuVGV4dHVyZSxcblx0XHRcdGVkZ2VTdHJlbmd0aCxcblx0XHRcdHB1bHNlU3BlZWQsXG5cdFx0XHR2aXNpYmxlRWRnZUNvbG9yLFxuXHRcdFx0aGlkZGVuRWRnZUNvbG9yLFxuXHRcdFx0d2lkdGgsXG5cdFx0XHRoZWlnaHQsXG5cdFx0XHRrZXJuZWxTaXplLFxuXHRcdFx0Ymx1cixcblx0XHRcdHhSYXksXG5cdFx0XHRyZXN0T3B0aW9ucyxcblx0XHRdID0gW1xuXHRcdFx0dGhpcy5lZmZlY3RDb21wb3Nlci5zY2VuZSgpLFxuXHRcdFx0dGhpcy5lZmZlY3RDb21wb3Nlci5jYW1lcmEoKSxcblx0XHRcdHRoaXMuYmxlbmRGdW5jdGlvbigpLFxuXHRcdFx0dGhpcy5wYXR0ZXJuVGV4dHVyZSgpLFxuXHRcdFx0dGhpcy5lZGdlU3RyZW5ndGgoKSxcblx0XHRcdHRoaXMucHVsc2VTcGVlZCgpLFxuXHRcdFx0dGhpcy52aXNpYmxlRWRnZUNvbG9yKCksXG5cdFx0XHR0aGlzLmhpZGRlbkVkZ2VDb2xvcigpLFxuXHRcdFx0dGhpcy53aWR0aCgpLFxuXHRcdFx0dGhpcy5oZWlnaHQoKSxcblx0XHRcdHRoaXMua2VybmVsU2l6ZSgpLFxuXHRcdFx0dGhpcy5ibHVyKCksXG5cdFx0XHR0aGlzLnhSYXkoKSxcblx0XHRcdHVudHJhY2tlZCh0aGlzLnJlc3RPcHRpb25zKSxcblx0XHRdO1xuXG5cdFx0cmV0dXJuIG5ldyBPdXRsaW5lRWZmZWN0KHNjZW5lLCBjYW1lcmEsIHtcblx0XHRcdGJsZW5kRnVuY3Rpb24sXG5cdFx0XHRwYXR0ZXJuVGV4dHVyZSxcblx0XHRcdGVkZ2VTdHJlbmd0aCxcblx0XHRcdHB1bHNlU3BlZWQsXG5cdFx0XHR2aXNpYmxlRWRnZUNvbG9yLFxuXHRcdFx0aGlkZGVuRWRnZUNvbG9yLFxuXHRcdFx0d2lkdGgsXG5cdFx0XHRoZWlnaHQsXG5cdFx0XHRrZXJuZWxTaXplLFxuXHRcdFx0Ymx1cixcblx0XHRcdHhSYXksXG5cdFx0XHQuLi5yZXN0T3B0aW9ucyxcblx0XHR9KTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGVmZmVjdCA9IHRoaXMuZWZmZWN0KCk7XG5cdFx0XHRvbkNsZWFudXAoKCkgPT4gZWZmZWN0LmRpc3Bvc2UoKSk7XG5cdFx0fSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW2VmZmVjdCwgaW52YWxpZGF0ZSwgc2VsZWN0aW9uTGF5ZXJdID0gW3RoaXMuZWZmZWN0KCksIHRoaXMuaW52YWxpZGF0ZSgpLCB0aGlzLnNlbGVjdGlvbkxheWVyKCldO1xuXHRcdFx0ZWZmZWN0LnNlbGVjdGlvbkxheWVyID0gc2VsZWN0aW9uTGF5ZXI7XG5cdFx0XHRpbnZhbGlkYXRlKCk7XG5cdFx0fSk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Ly8gTk9URTogd2UgcnVuIHRoaXMgZWZmZWN0IGlmIGRlY2xhcmF0aXZlIE5ndFNlbGVjdGlvbiBpcyBub3QgZW5hYmxlZFxuXHRcdFx0aWYgKCF0aGlzLm5ndFNlbGVjdGlvbikge1xuXHRcdFx0XHQvLyBOT1RFOiBpZiBOZ3RTZWxlY3Rpb24gaXMgbm90IHVzZWQgYW5kIHNlbGVjdGlvbiBpcyBub3QgcHJvdmlkZWQsIHdlIHRocm93XG5cdFx0XHRcdGlmICh0aGlzLnNlbGVjdGlvbigpID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1tOR1QgUG9zdFByb2Nlc3NpbmddOiBuZ3RwLW91dGxpbmUgcmVxdWlyZXMgc2VsZWN0aW9uIGlucHV0IG9yIHVzZSBOZ3RTZWxlY3Rpb24nKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBjbGVhbnVwID0gdGhpcy5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VFZmZlY3QodGhpcy5zZWxlY3Rpb24sIHRoaXMuZWZmZWN0LCB0aGlzLmludmFsaWRhdGUpO1xuXG5cdFx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdFx0Y2xlYW51cD8uKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdC8vIE5PVEU6IHdlIHJ1biB0aGlzIGVmZmVjdCBpZiBkZWNsYXJhdGl2ZSBOZ3RTZWxlY3Rpb24gaXMgZW5hYmxlZFxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uRW5hYmxlZCA9IHRoaXMubmd0U2VsZWN0aW9uLmVuYWJsZWQoKTtcblx0XHRcdGlmICghc2VsZWN0aW9uRW5hYmxlZCkgcmV0dXJuO1xuXHRcdFx0Y29uc3QgY2xlYW51cCA9IHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlRWZmZWN0KHRoaXMubmd0U2VsZWN0aW9uLnNlbGVjdGVkLCB0aGlzLmVmZmVjdCwgdGhpcy5pbnZhbGlkYXRlKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdGNsZWFudXA/LigpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGhhbmRsZVNlbGVjdGlvbkNoYW5nZUVmZmVjdChcblx0XHRzZWxlY3RlZDogKCkgPT4gQXJyYXk8T2JqZWN0M0QgfCBFbGVtZW50UmVmPE9iamVjdDNEPj4gfCB1bmRlZmluZWQsXG5cdFx0X2VmZmVjdDogKCkgPT4gT3V0bGluZUVmZmVjdCxcblx0XHRfaW52YWxpZGF0ZTogKCkgPT4gKCkgPT4gdm9pZCxcblx0KSB7XG5cdFx0Y29uc3Qgc2VsZWN0aW9uID0gc2VsZWN0ZWQoKTtcblx0XHRpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ubGVuZ3RoID09PSAwKSByZXR1cm47XG5cblx0XHRjb25zdCBbZWZmZWN0LCBpbnZhbGlkYXRlXSA9IFtfZWZmZWN0KCksIF9pbnZhbGlkYXRlKCldO1xuXG5cdFx0Y29uc3Qgb2JqZWN0czogT2JqZWN0M0RbXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgZWwgb2Ygc2VsZWN0aW9uKSB7XG5cdFx0XHRjb25zdCBvYmogPSByZXNvbHZlUmVmKGVsKTtcblx0XHRcdGlmICghb2JqKSBjb250aW51ZTtcblx0XHRcdG9iamVjdHMucHVzaChvYmopO1xuXHRcdH1cblxuXHRcdGlmIChvYmplY3RzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG5cdFx0ZWZmZWN0LnNlbGVjdGlvbi5zZXQob2JqZWN0cyk7XG5cdFx0aW52YWxpZGF0ZSgpO1xuXG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGVmZmVjdC5zZWxlY3Rpb24uY2xlYXIoKTtcblx0XHRcdGludmFsaWRhdGUoKTtcblx0XHR9O1xuXHR9XG59XG4iXX0=
|
|
@@ -9,12 +9,12 @@ export class NgtpPixelation {
|
|
|
9
9
|
this.granularity = pick(this.options, 'granularity');
|
|
10
10
|
this.effect = computed(() => new PixelationEffect(this.granularity()));
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpPixelation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpPixelation, isStandalone: true, selector: "ngtp-pixelation", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
14
14
|
<ngt-primitive *args="[effect()]" />
|
|
15
15
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpPixelation, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: 'ngtp-pixelation',
|
|
@@ -14,15 +14,15 @@ export class NgtpScanline {
|
|
|
14
14
|
this.effect = inject(NgtpEffect, { host: true });
|
|
15
15
|
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpScanline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpScanline, isStandalone: true, selector: "ngtp-scanline", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.OVERLAY })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
19
19
|
<ngt-scanline-effect *args="[options()]" [camera]="effect.camera()">
|
|
20
20
|
<ngtp-effect-blend-mode />
|
|
21
21
|
<ng-content />
|
|
22
22
|
</ngt-scanline-effect>
|
|
23
23
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpScanline, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
27
|
args: [{
|
|
28
28
|
selector: 'ngtp-scanline',
|
|
@@ -10,15 +10,15 @@ export class NgtpSepia {
|
|
|
10
10
|
this.effect = inject(NgtpEffect, { host: true });
|
|
11
11
|
this.options = input({});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpSepia, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpSepia, isStandalone: true, selector: "ngtp-sepia", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
15
15
|
<ngt-sepia-effect *args="[options()]" [camera]="effect.camera()">
|
|
16
16
|
<ngtp-effect-blend-mode />
|
|
17
17
|
<ng-content />
|
|
18
18
|
</ngt-sepia-effect>
|
|
19
19
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpSepia, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ngtp-sepia',
|
|
@@ -10,15 +10,15 @@ export class NgtpShockWave {
|
|
|
10
10
|
this.effect = inject(NgtpEffect, { host: true });
|
|
11
11
|
this.options = input({});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpShockWave, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpShockWave, isStandalone: true, selector: "ngtp-shock-wave", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
15
15
|
<ngt-shock-wave-effect *args="[options()]" [camera]="effect.camera()">
|
|
16
16
|
<ngtp-effect-blend-mode />
|
|
17
17
|
<ng-content />
|
|
18
18
|
</ngt-shock-wave-effect>
|
|
19
19
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpShockWave, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ngtp-shock-wave',
|
|
@@ -10,15 +10,15 @@ export class NgtpSMAA {
|
|
|
10
10
|
this.effect = inject(NgtpEffect, { host: true });
|
|
11
11
|
this.options = input({});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpSMAA, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpSMAA, isStandalone: true, selector: "ngtp-smaa", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
15
15
|
<ngt-sMAA-effect *args="[options()]" [camera]="effect.camera()">
|
|
16
16
|
<ngtp-effect-blend-mode />
|
|
17
17
|
<ng-content />
|
|
18
18
|
</ngt-sMAA-effect>
|
|
19
19
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpSMAA, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ngtp-smaa',
|
|
@@ -92,15 +92,15 @@ export class NgtpTiltShift2 {
|
|
|
92
92
|
this.effect = inject(NgtpEffect, { host: true });
|
|
93
93
|
this.options = input({});
|
|
94
94
|
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
96
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpTiltShift2, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpTiltShift2, isStandalone: true, selector: "ngtp-tilt-shift2", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.NORMAL })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
97
97
|
<ngt-tilt-shift2-effect *args="[options()]" [camera]="effect.camera()">
|
|
98
98
|
<ngtp-effect-blend-mode />
|
|
99
99
|
<ng-content />
|
|
100
100
|
</ngt-tilt-shift2-effect>
|
|
101
101
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
102
102
|
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpTiltShift2, decorators: [{
|
|
104
104
|
type: Component,
|
|
105
105
|
args: [{
|
|
106
106
|
selector: 'ngtp-tilt-shift2',
|
|
@@ -10,15 +10,15 @@ export class NgtpTiltShift {
|
|
|
10
10
|
this.effect = inject(NgtpEffect, { host: true });
|
|
11
11
|
this.options = input({});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpTiltShift, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpTiltShift, isStandalone: true, selector: "ngtp-tilt-shift", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.ADD })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
15
15
|
<ngt-tilt-shift-effect *args="[options()]" [camera]="effect.camera()">
|
|
16
16
|
<ngtp-effect-blend-mode />
|
|
17
17
|
<ng-content />
|
|
18
18
|
</ngt-tilt-shift-effect>
|
|
19
19
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpTiltShift, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ngtp-tilt-shift',
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input } from '@angular/core';
|
|
2
|
+
import { NgtArgs, omit, pick } from 'angular-three';
|
|
3
|
+
import { EffectAttribute, ToneMappingEffect } from 'postprocessing';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NgtpToneMapping {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.options = input({});
|
|
8
|
+
this.parameters = omit(this.options, [
|
|
9
|
+
'blendFunction',
|
|
10
|
+
'adaptive',
|
|
11
|
+
'mode',
|
|
12
|
+
'resolution',
|
|
13
|
+
'maxLuminance',
|
|
14
|
+
'whitePoint',
|
|
15
|
+
'middleGrey',
|
|
16
|
+
'minLuminance',
|
|
17
|
+
'averageLuminance',
|
|
18
|
+
'adaptationRate',
|
|
19
|
+
]);
|
|
20
|
+
this.blendFunction = pick(this.options, 'blendFunction');
|
|
21
|
+
this.adaptive = pick(this.options, 'adaptive');
|
|
22
|
+
this.mode = pick(this.options, 'mode');
|
|
23
|
+
this.resolution = pick(this.options, 'resolution');
|
|
24
|
+
this.maxLuminance = pick(this.options, 'maxLuminance');
|
|
25
|
+
this.whitePoint = pick(this.options, 'whitePoint');
|
|
26
|
+
this.middleGrey = pick(this.options, 'middleGrey');
|
|
27
|
+
this.minLuminance = pick(this.options, 'minLuminance');
|
|
28
|
+
this.averageLuminance = pick(this.options, 'averageLuminance');
|
|
29
|
+
this.adaptationRate = pick(this.options, 'adaptationRate');
|
|
30
|
+
this.effect = computed(() => {
|
|
31
|
+
const [blendFunction, adaptive, mode, resolution, maxLuminance, whitePoint, middleGrey, minLuminance, averageLuminance, adaptationRate,] = [
|
|
32
|
+
this.blendFunction(),
|
|
33
|
+
this.adaptive(),
|
|
34
|
+
this.mode(),
|
|
35
|
+
this.resolution(),
|
|
36
|
+
this.maxLuminance(),
|
|
37
|
+
this.whitePoint(),
|
|
38
|
+
this.middleGrey(),
|
|
39
|
+
this.minLuminance(),
|
|
40
|
+
this.averageLuminance(),
|
|
41
|
+
this.adaptationRate(),
|
|
42
|
+
];
|
|
43
|
+
const effect = new ToneMappingEffect({
|
|
44
|
+
blendFunction,
|
|
45
|
+
adaptive,
|
|
46
|
+
mode,
|
|
47
|
+
resolution,
|
|
48
|
+
maxLuminance,
|
|
49
|
+
whitePoint,
|
|
50
|
+
middleGrey,
|
|
51
|
+
minLuminance,
|
|
52
|
+
averageLuminance,
|
|
53
|
+
adaptationRate,
|
|
54
|
+
});
|
|
55
|
+
effect['setAttributes'](EffectAttribute.CONVOLUTION);
|
|
56
|
+
return effect;
|
|
57
|
+
});
|
|
58
|
+
effect((onCleanup) => {
|
|
59
|
+
const toneMappingEffect = this.effect();
|
|
60
|
+
onCleanup(() => toneMappingEffect.dispose());
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpToneMapping, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpToneMapping, isStandalone: true, selector: "ngtp-tone-mapping", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
65
|
+
<ngt-primitive *args="[effect()]" [parameters]="parameters()" />
|
|
66
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpToneMapping, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{
|
|
71
|
+
selector: 'ngtp-tone-mapping',
|
|
72
|
+
standalone: true,
|
|
73
|
+
template: `
|
|
74
|
+
<ngt-primitive *args="[effect()]" [parameters]="parameters()" />
|
|
75
|
+
`,
|
|
76
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
77
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
78
|
+
imports: [NgtArgs],
|
|
79
|
+
}]
|
|
80
|
+
}], ctorParameters: () => [] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9uZS1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdHMvdG9uZS1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjcEUsTUFBTSxPQUFPLGVBQWU7SUFxRTNCO1FBcEVBLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBNEIsQ0FBQyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6QyxlQUFlO1lBQ2YsVUFBVTtZQUNWLE1BQU07WUFDTixZQUFZO1lBQ1osY0FBYztZQUNkLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixnQkFBZ0I7U0FDaEIsQ0FBQyxDQUFDO1FBRUssa0JBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwRCxhQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUMsU0FBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUMsaUJBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNsRCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFELG1CQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUU5RCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLENBQ0wsYUFBYSxFQUNiLFFBQVEsRUFDUixJQUFJLEVBQ0osVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLEdBQUc7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNYLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRTthQUNyQixDQUFDO1lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztnQkFDcEMsYUFBYTtnQkFDYixRQUFRO2dCQUNSLElBQUk7Z0JBQ0osVUFBVTtnQkFDVixZQUFZO2dCQUNaLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsY0FBYzthQUNkLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFckQsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUdGLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0ExRVcsZUFBZTtrR0FBZixlQUFlLHVOQVBqQjs7RUFFVCw0REFHUyxPQUFPOzsyRkFFTCxlQUFlO2tCQVYzQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O0VBRVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEVmZmVjdEF0dHJpYnV0ZSwgVG9uZU1hcHBpbmdFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5cbmV4cG9ydCB0eXBlIE5ndHBUb25lTWFwcGluZ09wdGlvbnMgPSBQYXJ0aWFsPE5vbk51bGxhYmxlPENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgVG9uZU1hcHBpbmdFZmZlY3Q+WzBdPj47XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtdG9uZS1tYXBwaW5nJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltlZmZlY3QoKV1cIiBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIiAvPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBUb25lTWFwcGluZyB7XG5cdG9wdGlvbnMgPSBpbnB1dCh7fSBhcyBOZ3RwVG9uZU1hcHBpbmdPcHRpb25zKTtcblx0cHJvdGVjdGVkIHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdibGVuZEZ1bmN0aW9uJyxcblx0XHQnYWRhcHRpdmUnLFxuXHRcdCdtb2RlJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J21heEx1bWluYW5jZScsXG5cdFx0J3doaXRlUG9pbnQnLFxuXHRcdCdtaWRkbGVHcmV5Jyxcblx0XHQnbWluTHVtaW5hbmNlJyxcblx0XHQnYXZlcmFnZUx1bWluYW5jZScsXG5cdFx0J2FkYXB0YXRpb25SYXRlJyxcblx0XSk7XG5cblx0cHJpdmF0ZSBibGVuZEZ1bmN0aW9uID0gcGljayh0aGlzLm9wdGlvbnMsICdibGVuZEZ1bmN0aW9uJyk7XG5cdHByaXZhdGUgYWRhcHRpdmUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FkYXB0aXZlJyk7XG5cdHByaXZhdGUgbW9kZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnbW9kZScpO1xuXHRwcml2YXRlIHJlc29sdXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Jlc29sdXRpb24nKTtcblx0cHJpdmF0ZSBtYXhMdW1pbmFuY2UgPSBwaWNrKHRoaXMub3B0aW9ucywgJ21heEx1bWluYW5jZScpO1xuXHRwcml2YXRlIHdoaXRlUG9pbnQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3doaXRlUG9pbnQnKTtcblx0cHJpdmF0ZSBtaWRkbGVHcmV5ID0gcGljayh0aGlzLm9wdGlvbnMsICdtaWRkbGVHcmV5Jyk7XG5cdHByaXZhdGUgbWluTHVtaW5hbmNlID0gcGljayh0aGlzLm9wdGlvbnMsICdtaW5MdW1pbmFuY2UnKTtcblx0cHJpdmF0ZSBhdmVyYWdlTHVtaW5hbmNlID0gcGljayh0aGlzLm9wdGlvbnMsICdhdmVyYWdlTHVtaW5hbmNlJyk7XG5cdHByaXZhdGUgYWRhcHRhdGlvblJhdGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FkYXB0YXRpb25SYXRlJyk7XG5cblx0ZWZmZWN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFtcblx0XHRcdGJsZW5kRnVuY3Rpb24sXG5cdFx0XHRhZGFwdGl2ZSxcblx0XHRcdG1vZGUsXG5cdFx0XHRyZXNvbHV0aW9uLFxuXHRcdFx0bWF4THVtaW5hbmNlLFxuXHRcdFx0d2hpdGVQb2ludCxcblx0XHRcdG1pZGRsZUdyZXksXG5cdFx0XHRtaW5MdW1pbmFuY2UsXG5cdFx0XHRhdmVyYWdlTHVtaW5hbmNlLFxuXHRcdFx0YWRhcHRhdGlvblJhdGUsXG5cdFx0XSA9IFtcblx0XHRcdHRoaXMuYmxlbmRGdW5jdGlvbigpLFxuXHRcdFx0dGhpcy5hZGFwdGl2ZSgpLFxuXHRcdFx0dGhpcy5tb2RlKCksXG5cdFx0XHR0aGlzLnJlc29sdXRpb24oKSxcblx0XHRcdHRoaXMubWF4THVtaW5hbmNlKCksXG5cdFx0XHR0aGlzLndoaXRlUG9pbnQoKSxcblx0XHRcdHRoaXMubWlkZGxlR3JleSgpLFxuXHRcdFx0dGhpcy5taW5MdW1pbmFuY2UoKSxcblx0XHRcdHRoaXMuYXZlcmFnZUx1bWluYW5jZSgpLFxuXHRcdFx0dGhpcy5hZGFwdGF0aW9uUmF0ZSgpLFxuXHRcdF07XG5cblx0XHRjb25zdCBlZmZlY3QgPSBuZXcgVG9uZU1hcHBpbmdFZmZlY3Qoe1xuXHRcdFx0YmxlbmRGdW5jdGlvbixcblx0XHRcdGFkYXB0aXZlLFxuXHRcdFx0bW9kZSxcblx0XHRcdHJlc29sdXRpb24sXG5cdFx0XHRtYXhMdW1pbmFuY2UsXG5cdFx0XHR3aGl0ZVBvaW50LFxuXHRcdFx0bWlkZGxlR3JleSxcblx0XHRcdG1pbkx1bWluYW5jZSxcblx0XHRcdGF2ZXJhZ2VMdW1pbmFuY2UsXG5cdFx0XHRhZGFwdGF0aW9uUmF0ZSxcblx0XHR9KTtcblxuXHRcdGVmZmVjdFsnc2V0QXR0cmlidXRlcyddKEVmZmVjdEF0dHJpYnV0ZS5DT05WT0xVVElPTik7XG5cblx0XHRyZXR1cm4gZWZmZWN0O1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgdG9uZU1hcHBpbmdFZmZlY3QgPSB0aGlzLmVmZmVjdCgpO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IHRvbmVNYXBwaW5nRWZmZWN0LmRpc3Bvc2UoKSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -10,15 +10,15 @@ export class NgtpVignette {
|
|
|
10
10
|
this.effect = inject(NgtpEffect, { host: true });
|
|
11
11
|
this.options = input({});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpVignette, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpVignette, isStandalone: true, selector: "ngtp-vignette", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
15
15
|
<ngt-vignette-effect *args="[options()]" [camera]="effect.camera()">
|
|
16
16
|
<ngtp-effect-blend-mode />
|
|
17
17
|
<ng-content />
|
|
18
18
|
</ngt-vignette-effect>
|
|
19
19
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpVignette, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ngtp-vignette',
|
|
@@ -35,15 +35,15 @@ export class NgtpWater {
|
|
|
35
35
|
this.effect = inject(NgtpEffect, { host: true });
|
|
36
36
|
this.options = input({});
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpWater, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpWater, isStandalone: true, selector: "ngtp-water", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.NORMAL })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
|
|
40
40
|
<ngt-water-effect *args="[options()]" [camera]="effect.camera()">
|
|
41
41
|
<ngtp-effect-blend-mode />
|
|
42
42
|
<ng-content />
|
|
43
43
|
</ngt-water-effect>
|
|
44
44
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpWater, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{
|
|
49
49
|
selector: 'ngtp-water',
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1wb3N0cHJvY2Vzc2luZy1uOGFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9uOGFvL3NyYy9hbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nLW44YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib/n8ao';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL244YW8vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbjhhbyc7XG4iXX0=
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// @ts-expect-error - n8ao is not typed
|
|
2
|
+
import { N8AOPostPass } from 'n8ao';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, inject, input, } from '@angular/core';
|
|
4
|
+
import { applyProps, NgtArgs, pick } from 'angular-three';
|
|
5
|
+
import { NgtpEffectComposer } from 'angular-three-postprocessing';
|
|
6
|
+
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
const defaultOptions = {
|
|
9
|
+
aoSamples: 16,
|
|
10
|
+
aoRadius: 5.0,
|
|
11
|
+
aoTones: 0.0,
|
|
12
|
+
denoiseSamples: 8,
|
|
13
|
+
denoiseRadius: 12,
|
|
14
|
+
distanceFalloff: 1.0,
|
|
15
|
+
intensity: 5,
|
|
16
|
+
denoiseIterations: 2.0,
|
|
17
|
+
renderMode: 0,
|
|
18
|
+
biasOffset: 0.0,
|
|
19
|
+
biasMultiplier: 0.0,
|
|
20
|
+
color: 'black',
|
|
21
|
+
gammaCorrection: true,
|
|
22
|
+
logarithmicDepthBuffer: false,
|
|
23
|
+
screenSpaceRadius: false,
|
|
24
|
+
halfRes: false,
|
|
25
|
+
depthAwareUpsampling: true,
|
|
26
|
+
colorMultiply: true,
|
|
27
|
+
transparencyAware: false,
|
|
28
|
+
accumulate: false,
|
|
29
|
+
};
|
|
30
|
+
export class NgtpN8AO {
|
|
31
|
+
constructor() {
|
|
32
|
+
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
33
|
+
this.quality = pick(this.options, 'quality');
|
|
34
|
+
this.effectComposer = inject(NgtpEffectComposer);
|
|
35
|
+
this.effect = computed(() => {
|
|
36
|
+
const [scene, camera] = [this.effectComposer.scene(), this.effectComposer.camera()];
|
|
37
|
+
return new N8AOPostPass(scene, camera);
|
|
38
|
+
});
|
|
39
|
+
effect(() => {
|
|
40
|
+
const n8aoEffect = this.effect();
|
|
41
|
+
if (!n8aoEffect)
|
|
42
|
+
return;
|
|
43
|
+
const { quality: _, ...configurations } = this.options();
|
|
44
|
+
applyProps(n8aoEffect.configuration, configurations);
|
|
45
|
+
});
|
|
46
|
+
effect(() => {
|
|
47
|
+
this.setQualityEffect();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
setQualityEffect() {
|
|
51
|
+
const effect = this.effect();
|
|
52
|
+
if (!effect)
|
|
53
|
+
return;
|
|
54
|
+
const quality = this.quality();
|
|
55
|
+
if (!quality)
|
|
56
|
+
return;
|
|
57
|
+
const titleCaseQuality = quality.charAt(0).toUpperCase() + quality.slice(1);
|
|
58
|
+
effect.setQuality(titleCaseQuality);
|
|
59
|
+
}
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpN8AO, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtpN8AO, isStandalone: true, selector: "ngtp-n8ao", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
62
|
+
<ngt-primitive *args="[effect()]" />
|
|
63
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtpN8AO, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{
|
|
68
|
+
selector: 'ngtp-n8ao',
|
|
69
|
+
standalone: true,
|
|
70
|
+
template: `
|
|
71
|
+
<ngt-primitive *args="[effect()]" />
|
|
72
|
+
`,
|
|
73
|
+
imports: [NgtArgs],
|
|
74
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
75
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
76
|
+
}]
|
|
77
|
+
}], ctorParameters: () => [] });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibjhhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvbjhhby9zcmMvbGliL244YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQTJCdkQsTUFBTSxjQUFjLEdBQW9CO0lBQ3ZDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsUUFBUSxFQUFFLEdBQUc7SUFDYixPQUFPLEVBQUUsR0FBRztJQUNaLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGVBQWUsRUFBRSxHQUFHO0lBQ3BCLFNBQVMsRUFBRSxDQUFDO0lBQ1osaUJBQWlCLEVBQUUsR0FBRztJQUN0QixVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVUsRUFBRSxHQUFHO0lBQ2YsY0FBYyxFQUFFLEdBQUc7SUFDbkIsS0FBSyxFQUFFLE9BQU87SUFDZCxlQUFlLEVBQUUsSUFBSTtJQUNyQixzQkFBc0IsRUFBRSxLQUFLO0lBQzdCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsVUFBVSxFQUFFLEtBQUs7Q0FDakIsQ0FBQztBQVlGLE1BQU0sT0FBTyxRQUFRO0lBWXBCO1FBWEEsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRSxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDcEYsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFHRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVO2dCQUFFLE9BQU87WUFFeEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekQsVUFBVSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FuQ1csUUFBUTtrR0FBUixRQUFRLCtNQVBWOztFQUVULDREQUNTLE9BQU87OzJGQUlMLFFBQVE7a0JBVnBCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O0VBRVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWV4cGVjdC1lcnJvciAtIG44YW8gaXMgbm90IHR5cGVkXG5pbXBvcnQgeyBOOEFPUG9zdFBhc3MgfSBmcm9tICduOGFvJztcblxuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhcHBseVByb3BzLCBOZ3RBcmdzLCBwaWNrIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RwRWZmZWN0Q29tcG9zZXIgfSBmcm9tICdhbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IENvbG9yUmVwcmVzZW50YXRpb24gfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0cE44QU9PcHRpb25zIHtcblx0YW9SYWRpdXM6IG51bWJlcjtcblx0YW9Ub25lczogbnVtYmVyO1xuXHRkaXN0YW5jZUZhbGxvZmY6IG51bWJlcjtcblx0aW50ZW5zaXR5OiBudW1iZXI7XG5cdGJpYXNPZmZzZXQ6IG51bWJlcjtcblx0Ymlhc011bHRpcGxpZXI6IG51bWJlcjtcblx0YW9TYW1wbGVzOiBudW1iZXI7XG5cdGRlbm9pc2VTYW1wbGVzOiBudW1iZXI7XG5cdGRlbm9pc2VSYWRpdXM6IG51bWJlcjtcblx0Y29sb3I6IENvbG9yUmVwcmVzZW50YXRpb247XG5cdGhhbGZSZXM6IGJvb2xlYW47XG5cdGRlcHRoQXdhcmVVcHNhbXBsaW5nOiBib29sZWFuO1xuXHRzY3JlZW5TcGFjZVJhZGl1czogYm9vbGVhbjtcblx0cmVuZGVyTW9kZTogMCB8IDEgfCAyIHwgMyB8IDQ7XG5cdGRlbm9pc2VJdGVyYXRpb25zOiBudW1iZXI7XG5cdHRyYW5zcGFyZW5jeUF3YXJlOiBib29sZWFuO1xuXHRnYW1tYUNvcnJlY3Rpb246IGJvb2xlYW47XG5cdGxvZ2FyaXRobWljRGVwdGhCdWZmZXI6IGJvb2xlYW47XG5cdGNvbG9yTXVsdGlwbHk6IGJvb2xlYW47XG5cdGFjY3VtdWxhdGU6IGJvb2xlYW47XG5cdHF1YWxpdHk/OiAncGVyZm9ybWFuY2UnIHwgJ2xvdycgfCAnbWVkaXVtJyB8ICdoaWdoJyB8ICd1bHRyYSc7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RwTjhBT09wdGlvbnMgPSB7XG5cdGFvU2FtcGxlczogMTYsXG5cdGFvUmFkaXVzOiA1LjAsXG5cdGFvVG9uZXM6IDAuMCxcblx0ZGVub2lzZVNhbXBsZXM6IDgsXG5cdGRlbm9pc2VSYWRpdXM6IDEyLFxuXHRkaXN0YW5jZUZhbGxvZmY6IDEuMCxcblx0aW50ZW5zaXR5OiA1LFxuXHRkZW5vaXNlSXRlcmF0aW9uczogMi4wLFxuXHRyZW5kZXJNb2RlOiAwLFxuXHRiaWFzT2Zmc2V0OiAwLjAsXG5cdGJpYXNNdWx0aXBsaWVyOiAwLjAsXG5cdGNvbG9yOiAnYmxhY2snLFxuXHRnYW1tYUNvcnJlY3Rpb246IHRydWUsXG5cdGxvZ2FyaXRobWljRGVwdGhCdWZmZXI6IGZhbHNlLFxuXHRzY3JlZW5TcGFjZVJhZGl1czogZmFsc2UsXG5cdGhhbGZSZXM6IGZhbHNlLFxuXHRkZXB0aEF3YXJlVXBzYW1wbGluZzogdHJ1ZSxcblx0Y29sb3JNdWx0aXBseTogdHJ1ZSxcblx0dHJhbnNwYXJlbmN5QXdhcmU6IGZhbHNlLFxuXHRhY2N1bXVsYXRlOiBmYWxzZSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtbjhhbycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbZWZmZWN0KCldXCIgLz5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RwTjhBTyB7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwcml2YXRlIHF1YWxpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3F1YWxpdHknKTtcblxuXHRwcml2YXRlIGVmZmVjdENvbXBvc2VyID0gaW5qZWN0KE5ndHBFZmZlY3RDb21wb3Nlcik7XG5cblx0ZWZmZWN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFtzY2VuZSwgY2FtZXJhXSA9IFt0aGlzLmVmZmVjdENvbXBvc2VyLnNjZW5lKCksIHRoaXMuZWZmZWN0Q29tcG9zZXIuY2FtZXJhKCldO1xuXHRcdHJldHVybiBuZXcgTjhBT1Bvc3RQYXNzKHNjZW5lLCBjYW1lcmEpO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3Qgbjhhb0VmZmVjdCA9IHRoaXMuZWZmZWN0KCk7XG5cdFx0XHRpZiAoIW44YW9FZmZlY3QpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgeyBxdWFsaXR5OiBfLCAuLi5jb25maWd1cmF0aW9ucyB9ID0gdGhpcy5vcHRpb25zKCk7XG5cdFx0XHRhcHBseVByb3BzKG44YW9FZmZlY3QuY29uZmlndXJhdGlvbiwgY29uZmlndXJhdGlvbnMpO1xuXHRcdH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdHRoaXMuc2V0UXVhbGl0eUVmZmVjdCgpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRRdWFsaXR5RWZmZWN0KCkge1xuXHRcdGNvbnN0IGVmZmVjdCA9IHRoaXMuZWZmZWN0KCk7XG5cdFx0aWYgKCFlZmZlY3QpIHJldHVybjtcblxuXHRcdGNvbnN0IHF1YWxpdHkgPSB0aGlzLnF1YWxpdHkoKTtcblx0XHRpZiAoIXF1YWxpdHkpIHJldHVybjtcblxuXHRcdGNvbnN0IHRpdGxlQ2FzZVF1YWxpdHkgPSBxdWFsaXR5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcXVhbGl0eS5zbGljZSgxKTtcblx0XHRlZmZlY3Quc2V0UXVhbGl0eSh0aXRsZUNhc2VRdWFsaXR5KTtcblx0fVxufVxuIl19
|