angular-three 2.0.0-beta.3 → 2.0.0-beta.300
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/README.md +186 -112
- package/esm2022/angular-three.mjs +1 -1
- package/esm2022/index.mjs +17 -18
- package/esm2022/lib/canvas.mjs +155 -252
- package/esm2022/lib/directives/args.mjs +49 -21
- package/esm2022/lib/directives/selection.mjs +65 -0
- package/esm2022/lib/dom/events.mjs +7 -2
- package/esm2022/lib/events.mjs +98 -79
- package/esm2022/lib/html.mjs +40 -0
- package/esm2022/lib/instance.mjs +72 -0
- package/esm2022/lib/loader.mjs +77 -57
- package/esm2022/lib/loop.mjs +30 -24
- package/esm2022/lib/pipes/hexify.mjs +67 -0
- package/esm2022/lib/portal.mjs +184 -215
- package/esm2022/lib/renderer/catalogue.mjs +7 -0
- package/esm2022/lib/renderer/constants.mjs +20 -0
- package/esm2022/lib/renderer/index.mjs +557 -0
- package/esm2022/lib/renderer/state.mjs +49 -0
- package/esm2022/lib/renderer/utils.mjs +85 -74
- package/esm2022/lib/roots.mjs +273 -0
- package/esm2022/lib/routed-scene.mjs +13 -11
- package/esm2022/lib/store.mjs +183 -0
- package/esm2022/lib/three-types.mjs +1 -1
- package/esm2022/lib/types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +43 -35
- package/esm2022/lib/utils/attach.mjs +13 -10
- package/esm2022/lib/utils/before-render.mjs +12 -0
- package/esm2022/lib/utils/is.mjs +6 -5
- package/esm2022/lib/utils/make.mjs +19 -17
- package/esm2022/lib/utils/non-nullish.mjs +7 -0
- package/esm2022/lib/utils/object-events.mjs +92 -0
- package/esm2022/lib/utils/parameters.mjs +70 -0
- package/esm2022/lib/utils/resolve-ref.mjs +8 -0
- package/esm2022/lib/utils/signal-store.mjs +90 -0
- package/esm2022/lib/utils/update.mjs +8 -4
- package/esm2022/testing/angular-three-testing.mjs +5 -0
- package/esm2022/testing/index.mjs +3 -0
- package/esm2022/testing/lib/test-bed.mjs +130 -0
- package/esm2022/testing/lib/test-canvas.mjs +45 -0
- package/esm2022/testing/lib/utils/mock-canvas.mjs +37 -0
- package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +752 -0
- package/fesm2022/angular-three-testing.mjs +966 -0
- package/fesm2022/angular-three-testing.mjs.map +1 -0
- package/fesm2022/angular-three.mjs +2110 -2057
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +18 -17
- package/lib/canvas.d.ts +373 -33
- package/lib/directives/args.d.ts +14 -7
- package/lib/directives/selection.d.ts +17 -0
- package/lib/dom/events.d.ts +2 -2
- package/lib/events.d.ts +4 -4
- package/lib/html.d.ts +17 -0
- package/lib/instance.d.ts +4 -0
- package/lib/loader.d.ts +28 -5
- package/lib/loop.d.ts +27 -17
- package/lib/pipes/hexify.d.ts +20 -0
- package/lib/portal.d.ts +58 -44
- package/lib/renderer/catalogue.d.ts +13 -0
- package/lib/renderer/constants.d.ts +19 -0
- package/lib/renderer/{renderer.d.ts → index.d.ts} +34 -18
- package/lib/renderer/state.d.ts +24 -0
- package/lib/renderer/utils.d.ts +12 -20
- package/lib/roots.d.ts +13 -0
- package/lib/routed-scene.d.ts +1 -1
- package/lib/store.d.ts +15 -0
- package/lib/three-types.d.ts +502 -149
- package/lib/types.d.ts +161 -178
- package/lib/utils/apply-props.d.ts +2 -2
- package/lib/utils/attach.d.ts +4 -4
- package/lib/utils/is.d.ts +13 -13
- package/lib/utils/make.d.ts +10 -5
- package/lib/utils/non-nullish.d.ts +4 -0
- package/lib/utils/object-events.d.ts +34 -0
- package/lib/utils/parameters.d.ts +20 -0
- package/lib/utils/resolve-ref.d.ts +2 -0
- package/lib/utils/signal-store.d.ts +26 -0
- package/lib/utils/update.d.ts +1 -1
- package/metadata.json +1 -1
- package/package.json +41 -14
- package/plugin/generators.json +34 -16
- package/plugin/package.json +3 -6
- package/plugin/src/generators/add-soba/compat.d.ts +2 -0
- package/plugin/src/generators/add-soba/compat.js +6 -0
- package/plugin/src/generators/add-soba/compat.js.map +1 -0
- package/plugin/src/generators/add-soba/generator.d.ts +3 -0
- package/plugin/src/generators/add-soba/generator.js +78 -0
- package/plugin/src/generators/add-soba/generator.js.map +1 -0
- package/plugin/src/generators/add-soba/schema.json +4 -0
- package/plugin/src/generators/gltf/compat.d.ts +2 -0
- package/plugin/src/generators/gltf/compat.js +6 -0
- package/plugin/src/generators/gltf/compat.js.map +1 -0
- package/plugin/src/generators/gltf/files/__fileName__.ts__tmpl__ +36 -0
- package/plugin/src/generators/gltf/generator.d.ts +12 -0
- package/plugin/src/generators/gltf/generator.js +125 -0
- package/plugin/src/generators/gltf/generator.js.map +1 -0
- package/plugin/src/generators/gltf/schema.json +58 -0
- package/plugin/src/generators/init/compat.d.ts +1 -1
- package/plugin/src/generators/init/compat.js +2 -2
- package/plugin/src/generators/init/compat.js.map +1 -1
- package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +29 -0
- package/plugin/src/generators/init/generator.d.ts +6 -0
- package/plugin/src/generators/init/generator.js +154 -0
- package/plugin/src/generators/init/generator.js.map +1 -0
- package/plugin/src/generators/init/schema.json +11 -4
- package/plugin/src/generators/utils.d.ts +2 -0
- package/plugin/src/generators/utils.js +35 -0
- package/plugin/src/generators/utils.js.map +1 -0
- package/plugin/src/generators/version.d.ts +16 -0
- package/plugin/src/generators/version.js +20 -0
- package/plugin/src/generators/version.js.map +1 -0
- package/plugin/src/index.d.ts +0 -1
- package/plugin/src/index.js +0 -5
- package/plugin/src/index.js.map +1 -1
- package/testing/README.md +3 -0
- package/testing/index.d.ts +2 -0
- package/testing/lib/test-bed.d.ts +38 -0
- package/testing/lib/test-canvas.d.ts +11 -0
- package/testing/lib/utils/mock-canvas.d.ts +5 -0
- package/testing/lib/utils/web-gl-rendering-context.d.ts +16 -0
- package/testing/package.json +3 -0
- package/web-types.json +1 -1
- package/esm2022/lib/di/before-render.mjs +0 -13
- package/esm2022/lib/di/catalogue.mjs +0 -7
- package/esm2022/lib/di/ref.mjs +0 -49
- package/esm2022/lib/directives/common.mjs +0 -39
- package/esm2022/lib/directives/parent.mjs +0 -33
- package/esm2022/lib/directives/repeat.mjs +0 -18
- package/esm2022/lib/renderer/di.mjs +0 -3
- package/esm2022/lib/renderer/enums.mjs +0 -2
- package/esm2022/lib/renderer/provider.mjs +0 -18
- package/esm2022/lib/renderer/renderer.mjs +0 -365
- package/esm2022/lib/renderer/store.mjs +0 -372
- package/esm2022/lib/stores/signal.store.mjs +0 -81
- package/esm2022/lib/stores/store.mjs +0 -423
- package/esm2022/lib/utils/assert-in-injection-context.mjs +0 -14
- package/esm2022/lib/utils/instance.mjs +0 -63
- package/esm2022/lib/utils/safe-detect-changes.mjs +0 -15
- package/esm2022/lib/utils/signal.mjs +0 -24
- package/esm2022/lib/utils/timing.mjs +0 -21
- package/lib/di/catalogue.d.ts +0 -3
- package/lib/di/ref.d.ts +0 -7
- package/lib/directives/common.d.ts +0 -11
- package/lib/directives/parent.d.ts +0 -11
- package/lib/directives/repeat.d.ts +0 -7
- package/lib/renderer/di.d.ts +0 -2
- package/lib/renderer/enums.d.ts +0 -26
- package/lib/renderer/provider.d.ts +0 -8
- package/lib/renderer/store.d.ts +0 -63
- package/lib/stores/signal.store.d.ts +0 -20
- package/lib/stores/store.d.ts +0 -13
- package/lib/utils/assert-in-injection-context.d.ts +0 -2
- package/lib/utils/instance.d.ts +0 -4
- package/lib/utils/safe-detect-changes.d.ts +0 -2
- package/lib/utils/signal.d.ts +0 -2
- package/lib/utils/timing.d.ts +0 -4
- package/plugin/src/generators/init/init.d.ts +0 -5
- package/plugin/src/generators/init/init.js +0 -56
- package/plugin/src/generators/init/init.js.map +0 -1
- /package/lib/{di → utils}/before-render.d.ts +0 -0
package/lib/loop.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export
|
|
1
|
+
import { NgtCanvasElement, NgtGlobalRenderCallback, NgtState } from './types';
|
|
2
|
+
import { NgtSignalStore } from './utils/signal-store';
|
|
3
|
+
export declare const roots: Map<NgtCanvasElement, NgtSignalStore<NgtState>>;
|
|
4
4
|
/**
|
|
5
5
|
* Adds a global render callback which is called each frame.
|
|
6
6
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addEffect
|
|
@@ -16,18 +16,28 @@ export declare const addAfterEffect: (callback: NgtGlobalRenderCallback) => () =
|
|
|
16
16
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addTail
|
|
17
17
|
*/
|
|
18
18
|
export declare const addTail: (callback: NgtGlobalRenderCallback) => () => void;
|
|
19
|
-
export type
|
|
20
|
-
export declare function flushGlobalEffects(type:
|
|
21
|
-
export declare
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
export type NgtGlobalEffectType = 'before' | 'after' | 'tail';
|
|
20
|
+
export declare function flushGlobalEffects(type: NgtGlobalEffectType, timestamp: number): void;
|
|
21
|
+
export declare const injectLoop: {
|
|
22
|
+
(): {
|
|
23
|
+
loop: (timestamp: number) => void;
|
|
24
|
+
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
25
|
+
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
26
|
+
};
|
|
27
|
+
(injectOptions: import("@angular/core").InjectOptions & {
|
|
28
|
+
optional?: false;
|
|
29
|
+
} & {
|
|
30
|
+
injector?: import("@angular/core").Injector;
|
|
31
|
+
}): {
|
|
32
|
+
loop: (timestamp: number) => void;
|
|
33
|
+
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
34
|
+
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
35
|
+
};
|
|
36
|
+
(injectOptions: import("@angular/core").InjectOptions & {
|
|
37
|
+
injector?: import("@angular/core").Injector;
|
|
38
|
+
}): {
|
|
39
|
+
loop: (timestamp: number) => void;
|
|
40
|
+
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
41
|
+
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
42
|
+
} | null;
|
|
33
43
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class NgtHexify {
|
|
3
|
+
private document;
|
|
4
|
+
private ctx?;
|
|
5
|
+
/**
|
|
6
|
+
* transforms a:
|
|
7
|
+
* - hex string to a hex number
|
|
8
|
+
* - rgb string to a hex number
|
|
9
|
+
* - rgba string to a hex number
|
|
10
|
+
* - css color string to a hex number
|
|
11
|
+
*
|
|
12
|
+
* always default to black if failed
|
|
13
|
+
* @param value
|
|
14
|
+
*/
|
|
15
|
+
transform(value: string): number;
|
|
16
|
+
private hexStringToNumber;
|
|
17
|
+
private componentToHex;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtHexify, never>;
|
|
19
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgtHexify, "hexify", true>;
|
|
20
|
+
}
|
package/lib/portal.d.ts
CHANGED
|
@@ -1,53 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import type { NgtEventManager, NgtRenderState, NgtSize, NgtState } from './types';
|
|
1
|
+
import { Injector, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Camera, Object3D, Scene } from 'three';
|
|
3
|
+
import { NgtComputeFunction, NgtSize, NgtState } from './types';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
declare
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
state: Partial<Omit<NgtState, PrivateKeys> & {
|
|
12
|
-
events: Partial<Pick<NgtEventManager<any>, 'enabled' | 'priority' | 'compute' | 'connected'>>;
|
|
13
|
-
size: NgtSize;
|
|
14
|
-
}>;
|
|
15
|
-
}
|
|
16
|
-
export declare class NgtPortalBeforeRender implements OnInit {
|
|
17
|
-
#private;
|
|
18
|
-
renderPriority: number;
|
|
19
|
-
parentScene: THREE.Scene;
|
|
20
|
-
parentCamera: THREE.Camera;
|
|
21
|
-
beforeRender: EventEmitter<NgtRenderState>;
|
|
5
|
+
export declare class NgtPortalBeforeRender {
|
|
6
|
+
private portalStore;
|
|
7
|
+
renderPriority: import("@angular/core").InputSignal<number>;
|
|
8
|
+
parentScene: import("@angular/core").InputSignal<Scene>;
|
|
9
|
+
parentCamera: import("@angular/core").InputSignal<Camera>;
|
|
22
10
|
constructor();
|
|
23
|
-
|
|
11
|
+
onPointerOver(): void;
|
|
24
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgtPortalBeforeRender, never>;
|
|
25
|
-
static
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgtPortalBeforeRender, "ngt-portal-before-render", never, { "renderPriority": { "alias": "renderPriority"; "required": false; "isSignal": true; }; "parentScene": { "alias": "parentScene"; "required": true; "isSignal": true; }; "parentCamera": { "alias": "parentCamera"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
26
14
|
}
|
|
27
15
|
export declare class NgtPortalContent {
|
|
28
|
-
constructor(
|
|
29
|
-
static
|
|
30
|
-
|
|
16
|
+
constructor();
|
|
17
|
+
static ngTemplateContextGuard(_: NgtPortalContent, ctx: unknown): ctx is {
|
|
18
|
+
container: Object3D;
|
|
19
|
+
injector: Injector;
|
|
20
|
+
};
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtPortalContent, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtPortalContent, "ng-template[portalContent]", never, {}, {}, never, never, true, never>;
|
|
31
23
|
}
|
|
32
|
-
export declare
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
24
|
+
export declare const privateKeys: readonly ["setSize", "setFrameloop", "setDpr", "events", "setEvents", "invalidate", "advance", "size", "viewport"];
|
|
25
|
+
export type NgtPortalPrivateKeys = (typeof privateKeys)[number];
|
|
26
|
+
export type NgtPortalInjectableState = Partial<Omit<NgtState, NgtPortalPrivateKeys> & {
|
|
27
|
+
events?: {
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
priority?: number;
|
|
30
|
+
compute?: NgtComputeFunction;
|
|
31
|
+
connected?: any;
|
|
32
|
+
};
|
|
33
|
+
size?: NgtSize;
|
|
34
|
+
}>;
|
|
35
|
+
export declare class NgtPortal {
|
|
36
|
+
container: import("@angular/core").InputSignal<Object3D<import("three").Object3DEventMap>>;
|
|
37
|
+
state: import("@angular/core").InputSignal<Partial<Omit<NgtState, "viewport" | "size" | "setSize" | "events" | "invalidate" | "advance" | "setEvents" | "setDpr" | "setFrameloop"> & {
|
|
38
|
+
events?: {
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
priority?: number;
|
|
41
|
+
compute?: NgtComputeFunction;
|
|
42
|
+
connected?: any;
|
|
43
|
+
};
|
|
44
|
+
size?: NgtSize;
|
|
45
|
+
}>>;
|
|
46
|
+
/**
|
|
47
|
+
* @decsription turn this on to enable "HUD" like rendering
|
|
48
|
+
*/
|
|
49
|
+
autoRender: import("@angular/core").InputSignal<boolean>;
|
|
50
|
+
autoRenderPriority: import("@angular/core").InputSignal<number>;
|
|
51
|
+
portalContent: import("@angular/core").Signal<TemplateRef<any>>;
|
|
52
|
+
portalAnchor: import("@angular/core").Signal<ViewContainerRef>;
|
|
53
|
+
private injector;
|
|
54
|
+
private portalStore;
|
|
55
|
+
private parentStore;
|
|
56
|
+
parentScene: import("@angular/core").Signal<Scene>;
|
|
57
|
+
parentCamera: import("@angular/core").Signal<import("./types").NgtCameraManual>;
|
|
58
|
+
private raycaster;
|
|
59
|
+
private pointer;
|
|
60
|
+
private portalRendered;
|
|
61
|
+
renderAutoBeforeRender: import("@angular/core").Signal<boolean>;
|
|
62
|
+
private portalView?;
|
|
47
63
|
constructor();
|
|
48
|
-
|
|
49
|
-
onBeforeRender(portal: NgtRenderState): void;
|
|
64
|
+
private inject;
|
|
50
65
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgtPortal, never>;
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtPortal, "ngt-portal", never, { "container": { "alias": "container"; "required":
|
|
66
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgtPortal, "ngt-portal", never, { "container": { "alias": "container"; "required": true; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "autoRender": { "alias": "autoRender"; "required": false; "isSignal": true; }; "autoRenderPriority": { "alias": "autoRenderPriority"; "required": false; "isSignal": true; }; }, {}, ["portalContent"], never, true, never>;
|
|
52
67
|
}
|
|
53
|
-
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type NgtAnyConstructor = new (...args: any[]) => any;
|
|
2
|
+
export declare function extend(objects: object): void;
|
|
3
|
+
export declare const injectCatalogue: {
|
|
4
|
+
(): Record<string, NgtAnyConstructor>;
|
|
5
|
+
(injectOptions: import("@angular/core").InjectOptions & {
|
|
6
|
+
optional?: false;
|
|
7
|
+
} & {
|
|
8
|
+
injector?: import("@angular/core").Injector;
|
|
9
|
+
}): Record<string, NgtAnyConstructor>;
|
|
10
|
+
(injectOptions: import("@angular/core").InjectOptions & {
|
|
11
|
+
injector?: import("@angular/core").Injector;
|
|
12
|
+
}): Record<string, NgtAnyConstructor> | null;
|
|
13
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const ROUTED_SCENE = "__ngt_renderer_is_routed_scene__";
|
|
2
|
+
export declare const HTML = "__ngt_renderer_is_html";
|
|
3
|
+
export declare const SPECIAL_INTERNAL_ADD_COMMENT = "__ngt_renderer_add_comment__";
|
|
4
|
+
export declare const SPECIAL_DOM_TAG: {
|
|
5
|
+
readonly NGT_PORTAL: "ngt-portal";
|
|
6
|
+
readonly NGT_PRIMITIVE: "ngt-primitive";
|
|
7
|
+
readonly NGT_VALUE: "ngt-value";
|
|
8
|
+
};
|
|
9
|
+
export declare const SPECIAL_PROPERTIES: {
|
|
10
|
+
readonly RENDER_PRIORITY: "priority";
|
|
11
|
+
readonly ATTACH: "attach";
|
|
12
|
+
readonly RAW_VALUE: "rawValue";
|
|
13
|
+
readonly PARAMETERS: "parameters";
|
|
14
|
+
};
|
|
15
|
+
export declare const SPECIAL_EVENTS: {
|
|
16
|
+
readonly BEFORE_RENDER: "beforeRender";
|
|
17
|
+
readonly UPDATED: "updated";
|
|
18
|
+
readonly ATTACHED: "attached";
|
|
19
|
+
};
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
1
|
+
import { Renderer2, RendererFactory2, RendererType2 } from '@angular/core';
|
|
2
|
+
import { NgtAnyRecord, NgtState } from '../types';
|
|
3
|
+
import { NgtSignalStore } from '../utils/signal-store';
|
|
4
|
+
import { NgtAnyConstructor } from './catalogue';
|
|
5
|
+
import { NgtRendererNode, NgtRendererState } from './state';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
export declare class NgtRendererFactory implements RendererFactory2 {
|
|
6
|
-
|
|
8
|
+
private delegateRendererFactory;
|
|
9
|
+
private document;
|
|
10
|
+
private catalogue;
|
|
11
|
+
private rootStore;
|
|
12
|
+
private portalCommentsNodes;
|
|
13
|
+
private rendererMap;
|
|
14
|
+
private routedSet;
|
|
7
15
|
createRenderer(hostElement: any, type: RendererType2 | null): Renderer2;
|
|
8
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgtRendererFactory, never>;
|
|
9
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<NgtRendererFactory>;
|
|
10
18
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Anything abbreviated with rS/RS stands for RendererState
|
|
13
|
-
*/
|
|
14
19
|
export declare class NgtRenderer implements Renderer2 {
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
-
|
|
20
|
+
private delegate;
|
|
21
|
+
private rootStore;
|
|
22
|
+
private document;
|
|
23
|
+
private portalCommentsNodes;
|
|
24
|
+
private catalogue;
|
|
25
|
+
private isRoot;
|
|
26
|
+
private argsCommentNodes;
|
|
27
|
+
constructor(delegate: Renderer2, rootStore: NgtSignalStore<NgtState>, document: Document, portalCommentsNodes: Array<NgtRendererNode>, catalogue: Record<string, NgtAnyConstructor>, isRoot?: boolean);
|
|
22
28
|
createElement(name: string, namespace?: string | null | undefined): NgtAnyRecord & {
|
|
23
29
|
__ngt_renderer__: NgtRendererState;
|
|
24
30
|
};
|
|
@@ -29,21 +35,31 @@ export declare class NgtRenderer implements Renderer2 {
|
|
|
29
35
|
insertBefore(parent: NgtRendererNode, newChild: NgtRendererNode): void;
|
|
30
36
|
removeChild(parent: NgtRendererNode, oldChild: NgtRendererNode, isHostElement?: boolean | undefined): void;
|
|
31
37
|
parentNode(node: NgtRendererNode): any;
|
|
38
|
+
private setAttributeInternal;
|
|
32
39
|
setAttribute(el: NgtRendererNode, name: string, value: string, namespace?: string | null | undefined): void;
|
|
40
|
+
removeAttribute(el: NgtRendererNode, name: string, namespace?: string | null | undefined): void;
|
|
33
41
|
setProperty(el: NgtRendererNode, name: string, value: any): void;
|
|
34
42
|
listen(target: NgtRendererNode, eventName: string, callback: (event: any) => boolean | void): () => void;
|
|
43
|
+
private destroyInternal;
|
|
44
|
+
private removeCommentNode;
|
|
45
|
+
private processPortalContainer;
|
|
46
|
+
private shouldFindGrandparentInstance;
|
|
47
|
+
private getNgtArgs;
|
|
48
|
+
private tryGetPortalStore;
|
|
35
49
|
createText: (value: string) => any;
|
|
36
50
|
destroy: () => void;
|
|
37
51
|
destroyNode: ((node: any) => void) | null;
|
|
38
|
-
selectRootElement: (selectorOrNode: any, preserveContent?: boolean
|
|
52
|
+
selectRootElement: (selectorOrNode: string | any, preserveContent?: boolean) => any;
|
|
39
53
|
nextSibling: (node: any) => any;
|
|
40
|
-
removeAttribute: (el: any, name: string, namespace?: string | null | undefined) => void;
|
|
41
54
|
addClass: (el: any, name: string) => void;
|
|
42
55
|
removeClass: (el: any, name: string) => void;
|
|
43
|
-
setStyle: (el: any, style: string, value: any, flags?: import("@angular/core").RendererStyleFlags2
|
|
44
|
-
removeStyle: (el: any, style: string, flags?: import("@angular/core").RendererStyleFlags2
|
|
56
|
+
setStyle: (el: any, style: string, value: any, flags?: import("@angular/core").RendererStyleFlags2) => void;
|
|
57
|
+
removeStyle: (el: any, style: string, flags?: import("@angular/core").RendererStyleFlags2) => void;
|
|
45
58
|
setValue: (node: any, value: string) => void;
|
|
46
59
|
get data(): {
|
|
47
60
|
[key: string]: any;
|
|
48
61
|
};
|
|
49
62
|
}
|
|
63
|
+
export declare function provideNgtRenderer(store: NgtSignalStore<NgtState>): import("@angular/core").EnvironmentProviders;
|
|
64
|
+
export { extend } from './catalogue';
|
|
65
|
+
export { HTML, ROUTED_SCENE } from './constants';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injector } from '@angular/core';
|
|
2
|
+
import { NgtAnyRecord } from '../types';
|
|
3
|
+
import { NgtRendererClassId } from './utils';
|
|
4
|
+
export type NgtRendererState = [
|
|
5
|
+
type: 'three' | 'portal' | 'comment' | 'dom',
|
|
6
|
+
parent: NgtRendererNode | null,
|
|
7
|
+
children: NgtRendererNode[],
|
|
8
|
+
destroyed: boolean,
|
|
9
|
+
rawValue: any,
|
|
10
|
+
portalContainer: NgtRendererNode,
|
|
11
|
+
injectorFactory: () => Injector | undefined
|
|
12
|
+
];
|
|
13
|
+
export interface NgtRendererNode {
|
|
14
|
+
__ngt_renderer__: NgtRendererState;
|
|
15
|
+
__ngt_dom_parent__?: HTMLElement;
|
|
16
|
+
}
|
|
17
|
+
export declare function createNode(type: NgtRendererState[NgtRendererClassId.type], node: NgtAnyRecord, document: Document): NgtAnyRecord & {
|
|
18
|
+
__ngt_renderer__: NgtRendererState;
|
|
19
|
+
};
|
|
20
|
+
export declare function isDOM(node: NgtAnyRecord): boolean;
|
|
21
|
+
export declare function getClosestParentWithInstance(node: NgtRendererNode): NgtRendererNode | null;
|
|
22
|
+
export declare function setParent(node: NgtRendererNode, parent: NgtRendererNode): void;
|
|
23
|
+
export declare function addChild(node: NgtRendererNode, child: NgtRendererNode): void;
|
|
24
|
+
export declare function removeChild(node: NgtRendererNode, child: NgtRendererNode): void;
|
package/lib/renderer/utils.d.ts
CHANGED
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
export declare
|
|
12
|
-
readonly COMPOUND: "ngtCompound";
|
|
13
|
-
readonly RENDER_PRIORITY: "priority";
|
|
14
|
-
readonly ATTACH: "attach";
|
|
15
|
-
readonly VALUE: "rawValue";
|
|
16
|
-
readonly REF: "ref";
|
|
17
|
-
};
|
|
1
|
+
import { NgtInstanceNode } from '../types';
|
|
2
|
+
export declare const enum NgtRendererClassId {
|
|
3
|
+
type = 0,
|
|
4
|
+
parent = 1,
|
|
5
|
+
children = 2,
|
|
6
|
+
destroyed = 3,
|
|
7
|
+
rawValue = 4,
|
|
8
|
+
portalContainer = 5,
|
|
9
|
+
injectorFactory = 6
|
|
10
|
+
}
|
|
11
|
+
export declare function kebabToPascal(str: string): string;
|
|
18
12
|
export declare function attachThreeChild(parent: NgtInstanceNode, child: NgtInstanceNode): void;
|
|
19
13
|
export declare function removeThreeChild(parent: NgtInstanceNode, child: NgtInstanceNode, dispose?: boolean): void;
|
|
20
|
-
export declare function processThreeEvent(instance: NgtInstanceNode, priority: number, eventName: string, callback: (event: any) => void
|
|
21
|
-
export declare function eventToHandler(callback: (event: any) => void): (event: Parameters<Exclude<NgtEventHandlers[(typeof supportedEvents)[number]], undefined>>[0]) => void;
|
|
22
|
-
export declare function kebabToPascal(str: string): string;
|
|
14
|
+
export declare function processThreeEvent(instance: NgtInstanceNode, priority: number, eventName: string, callback: (event: any) => void): () => void;
|
package/lib/roots.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Injector } from '@angular/core';
|
|
2
|
+
import { NgtCanvasElement, NgtCanvasOptions } from './types';
|
|
3
|
+
export declare function injectCanvasRootInitializer(injector?: Injector): (canvas: NgtCanvasElement) => {
|
|
4
|
+
isConfigured: boolean;
|
|
5
|
+
destroy: (timeout?: number) => void;
|
|
6
|
+
configure: (inputs: NgtCanvasOptions) => void;
|
|
7
|
+
};
|
|
8
|
+
export type NgtCanvasConfigurator = ReturnType<ReturnType<typeof injectCanvasRootInitializer>>;
|
|
9
|
+
export declare function dispose<TObj extends {
|
|
10
|
+
dispose?: () => void;
|
|
11
|
+
type?: string;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}>(obj: TObj): void;
|
package/lib/routed-scene.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
|
-
import { ROUTED_SCENE } from './renderer/
|
|
3
|
+
import { ROUTED_SCENE } from './renderer/constants';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class NgtRoutedScene {
|
|
6
6
|
static [ROUTED_SCENE]: boolean;
|
package/lib/store.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InjectOptions, InjectionToken } from '@angular/core';
|
|
2
|
+
import { NgtState } from './types';
|
|
3
|
+
import { NgtSignalStore } from './utils/signal-store';
|
|
4
|
+
declare function storeFactory(previousStore: NgtSignalStore<NgtState> | null): NgtSignalStore<NgtState>;
|
|
5
|
+
export declare const NGT_STORE: InjectionToken<NgtSignalStore<NgtState>>;
|
|
6
|
+
export declare function provideStore(store?: () => NgtSignalStore<NgtState>): {
|
|
7
|
+
provide: InjectionToken<NgtSignalStore<NgtState>>;
|
|
8
|
+
useFactory: typeof storeFactory;
|
|
9
|
+
};
|
|
10
|
+
export declare function injectStore(options: InjectOptions & {
|
|
11
|
+
optional?: false;
|
|
12
|
+
}): NgtSignalStore<NgtState>;
|
|
13
|
+
export declare function injectStore(options: InjectOptions): NgtSignalStore<NgtState> | null;
|
|
14
|
+
export declare function injectStore(): NgtSignalStore<NgtState>;
|
|
15
|
+
export {};
|