angular-three 2.14.0 → 3.0.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/fesm2022/angular-three-nativescript.mjs +3 -3
- package/fesm2022/angular-three-nativescript.mjs.map +1 -1
- package/fesm2022/angular-three-testing.mjs +12 -14
- package/fesm2022/angular-three-testing.mjs.map +1 -1
- package/fesm2022/angular-three.mjs +116 -100
- package/fesm2022/angular-three.mjs.map +1 -1
- package/lib/canvas.d.ts +31 -31
- package/lib/html.d.ts +3 -3
- package/lib/portal.d.ts +2 -2
- package/lib/routed-scene.d.ts +8 -2
- package/lib/utils/object-events.d.ts +0 -19
- package/nativescript/lib/canvas.d.ts +3 -3
- package/package.json +3 -9
- package/plugin/src/generators/init/schema.json +8 -8
- package/esm2022/angular-three.mjs +0 -5
- package/esm2022/index.mjs +0 -25
- package/esm2022/lib/canvas.mjs +0 -188
- package/esm2022/lib/directives/args.mjs +0 -53
- package/esm2022/lib/directives/selection.mjs +0 -69
- package/esm2022/lib/dom/events.mjs +0 -73
- package/esm2022/lib/events.mjs +0 -361
- package/esm2022/lib/html.mjs +0 -44
- package/esm2022/lib/instance.mjs +0 -83
- package/esm2022/lib/loader.mjs +0 -93
- package/esm2022/lib/loop.mjs +0 -141
- package/esm2022/lib/pipes/hexify.mjs +0 -86
- package/esm2022/lib/portal.mjs +0 -220
- package/esm2022/lib/renderer/catalogue.mjs +0 -7
- package/esm2022/lib/renderer/constants.mjs +0 -23
- package/esm2022/lib/renderer/index.mjs +0 -544
- package/esm2022/lib/renderer/state.mjs +0 -54
- package/esm2022/lib/renderer/utils.mjs +0 -223
- package/esm2022/lib/roots.mjs +0 -274
- package/esm2022/lib/routed-scene.mjs +0 -33
- package/esm2022/lib/store.mjs +0 -179
- package/esm2022/lib/three-types.mjs +0 -2
- package/esm2022/lib/types.mjs +0 -2
- package/esm2022/lib/utils/apply-props.mjs +0 -130
- package/esm2022/lib/utils/attach.mjs +0 -46
- package/esm2022/lib/utils/before-render.mjs +0 -41
- package/esm2022/lib/utils/is.mjs +0 -52
- package/esm2022/lib/utils/make.mjs +0 -52
- package/esm2022/lib/utils/object-events.mjs +0 -137
- package/esm2022/lib/utils/output-ref.mjs +0 -9
- package/esm2022/lib/utils/parameters.mjs +0 -70
- package/esm2022/lib/utils/resolve-ref.mjs +0 -8
- package/esm2022/lib/utils/signal-store.mjs +0 -90
- package/esm2022/lib/utils/update.mjs +0 -37
- package/esm2022/nativescript/angular-three-nativescript.mjs +0 -5
- package/esm2022/nativescript/index.mjs +0 -2
- package/esm2022/nativescript/lib/canvas.mjs +0 -127
- package/esm2022/testing/angular-three-testing.mjs +0 -5
- package/esm2022/testing/index.mjs +0 -3
- package/esm2022/testing/lib/test-bed.mjs +0 -130
- package/esm2022/testing/lib/test-canvas.mjs +0 -45
- package/esm2022/testing/lib/utils/mock-canvas.mjs +0 -37
- package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +0 -752
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { untracked, computed, signal, ElementRef, input, inject, ViewContainerRef, TemplateRef, effect, DestroyRef, Directive, InjectionToken, DebugNode, RendererFactory2, Injectable, makeEnvironmentProviders, Component, NgZone,
|
|
3
|
-
import {
|
|
2
|
+
import { untracked, computed, signal, ElementRef, input, inject, ViewContainerRef, TemplateRef, effect, DestroyRef, Directive, InjectionToken, DebugNode, RendererFactory2, Injectable, makeEnvironmentProviders, EnvironmentInjector, InjectFlags, runInInjectionContext, Component, NgZone, Injector, booleanAttribute, output, viewChild, afterNextRender, createEnvironmentInjector, ChangeDetectionStrategy, Pipe, CUSTOM_ELEMENTS_SCHEMA, contentChild, model, Renderer2 } from '@angular/core';
|
|
3
|
+
import { outputFromObservable } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { provideResizeOptions, NgxResize } from 'ngxtension/resize';
|
|
5
5
|
import { MathUtils, WebGLRenderer, OrthographicCamera, PerspectiveCamera, Vector3, Vector2, Clock, Layers, Color, ColorManagement, Texture, RGBAFormat, UnsignedByteType, EventDispatcher, Raycaster, Scene, PCFSoftShadowMap, BasicShadowMap, PCFShadowMap, VSMShadowMap, NoToneMapping, ACESFilmicToneMapping, Vector4 } from 'three';
|
|
6
6
|
import { DOCUMENT } from '@angular/common';
|
|
@@ -8,7 +8,7 @@ import { Subject, filter } from 'rxjs';
|
|
|
8
8
|
import { createInjectionToken } from 'ngxtension/create-injection-token';
|
|
9
9
|
import { assertInjector } from 'ngxtension/assert-injector';
|
|
10
10
|
import * as i1 from '@angular/router';
|
|
11
|
-
import {
|
|
11
|
+
import { RouterOutlet, ActivationEnd } from '@angular/router';
|
|
12
12
|
|
|
13
13
|
const STORE_COMPUTED_KEY = '__ngt_signal_store_computed__';
|
|
14
14
|
function reducer(state) {
|
|
@@ -811,10 +811,10 @@ class NgtArgs {
|
|
|
811
811
|
this.view = this.vcr.createEmbeddedView(this.template);
|
|
812
812
|
this.view.detectChanges();
|
|
813
813
|
}
|
|
814
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
815
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
814
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtArgs, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
815
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: NgtArgs, isStandalone: true, selector: "ng-template[args]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
816
816
|
}
|
|
817
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
817
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtArgs, decorators: [{
|
|
818
818
|
type: Directive,
|
|
819
819
|
args: [{ selector: 'ng-template[args]', standalone: true }]
|
|
820
820
|
}], ctorParameters: () => [] });
|
|
@@ -1605,10 +1605,10 @@ class NgtRendererFactory {
|
|
|
1605
1605
|
}
|
|
1606
1606
|
return renderer;
|
|
1607
1607
|
}
|
|
1608
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1609
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1608
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRendererFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1609
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRendererFactory }); }
|
|
1610
1610
|
}
|
|
1611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1611
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRendererFactory, decorators: [{
|
|
1612
1612
|
type: Injectable
|
|
1613
1613
|
}] });
|
|
1614
1614
|
class NgtRenderer {
|
|
@@ -1794,6 +1794,10 @@ class NgtRenderer {
|
|
|
1794
1794
|
if (cRS[0 /* NgtRendererClassId.type */] === 'three') {
|
|
1795
1795
|
removeThreeChild(oldChild, undefined, true);
|
|
1796
1796
|
}
|
|
1797
|
+
// if the child is the root scene, we don't want to destroy it
|
|
1798
|
+
if (is.scene(oldChild) && oldChild.name === '__ngt_root_scene__')
|
|
1799
|
+
return;
|
|
1800
|
+
// otherwise, we'll destroy it
|
|
1797
1801
|
this.destroyInternal(oldChild, undefined);
|
|
1798
1802
|
}
|
|
1799
1803
|
return;
|
|
@@ -2215,6 +2219,7 @@ function injectCanvasRootInitializer(injector) {
|
|
|
2215
2219
|
applyProps(scene, sceneOptions);
|
|
2216
2220
|
}
|
|
2217
2221
|
applyProps(scene, {
|
|
2222
|
+
name: '__ngt_root_scene__',
|
|
2218
2223
|
setAttribute: (name, value) => {
|
|
2219
2224
|
if (canvas instanceof HTMLCanvasElement) {
|
|
2220
2225
|
if (canvas.parentElement) {
|
|
@@ -2370,28 +2375,90 @@ function dispose(obj) {
|
|
|
2370
2375
|
}
|
|
2371
2376
|
|
|
2372
2377
|
var _a$1;
|
|
2378
|
+
/**
|
|
2379
|
+
* This is a custom EnvironmentInjector that returns the RendererFactory2 from the `ngtEnvironmentInjector`
|
|
2380
|
+
* for `NgtRendererFactory`
|
|
2381
|
+
*/
|
|
2382
|
+
class NgtOutletEnvironmentInjector extends EnvironmentInjector {
|
|
2383
|
+
constructor(routeEnvInjector, ngtEnvInjector) {
|
|
2384
|
+
super();
|
|
2385
|
+
this.routeEnvInjector = routeEnvInjector;
|
|
2386
|
+
this.ngtEnvInjector = ngtEnvInjector;
|
|
2387
|
+
}
|
|
2388
|
+
get(token, notFoundValue, flags = InjectFlags.Default) {
|
|
2389
|
+
const options = {};
|
|
2390
|
+
if (typeof flags === 'object') {
|
|
2391
|
+
Object.assign(options, flags);
|
|
2392
|
+
}
|
|
2393
|
+
else {
|
|
2394
|
+
Object.assign(options, {
|
|
2395
|
+
optional: !!(flags & InjectFlags.Optional),
|
|
2396
|
+
host: !!(flags & InjectFlags.Host),
|
|
2397
|
+
self: !!(flags & InjectFlags.Self),
|
|
2398
|
+
skipSelf: !!(flags & InjectFlags.SkipSelf),
|
|
2399
|
+
});
|
|
2400
|
+
}
|
|
2401
|
+
if (token === RendererFactory2) {
|
|
2402
|
+
return this.ngtEnvInjector.get(token, notFoundValue, options);
|
|
2403
|
+
}
|
|
2404
|
+
return this.routeEnvInjector.get(token, notFoundValue, options);
|
|
2405
|
+
}
|
|
2406
|
+
runInContext(fn) {
|
|
2407
|
+
try {
|
|
2408
|
+
return runInInjectionContext(this.routeEnvInjector, fn);
|
|
2409
|
+
}
|
|
2410
|
+
catch { }
|
|
2411
|
+
return runInInjectionContext(this.ngtEnvInjector, fn);
|
|
2412
|
+
}
|
|
2413
|
+
destroy() {
|
|
2414
|
+
this.routeEnvInjector.destroy();
|
|
2415
|
+
}
|
|
2416
|
+
}
|
|
2417
|
+
/**
|
|
2418
|
+
* This is a custom RouterOutlet that modifies `activateWith` to inherit the `EnvironmentInjector`
|
|
2419
|
+
* that contains the custom `NgtRendererFactory`.
|
|
2420
|
+
*
|
|
2421
|
+
* Use this with extreme caution.
|
|
2422
|
+
*/
|
|
2423
|
+
class NgtRouterOutlet extends RouterOutlet {
|
|
2424
|
+
constructor() {
|
|
2425
|
+
super(...arguments);
|
|
2426
|
+
this.environmentInjector = inject(EnvironmentInjector);
|
|
2427
|
+
}
|
|
2428
|
+
activateWith(activatedRoute, environmentInjector) {
|
|
2429
|
+
return super.activateWith(activatedRoute, new NgtOutletEnvironmentInjector(environmentInjector, this.environmentInjector));
|
|
2430
|
+
}
|
|
2431
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRouterOutlet, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2432
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NgtRouterOutlet, isStandalone: true, selector: "ngt-router-outlet", usesInheritance: true, ngImport: i0 }); }
|
|
2433
|
+
}
|
|
2434
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRouterOutlet, decorators: [{
|
|
2435
|
+
type: Directive,
|
|
2436
|
+
args: [{ selector: 'ngt-router-outlet' }]
|
|
2437
|
+
}] });
|
|
2373
2438
|
class NgtRoutedScene {
|
|
2374
2439
|
static { _a$1 = ROUTED_SCENE; }
|
|
2375
2440
|
static { this[_a$1] = true; }
|
|
2376
2441
|
constructor(router, cdr) {
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2442
|
+
effect((onCleanup) => {
|
|
2443
|
+
const sub = router.events
|
|
2444
|
+
.pipe(filter((event) => event instanceof ActivationEnd))
|
|
2445
|
+
.subscribe(cdr.detectChanges.bind(cdr));
|
|
2446
|
+
onCleanup(() => sub.unsubscribe());
|
|
2447
|
+
});
|
|
2380
2448
|
}
|
|
2381
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2382
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2383
|
-
<router-outlet />
|
|
2384
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
2449
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRoutedScene, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2450
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: NgtRoutedScene, isStandalone: true, selector: "ngt-routed-scene", ngImport: i0, template: `
|
|
2451
|
+
<ngt-router-outlet />
|
|
2452
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtRouterOutlet, selector: "ngt-router-outlet" }] }); }
|
|
2385
2453
|
}
|
|
2386
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtRoutedScene, decorators: [{
|
|
2387
2455
|
type: Component,
|
|
2388
2456
|
args: [{
|
|
2389
|
-
standalone: true,
|
|
2390
2457
|
selector: 'ngt-routed-scene',
|
|
2391
2458
|
template: `
|
|
2392
|
-
<router-outlet />
|
|
2459
|
+
<ngt-router-outlet />
|
|
2393
2460
|
`,
|
|
2394
|
-
imports: [
|
|
2461
|
+
imports: [NgtRouterOutlet],
|
|
2395
2462
|
}]
|
|
2396
2463
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i0.ChangeDetectorRef }] });
|
|
2397
2464
|
|
|
@@ -2405,10 +2472,8 @@ class NgtCanvas {
|
|
|
2405
2472
|
this.injector = inject(Injector);
|
|
2406
2473
|
this.sceneGraph = input.required({
|
|
2407
2474
|
transform: (value) => {
|
|
2408
|
-
if (value === 'routed')
|
|
2409
|
-
console.warn(`[NGT] 'routed' sceneGraph is not working properly.`);
|
|
2475
|
+
if (value === 'routed')
|
|
2410
2476
|
return NgtRoutedScene;
|
|
2411
|
-
}
|
|
2412
2477
|
return value;
|
|
2413
2478
|
},
|
|
2414
2479
|
});
|
|
@@ -2532,8 +2597,8 @@ class NgtCanvas {
|
|
|
2532
2597
|
});
|
|
2533
2598
|
this.glRef.changeDetectorRef.detectChanges();
|
|
2534
2599
|
}
|
|
2535
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2536
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
2600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtCanvas, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2601
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.5", type: NgtCanvas, isStandalone: true, selector: "ngt-canvas", inputs: { sceneGraph: { classPropertyName: "sceneGraph", publicName: "sceneGraph", isSignal: true, isRequired: true, transformFunction: null }, gl: { classPropertyName: "gl", publicName: "gl", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, shadows: { classPropertyName: "shadows", publicName: "shadows", isSignal: true, isRequired: false, transformFunction: null }, legacy: { classPropertyName: "legacy", publicName: "legacy", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, flat: { classPropertyName: "flat", publicName: "flat", isSignal: true, isRequired: false, transformFunction: null }, orthographic: { classPropertyName: "orthographic", publicName: "orthographic", isSignal: true, isRequired: false, transformFunction: null }, frameloop: { classPropertyName: "frameloop", publicName: "frameloop", isSignal: true, isRequired: false, transformFunction: null }, performance: { classPropertyName: "performance", publicName: "performance", isSignal: true, isRequired: false, transformFunction: null }, dpr: { classPropertyName: "dpr", publicName: "dpr", isSignal: true, isRequired: false, transformFunction: null }, raycaster: { classPropertyName: "raycaster", publicName: "raycaster", isSignal: true, isRequired: false, transformFunction: null }, scene: { classPropertyName: "scene", publicName: "scene", isSignal: true, isRequired: false, transformFunction: null }, camera: { classPropertyName: "camera", publicName: "camera", isSignal: true, isRequired: false, transformFunction: null }, events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null }, eventSource: { classPropertyName: "eventSource", publicName: "eventSource", isSignal: true, isRequired: false, transformFunction: null }, eventPrefix: { classPropertyName: "eventPrefix", publicName: "eventPrefix", isSignal: true, isRequired: false, transformFunction: null }, lookAt: { classPropertyName: "lookAt", publicName: "lookAt", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { created: "created", pointerMissed: "pointerMissed" }, host: { properties: { "style.pointerEvents": "hbPointerEvents()" }, styleAttribute: "display: block;position: relative;width: 100%;height: 100%;overflow: hidden;" }, providers: [
|
|
2537
2602
|
provideResizeOptions({
|
|
2538
2603
|
emitInZone: false,
|
|
2539
2604
|
emitInitialResult: true,
|
|
@@ -2546,11 +2611,10 @@ class NgtCanvas {
|
|
|
2546
2611
|
</div>
|
|
2547
2612
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgxResize, selector: "[ngxResize]", inputs: ["ngxResizeOptions"], outputs: ["ngxResize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2548
2613
|
}
|
|
2549
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2614
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtCanvas, decorators: [{
|
|
2550
2615
|
type: Component,
|
|
2551
2616
|
args: [{
|
|
2552
2617
|
selector: 'ngt-canvas',
|
|
2553
|
-
standalone: true,
|
|
2554
2618
|
template: `
|
|
2555
2619
|
<div (ngxResize)="resizeResult.set($event)" style="height: 100%; width: 100%;">
|
|
2556
2620
|
<canvas #glCanvas style="display: block;"></canvas>
|
|
@@ -2584,10 +2648,10 @@ class NgtSelection {
|
|
|
2584
2648
|
return;
|
|
2585
2649
|
this.source.update(...args);
|
|
2586
2650
|
}
|
|
2587
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2588
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
2651
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2652
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: NgtSelection, isStandalone: true, selector: "[ngtSelection]", inputs: { enabled: { classPropertyName: "enabled", publicName: "ngtSelection", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
2589
2653
|
}
|
|
2590
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2654
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtSelection, decorators: [{
|
|
2591
2655
|
type: Directive,
|
|
2592
2656
|
args: [{ standalone: true, selector: '[ngtSelection]' }]
|
|
2593
2657
|
}] });
|
|
@@ -2631,10 +2695,10 @@ class NgtSelect {
|
|
|
2631
2695
|
});
|
|
2632
2696
|
}, { allowSignalWrites: true });
|
|
2633
2697
|
}
|
|
2634
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2635
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
2698
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2699
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: NgtSelect, isStandalone: true, selector: "ngt-group[ngtSelect], ngt-mesh[ngtSelect]", inputs: { enabled: { classPropertyName: "enabled", publicName: "ngtSelect", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
2636
2700
|
}
|
|
2637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2701
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtSelect, decorators: [{
|
|
2638
2702
|
type: Directive,
|
|
2639
2703
|
args: [{ standalone: true, selector: 'ngt-group[ngtSelect], ngt-mesh[ngtSelect]' }]
|
|
2640
2704
|
}], ctorParameters: () => [] });
|
|
@@ -2671,10 +2735,10 @@ class NgtHTML {
|
|
|
2671
2735
|
delete this.host.nativeElement[DOM_PARENT];
|
|
2672
2736
|
});
|
|
2673
2737
|
}
|
|
2674
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2675
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2738
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtHTML, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2739
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NgtHTML, isStandalone: true, ngImport: i0 }); }
|
|
2676
2740
|
}
|
|
2677
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtHTML, decorators: [{
|
|
2678
2742
|
type: Directive
|
|
2679
2743
|
}], ctorParameters: () => [] });
|
|
2680
2744
|
|
|
@@ -2843,10 +2907,10 @@ class NgtHexify {
|
|
|
2843
2907
|
const hex = component.toString(16);
|
|
2844
2908
|
return hex.length === 1 ? '0' + hex : hex;
|
|
2845
2909
|
}
|
|
2846
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2847
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
2910
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtHexify, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
2911
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: NgtHexify, isStandalone: true, name: "hexify" }); }
|
|
2848
2912
|
}
|
|
2849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtHexify, decorators: [{
|
|
2850
2914
|
type: Pipe,
|
|
2851
2915
|
args: [{ name: 'hexify', pure: true, standalone: true }]
|
|
2852
2916
|
}] });
|
|
@@ -2882,13 +2946,13 @@ class NgtPortalBeforeRender {
|
|
|
2882
2946
|
onPointerOver() {
|
|
2883
2947
|
/* noop */
|
|
2884
2948
|
}
|
|
2885
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2886
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
2949
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtPortalBeforeRender, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2950
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.5", type: NgtPortalBeforeRender, isStandalone: true, selector: "ngt-portal-before-render", inputs: { renderPriority: { classPropertyName: "renderPriority", publicName: "renderPriority", isSignal: true, isRequired: false, transformFunction: null }, parentScene: { classPropertyName: "parentScene", publicName: "parentScene", isSignal: true, isRequired: true, transformFunction: null }, parentCamera: { classPropertyName: "parentCamera", publicName: "parentCamera", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
2887
2951
|
<!-- Without an element that receives pointer events state.pointer will always be 0/0 -->
|
|
2888
2952
|
<ngt-group (pointerover)="onPointerOver()" attach="none" />
|
|
2889
2953
|
`, isInline: true }); }
|
|
2890
2954
|
}
|
|
2891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2955
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtPortalBeforeRender, decorators: [{
|
|
2892
2956
|
type: Component,
|
|
2893
2957
|
args: [{
|
|
2894
2958
|
selector: 'ngt-portal-before-render',
|
|
@@ -2913,10 +2977,10 @@ class NgtPortalContent {
|
|
|
2913
2977
|
static ngTemplateContextGuard(_, ctx) {
|
|
2914
2978
|
return true;
|
|
2915
2979
|
}
|
|
2916
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2917
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2980
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtPortalContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2981
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NgtPortalContent, isStandalone: true, selector: "ng-template[portalContent]", ngImport: i0 }); }
|
|
2918
2982
|
}
|
|
2919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtPortalContent, decorators: [{
|
|
2920
2984
|
type: Directive,
|
|
2921
2985
|
args: [{ selector: 'ng-template[portalContent]', standalone: true }]
|
|
2922
2986
|
}], ctorParameters: () => [] });
|
|
@@ -3026,8 +3090,8 @@ class NgtPortal {
|
|
|
3026
3090
|
...rest,
|
|
3027
3091
|
};
|
|
3028
3092
|
}
|
|
3029
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3030
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3093
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtPortal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3094
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: NgtPortal, isStandalone: true, selector: "ngt-portal", inputs: { container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: true, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, autoRender: { classPropertyName: "autoRender", publicName: "autoRender", isSignal: true, isRequired: false, transformFunction: null }, autoRenderPriority: { classPropertyName: "autoRenderPriority", publicName: "autoRenderPriority", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideStore(() => signalStore({}))], queries: [{ propertyName: "portalContent", first: true, predicate: NgtPortalContent, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "portalAnchor", first: true, predicate: ["anchor"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
|
|
3031
3095
|
<ng-container #anchor />
|
|
3032
3096
|
|
|
3033
3097
|
@if (shouldAutoRender()) {
|
|
@@ -3039,11 +3103,10 @@ class NgtPortal {
|
|
|
3039
3103
|
}
|
|
3040
3104
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortalBeforeRender, selector: "ngt-portal-before-render", inputs: ["renderPriority", "parentScene", "parentCamera"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3041
3105
|
}
|
|
3042
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtPortal, decorators: [{
|
|
3043
3107
|
type: Component,
|
|
3044
3108
|
args: [{
|
|
3045
3109
|
selector: 'ngt-portal',
|
|
3046
|
-
standalone: true,
|
|
3047
3110
|
template: `
|
|
3048
3111
|
<ng-container #anchor />
|
|
3049
3112
|
|
|
@@ -3164,60 +3227,13 @@ class NgtObjectEvents {
|
|
|
3164
3227
|
emitEvent(eventName) {
|
|
3165
3228
|
return this[eventName].emit.bind(this[eventName]);
|
|
3166
3229
|
}
|
|
3167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3168
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
3230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtObjectEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3231
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: NgtObjectEvents, isStandalone: true, selector: "[ngtObjectEvents]", inputs: { ngtObjectEvents: { classPropertyName: "ngtObjectEvents", publicName: "ngtObjectEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", dblclick: "dblclick", contextmenu: "contextmenu", pointerup: "pointerup", pointerdown: "pointerdown", pointerover: "pointerover", pointerout: "pointerout", pointerenter: "pointerenter", pointerleave: "pointerleave", pointermove: "pointermove", pointermissed: "pointermissed", pointercancel: "pointercancel", wheel: "wheel", ngtObjectEvents: "ngtObjectEventsChange" }, ngImport: i0 }); }
|
|
3169
3232
|
}
|
|
3170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgtObjectEvents, decorators: [{
|
|
3171
3234
|
type: Directive,
|
|
3172
3235
|
args: [{ standalone: true, selector: '[ngtObjectEvents]' }]
|
|
3173
3236
|
}], ctorParameters: () => [] });
|
|
3174
|
-
/**
|
|
3175
|
-
* @deprecated this has never worked. Use `NgtObjectEvents` and explicit value for inputs and outputs instead
|
|
3176
|
-
* @since 2.12.0 Will be removed in 3.0.0
|
|
3177
|
-
*/
|
|
3178
|
-
const NgtObjectEventsInputs = ['ngtObjectEvents'];
|
|
3179
|
-
/**
|
|
3180
|
-
* @deprecated this has never worked. Use `NgtObjectEvents` and explicit value for inputs and outputs instead
|
|
3181
|
-
* @since 2.12.0 Will be removed in 3.0.0
|
|
3182
|
-
*/
|
|
3183
|
-
const NgtObjectEventsOutputs = [
|
|
3184
|
-
'click',
|
|
3185
|
-
'dblclick',
|
|
3186
|
-
'contextmenu',
|
|
3187
|
-
'pointerup',
|
|
3188
|
-
'pointerdown',
|
|
3189
|
-
'pointerover',
|
|
3190
|
-
'pointerout',
|
|
3191
|
-
'pointerenter',
|
|
3192
|
-
'pointerleave',
|
|
3193
|
-
'pointermove',
|
|
3194
|
-
'pointermissed',
|
|
3195
|
-
'pointercancel',
|
|
3196
|
-
'wheel',
|
|
3197
|
-
];
|
|
3198
|
-
/**
|
|
3199
|
-
* @deprecated Use NgtObjectEventsInputs and NgtObjectEventsOutputs instead along with NgtObjectEvents
|
|
3200
|
-
* @since 2.6.0 Will be removed in 3.0.0
|
|
3201
|
-
*/
|
|
3202
|
-
const NgtObjectEventsHostDirective = {
|
|
3203
|
-
directive: NgtObjectEvents,
|
|
3204
|
-
inputs: ['ngtObjectEvents'],
|
|
3205
|
-
outputs: [
|
|
3206
|
-
'click',
|
|
3207
|
-
'dblclick',
|
|
3208
|
-
'contextmenu',
|
|
3209
|
-
'pointerup',
|
|
3210
|
-
'pointerdown',
|
|
3211
|
-
'pointerover',
|
|
3212
|
-
'pointerout',
|
|
3213
|
-
'pointerenter',
|
|
3214
|
-
'pointerleave',
|
|
3215
|
-
'pointermove',
|
|
3216
|
-
'pointermissed',
|
|
3217
|
-
'pointercancel',
|
|
3218
|
-
'wheel',
|
|
3219
|
-
],
|
|
3220
|
-
};
|
|
3221
3237
|
function injectObjectEvents(target, events, { injector } = {}) {
|
|
3222
3238
|
return assertInjector(injectObjectEvents, injector, () => {
|
|
3223
3239
|
const renderer = inject(Renderer2);
|
|
@@ -3321,5 +3337,5 @@ const vector4 = createVectorComputed(Vector4);
|
|
|
3321
3337
|
* Generated bundle index. Do not edit.
|
|
3322
3338
|
*/
|
|
3323
3339
|
|
|
3324
|
-
export { HTML, NGT_APPLY_PROPS, NGT_STORE, NON_ROOT, NgtArgs, NgtCanvas, NgtHTML, NgtHexify, NgtObjectEvents,
|
|
3340
|
+
export { HTML, NGT_APPLY_PROPS, NGT_STORE, NON_ROOT, NgtArgs, NgtCanvas, NgtHTML, NgtHexify, NgtObjectEvents, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtRenderer, NgtRendererFactory, NgtRoutedScene, NgtRouterOutlet, NgtSelect, NgtSelection, ROUTED_SCENE, addAfterEffect, addEffect, addTail, applyProps, attach, checkNeedsUpdate, checkUpdate, createAttachFunction, detach, dispose, extend, flushGlobalEffects, getEmitter, getLocalState, hasListener, injectBeforeRender, injectCanvasRootInitializer, injectLoader, injectLoop, injectObjectEvents, injectStore, invalidateInstance, is, makeCameraInstance, makeDpr, makeId, makeObjectGraph, makeRendererInstance, merge, omit, pick, prepare, privateKeys, provideHTMLDomElement, provideNgtRenderer, provideStore, resolveRef, roots, signalStore, updateCamera, vector2, vector3, vector4 };
|
|
3325
3341
|
//# sourceMappingURL=angular-three.mjs.map
|