angular-three-soba 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.
Files changed (68) hide show
  1. package/abstractions/lib/text.d.ts +3 -5
  2. package/cameras/lib/camera-content.d.ts +4 -4
  3. package/cameras/lib/orthographic-camera.d.ts +10 -6
  4. package/cameras/lib/perspective-camera.d.ts +6 -6
  5. package/controls/index.d.ts +1 -0
  6. package/controls/lib/camera-controls.d.ts +39 -0
  7. package/controls/lib/orbit-controls.d.ts +4 -6
  8. package/esm2022/abstractions/lib/text.mjs +17 -21
  9. package/esm2022/cameras/lib/camera-content.mjs +6 -6
  10. package/esm2022/cameras/lib/orthographic-camera.mjs +44 -36
  11. package/esm2022/cameras/lib/perspective-camera.mjs +24 -29
  12. package/esm2022/controls/index.mjs +2 -1
  13. package/esm2022/controls/lib/camera-controls.mjs +127 -0
  14. package/esm2022/controls/lib/orbit-controls.mjs +18 -25
  15. package/esm2022/loaders/lib/gltf-loader.mjs +6 -6
  16. package/esm2022/loaders/lib/loader.mjs +3 -3
  17. package/esm2022/loaders/lib/texture-loader.mjs +7 -7
  18. package/esm2022/materials/angular-three-soba-materials.mjs +5 -0
  19. package/esm2022/materials/index.mjs +2 -0
  20. package/esm2022/materials/lib/custom-shader-material.mjs +72 -0
  21. package/esm2022/misc/index.mjs +1 -2
  22. package/esm2022/misc/lib/bake-shadows.mjs +6 -6
  23. package/esm2022/misc/lib/fbo.mjs +6 -6
  24. package/esm2022/staging/index.mjs +3 -1
  25. package/esm2022/staging/lib/accumulative-shadows.mjs +11 -15
  26. package/esm2022/staging/lib/bb-anchor.mjs +10 -14
  27. package/esm2022/staging/lib/camera-shake.mjs +6 -6
  28. package/esm2022/staging/lib/contact-shadows.mjs +12 -14
  29. package/esm2022/staging/lib/environment.mjs +107 -109
  30. package/esm2022/staging/lib/float.mjs +12 -16
  31. package/esm2022/staging/lib/lightformer.mjs +107 -0
  32. package/esm2022/staging/lib/matcap-texture.mjs +6 -6
  33. package/esm2022/staging/lib/normal-texture.mjs +6 -6
  34. package/esm2022/staging/lib/randomized-lights.mjs +6 -6
  35. package/esm2022/staging/lib/render-texture.mjs +213 -0
  36. package/fesm2022/angular-three-soba-abstractions.mjs +16 -20
  37. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  38. package/fesm2022/angular-three-soba-cameras.mjs +67 -64
  39. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  40. package/fesm2022/angular-three-soba-controls.mjs +142 -26
  41. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  42. package/fesm2022/angular-three-soba-loaders.mjs +15 -15
  43. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  44. package/fesm2022/angular-three-soba-materials.mjs +79 -0
  45. package/fesm2022/angular-three-soba-materials.mjs.map +1 -0
  46. package/fesm2022/angular-three-soba-misc.mjs +10 -22
  47. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  48. package/fesm2022/angular-three-soba-staging.mjs +476 -180
  49. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  50. package/loaders/lib/gltf-loader.d.ts +4 -4
  51. package/loaders/lib/texture-loader.d.ts +4 -4
  52. package/materials/README.md +3 -0
  53. package/materials/index.d.ts +1 -0
  54. package/materials/lib/custom-shader-material.d.ts +19 -0
  55. package/misc/index.d.ts +0 -1
  56. package/package.json +110 -103
  57. package/staging/index.d.ts +2 -0
  58. package/staging/lib/accumulative-shadows.d.ts +3 -4
  59. package/staging/lib/bb-anchor.d.ts +3 -4
  60. package/staging/lib/contact-shadows.d.ts +2 -2
  61. package/staging/lib/environment.d.ts +24 -34
  62. package/staging/lib/float.d.ts +3 -4
  63. package/staging/lib/lightformer.d.ts +334 -0
  64. package/staging/lib/randomized-lights.d.ts +1 -1
  65. package/staging/lib/render-texture.d.ts +64 -0
  66. package/web-types.json +1 -1
  67. package/esm2022/misc/lib/content.mjs +0 -14
  68. package/misc/lib/content.d.ts +0 -8
@@ -1,4 +1,3 @@
1
- import { TemplateRef } from '@angular/core';
2
1
  import { NgtMesh } from 'angular-three';
3
2
  import { ColorRepresentation } from 'three';
4
3
  import * as i0 from "@angular/core";
@@ -37,9 +36,8 @@ export interface NgtsTextOptions extends Partial<NgtMesh> {
37
36
  export declare class NgtsText {
38
37
  text: import("@angular/core").InputSignal<string>;
39
38
  options: import("@angular/core").InputSignalWithTransform<NgtsTextOptions, "" | Partial<NgtsTextOptions>>;
40
- parameters: import("@angular/core").Signal<import("angular-three").Excluded<NgtsTextOptions, ("characters" | "fontSize" | "font" | "anchorX" | "anchorY" | "sdfGlyphSize")[]>>;
39
+ parameters: import("@angular/core").Signal<Omit<NgtsTextOptions, "characters" | "fontSize" | "font" | "anchorX" | "anchorY" | "sdfGlyphSize">>;
41
40
  synced: import("@angular/core").OutputEmitterRef<Text>;
42
- content: import("@angular/core").Signal<TemplateRef<any> | undefined>;
43
41
  private autoEffect;
44
42
  private store;
45
43
  private invalidate;
@@ -49,9 +47,9 @@ export declare class NgtsText {
49
47
  anchorY: import("@angular/core").Signal<number | "top" | "top-baseline" | "middle" | "bottom-baseline" | "bottom">;
50
48
  sdfGlyphSize: import("@angular/core").Signal<number>;
51
49
  fontSize: import("@angular/core").Signal<number>;
52
- troikaMesh: any;
50
+ troikaMesh: import("@angular/core").Signal<any>;
53
51
  args: import("@angular/core").Signal<any[]>;
54
52
  constructor();
55
53
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "synced": "synced"; }, ["content"], never, true, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "synced": "synced"; }, never, ["*"], true, never>;
57
55
  }
@@ -1,10 +1,10 @@
1
1
  import { Signal } from '@angular/core';
2
2
  import { Texture } from 'three';
3
3
  import * as i0 from "@angular/core";
