@tethys/cdk 18.1.0 → 18.1.1
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.
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class ThyStealthView {
|
|
3
3
|
private templateRef;
|
|
4
4
|
private stealthViewBehavior;
|
|
5
5
|
get rootNodes(): Node[];
|
|
6
6
|
constructor();
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyStealthView, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ThyStealthView, "ng-template[thyStealthView]", ["thyStealthView"], {}, {}, never, never, true, never>;
|
|
9
9
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Directive, inject, TemplateRef } from '@angular/core';
|
|
2
2
|
import { useStealthViewRenderer } from './stealth-view-renderer';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
4
|
+
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
5
|
+
export class ThyStealthView {
|
|
5
6
|
get rootNodes() {
|
|
6
7
|
return this.stealthViewBehavior.rootNodes;
|
|
7
8
|
}
|
|
@@ -9,11 +10,11 @@ export class ThyStealthViewDirective {
|
|
|
9
10
|
this.templateRef = inject((TemplateRef));
|
|
10
11
|
this.stealthViewBehavior = useStealthViewRenderer(this.templateRef);
|
|
11
12
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type:
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyStealthView, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyStealthView, isStandalone: true, selector: "ng-template[thyStealthView]", exportAs: ["thyStealthView"], ngImport: i0 }); }
|
|
14
15
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyStealthView, decorators: [{
|
|
16
17
|
type: Directive,
|
|
17
18
|
args: [{ selector: 'ng-template[thyStealthView]', standalone: true, exportAs: 'thyStealthView' }]
|
|
18
19
|
}], ctorParameters: () => [] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlYWx0aC12aWV3LWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9kb20vc3RlYWx0aC12aWV3LWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR2pFLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sY0FBYztJQUt2QixJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVEO1FBUlEsZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUFnQixDQUFBLENBQUMsQ0FBQztRQUV2Qyx3QkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFNeEQsQ0FBQzs4R0FUUCxjQUFjO2tHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRjFCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZVN0ZWFsdGhWaWV3UmVuZGVyZXIgfSBmcm9tICcuL3N0ZWFsdGgtdmlldy1yZW5kZXJlcic7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3RoeVN0ZWFsdGhWaWV3XScsIHN0YW5kYWxvbmU6IHRydWUsIGV4cG9ydEFzOiAndGh5U3RlYWx0aFZpZXcnIH0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBUaHlTdGVhbHRoVmlldyB7XG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxhbnk+KTtcblxuICAgIHByaXZhdGUgc3RlYWx0aFZpZXdCZWhhdmlvciA9IHVzZVN0ZWFsdGhWaWV3UmVuZGVyZXIodGhpcy50ZW1wbGF0ZVJlZik7XG5cbiAgICBnZXQgcm9vdE5vZGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVhbHRoVmlld0JlaGF2aW9yLnJvb3ROb2RlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
|
|
@@ -10,12 +10,16 @@ export function useStealthViewRenderer(templateRefInput) {
|
|
|
10
10
|
applicationRef.detachView(embeddedViewRef);
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
const result = {
|
|
14
|
+
get rootNodes() {
|
|
15
|
+
if (!embeddedViewRef) {
|
|
16
|
+
const templateRef = isSignal(templateRefInput) ? templateRefInput() : templateRefInput;
|
|
17
|
+
embeddedViewRef = templateRef.createEmbeddedView({}, injector);
|
|
18
|
+
applicationRef.attachView(embeddedViewRef);
|
|
19
|
+
}
|
|
20
|
+
return embeddedViewRef.rootNodes;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return result;
|
|
20
24
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlYWx0aC12aWV3LXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2RvbS9zdGVhbHRoLXZpZXctcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQThCLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQU14SSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsZ0JBQTZEO0lBQ2hHLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRDLElBQUksZUFBcUMsQ0FBQztJQUUxQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUN0QixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixjQUFjLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHO1FBQ1gsSUFBSSxTQUFTO1lBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNuQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3ZGLGVBQWUsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvRCxjQUFjLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFDRCxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFDckMsQ0FBQztLQUNKLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBpbmplY3QsIEluamVjdG9yLCBpc1NpZ25hbCwgU2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZWFsdGhWaWV3UmVuZGVyZXIge1xuICAgIHJvb3ROb2RlczogTm9kZVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlU3RlYWx0aFZpZXdSZW5kZXJlcih0ZW1wbGF0ZVJlZklucHV0OiBTaWduYWw8VGVtcGxhdGVSZWY8YW55Pj4gfCBUZW1wbGF0ZVJlZjxhbnk+KTogU3RlYWx0aFZpZXdSZW5kZXJlciB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgbGV0IGVtYmVkZGVkVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgIGlmIChlbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgICAgICAgIGVtYmVkZGVkVmlld1JlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICBhcHBsaWNhdGlvblJlZi5kZXRhY2hWaWV3KGVtYmVkZGVkVmlld1JlZik7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgZ2V0IHJvb3ROb2RlcygpIHtcbiAgICAgICAgICAgIGlmICghZW1iZWRkZWRWaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcGxhdGVSZWYgPSBpc1NpZ25hbCh0ZW1wbGF0ZVJlZklucHV0KSA/IHRlbXBsYXRlUmVmSW5wdXQoKSA6IHRlbXBsYXRlUmVmSW5wdXQ7XG4gICAgICAgICAgICAgICAgZW1iZWRkZWRWaWV3UmVmID0gdGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHt9LCBpbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhlbWJlZGRlZFZpZXdSZWYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGVtYmVkZGVkVmlld1JlZi5yb290Tm9kZXM7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -100,16 +100,21 @@ function useStealthViewRenderer(templateRefInput) {
|
|
|
100
100
|
applicationRef.detachView(embeddedViewRef);
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
103
|
+
const result = {
|
|
104
|
+
get rootNodes() {
|
|
105
|
+
if (!embeddedViewRef) {
|
|
106
|
+
const templateRef = isSignal(templateRefInput) ? templateRefInput() : templateRefInput;
|
|
107
|
+
embeddedViewRef = templateRef.createEmbeddedView({}, injector);
|
|
108
|
+
applicationRef.attachView(embeddedViewRef);
|
|
109
|
+
}
|
|
110
|
+
return embeddedViewRef.rootNodes;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
return result;
|
|
110
114
|
}
|
|
111
115
|
|
|
112
|
-
|
|
116
|
+
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
117
|
+
class ThyStealthView {
|
|
113
118
|
get rootNodes() {
|
|
114
119
|
return this.stealthViewBehavior.rootNodes;
|
|
115
120
|
}
|
|
@@ -117,10 +122,10 @@ class ThyStealthViewDirective {
|
|
|
117
122
|
this.templateRef = inject((TemplateRef));
|
|
118
123
|
this.stealthViewBehavior = useStealthViewRenderer(this.templateRef);
|
|
119
124
|
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
|
121
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type:
|
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyStealthView, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
126
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyStealthView, isStandalone: true, selector: "ng-template[thyStealthView]", exportAs: ["thyStealthView"], ngImport: i0 }); }
|
|
122
127
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type:
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyStealthView, decorators: [{
|
|
124
129
|
type: Directive,
|
|
125
130
|
args: [{ selector: 'ng-template[thyStealthView]', standalone: true, exportAs: 'thyStealthView' }]
|
|
126
131
|
}], ctorParameters: () => [] });
|
|
@@ -129,5 +134,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
129
134
|
* Generated bundle index. Do not edit.
|
|
130
135
|
*/
|
|
131
136
|
|
|
132
|
-
export { AbstractElementRenderer, ElementRenderer, HostRenderer,
|
|
137
|
+
export { AbstractElementRenderer, ElementRenderer, HostRenderer, ThyStealthView, useElementRenderer, useHostRenderer, useStealthViewRenderer };
|
|
133
138
|
//# sourceMappingURL=tethys-cdk-dom.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tethys-cdk-dom.mjs","sources":["../../../cdk/dom/abstract-element-renderer.ts","../../../cdk/dom/element-renderer.ts","../../../cdk/dom/host-renderer.ts","../../../cdk/dom/stealth-view-renderer.ts","../../../cdk/dom/stealth-view-directive.ts","../../../cdk/dom/tethys-cdk-dom.ts"],"sourcesContent":["import { Renderer2, inject, RendererStyleFlags2 } from '@angular/core';\n\nexport abstract class AbstractElementRenderer {\n private renderer = inject(Renderer2);\n\n protected abstract element: Element;\n\n private classNames: string[] = [];\n\n private get safeElement() {\n if (!this.element) {\n throw new Error(`Element is null, should call setElement method for ElementRenderer before update dom.`);\n }\n return this.element;\n }\n\n updateClass(classNames: string[]) {\n if (this.classNames) {\n this.classNames.forEach(className => {\n if (classNames.indexOf(className) < 0) {\n this.removeClass(className);\n }\n });\n }\n const newClasses: string[] = [];\n classNames.forEach(className => {\n if (className) {\n newClasses.push(className);\n if (this.classNames.indexOf(className) < 0) {\n this.addClass(className);\n }\n }\n });\n this.classNames = newClasses;\n return this;\n }\n\n updateClassByMap(classMap: Record<string, boolean>) {\n const newClasses = [];\n for (const key in classMap) {\n if (classMap.hasOwnProperty(key) && classMap[key]) {\n newClasses.push(key);\n }\n }\n this.updateClass(newClasses);\n }\n\n addClass(className: string) {\n this.renderer.addClass(this.safeElement, className);\n return this;\n }\n\n removeClass(className: string) {\n this.renderer.removeClass(this.safeElement, className);\n return this;\n }\n\n setStyle(style: string, value: any, flags?: RendererStyleFlags2) {\n this.renderer.setStyle(this.safeElement, style, value, flags);\n return this;\n }\n}\n","import { AbstractElementRenderer } from './abstract-element-renderer';\n\nexport class ElementRenderer extends AbstractElementRenderer {\n protected element: Element;\n\n setElement(element: Element) {\n this.element = element;\n }\n\n constructor(element: Element) {\n super();\n this.element = element;\n }\n}\n\nexport function useElementRenderer(element?: Element): ElementRenderer {\n return new ElementRenderer(element);\n}\n","import { Injectable, inject, ElementRef } from '@angular/core';\nimport { AbstractElementRenderer } from './abstract-element-renderer';\n\n/**\n * @private\n */\n@Injectable()\nexport class HostRenderer extends AbstractElementRenderer {\n private elementRef = inject(ElementRef);\n\n protected get element() {\n return this.elementRef.nativeElement;\n }\n}\n\nexport function useHostRenderer() {\n return new HostRenderer();\n}\n","import { ApplicationRef, DestroyRef, Directive, EmbeddedViewRef, inject, Injector, isSignal, Signal, TemplateRef } from '@angular/core';\n\nexport interface StealthViewRenderer {\n rootNodes: Node[];\n}\n\nexport function useStealthViewRenderer(templateRefInput: Signal<TemplateRef<any>> | TemplateRef<any>): StealthViewRenderer {\n const injector = inject(Injector);\n const applicationRef = inject(ApplicationRef);\n const destroyRef = inject(DestroyRef);\n\n let embeddedViewRef: EmbeddedViewRef<any>;\n\n destroyRef.onDestroy(() => {\n if (embeddedViewRef) {\n embeddedViewRef.destroy();\n applicationRef.detachView(embeddedViewRef);\n }\n });\n\n if (!embeddedViewRef) {\n
|
|
1
|
+
{"version":3,"file":"tethys-cdk-dom.mjs","sources":["../../../cdk/dom/abstract-element-renderer.ts","../../../cdk/dom/element-renderer.ts","../../../cdk/dom/host-renderer.ts","../../../cdk/dom/stealth-view-renderer.ts","../../../cdk/dom/stealth-view-directive.ts","../../../cdk/dom/tethys-cdk-dom.ts"],"sourcesContent":["import { Renderer2, inject, RendererStyleFlags2 } from '@angular/core';\n\nexport abstract class AbstractElementRenderer {\n private renderer = inject(Renderer2);\n\n protected abstract element: Element;\n\n private classNames: string[] = [];\n\n private get safeElement() {\n if (!this.element) {\n throw new Error(`Element is null, should call setElement method for ElementRenderer before update dom.`);\n }\n return this.element;\n }\n\n updateClass(classNames: string[]) {\n if (this.classNames) {\n this.classNames.forEach(className => {\n if (classNames.indexOf(className) < 0) {\n this.removeClass(className);\n }\n });\n }\n const newClasses: string[] = [];\n classNames.forEach(className => {\n if (className) {\n newClasses.push(className);\n if (this.classNames.indexOf(className) < 0) {\n this.addClass(className);\n }\n }\n });\n this.classNames = newClasses;\n return this;\n }\n\n updateClassByMap(classMap: Record<string, boolean>) {\n const newClasses = [];\n for (const key in classMap) {\n if (classMap.hasOwnProperty(key) && classMap[key]) {\n newClasses.push(key);\n }\n }\n this.updateClass(newClasses);\n }\n\n addClass(className: string) {\n this.renderer.addClass(this.safeElement, className);\n return this;\n }\n\n removeClass(className: string) {\n this.renderer.removeClass(this.safeElement, className);\n return this;\n }\n\n setStyle(style: string, value: any, flags?: RendererStyleFlags2) {\n this.renderer.setStyle(this.safeElement, style, value, flags);\n return this;\n }\n}\n","import { AbstractElementRenderer } from './abstract-element-renderer';\n\nexport class ElementRenderer extends AbstractElementRenderer {\n protected element: Element;\n\n setElement(element: Element) {\n this.element = element;\n }\n\n constructor(element: Element) {\n super();\n this.element = element;\n }\n}\n\nexport function useElementRenderer(element?: Element): ElementRenderer {\n return new ElementRenderer(element);\n}\n","import { Injectable, inject, ElementRef } from '@angular/core';\nimport { AbstractElementRenderer } from './abstract-element-renderer';\n\n/**\n * @private\n */\n@Injectable()\nexport class HostRenderer extends AbstractElementRenderer {\n private elementRef = inject(ElementRef);\n\n protected get element() {\n return this.elementRef.nativeElement;\n }\n}\n\nexport function useHostRenderer() {\n return new HostRenderer();\n}\n","import { ApplicationRef, DestroyRef, Directive, EmbeddedViewRef, inject, Injector, isSignal, Signal, TemplateRef } from '@angular/core';\n\nexport interface StealthViewRenderer {\n rootNodes: Node[];\n}\n\nexport function useStealthViewRenderer(templateRefInput: Signal<TemplateRef<any>> | TemplateRef<any>): StealthViewRenderer {\n const injector = inject(Injector);\n const applicationRef = inject(ApplicationRef);\n const destroyRef = inject(DestroyRef);\n\n let embeddedViewRef: EmbeddedViewRef<any>;\n\n destroyRef.onDestroy(() => {\n if (embeddedViewRef) {\n embeddedViewRef.destroy();\n applicationRef.detachView(embeddedViewRef);\n }\n });\n\n const result = {\n get rootNodes() {\n if (!embeddedViewRef) {\n const templateRef = isSignal(templateRefInput) ? templateRefInput() : templateRefInput;\n embeddedViewRef = templateRef.createEmbeddedView({}, injector);\n applicationRef.attachView(embeddedViewRef);\n }\n return embeddedViewRef.rootNodes;\n }\n };\n return result;\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { useStealthViewRenderer } from './stealth-view-renderer';\n\n@Directive({ selector: 'ng-template[thyStealthView]', standalone: true, exportAs: 'thyStealthView' })\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyStealthView {\n private templateRef = inject(TemplateRef<any>);\n\n private stealthViewBehavior = useStealthViewRenderer(this.templateRef);\n\n get rootNodes() {\n return this.stealthViewBehavior.rootNodes;\n }\n\n constructor() {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|