angular-three 2.0.0-beta.242 → 2.0.0-beta.244
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/index.mjs +2 -2
- package/esm2022/lib/canvas.mjs +19 -27
- package/esm2022/lib/directives/args.mjs +52 -14
- package/esm2022/lib/instance.mjs +10 -9
- package/esm2022/lib/loop.mjs +2 -2
- package/esm2022/lib/portal.mjs +119 -111
- package/esm2022/lib/renderer/catalogue.mjs +2 -2
- package/esm2022/lib/renderer/constants.mjs +3 -5
- package/esm2022/lib/renderer/index.mjs +276 -194
- package/esm2022/lib/renderer/state.mjs +49 -0
- package/esm2022/lib/renderer/utils.mjs +40 -24
- package/esm2022/lib/roots.mjs +25 -25
- package/esm2022/lib/routed-scene.mjs +3 -3
- package/esm2022/lib/store.mjs +14 -12
- package/esm2022/lib/three-types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +3 -3
- package/esm2022/lib/utils/before-render.mjs +4 -3
- package/esm2022/lib/utils/parameters.mjs +33 -28
- package/esm2022/lib/utils/resolve-ref.mjs +8 -0
- package/esm2022/lib/utils/signal-store.mjs +3 -14
- package/fesm2022/angular-three.mjs +720 -1089
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +2 -2
- package/lib/canvas.d.ts +278 -1001
- package/lib/directives/args.d.ts +11 -4
- package/lib/instance.d.ts +8 -13
- package/lib/loop.d.ts +1 -1
- package/lib/portal.d.ts +41 -31
- package/lib/renderer/catalogue.d.ts +1 -1
- package/lib/renderer/constants.d.ts +2 -4
- package/lib/renderer/index.d.ts +15 -5
- package/lib/renderer/state.d.ts +23 -0
- package/lib/renderer/utils.d.ts +5 -22
- package/lib/roots.d.ts +5 -0
- package/lib/store.d.ts +12 -12
- package/lib/three-types.d.ts +8 -5
- package/lib/utils/parameters.d.ts +6 -9
- package/lib/utils/resolve-ref.d.ts +2 -0
- package/lib/utils/signal-store.d.ts +1 -5
- package/metadata.json +1 -1
- package/package.json +71 -72
- package/web-types.json +1 -1
- package/esm2022/lib/directives/common.mjs +0 -67
- package/esm2022/lib/directives/parent.mjs +0 -20
- package/esm2022/lib/ref.mjs +0 -50
- package/esm2022/lib/renderer/store.mjs +0 -439
- package/lib/directives/common.d.ts +0 -31
- package/lib/directives/parent.d.ts +0 -11
- package/lib/ref.d.ts +0 -7
- package/lib/renderer/store.d.ts +0 -65
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, NgZone, TemplateRef, ViewContainerRef, afterNextRender, inject, untracked, } from '@angular/core';
|
|
2
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
3
|
-
import { createInjectionToken } from 'ngxtension/create-injection-token';
|
|
4
|
-
import { SPECIAL_INTERNAL_ADD_COMMENT } from '../renderer/constants';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export const [injectNodeType, provideNodeType] = createInjectionToken(() => '', {
|
|
7
|
-
isRoot: false,
|
|
8
|
-
});
|
|
9
|
-
export class NgtCommonDirective {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.vcr = inject(ViewContainerRef);
|
|
12
|
-
this.zone = inject(NgZone);
|
|
13
|
-
this.template = inject(TemplateRef);
|
|
14
|
-
this.nodeType = injectNodeType();
|
|
15
|
-
this.autoEffect = injectAutoEffect();
|
|
16
|
-
this.injected = false;
|
|
17
|
-
this.injectedValue = null;
|
|
18
|
-
this.shouldCreateView = true;
|
|
19
|
-
const commentNode = this.vcr.element.nativeElement;
|
|
20
|
-
if (commentNode[SPECIAL_INTERNAL_ADD_COMMENT]) {
|
|
21
|
-
commentNode[SPECIAL_INTERNAL_ADD_COMMENT](this.nodeType);
|
|
22
|
-
delete commentNode[SPECIAL_INTERNAL_ADD_COMMENT];
|
|
23
|
-
}
|
|
24
|
-
afterNextRender(() => {
|
|
25
|
-
this.autoEffect(() => {
|
|
26
|
-
const value = this.inputValue();
|
|
27
|
-
if (this.shouldSkipCreateView(value))
|
|
28
|
-
return;
|
|
29
|
-
this.injected = false;
|
|
30
|
-
this.injectedValue = value;
|
|
31
|
-
untracked(() => {
|
|
32
|
-
this.createView();
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
inject(DestroyRef).onDestroy(() => {
|
|
37
|
-
this.view?.destroy();
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
shouldSkipCreateView(value) {
|
|
41
|
-
return !value;
|
|
42
|
-
}
|
|
43
|
-
get value() {
|
|
44
|
-
if (this.validate()) {
|
|
45
|
-
this.injected = true;
|
|
46
|
-
return this.injectedValue;
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
createView() {
|
|
51
|
-
this.zone.runOutsideAngular(() => {
|
|
52
|
-
if (this.shouldCreateView) {
|
|
53
|
-
if (this.view && !this.view.destroyed) {
|
|
54
|
-
this.view.destroy();
|
|
55
|
-
}
|
|
56
|
-
this.view = this.vcr.createEmbeddedView(this.template);
|
|
57
|
-
this.view.detectChanges();
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtCommonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
62
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NgtCommonDirective, ngImport: i0 }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtCommonDirective, decorators: [{
|
|
65
|
-
type: Directive
|
|
66
|
-
}], ctorParameters: () => [] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxFQUNOLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXJFLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQTRCLEVBQUU7SUFDekcsTUFBTSxFQUFFLEtBQUs7Q0FDYixDQUFDLENBQUM7QUFHSCxNQUFNLE9BQWdCLGtCQUFrQjtJQVl2QztRQVhRLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsYUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQzVCLGVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBa0IsSUFBSSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUlqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxXQUFXLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDO1lBQy9DLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxPQUFPLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztvQkFBRSxPQUFPO2dCQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNuQixDQUFDLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUtTLG9CQUFvQixDQUFDLEtBQW9CO1FBQ2xELE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVPLFVBQVU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckIsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBN0RvQixrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdERlc3Ryb3lSZWYsXG5cdERpcmVjdGl2ZSxcblx0RW1iZWRkZWRWaWV3UmVmLFxuXHROZ1pvbmUsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGluamVjdCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IGNyZWF0ZUluamVjdGlvblRva2VuIH0gZnJvbSAnbmd4dGVuc2lvbi9jcmVhdGUtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IFNQRUNJQUxfSU5URVJOQUxfQUREX0NPTU1FTlQgfSBmcm9tICcuLi9yZW5kZXJlci9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgW2luamVjdE5vZGVUeXBlLCBwcm92aWRlTm9kZVR5cGVdID0gY3JlYXRlSW5qZWN0aW9uVG9rZW4oKCkgPT4gJycgYXMgJ2FyZ3MnIHwgJ3BhcmVudCcgfCAnJywge1xuXHRpc1Jvb3Q6IGZhbHNlLFxufSk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5ndENvbW1vbkRpcmVjdGl2ZTxUVmFsdWU+IHtcblx0cHJpdmF0ZSB2Y3IgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cdHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXHRwcml2YXRlIHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcblx0cHJpdmF0ZSBub2RlVHlwZSA9IGluamVjdE5vZGVUeXBlKCk7XG5cdHByaXZhdGUgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblxuXHRwcm90ZWN0ZWQgaW5qZWN0ZWQgPSBmYWxzZTtcblx0cHJvdGVjdGVkIGluamVjdGVkVmFsdWU6IFRWYWx1ZSB8IG51bGwgPSBudWxsO1xuXHRwcm90ZWN0ZWQgc2hvdWxkQ3JlYXRlVmlldyA9IHRydWU7XG5cdHByaXZhdGUgdmlldz86IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBjb21tZW50Tm9kZSA9IHRoaXMudmNyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoY29tbWVudE5vZGVbU1BFQ0lBTF9JTlRFUk5BTF9BRERfQ09NTUVOVF0pIHtcblx0XHRcdGNvbW1lbnROb2RlW1NQRUNJQUxfSU5URVJOQUxfQUREX0NPTU1FTlRdKHRoaXMubm9kZVR5cGUpO1xuXHRcdFx0ZGVsZXRlIGNvbW1lbnROb2RlW1NQRUNJQUxfSU5URVJOQUxfQUREX0NPTU1FTlRdO1xuXHRcdH1cblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHR0aGlzLmF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRWYWx1ZSgpO1xuXHRcdFx0XHRpZiAodGhpcy5zaG91bGRTa2lwQ3JlYXRlVmlldyh2YWx1ZSkpIHJldHVybjtcblx0XHRcdFx0dGhpcy5pbmplY3RlZCA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmluamVjdGVkVmFsdWUgPSB2YWx1ZTtcblx0XHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmNyZWF0ZVZpZXcoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuXHRcdFx0dGhpcy52aWV3Py5kZXN0cm95KCk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgaW5wdXRWYWx1ZSgpOiBUVmFsdWUgfCBudWxsO1xuXHRhYnN0cmFjdCB2YWxpZGF0ZSgpOiBib29sZWFuO1xuXG5cdHByb3RlY3RlZCBzaG91bGRTa2lwQ3JlYXRlVmlldyh2YWx1ZTogVFZhbHVlIHwgbnVsbCkge1xuXHRcdHJldHVybiAhdmFsdWU7XG5cdH1cblxuXHRnZXQgdmFsdWUoKSB7XG5cdFx0aWYgKHRoaXMudmFsaWRhdGUoKSkge1xuXHRcdFx0dGhpcy5pbmplY3RlZCA9IHRydWU7XG5cdFx0XHRyZXR1cm4gdGhpcy5pbmplY3RlZFZhbHVlO1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlVmlldygpIHtcblx0XHR0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuc2hvdWxkQ3JlYXRlVmlldykge1xuXHRcdFx0XHRpZiAodGhpcy52aWV3ICYmICF0aGlzLnZpZXcuZGVzdHJveWVkKSB7XG5cdFx0XHRcdFx0dGhpcy52aWV3LmRlc3Ryb3koKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLnZpZXcgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSk7XG5cdFx0XHRcdHRoaXMudmlldy5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Directive, input } from '@angular/core';
|
|
2
|
-
import { NgtCommonDirective, provideNodeType } from './common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgtParent extends NgtCommonDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.parent = input.required();
|
|
8
|
-
this.inputValue = this.parent;
|
|
9
|
-
}
|
|
10
|
-
validate() {
|
|
11
|
-
return !this.injected && !!this.injectedValue;
|
|
12
|
-
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtParent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.3", type: NgtParent, isStandalone: true, selector: "ng-template[parent]", inputs: { parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: true, transformFunction: null } }, providers: [provideNodeType('parent')], usesInheritance: true, ngImport: i0 }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtParent, decorators: [{
|
|
17
|
-
type: Directive,
|
|
18
|
-
args: [{ selector: 'ng-template[parent]', standalone: true, providers: [provideNodeType('parent')] }]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHL0QsTUFBTSxPQUFPLFNBQVUsU0FBUSxrQkFBNkM7SUFENUU7O1FBRUMsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTZCLENBQUM7UUFDbEMsZUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7S0FLNUM7SUFIQSxRQUFRO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDL0MsQ0FBQzs4R0FOVyxTQUFTO2tHQUFULFNBQVMsd01BRHFELENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzsyRkFDekYsU0FBUztrQkFEckIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JqZWN0M0QgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RSZWYgfSBmcm9tICcuLi9yZWYnO1xuaW1wb3J0IHsgTmd0Q29tbW9uRGlyZWN0aXZlLCBwcm92aWRlTm9kZVR5cGUgfSBmcm9tICcuL2NvbW1vbic7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3BhcmVudF0nLCBzdGFuZGFsb25lOiB0cnVlLCBwcm92aWRlcnM6IFtwcm92aWRlTm9kZVR5cGUoJ3BhcmVudCcpXSB9KVxuZXhwb3J0IGNsYXNzIE5ndFBhcmVudCBleHRlbmRzIE5ndENvbW1vbkRpcmVjdGl2ZTxzdHJpbmcgfCBOZ3RSZWY8T2JqZWN0M0Q+PiB7XG5cdHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZyB8IE5ndFJlZjxPYmplY3QzRD4+KCk7XG5cdHByb3RlY3RlZCBvdmVycmlkZSBpbnB1dFZhbHVlID0gdGhpcy5wYXJlbnQ7XG5cblx0dmFsaWRhdGUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuICF0aGlzLmluamVjdGVkICYmICEhdGhpcy5pbmplY3RlZFZhbHVlO1xuXHR9XG59XG4iXX0=
|
package/esm2022/lib/ref.mjs
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, ElementRef, computed, inject, signal, untracked } from '@angular/core';
|
|
2
|
-
import { assertInjector } from 'ngxtension/assert-injector';
|
|
3
|
-
import { getLocalState } from './instance';
|
|
4
|
-
import { is } from './utils/is';
|
|
5
|
-
export function injectNgtRef(initial = null, injector) {
|
|
6
|
-
if (initial && Reflect.get(initial, '__ngtType')) {
|
|
7
|
-
return initial;
|
|
8
|
-
}
|
|
9
|
-
return assertInjector(injectNgtRef, injector, () => {
|
|
10
|
-
const ref = is.ref(initial) ? initial : new ElementRef(initial);
|
|
11
|
-
const refSignal = signal(ref.nativeElement, { equal: Object.is });
|
|
12
|
-
const readonlyRef = refSignal.asReadonly();
|
|
13
|
-
const computedCached = new Map();
|
|
14
|
-
inject(DestroyRef).onDestroy(() => void computedCached.clear());
|
|
15
|
-
const children = (type = 'objects') => {
|
|
16
|
-
if (!computedCached.has(type)) {
|
|
17
|
-
computedCached.set(type, computed(() => {
|
|
18
|
-
const instance = readonlyRef();
|
|
19
|
-
if (!instance)
|
|
20
|
-
return [];
|
|
21
|
-
const localState = getLocalState(instance);
|
|
22
|
-
if (!localState?.instanceStore)
|
|
23
|
-
return [];
|
|
24
|
-
if (type === 'objects')
|
|
25
|
-
return localState.objects();
|
|
26
|
-
if (type === 'nonObjects')
|
|
27
|
-
return localState.nonObjects();
|
|
28
|
-
return [...localState.objects(), ...localState.nonObjects()];
|
|
29
|
-
}));
|
|
30
|
-
}
|
|
31
|
-
return computedCached.get(type);
|
|
32
|
-
};
|
|
33
|
-
Object.defineProperties(ref, {
|
|
34
|
-
nativeElement: {
|
|
35
|
-
set: (newElement) => {
|
|
36
|
-
untracked(() => {
|
|
37
|
-
if (newElement !== readonlyRef()) {
|
|
38
|
-
refSignal.set(newElement);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
get: readonlyRef,
|
|
43
|
-
},
|
|
44
|
-
children: { value: children },
|
|
45
|
-
__ngtType: { value: 'ngtRef' },
|
|
46
|
-
});
|
|
47
|
-
return ref;
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFvQixRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFTaEMsTUFBTSxVQUFVLFlBQVksQ0FDM0IsVUFBMkMsSUFBSyxFQUNoRCxRQUFtQjtJQUVuQixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ2xELE9BQU8sT0FBbUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDbEQsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFtQixDQUFDLENBQUM7UUFDNUUsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFFakMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBMEMsU0FBUyxFQUFFLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsY0FBYyxDQUFDLEdBQUcsQ0FDakIsSUFBSSxFQUNKLFFBQVEsQ0FBQyxHQUFHLEVBQUU7b0JBQ2IsTUFBTSxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7b0JBQy9CLElBQUksQ0FBQyxRQUFRO3dCQUFFLE9BQU8sRUFBRSxDQUFDO29CQUN6QixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzNDLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYTt3QkFBRSxPQUFPLEVBQUUsQ0FBQztvQkFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUzt3QkFBRSxPQUFPLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDcEQsSUFBSSxJQUFJLEtBQUssWUFBWTt3QkFBRSxPQUFPLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDMUQsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxDQUNGLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsYUFBYSxFQUFFO2dCQUNkLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUNuQixTQUFTLENBQUMsR0FBRyxFQUFFO3dCQUNkLElBQUksVUFBVSxLQUFLLFdBQVcsRUFBRSxFQUFFLENBQUM7NEJBQ2xDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzNCLENBQUM7b0JBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxHQUFHLEVBQUUsV0FBVzthQUNoQjtZQUNELFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7WUFDN0IsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtTQUM5QixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQStCLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIFNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InO1xuaW1wb3J0IHsgTmd0SW5zdGFuY2VOb2RlLCBnZXRMb2NhbFN0YXRlIH0gZnJvbSAnLi9pbnN0YW5jZSc7XG5pbXBvcnQgeyBpcyB9IGZyb20gJy4vdXRpbHMvaXMnO1xuXG5leHBvcnQgdHlwZSBOZ3RJbmplY3RlZFJlZjxURWxlbWVudD4gPSBFbGVtZW50UmVmPFRFbGVtZW50PiAmIHtcblx0LyogY29uc3VtZXJzIHNob3VsZCB1c2UgdGhpcyBmb3IgbGlzdGVudGluZyB0byBjaGlsZHJlbiBjaGFuZ2VzIG9uIHRoaXMgcmVmICovXG5cdGNoaWxkcmVuOiAodHlwZT86ICdvYmplY3RzJyB8ICdub25PYmplY3RzJyB8ICdib3RoJykgPT4gU2lnbmFsPE5ndEluc3RhbmNlTm9kZVtdPjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndFJlZjxURWxlbWVudD4gPSBURWxlbWVudCB8IE5ndEluamVjdGVkUmVmPFRFbGVtZW50PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndFJlZjxURWxlbWVudD4oXG5cdGluaXRpYWw6IEVsZW1lbnRSZWY8VEVsZW1lbnQ+IHwgVEVsZW1lbnQgPSBudWxsISxcblx0aW5qZWN0b3I/OiBJbmplY3Rvcixcbik6IE5ndEluamVjdGVkUmVmPFRFbGVtZW50PiB7XG5cdGlmIChpbml0aWFsICYmIFJlZmxlY3QuZ2V0KGluaXRpYWwsICdfX25ndFR5cGUnKSkge1xuXHRcdHJldHVybiBpbml0aWFsIGFzIE5ndEluamVjdGVkUmVmPFRFbGVtZW50Pjtcblx0fVxuXG5cdHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3ROZ3RSZWYsIGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgcmVmID0gaXMucmVmKGluaXRpYWwpID8gaW5pdGlhbCA6IG5ldyBFbGVtZW50UmVmKGluaXRpYWwgYXMgVEVsZW1lbnQpO1xuXHRcdGNvbnN0IHJlZlNpZ25hbCA9IHNpZ25hbChyZWYubmF0aXZlRWxlbWVudCwgeyBlcXVhbDogT2JqZWN0LmlzIH0pO1xuXHRcdGNvbnN0IHJlYWRvbmx5UmVmID0gcmVmU2lnbmFsLmFzUmVhZG9ubHkoKTtcblx0XHRjb25zdCBjb21wdXRlZENhY2hlZCA9IG5ldyBNYXAoKTtcblxuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gdm9pZCBjb21wdXRlZENhY2hlZC5jbGVhcigpKTtcblxuXHRcdGNvbnN0IGNoaWxkcmVuID0gKHR5cGU6ICdvYmplY3RzJyB8ICdub25PYmplY3RzJyB8ICdib3RoJyA9ICdvYmplY3RzJykgPT4ge1xuXHRcdFx0aWYgKCFjb21wdXRlZENhY2hlZC5oYXModHlwZSkpIHtcblx0XHRcdFx0Y29tcHV0ZWRDYWNoZWQuc2V0KFxuXHRcdFx0XHRcdHR5cGUsXG5cdFx0XHRcdFx0Y29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgaW5zdGFuY2UgPSByZWFkb25seVJlZigpO1xuXHRcdFx0XHRcdFx0aWYgKCFpbnN0YW5jZSkgcmV0dXJuIFtdO1xuXHRcdFx0XHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoaW5zdGFuY2UpO1xuXHRcdFx0XHRcdFx0aWYgKCFsb2NhbFN0YXRlPy5pbnN0YW5jZVN0b3JlKSByZXR1cm4gW107XG5cdFx0XHRcdFx0XHRpZiAodHlwZSA9PT0gJ29iamVjdHMnKSByZXR1cm4gbG9jYWxTdGF0ZS5vYmplY3RzKCk7XG5cdFx0XHRcdFx0XHRpZiAodHlwZSA9PT0gJ25vbk9iamVjdHMnKSByZXR1cm4gbG9jYWxTdGF0ZS5ub25PYmplY3RzKCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gWy4uLmxvY2FsU3RhdGUub2JqZWN0cygpLCAuLi5sb2NhbFN0YXRlLm5vbk9iamVjdHMoKV07XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gY29tcHV0ZWRDYWNoZWQuZ2V0KHR5cGUpITtcblx0XHR9O1xuXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXMocmVmLCB7XG5cdFx0XHRuYXRpdmVFbGVtZW50OiB7XG5cdFx0XHRcdHNldDogKG5ld0VsZW1lbnQpID0+IHtcblx0XHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKG5ld0VsZW1lbnQgIT09IHJlYWRvbmx5UmVmKCkpIHtcblx0XHRcdFx0XHRcdFx0cmVmU2lnbmFsLnNldChuZXdFbGVtZW50KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0Z2V0OiByZWFkb25seVJlZixcblx0XHRcdH0sXG5cdFx0XHRjaGlsZHJlbjogeyB2YWx1ZTogY2hpbGRyZW4gfSxcblx0XHRcdF9fbmd0VHlwZTogeyB2YWx1ZTogJ25ndFJlZicgfSxcblx0XHR9KTtcblxuXHRcdHJldHVybiByZWYgYXMgTmd0SW5qZWN0ZWRSZWY8VEVsZW1lbnQ+O1xuXHR9KTtcbn1cbiJdfQ==
|