4
- export declare class NgtsCameraContentWithFboTexture {
5
- static ngTemplateContextGuard(_: NgtsCameraContentWithFboTexture, ctx: unknown): ctx is {
4
+ export declare class NgtsCameraContent {
5
+ static ngTemplateContextGuard(_: NgtsCameraContent, ctx: unknown): ctx is {
6
6
  $implicit: Signal<Texture>;
7
7
  };
8
- static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCameraContentWithFboTexture, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCameraContentWithFboTexture, "ng-template[withTexture]", never, {}, {}, never, never, true, never>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCameraContent, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCameraContent, "ng-template[cameraContent]", never, {}, {}, never, never, true, never>;
10
10
  }
@@ -1,4 +1,4 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { ElementRef, TemplateRef } from '@angular/core';
2
2
  import { NgtOrthographicCamera } from 'angular-three';
3
3
  import { Group, OrthographicCamera, Texture } from 'three';
4
4
  import * as i0 from "@angular/core";
@@ -15,16 +15,20 @@ export interface NgtsOrthographicCameraOptions extends Partial<NgtOrthographicCa
15
15
  envMap?: Texture;
16
16
  }
17
17
  export declare class NgtsOrthographicCamera {
18
- cameraRef: import("@angular/core").InputSignal<import("angular-three").NgtInjectedRef<OrthographicCamera>>;
19
18
  options: import("@angular/core").InputSignalWithTransform<NgtsOrthographicCameraOptions, "" | Partial<NgtsOrthographicCameraOptions>>;
20
- parameters: import("@angular/core").Signal<import("angular-three").Excluded<NgtsOrthographicCameraOptions, ("makeDefault" | "manual" | "frames" | "resolution" | "envMap")[]>>;
19
+ parameters: import("@angular/core").Signal<Omit<NgtsOrthographicCameraOptions, "left" | "right" | "top" | "bottom" | "makeDefault" | "manual" | "frames" | "resolution" | "envMap">>;
21
20
  content: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
- withTextureContent: import("@angular/core").Signal<TemplateRef<any> | undefined>;
23
- groupRef: import("angular-three").NgtInjectedRef<Group<import("three").Object3DEventMap>>;
21
+ cameraContent: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
+ cameraRef: import("@angular/core").Signal<ElementRef<OrthographicCamera>>;
23
+ groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
24
24
  private autoEffect;
25
25
  private store;
26
26
  private camera;
27
27
  size: import("@angular/core").Signal<import("angular-three").NgtSize>;
28
+ left: import("@angular/core").Signal<number>;
29
+ right: import("@angular/core").Signal<number>;
30
+ top: import("@angular/core").Signal<number>;
31
+ bottom: import("@angular/core").Signal<number>;
28
32
  private manual;
29
33
  private makeDefault;
30
34
  private resolution;
@@ -32,5 +36,5 @@ export declare class NgtsOrthographicCamera {
32
36
  texture: import("@angular/core").Signal<Texture>;
33
37
  constructor();
34
38
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrthographicCamera, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrthographicCamera, "ngts-orthographic-camera", never, { "cameraRef": { "alias": "cameraRef"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, ["content", "withTextureContent"], never, true, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrthographicCamera, "ngts-orthographic-camera", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, ["content", "cameraContent"], never, true, never>;
36
40
  }
@@ -1,4 +1,4 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { ElementRef, TemplateRef } from '@angular/core';
2
2
  import { NgtPerspectiveCamera } from 'angular-three';
3
3
  import { Group, PerspectiveCamera, Texture } from 'three';
4
4
  import * as i0 from "@angular/core";
@@ -15,12 +15,12 @@ export interface NgtsPerspectiveCameraOptions extends Partial<NgtPerspectiveCame
15
15
  envMap?: Texture;
16
16
  }
17
17
  export declare class NgtsPerspectiveCamera {
18
- cameraRef: import("@angular/core").InputSignal<import("angular-three").NgtInjectedRef<PerspectiveCamera>>;
19
18
  options: import("@angular/core").InputSignalWithTransform<NgtsPerspectiveCameraOptions, "" | Partial<NgtsPerspectiveCameraOptions>>;
20
- parameters: import("@angular/core").Signal<import("angular-three").Excluded<NgtsPerspectiveCameraOptions, ("makeDefault" | "manual" | "frames" | "resolution" | "envMap")[]>>;
19
+ parameters: import("@angular/core").Signal<Omit<NgtsPerspectiveCameraOptions, "makeDefault" | "manual" | "frames" | "resolution" | "envMap">>;
21
20
  content: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
- withTextureContent: import("@angular/core").Signal<TemplateRef<any> | undefined>;
23
- groupRef: import("angular-three").NgtInjectedRef<Group<import("three").Object3DEventMap>>;
21
+ cameraContent: import("@angular/core").Signal<TemplateRef<any> | undefined>;
22
+ cameraRef: import("@angular/core").Signal<ElementRef<PerspectiveCamera>>;
23
+ groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
24
24
  private autoEffect;
25
25
  private store;
26
26
  private camera;
@@ -32,5 +32,5 @@ export declare class NgtsPerspectiveCamera {
32
32
  texture: import("@angular/core").Signal<Texture>;
33
33
  constructor();
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsPerspectiveCamera, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsPerspectiveCamera, "ngts-perspective-camera", never, { "cameraRef": { "alias": "cameraRef"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, ["content", "withTextureContent"], never, true, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsPerspectiveCamera, "ngts-perspective-camera", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, ["content", "cameraContent"], never, true, never>;
36
36
  }
@@ -1 +1,2 @@
1
+ export * from './lib/camera-controls';
1
2
  export * from './lib/orbit-controls';
@@ -0,0 +1,39 @@
1
+ import { NgtCamera } from 'angular-three';
2
+ import CameraControls from 'camera-controls';
3
+ import * as i0 from "@angular/core";
4
+ export interface NgtsCameraControlsOptions {
5
+ camera?: NgtCamera;
6
+ domElement?: HTMLElement;
7
+ makeDefault: boolean;
8
+ events: boolean;
9
+ regress: boolean;
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ /**
14
+ * @extends camera-controls|CameraControls
15
+ */
16
+ 'ngts-camera-controls': CameraControls & NgtsCameraControlsOptions;
17
+ }
18
+ }
19
+ export declare class NgtsCameraControls {
20
+ options: import("@angular/core").InputSignalWithTransform<Partial<CameraControls> & NgtsCameraControlsOptions, "" | Partial<Partial<CameraControls> & NgtsCameraControlsOptions>>;
21
+ parameters: import("@angular/core").Signal<Omit<Partial<CameraControls> & NgtsCameraControlsOptions, "camera" | "makeDefault" | "regress" | "domElement">>;
22
+ changed: import("@angular/core").OutputEmitterRef<any>;
23
+ started: import("@angular/core").OutputEmitterRef<any>;
24
+ ended: import("@angular/core").OutputEmitterRef<any>;
25
+ private store;
26
+ private invalidate;
27
+ private performanceRegress;
28
+ private defaultCamera;
29
+ private glDomElement;
30
+ private eventsElement;
31
+ private camera;
32
+ private regress;
33
+ private domElement;
34
+ private makeDefault;
35
+ controls: import("@angular/core").Signal<CameraControls>;
36
+ constructor();
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCameraControls, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsCameraControls, "ngts-camera-controls", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "started": "started"; "ended": "ended"; }, never, ["*"], true, never>;
39
+ }
@@ -1,4 +1,4 @@
1
- import { NgtInjectedRef, NgtVector3 } from 'angular-three';
1
+ import { NgtVector3 } from 'angular-three';
2
2
  import { Camera, Event } from 'three';
3
3
  import { OrbitControls } from 'three-stdlib';
4
4
  import * as i0 from "@angular/core";
@@ -21,8 +21,7 @@ declare global {
21
21
  }
22
22
  export declare class NgtsOrbitControls {
23
23
  options: import("@angular/core").InputSignalWithTransform<Partial<OrbitControls> & NgtsOrbitControlsOptions, "" | Partial<Partial<OrbitControls> & NgtsOrbitControlsOptions>>;
24
- parameters: import("@angular/core").Signal<import("angular-three").Excluded<Partial<OrbitControls> & NgtsOrbitControlsOptions, ("domElement" | "enableDamping" | "regress" | "makeDefault" | "keyEvents" | "camera")[]>>;
25
- controlsRef: import("@angular/core").InputSignal<NgtInjectedRef<OrbitControls>>;
24
+ parameters: import("@angular/core").Signal<Omit<Partial<OrbitControls> & NgtsOrbitControlsOptions, "camera" | "makeDefault" | "regress" | "domElement" | "enableDamping" | "keyEvents">>;
26
25
  changed: import("@angular/core").OutputEmitterRef<Event<string, unknown>>;
27
26
  started: import("@angular/core").OutputEmitterRef<Event<string, unknown>>;
28
27
  ended: import("@angular/core").OutputEmitterRef<Event<string, unknown>>;
@@ -36,13 +35,12 @@ export declare class NgtsOrbitControls {
36
35
  private keyEvents;
37
36
  private domElement;
38
37
  private makeDefault;
39
- protected args: import("@angular/core").Signal<OrbitControls[]>;
38
+ controls: import("@angular/core").Signal<OrbitControls>;
40
39
  protected enableDamping: import("@angular/core").Signal<boolean>;
41
40
  constructor();
42
- private setControls;
43
41
  private connectElement;
44
42
  private makeControlsDefault;
45
43
  private setEvents;
46
44
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrbitControls, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrbitControls, "ngts-orbit-controls", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "controlsRef": { "alias": "controlsRef"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "started": "started"; "ended": "ended"; }, never, ["*"], true, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrbitControls, "ngts-orbit-controls", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "changed": "changed"; "started": "started"; "ended": "ended"; }, never, ["*"], true, never>;
48
46
  }
@@ -1,7 +1,6 @@
1
1
  import { NgTemplateOutlet } from '@angular/common';
2
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, DestroyRef, TemplateRef, afterNextRender, computed, contentChild, inject, input, output, } from '@angular/core';
3
- import { NgtArgs, exclude, injectNgtStore, pick } from 'angular-three';
4
- import { NgtsContent } from 'angular-three-soba/misc';
2
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, DestroyRef, afterNextRender, computed, inject, input, output, } from '@angular/core';
3
+ import { NgtArgs, injectStore, omit, pick } from 'angular-three';
5
4
  import { injectAutoEffect } from 'ngxtension/auto-effect';
6
5
  import { mergeInputs } from 'ngxtension/inject-inputs';
7
6
  // @ts-expect-error - no type def
@@ -17,11 +16,10 @@ export class NgtsText {
17
16
  constructor() {
18
17
  this.text = input.required();
19
18
  this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
20
- this.parameters = exclude(this.options, ['font', 'fontSize', 'sdfGlyphSize', 'anchorX', 'anchorY', 'characters']);
19
+ this.parameters = omit(this.options, ['font', 'fontSize', 'sdfGlyphSize', 'anchorX', 'anchorY', 'characters']);
21
20
  this.synced = output();
22
- this.content = contentChild(NgtsContent, { read: TemplateRef });
23
21
  this.autoEffect = injectAutoEffect();
24
- this.store = injectNgtStore();
22
+ this.store = injectStore();
25
23
  this.invalidate = this.store.select('invalidate');
26
24
  this.characters = pick(this.options, 'characters');
27
25
  this.font = pick(this.options, 'font');
@@ -29,12 +27,10 @@ export class NgtsText {
29
27
  this.anchorY = pick(this.options, 'anchorY');
30
28
  this.sdfGlyphSize = pick(this.options, 'sdfGlyphSize');
31
29
  this.fontSize = pick(this.options, 'fontSize');
32
- this.troikaMesh = new Text();
33
- this.args = computed(() => [this.troikaMesh], {
34
- equal: (a, b) => Object.is(a[0], b[0]),
35
- });
30
+ this.troikaMesh = computed(() => new Text(), { equal: Object.is });
31
+ this.args = computed(() => [this.troikaMesh()]);
36
32
  inject(DestroyRef).onDestroy(() => {
37
- this.troikaMesh.dispose();
33
+ this.troikaMesh().dispose();
38
34
  });
39
35
  // NOTE: this could be just effect but autoEffect is used for consistency
40
36
  this.autoEffect(() => {
@@ -45,16 +41,16 @@ export class NgtsText {
45
41
  });
46
42
  afterNextRender(() => {
47
43
  this.autoEffect(() => {
48
- const [invalidate] = [this.invalidate(), this.text(), this.options()];
49
- this.troikaMesh.sync(() => {
44
+ const [invalidate, text] = [this.invalidate(), this.text(), this.options()];
45
+ this.troikaMesh().sync(() => {
50
46
  invalidate();
51
- this.synced.emit(this.troikaMesh);
47
+ this.synced.emit(this.troikaMesh());
52
48
  });
53
49
  });
54
50
  });
55
51
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.3", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { synced: "synced" }, queries: [{ propertyName: "content", first: true, predicate: NgtsContent, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: `
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { synced: "synced" }, ngImport: i0, template: `
58
54
  <ngt-primitive
59
55
  *args="args()"
60
56
  [text]="text()"
@@ -65,11 +61,11 @@ export class NgtsText {
65
61
  [fontSize]="fontSize()"
66
62
  [parameters]="parameters()"
67
63
  >
68
- <ng-container [ngTemplateOutlet]="content() ?? null" />
64
+ <ng-content />
69
65
  </ngt-primitive>
70
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
67
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtsText, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtsText, decorators: [{
73
69
  type: Component,
74
70
  args: [{
75
71
  selector: 'ngts-text',
@@ -85,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
85
81
  [fontSize]="fontSize()"
86
82
  [parameters]="parameters()"
87
83
  >
88
- <ng-container [ngTemplateOutlet]="content() ?? null" />
84
+ <ng-content />
89
85
  </ngt-primitive>
90
86
  `,
91
87
  imports: [NgtArgs, NgTemplateOutlet],
@@ -93,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
93
89
  changeDetection: ChangeDetectionStrategy.OnPush,
94
90
  }]
95
91
  }], ctorParameters: () => [] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL2xpYi90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGVBQWUsRUFDZixRQUFRLEVBQ1IsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVcsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFtQ3RELE1BQU0sY0FBYyxHQUFvQjtJQUN2QyxZQUFZLEVBQUUsRUFBRTtJQUNoQixPQUFPLEVBQUUsUUFBUTtJQUNqQixPQUFPLEVBQUUsUUFBUTtJQUNqQixRQUFRLEVBQUUsQ0FBQztDQUNYLENBQUM7QUF1QkYsTUFBTSxPQUFPLFFBQVE7SUEwQnBCO1FBekJBLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDaEMsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsT0FBTyxDQUFDLElB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Ozs7Ozs7Ozs7O0VBYVQsNERBQ1MsT0FBTyxnRkFBRSxnQkFBZ0I7OzJGQUl2QixRQUFRO2tCQXJCcEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztFQWFUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RGVzdHJveVJlZixcblx0VGVtcGxhdGVSZWYsXG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Y29tcHV0ZWQsXG5cdGNvbnRlbnRDaGlsZCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0b3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIE5ndE1lc2gsIGV4Y2x1ZGUsIGluamVjdE5ndFN0b3JlLCBwaWNrIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RzQ29udGVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IENvbG9yUmVwcmVzZW50YXRpb24gfSBmcm9tICd0aHJlZSc7XG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gbm8gdHlwZSBkZWZcbmltcG9ydCB7IFRleHQsIHByZWxvYWRGb250IH0gZnJvbSAndHJvaWthLXRocmVlLXRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNUZXh0T3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0TWVzaD4ge1xuXHRjaGFyYWN0ZXJzPzogc3RyaW5nO1xuXHRjb2xvcj86IENvbG9yUmVwcmVzZW50YXRpb247XG5cdC8qKiBGb250IHNpemUsIGRlZmF1bHQ6IDEgKi9cblx0Zm9udFNpemU6IG51bWJlcjtcblx0Zm9udFdlaWdodD86IG51bWJlciB8IHN0cmluZztcblx0Zm9udFN0eWxlPzogJ2l0YWxpYycgfCAnbm9ybWFsJztcblx0bWF4V2lkdGg/OiBudW1iZXI7XG5cdGxpbmVIZWlnaHQ/OiBudW1iZXI7XG5cdGxldHRlclNwYWNpbmc/OiBudW1iZXI7XG5cdHRleHRBbGlnbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5Jztcblx0Zm9udD86IHN0cmluZztcblx0YW5jaG9yWDogbnVtYmVyIHwgJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuXHRhbmNob3JZOiBudW1iZXIgfCAndG9wJyB8ICd0b3AtYmFzZWxpbmUnIHwgJ21pZGRsZScgfCAnYm90dG9tLWJhc2VsaW5lJyB8ICdib3R0b20nO1xuXHRjbGlwUmVjdD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXHRkZXB0aE9mZnNldD86IG51bWJlcjtcblx0ZGlyZWN0aW9uPzogJ2F1dG8nIHwgJ2x0cicgfCAncnRsJztcblx0b3ZlcmZsb3dXcmFwPzogJ25vcm1hbCcgfCAnYnJlYWstd29yZCc7XG5cdHdoaXRlU3BhY2U/OiAnbm9ybWFsJyB8ICdvdmVyZmxvd1dyYXAnIHwgJ25vd3JhcCc7XG5cdG91dGxpbmVXaWR0aD86IG51bWJlciB8IHN0cmluZztcblx0b3V0bGluZU9mZnNldFg/OiBudW1iZXIgfCBzdHJpbmc7XG5cdG91dGxpbmVPZmZzZXRZPzogbnVtYmVyIHwgc3RyaW5nO1xuXHRvdXRsaW5lQmx1cj86IG51bWJlciB8IHN0cmluZztcblx0b3V0bGluZUNvbG9yPzogQ29sb3JSZXByZXNlbnRhdGlvbjtcblx0b3V0bGluZU9wYWNpdHk/OiBudW1iZXI7XG5cdHN0cm9rZVdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXHRzdHJva2VDb2xvcj86IENvbG9yUmVwcmVzZW50YXRpb247XG5cdHN0cm9rZU9wYWNpdHk/OiBudW1iZXI7XG5cdGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuXHRzZGZHbHlwaFNpemU6IG51bWJlcjtcblx0ZGVidWdTREY/OiBib29sZWFuO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c1RleHRPcHRpb25zID0ge1xuXHRzZGZHbHlwaFNpemU6IDY0LFxuXHRhbmNob3JYOiAnY2VudGVyJyxcblx0YW5jaG9yWTogJ21pZGRsZScsXG5cdGZvbnRTaXplOiAxLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy10ZXh0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZVxuXHRcdFx0KmFyZ3M9XCJhcmdzKClcIlxuXHRcdFx0W3RleHRdPVwidGV4dCgpXCJcblx0XHRcdFtmb250XT1cImZvbnQoKVwiXG5cdFx0XHRbYW5jaG9yWF09XCJhbmNob3JYKClcIlxuXHRcdFx0W2FuY2hvclldPVwiYW5jaG9yWSgpXCJcblx0XHRcdFtzZGZHbHlwaFNpemVdPVwic2RmR2x5cGhTaXplKClcIlxuXHRcdFx0W2ZvbnRTaXplXT1cImZvbnRTaXplKClcIlxuXHRcdFx0W3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnQoKSA/PyBudWxsXCIgLz5cblx0XHQ8L25ndC1wcmltaXRpdmU+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1RleHQge1xuXHR0ZXh0ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBleGNsdWRlKHRoaXMub3B0aW9ucywgWydmb250JywgJ2ZvbnRTaXplJywgJ3NkZkdseXBoU2l6ZScsICdhbmNob3JYJywgJ2FuY2hvclknLCAnY2hhcmFjdGVycyddKTtcblxuXHRzeW5jZWQgPSBvdXRwdXQ8VGV4dD4oKTtcblxuXHRjb250ZW50ID0gY29udGVudENoaWxkKE5ndHNDb250ZW50LCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pO1xuXG5cdHByaXZhdGUgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cblx0cHJpdmF0ZSBjaGFyYWN0ZXJzID0gcGljayh0aGlzLm9wdGlvbnMsICdjaGFyYWN0ZXJzJyk7XG5cblx0Zm9udCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZm9udCcpO1xuXHRhbmNob3JYID0gcGljayh0aGlzLm9wdGlvbnMsICdhbmNob3JYJyk7XG5cdGFuY2hvclkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FuY2hvclknKTtcblx0c2RmR2x5cGhTaXplID0gcGljayh0aGlzLm9wdGlvbnMsICdzZGZHbHlwaFNpemUnKTtcblx0Zm9udFNpemUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ZvbnRTaXplJyk7XG5cblx0dHJvaWthTWVzaCA9IG5ldyBUZXh0KCk7XG5cdGFyZ3MgPSBjb21wdXRlZCgoKSA9PiBbdGhpcy50cm9pa2FNZXNoXSwge1xuXHRcdGVxdWFsOiAoYSwgYikgPT4gT2JqZWN0LmlzKGFbMF0sIGJbMF0pLFxuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHtcblx0XHRcdHRoaXMudHJvaWthTWVzaC5kaXNwb3NlKCk7XG5cdFx0fSk7XG5cblx0XHQvLyBOT1RFOiB0aGlzIGNvdWxkIGJlIGp1c3QgZWZmZWN0IGJ1dCBhdXRvRWZmZWN0IGlzIHVzZWQgZm9yIGNvbnNpc3RlbmN5XG5cdFx0dGhpcy5hdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IFtmb250LCBjaGFyYWN0ZXJzLCBpbnZhbGlkYXRlXSA9IFt0aGlzLmZvbnQoKSwgdGhpcy5jaGFyYWN0ZXJzKCksIHRoaXMuaW52YWxpZGF0ZSgpXTtcblx0XHRcdGlmIChmb250KSB7XG5cdFx0XHRcdHByZWxvYWRGb250KHsgZm9udCwgY2hhcmFjdGVycyB9LCAoKSA9PiBpbnZhbGlkYXRlKCkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IFtpbnZhbGlkYXRlXSA9IFt0aGlzLmludmFsaWRhdGUoKSwgdGhpcy50ZXh0KCksIHRoaXMub3B0aW9ucygpXTtcblx0XHRcdFx0dGhpcy50cm9pa2FNZXNoLnN5bmMoKCkgPT4ge1xuXHRcdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdFx0XHR0aGlzLnN5bmNlZC5lbWl0KHRoaXMudHJvaWthTWVzaCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL2xpYi90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFXLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFtQ3RELE1BQU0sY0FBYyxHQUFvQjtJQUN2QyxZQUFZLEVBQUUsRUFBRTtJQUNoQixPQUFPLEVBQUUsUUFBUTtJQUNqQixPQUFPLEVBQUUsUUFBUTtJQUNqQixRQUFRLEVBQUUsQ0FBQztDQUNYLENBQUM7QUF1QkYsTUFBTSxPQUFPLFFBQVE7SUFzQnBCO1FBckJBLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDaEMsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUs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LEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHREZXN0cm95UmVmLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGNvbXB1dGVkLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0TWVzaCwgaW5qZWN0U3RvcmUsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IENvbG9yUmVwcmVzZW50YXRpb24gfSBmcm9tICd0aHJlZSc7XG4vLyBAdHMtZXhwZWN0LWVycm9yIC0gbm8gdHlwZSBkZWZcbmltcG9ydCB7IFRleHQsIHByZWxvYWRGb250IH0gZnJvbSAndHJvaWthLXRocmVlLXRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNUZXh0T3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0TWVzaD4ge1xuXHRjaGFyYWN0ZXJzPzogc3RyaW5nO1xuXHRjb2xvcj86IENvbG9yUmVwcmVzZW50YXRpb247XG5cdC8qKiBGb250IHNpemUsIGRlZmF1bHQ6IDEgKi9cblx0Zm9udFNpemU6IG51bWJlcjtcblx0Zm9udFdlaWdodD86IG51bWJlciB8IHN0cmluZztcblx0Zm9udFN0eWxlPzogJ2l0YWxpYycgfCAnbm9ybWFsJztcblx0bWF4V2lkdGg/OiBudW1iZXI7XG5cdGxpbmVIZWlnaHQ/OiBudW1iZXI7XG5cdGxldHRlclNwYWNpbmc/OiBudW1iZXI7XG5cdHRleHRBbGlnbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5Jztcblx0Zm9udD86IHN0cmluZztcblx0YW5jaG9yWDogbnVtYmVyIHwgJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuXHRhbmNob3JZOiBudW1iZXIgfCAndG9wJyB8ICd0b3AtYmFzZWxpbmUnIHwgJ21pZGRsZScgfCAnYm90dG9tLWJhc2VsaW5lJyB8ICdib3R0b20nO1xuXHRjbGlwUmVjdD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXHRkZXB0aE9mZnNldD86IG51bWJlcjtcblx0ZGlyZWN0aW9uPzogJ2F1dG8nIHwgJ2x0cicgfCAncnRsJztcblx0b3ZlcmZsb3dXcmFwPzogJ25vcm1hbCcgfCAnYnJlYWstd29yZCc7XG5cdHdoaXRlU3BhY2U/OiAnbm9ybWFsJyB8ICdvdmVyZmxvd1dyYXAnIHwgJ25vd3JhcCc7XG5cdG91dGxpbmVXaWR0aD86IG51bWJlciB8IHN0cmluZztcblx0b3V0bGluZU9mZnNldFg/OiBudW1iZXIgfCBzdHJpbmc7XG5cdG91dGxpbmVPZmZzZXRZPzogbnVtYmVyIHwgc3RyaW5nO1xuXHRvdXRsaW5lQmx1cj86IG51bWJlciB8IHN0cmluZztcblx0b3V0bGluZUNvbG9yPzogQ29sb3JSZXByZXNlbnRhdGlvbjtcblx0b3V0bGluZU9wYWNpdHk/OiBudW1iZXI7XG5cdHN0cm9rZVdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXHRzdHJva2VDb2xvcj86IENvbG9yUmVwcmVzZW50YXRpb247XG5cdHN0cm9rZU9wYWNpdHk/OiBudW1iZXI7XG5cdGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuXHRzZGZHbHlwaFNpemU6IG51bWJlcjtcblx0ZGVidWdTREY/OiBib29sZWFuO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c1RleHRPcHRpb25zID0ge1xuXHRzZGZHbHlwaFNpemU6IDY0LFxuXHRhbmNob3JYOiAnY2VudGVyJyxcblx0YW5jaG9yWTogJ21pZGRsZScsXG5cdGZvbnRTaXplOiAxLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy10ZXh0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZVxuXHRcdFx0KmFyZ3M9XCJhcmdzKClcIlxuXHRcdFx0W3RleHRdPVwidGV4dCgpXCJcblx0XHRcdFtmb250XT1cImZvbnQoKVwiXG5cdFx0XHRbYW5jaG9yWF09XCJhbmNob3JYKClcIlxuXHRcdFx0W2FuY2hvclldPVwiYW5jaG9yWSgpXCJcblx0XHRcdFtzZGZHbHlwaFNpemVdPVwic2RmR2x5cGhTaXplKClcIlxuXHRcdFx0W2ZvbnRTaXplXT1cImZvbnRTaXplKClcIlxuXHRcdFx0W3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3MsIE5nVGVtcGxhdGVPdXRsZXRdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzVGV4dCB7XG5cdHRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbJ2ZvbnQnLCAnZm9udFNpemUnLCAnc2RmR2x5cGhTaXplJywgJ2FuY2hvclgnLCAnYW5jaG9yWScsICdjaGFyYWN0ZXJzJ10pO1xuXG5cdHN5bmNlZCA9IG91dHB1dDxUZXh0PigpO1xuXG5cdHByaXZhdGUgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cblx0cHJpdmF0ZSBjaGFyYWN0ZXJzID0gcGljayh0aGlzLm9wdGlvbnMsICdjaGFyYWN0ZXJzJyk7XG5cblx0Zm9udCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZm9udCcpO1xuXHRhbmNob3JYID0gcGljayh0aGlzLm9wdGlvbnMsICdhbmNob3JYJyk7XG5cdGFuY2hvclkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FuY2hvclknKTtcblx0c2RmR2x5cGhTaXplID0gcGljayh0aGlzLm9wdGlvbnMsICdzZGZHbHlwaFNpemUnKTtcblx0Zm9udFNpemUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2ZvbnRTaXplJyk7XG5cblx0dHJvaWthTWVzaCA9IGNvbXB1dGVkKCgpID0+IG5ldyBUZXh0KCksIHsgZXF1YWw6IE9iamVjdC5pcyB9KTtcblx0YXJncyA9IGNvbXB1dGVkKCgpID0+IFt0aGlzLnRyb2lrYU1lc2goKV0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuXHRcdFx0dGhpcy50cm9pa2FNZXNoKCkuZGlzcG9zZSgpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gTk9URTogdGhpcyBjb3VsZCBiZSBqdXN0IGVmZmVjdCBidXQgYXV0b0VmZmVjdCBpcyB1c2VkIGZvciBjb25zaXN0ZW5jeVxuXHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbZm9udCwgY2hhcmFjdGVycywgaW52YWxpZGF0ZV0gPSBbdGhpcy5mb250KCksIHRoaXMuY2hhcmFjdGVycygpLCB0aGlzLmludmFsaWRhdGUoKV07XG5cdFx0XHRpZiAoZm9udCkge1xuXHRcdFx0XHRwcmVsb2FkRm9udCh7IGZvbnQsIGNoYXJhY3RlcnMgfSwgKCkgPT4gaW52YWxpZGF0ZSgpKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHR0aGlzLmF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBbaW52YWxpZGF0ZSwgdGV4dF0gPSBbdGhpcy5pbnZhbGlkYXRlKCksIHRoaXMudGV4dCgpLCB0aGlzLm9wdGlvbnMoKV07XG5cdFx0XHRcdHRoaXMudHJvaWthTWVzaCgpLnN5bmMoKCkgPT4ge1xuXHRcdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdFx0XHR0aGlzLnN5bmNlZC5lbWl0KHRoaXMudHJvaWthTWVzaCgpKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuIl19
@@ -1,14 +1,14 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export class NgtsCameraContentWithFboTexture {
3
+ export class NgtsCameraContent {
4
4
  static ngTemplateContextGuard(_, ctx) {
5
5
  return true;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtsCameraContentWithFboTexture, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NgtsCameraContentWithFboTexture, isStandalone: true, selector: "ng-template[withTexture]", ngImport: i0 }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[cameraContent]", ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtsCameraContentWithFboTexture, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtsCameraContent, decorators: [{
11
11
  type: Directive,
12
- args: [{ standalone: true, selector: 'ng-template[withTexture]' }]
12
+ args: [{ standalone: true, selector: 'ng-template[cameraContent]' }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvbGliL2NhbWVyYS1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBSWxELE1BQU0sT0FBTywrQkFBK0I7SUFDM0MsTUFBTSxDQUFDLHNCQUFzQixDQUM1QixDQUFrQyxFQUNsQyxHQUFZO1FBRVosT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDOzhHQU5XLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dHVyZSB9IGZyb20gJ3RocmVlJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbd2l0aFRleHR1cmVdJyB9KVxuZXhwb3J0IGNsYXNzIE5ndHNDYW1lcmFDb250ZW50V2l0aEZib1RleHR1cmUge1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChcblx0XHRfOiBOZ3RzQ2FtZXJhQ29udGVudFdpdGhGYm9UZXh0dXJlLFxuXHRcdGN0eDogdW5rbm93bixcblx0KTogY3R4IGlzIHsgJGltcGxpY2l0OiBTaWduYWw8VGV4dHVyZT4gfSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvbGliL2NhbWVyYS1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBSWxELE1BQU0sT0FBTyxpQkFBaUI7SUFDN0IsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQW9CLEVBQUUsR0FBWTtRQUMvRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7OEdBSFcsaUJBQWlCO2tHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFNBQVM7bUJBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0dXJlIH0gZnJvbSAndGhyZWUnO1xuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtjYW1lcmFDb250ZW50XScgfSlcbmV4cG9ydCBjbGFzcyBOZ3RzQ2FtZXJhQ29udGVudCB7XG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF86IE5ndHNDYW1lcmFDb250ZW50LCBjdHg6IHVua25vd24pOiBjdHggaXMgeyAkaW1wbGljaXQ6IFNpZ25hbDxUZXh0dXJlPiB9IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuIl19
@@ -1,11 +1,11 @@
1
1
  import { NgTemplateOutlet } from '@angular/common';
2
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, TemplateRef, afterNextRender, contentChild, input, untracked, } from '@angular/core';
3
- import { exclude, extend, injectBeforeRender, injectNgtRef, injectNgtStore, pick, } from 'angular-three';
4
- import { NgtsContent, injectFBO } from 'angular-three-soba/misc';
2
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, TemplateRef, afterNextRender, computed, contentChild, input, untracked, viewChild, } from '@angular/core';
3
+ import { extend, injectBeforeRender, injectStore, omit, pick } from 'angular-three';
4
+ import { injectFBO } from 'angular-three-soba/misc';
5
5
  import { injectAutoEffect } from 'ngxtension/auto-effect';
6
6
  import { mergeInputs } from 'ngxtension/inject-inputs';
7
7
  import { Group, OrthographicCamera } from 'three';
8
- import { NgtsCameraContentWithFboTexture } from './camera-content';
8
+ import { NgtsCameraContent } from './camera-content';
9
9
  import * as i0 from "@angular/core";
10
10
  extend({ OrthographicCamera, Group });
11
11
  const defaultOptions = {
@@ -16,16 +16,30 @@ const defaultOptions = {
16
16
  };
17
17
  export class NgtsOrthographicCamera {
18
18
  constructor() {
19
- this.cameraRef = input(injectNgtRef());
20
19
  this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
21
- this.parameters = exclude(this.options, ['envMap', 'makeDefault', 'manual', 'frames', 'resolution']);
22
- this.content = contentChild(NgtsContent, { read: TemplateRef });
23
- this.withTextureContent = contentChild(NgtsCameraContentWithFboTexture, { read: TemplateRef });
24
- this.groupRef = injectNgtRef();
20
+ this.parameters = omit(this.options, [
21
+ 'envMap',
22
+ 'makeDefault',
23
+ 'manual',
24
+ 'frames',
25
+ 'resolution',
26
+ 'left',
27
+ 'top',
28
+ 'bottom',
29
+ 'right',
30
+ ]);
31
+ this.content = contentChild(TemplateRef);
32
+ this.cameraContent = contentChild(NgtsCameraContent, { read: TemplateRef });
33
+ this.cameraRef = viewChild.required('camera');
34
+ this.groupRef = viewChild.required('group');
25
35
  this.autoEffect = injectAutoEffect();
26
- this.store = injectNgtStore();
36
+ this.store = injectStore();
27
37
  this.camera = this.store.select('camera');
28
38
  this.size = this.store.select('size');
39
+ this.left = computed(() => this.options().left ?? this.size().width / -2);
40
+ this.right = computed(() => this.options().right ?? this.size().width / 2);
41
+ this.top = computed(() => this.options().top ?? this.size().height / 2);
42
+ this.bottom = computed(() => this.options().bottom ?? this.size().height / -2);
29
43
  this.manual = pick(this.options, 'manual');
30
44
  this.makeDefault = pick(this.options, 'makeDefault');
31
45
  this.resolution = pick(this.options, 'resolution');
@@ -52,11 +66,11 @@ export class NgtsOrthographicCamera {
52
66
  injectBeforeRender(({ gl, scene }) => {
53
67
  const [{ frames, envMap }, group, camera, fbo] = [
54
68
  this.options(),
55
- this.groupRef.nativeElement,
69
+ this.groupRef().nativeElement,
56
70
  this.cameraRef().nativeElement,
57
71
  this.fbo(),
58
72
  ];
59
- if (this.withTextureContent() && group && camera && fbo && (frames === Infinity || count < frames)) {
73
+ if (this.cameraContent() && group && camera && fbo && (frames === Infinity || count < frames)) {
60
74
  group.visible = false;
61
75
  gl.setRenderTarget(fbo);
62
76
  oldEnvMap = scene.background;
@@ -70,49 +84,43 @@ export class NgtsOrthographicCamera {
70
84
  }
71
85
  });
72
86
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtsOrthographicCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.3", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { cameraRef: { classPropertyName: "cameraRef", publicName: "cameraRef", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "content", first: true, predicate: NgtsContent, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "withTextureContent", first: true, predicate: NgtsCameraContentWithFboTexture, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: `
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtsOrthographicCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.6", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "cameraRef", first: true, predicate: ["camera"], descendants: true, isSignal: true }, { propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
75
89
  <ngt-orthographic-camera
76
- [ref]="cameraRef()"
77
- [left]="size().width / -2"
78
- [right]="size().width / 2"
79
- [top]="size().height / 2"
80
- [bottom]="size().height / -2"
90
+ #camera
91
+ [left]="left()"
92
+ [right]="right()"
93
+ [top]="top()"
94
+ [bottom]="bottom()"
81
95
  [parameters]="parameters()"
82
96
  >
83
97
  <ng-container [ngTemplateOutlet]="content() ?? null" />
84
98
  </ngt-orthographic-camera>
85
99
 
86
- <ngt-group [ref]="groupRef">
87
- <ng-container
88
- [ngTemplateOutlet]="withTextureContent() ?? null"
89
- [ngTemplateOutletContext]="{ $implicit: texture }"
90
- />
100
+ <ngt-group #group>
101
+ <ng-container [ngTemplateOutlet]="cameraContent() ?? null" [ngTemplateOutletContext]="{ $implicit: texture }" />
91
102
  </ngt-group>
92
103
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
104
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
95
106
  type: Component,
96
107
  args: [{
97
108
  selector: 'ngts-orthographic-camera',
98
109
  standalone: true,
99
110
  template: `
100
111
  <ngt-orthographic-camera
101
- [ref]="cameraRef()"
102
- [left]="size().width / -2"
103
- [right]="size().width / 2"
104
- [top]="size().height / 2"
105
- [bottom]="size().height / -2"
112
+ #camera
113
+ [left]="left()"
114
+ [right]="right()"
115
+ [top]="top()"
116
+ [bottom]="bottom()"
106
117
  [parameters]="parameters()"
107
118
  >
108
119
  <ng-container [ngTemplateOutlet]="content() ?? null" />
109
120
  </ngt-orthographic-camera>
110
121
 
111
- <ngt-group [ref]="groupRef">
112
- <ng-container
113
- [ngTemplateOutlet]="withTextureContent() ?? null"
114
- [ngTemplateOutletContext]="{ $implicit: texture }"
115
- />
122
+ <ngt-group #group>
123
+ <ng-container [ngTemplateOutlet]="cameraContent() ?? null" [ngTemplateOutletContext]="{ $implicit: texture }" />
116
124
  </ngt-group>
117
125
  `,
118
126
  imports: [NgTemplateOutlet],
@@ -120,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
120
128
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
121
129
  }]
122
130
  }], ctorParameters: () => [] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3J0aG9ncmFwaGljLWNhbWVyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9jYW1lcmFzL3NyYy9saWIvb3J0aG9ncmFwaGljLWNhbWVyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRU4sT0FBTyxFQUNQLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxJQUFJLEdBQ0osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFTLEtBQUssRUFBRSxrQkFBa0IsRUFBVyxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbkUsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQWV0QyxNQUFNLGNBQWMsR0FBa0M7SUFDckQsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixNQUFNLEVBQUUsS0FBSztDQUNiLENBQUM7QUE0QkYsTUFBTSxPQUFPLHNCQUFzQjtJQXNCbEM7UUFyQkEsY0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQXNCLENBQUMs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QUM7b0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdFRlbXBsYXRlUmVmLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGNvbnRlbnRDaGlsZCxcblx0aW5wdXQsXG5cdHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHROZ3RPcnRob2dyYXBoaWNDYW1lcmEsXG5cdGV4Y2x1ZGUsXG5cdGV4dGVuZCxcblx0aW5qZWN0QmVmb3JlUmVuZGVyLFxuXHRpbmplY3ROZ3RSZWYsXG5cdGluamVjdE5ndFN0b3JlLFxuXHRwaWNrLFxufSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNDb250ZW50LCBpbmplY3RGQk8gfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBDb2xvciwgR3JvdXAsIE9ydGhvZ3JhcGhpY0NhbWVyYSwgVGV4dHVyZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNDYW1lcmFDb250ZW50V2l0aEZib1RleHR1cmUgfSBmcm9tICcuL2NhbWVyYS1jb250ZW50JztcblxuZXh0ZW5kKHsgT3J0aG9ncmFwaGljQ2FtZXJhLCBHcm91cCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0T3J0aG9ncmFwaGljQ2FtZXJhPiB7XG5cdC8qKiBSZWdpc3RlcnMgdGhlIGNhbWVyYSBhcyB0aGUgc3lzdGVtIGRlZmF1bHQsIGZpYmVyIHdpbGwgc3RhcnQgcmVuZGVyaW5nIHdpdGggaXQgKi9cblx0bWFrZURlZmF1bHQ/OiBib29sZWFuO1xuXHQvKiogTWFraW5nIGl0IG1hbnVhbCB3aWxsIHN0b3AgcmVzcG9uc2l2ZW5lc3MgYW5kIHlvdSBoYXZlIHRvIGNhbGN1bGF0ZSBhc3BlY3QgcmF0aW8geW91cnNlbGYuICovXG5cdG1hbnVhbD86IGJvb2xlYW47XG5cdC8qKiBOdW1iZXIgb2YgZnJhbWVzIHRvIHJlbmRlciwgSW5maW5pdHkgKi9cblx0ZnJhbWVzOiBudW1iZXI7XG5cdC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBGQk8sIDI1NiAqL1xuXHRyZXNvbHV0aW9uOiBudW1iZXI7XG5cdC8qKiBPcHRpb25hbCBlbnZpcm9ubWVudCBtYXAgZm9yIGZ1bmN0aW9uYWwgdXNlICovXG5cdGVudk1hcD86IFRleHR1cmU7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhT3B0aW9ucyA9IHtcblx0ZnJhbWVzOiBJbmZpbml0eSxcblx0cmVzb2x1dGlvbjogMjU2LFxuXHRtYWtlRGVmYXVsdDogZmFsc2UsXG5cdG1hbnVhbDogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW9ydGhvZ3JhcGhpYy1jYW1lcmEnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYVxuXHRcdFx0W3JlZl09XCJjYW1lcmFSZWYoKVwiXG5cdFx0XHRbbGVmdF09XCJzaXplKCkud2lkdGggLyAtMlwiXG5cdFx0XHRbcmlnaHRdPVwic2l6ZSgpLndpZHRoIC8gMlwiXG5cdFx0XHRbdG9wXT1cInNpemUoKS5oZWlnaHQgLyAyXCJcblx0XHRcdFtib3R0b21dPVwic2l6ZSgpLmhlaWdodCAvIC0yXCJcblx0XHRcdFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50KCkgPz8gbnVsbFwiIC8+XG5cdFx0PC9uZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYT5cblxuXHRcdDxuZ3QtZ3JvdXAgW3JlZl09XCJncm91cFJlZlwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJ3aXRoVGV4dHVyZUNvbnRlbnQoKSA/PyBudWxsXCJcblx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0ZXh0dXJlIH1cIlxuXHRcdFx0Lz5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0aW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhIHtcblx0Y2FtZXJhUmVmID0gaW5wdXQoaW5qZWN0Tmd0UmVmPE9ydGhvZ3JhcGhpY0NhbWVyYT4oKSk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IGV4Y2x1ZGUodGhpcy5vcHRpb25zLCBbJ2Vudk1hcCcsICdtYWtlRGVmYXVsdCcsICdtYW51YWwnLCAnZnJhbWVzJywgJ3Jlc29sdXRpb24nXSk7XG5cblx0Y29udGVudCA9IGNvbnRlbnRDaGlsZChOZ3RzQ29udGVudCwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KTtcblx0d2l0aFRleHR1cmVDb250ZW50ID0gY29udGVudENoaWxkKE5ndHNDYW1lcmFDb250ZW50V2l0aEZib1RleHR1cmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSk7XG5cblx0Z3JvdXBSZWYgPSBpbmplY3ROZ3RSZWY8R3JvdXA+KCk7XG5cblx0cHJpdmF0ZSBhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblxuXHRwcml2YXRlIGNhbWVyYSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKTtcblx0c2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0cHJpdmF0ZSBtYW51YWwgPSBwaWNrKHRoaXMub3B0aW9ucywgJ21hbnVhbCcpO1xuXHRwcml2YXRlIG1ha2VEZWZhdWx0ID0gcGljayh0aGlzLm9wdGlvbnMsICdtYWtlRGVmYXVsdCcpO1xuXHRwcml2YXRlIHJlc29sdXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Jlc29sdXRpb24nKTtcblx0cHJpdmF0ZSBmYm8gPSBpbmplY3RGQk8oKCkgPT4gKHsgd2lkdGg6IHRoaXMucmVzb2x1dGlvbigpIH0pKTtcblx0dGV4dHVyZSA9IHBpY2sodGhpcy5mYm8sICd0ZXh0dXJlJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGlmICghdGhpcy5tYW51YWwoKSkge1xuXHRcdFx0XHRcdHRoaXMuY2FtZXJhUmVmKCkubmF0aXZlRWxlbWVudC51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0XHR0aGlzLmF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5tYWtlRGVmYXVsdCgpKSB7XG5cdFx0XHRcdFx0Y29uc3Qgb2xkQ2FtID0gdW50cmFja2VkKHRoaXMuY2FtZXJhKTtcblx0XHRcdFx0XHR0aGlzLnN0b3JlLnVwZGF0ZSh7IGNhbWVyYTogdGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50IH0pO1xuXHRcdFx0XHRcdHJldHVybiAoKSA9PiB0aGlzLnN0b3JlLnVwZGF0ZSgoKSA9PiAoeyBjYW1lcmE6IG9sZENhbSB9KSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fSk7XG5cblx0XHRcdHRoaXMuY2FtZXJhUmVmKCkubmF0aXZlRWxlbWVudC51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG5cdFx0fSk7XG5cblx0XHRsZXQgY291bnQgPSAwO1xuXHRcdGxldCBvbGRFbnZNYXA6IENvbG9yIHwgVGV4dHVyZSB8IG51bGwgPSBudWxsO1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBnbCwgc2NlbmUgfSkgPT4ge1xuXHRcdFx0Y29uc3QgW3sgZnJhbWVzLCBlbnZNYXAgfSwgZ3JvdXAsIGNhbWVyYSwgZmJvXSA9IFtcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRcdHRoaXMuZ3JvdXBSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLmZibygpLFxuXHRcdFx0XTtcblx0XHRcdGlmICh0aGlzLndpdGhUZXh0dXJlQ29udGVudCgpICYmIGdyb3VwICYmIGNhbWVyYSAmJiBmYm8gJiYgKGZyYW1lcyA9PT0gSW5maW5pdHkgfHwgY291bnQgPCBmcmFtZXMpKSB7XG5cdFx0XHRcdGdyb3VwLnZpc2libGUgPSBmYWxzZTtcblx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KGZibyk7XG5cdFx0XHRcdG9sZEVudk1hcCA9IHNjZW5lLmJhY2tncm91bmQ7XG5cdFx0XHRcdGlmIChlbnZNYXApIHNjZW5lLmJhY2tncm91bmQgPSBlbnZNYXA7XG5cdFx0XHRcdGdsLnJlbmRlcihzY2VuZSwgY2FtZXJhKTtcblx0XHRcdFx0c2NlbmUuYmFja2dyb3VuZCA9IG9sZEVudk1hcDtcblx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KG51bGwpO1xuXHRcdFx0XHRncm91cC52aXNpYmxlID0gdHJ1ZTtcblx0XHRcdFx0Y291bnQrKztcblx0XHRcdH1cblx0XHR9KTtcblx0fVxufVxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3J0aG9ncmFwaGljLWNhbWVyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9jYW1lcmFzL3NyYy9saWIvb3J0aG9ncmFwaGljLWNhbWVyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLGVBQWUsRUFDZixRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFTLEtBQUssRUFBRSxrQkFBa0IsRUFBVyxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFckQsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQWV0QyxNQUFNLGNBQWMsR0FBa0M7SUFDckQsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixNQUFNLEVBQUUsS0FBSztDQUNiLENBQUM7QUF5QkYsTUFBTSxPQUFPLHNCQUFzQjtJQXFDbEM7UUFwQ0EsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxT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QztnQkFDN0IsSUFBSSxNQUFNO29CQUFFLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO2dCQUN0QyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDekIsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzdCLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNULENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBOUVXLHNCQUFzQjtrR0FBdEIsc0JBQXNCLG1RQWNYLFdBQVcsZ0dBQ0wsaUJBQWlCLDJCQUFVLFdBQVcsc1FBbkN6RDs7Ozs7Ozs7Ozs7Ozs7O0VBZVQsNERBQ1MsZ0JBQWdCOzsyRkFJZCxzQkFBc0I7a0JBdkJsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztFQWVUO29CQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRUZW1wbGF0ZVJlZixcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRjb21wdXRlZCxcblx0Y29udGVudENoaWxkLFxuXHRpbnB1dCxcblx0dW50cmFja2VkLFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0T3J0aG9ncmFwaGljQ2FtZXJhLCBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdEZCTyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IENvbG9yLCBHcm91cCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBUZXh0dXJlIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c0NhbWVyYUNvbnRlbnQgfSBmcm9tICcuL2NhbWVyYS1jb250ZW50JztcblxuZXh0ZW5kKHsgT3J0aG9ncmFwaGljQ2FtZXJhLCBHcm91cCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0T3J0aG9ncmFwaGljQ2FtZXJhPiB7XG5cdC8qKiBSZWdpc3RlcnMgdGhlIGNhbWVyYSBhcyB0aGUgc3lzdGVtIGRlZmF1bHQsIGZpYmVyIHdpbGwgc3RhcnQgcmVuZGVyaW5nIHdpdGggaXQgKi9cblx0bWFrZURlZmF1bHQ/OiBib29sZWFuO1xuXHQvKiogTWFraW5nIGl0IG1hbnVhbCB3aWxsIHN0b3AgcmVzcG9uc2l2ZW5lc3MgYW5kIHlvdSBoYXZlIHRvIGNhbGN1bGF0ZSBhc3BlY3QgcmF0aW8geW91cnNlbGYuICovXG5cdG1hbnVhbD86IGJvb2xlYW47XG5cdC8qKiBOdW1iZXIgb2YgZnJhbWVzIHRvIHJlbmRlciwgSW5maW5pdHkgKi9cblx0ZnJhbWVzOiBudW1iZXI7XG5cdC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBGQk8sIDI1NiAqL1xuXHRyZXNvbHV0aW9uOiBudW1iZXI7XG5cdC8qKiBPcHRpb25hbCBlbnZpcm9ubWVudCBtYXAgZm9yIGZ1bmN0aW9uYWwgdXNlICovXG5cdGVudk1hcD86IFRleHR1cmU7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhT3B0aW9ucyA9IHtcblx0ZnJhbWVzOiBJbmZpbml0eSxcblx0cmVzb2x1dGlvbjogMjU2LFxuXHRtYWtlRGVmYXVsdDogZmFsc2UsXG5cdG1hbnVhbDogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW9ydGhvZ3JhcGhpYy1jYW1lcmEnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYVxuXHRcdFx0I2NhbWVyYVxuXHRcdFx0W2xlZnRdPVwibGVmdCgpXCJcblx0XHRcdFtyaWdodF09XCJyaWdodCgpXCJcblx0XHRcdFt0b3BdPVwidG9wKClcIlxuXHRcdFx0W2JvdHRvbV09XCJib3R0b20oKVwiXG5cdFx0XHRbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIlxuXHRcdD5cblx0XHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudCgpID8/IG51bGxcIiAvPlxuXHRcdDwvbmd0LW9ydGhvZ3JhcGhpYy1jYW1lcmE+XG5cblx0XHQ8bmd0LWdyb3VwICNncm91cD5cblx0XHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FtZXJhQ29udGVudCgpID8/IG51bGxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRleHR1cmUgfVwiIC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYSB7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbXG5cdFx0J2Vudk1hcCcsXG5cdFx0J21ha2VEZWZhdWx0Jyxcblx0XHQnbWFudWFsJyxcblx0XHQnZnJhbWVzJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J2xlZnQnLFxuXHRcdCd0b3AnLFxuXHRcdCdib3R0b20nLFxuXHRcdCdyaWdodCcsXG5cdF0pO1xuXG5cdGNvbnRlbnQgPSBjb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpO1xuXHRjYW1lcmFDb250ZW50ID0gY29udGVudENoaWxkKE5ndHNDYW1lcmFDb250ZW50LCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pO1xuXG5cdGNhbWVyYVJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPE9ydGhvZ3JhcGhpY0NhbWVyYT4+KCdjYW1lcmEnKTtcblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXG5cdHByaXZhdGUgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cblx0cHJpdmF0ZSBjYW1lcmEgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG5cdHNpemUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXG5cdGxlZnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5sZWZ0ID8/IHRoaXMuc2l6ZSgpLndpZHRoIC8gLTIpO1xuXHRyaWdodCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLnJpZ2h0ID8/IHRoaXMuc2l6ZSgpLndpZHRoIC8gMik7XG5cdHRvcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLnRvcCA/PyB0aGlzLnNpemUoKS5oZWlnaHQgLyAyKTtcblx0Ym90dG9tID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuYm90dG9tID8/IHRoaXMuc2l6ZSgpLmhlaWdodCAvIC0yKTtcblxuXHRwcml2YXRlIG1hbnVhbCA9IHBpY2sodGhpcy5vcHRpb25zLCAnbWFudWFsJyk7XG5cdHByaXZhdGUgbWFrZURlZmF1bHQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ21ha2VEZWZhdWx0Jyk7XG5cdHByaXZhdGUgcmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVzb2x1dGlvbicpO1xuXHRwcml2YXRlIGZibyA9IGluamVjdEZCTygoKSA9PiAoeyB3aWR0aDogdGhpcy5yZXNvbHV0aW9uKCkgfSkpO1xuXHR0ZXh0dXJlID0gcGljayh0aGlzLmZibywgJ3RleHR1cmUnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5hdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdFx0aWYgKCF0aGlzLm1hbnVhbCgpKSB7XG5cdFx0XHRcdFx0dGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50LnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLm1ha2VEZWZhdWx0KCkpIHtcblx0XHRcdFx0XHRjb25zdCBvbGRDYW0gPSB1bnRyYWNrZWQodGhpcy5jYW1lcmEpO1xuXHRcdFx0XHRcdHRoaXMuc3RvcmUudXBkYXRlKHsgY2FtZXJhOiB0aGlzLmNhbWVyYVJlZigpLm5hdGl2ZUVsZW1lbnQgfSk7XG5cdFx0XHRcdFx0cmV0dXJuICgpID0+IHRoaXMuc3RvcmUudXBkYXRlKCgpID0+ICh7IGNhbWVyYTogb2xkQ2FtIH0pKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9KTtcblxuXHRcdFx0dGhpcy5jYW1lcmFSZWYoKS5uYXRpdmVFbGVtZW50LnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcblx0XHR9KTtcblxuXHRcdGxldCBjb3VudCA9IDA7XG5cdFx0bGV0IG9sZEVudk1hcDogQ29sb3IgfCBUZXh0dXJlIHwgbnVsbCA9IG51bGw7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGdsLCBzY2VuZSB9KSA9PiB7XG5cdFx0XHRjb25zdCBbeyBmcmFtZXMsIGVudk1hcCB9LCBncm91cCwgY2FtZXJhLCBmYm9dID0gW1xuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0dGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuY2FtZXJhUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5mYm8oKSxcblx0XHRcdF07XG5cdFx0XHRpZiAodGhpcy5jYW1lcmFDb250ZW50KCkgJiYgZ3JvdXAgJiYgY2FtZXJhICYmIGZibyAmJiAoZnJhbWVzID09PSBJbmZpbml0eSB8fCBjb3VudCA8IGZyYW1lcykpIHtcblx0XHRcdFx0Z3JvdXAudmlzaWJsZSA9IGZhbHNlO1xuXHRcdFx0XHRnbC5zZXRSZW5kZXJUYXJnZXQoZmJvKTtcblx0XHRcdFx0b2xkRW52TWFwID0gc2NlbmUuYmFja2dyb3VuZDtcblx0XHRcdFx0aWYgKGVudk1hcCkgc2NlbmUuYmFja2dyb3VuZCA9IGVudk1hcDtcblx0XHRcdFx0Z2wucmVuZGVyKHNjZW5lLCBjYW1lcmEpO1xuXHRcdFx0XHRzY2VuZS5iYWNrZ3JvdW5kID0gb2xkRW52TWFwO1xuXHRcdFx0XHRnbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG5cdFx0XHRcdGdyb3VwLnZpc2libGUgPSB0cnVlO1xuXHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=