angular-three-soba 2.0.0-beta.3 → 2.0.0-beta.5

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 (98) hide show
  1. package/abstractions/edges/edges.d.ts +1 -1
  2. package/abstractions/grid/grid.d.ts +59 -0
  3. package/abstractions/index.d.ts +1 -0
  4. package/abstractions/text/text.d.ts +0 -1
  5. package/abstractions/text-3d/text-3d.d.ts +1 -1
  6. package/esm2022/abstractions/billboard/billboard.mjs +3 -3
  7. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +3 -3
  8. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +3 -3
  9. package/esm2022/abstractions/edges/edges.mjs +3 -3
  10. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +8 -8
  11. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
  12. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
  13. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +3 -3
  14. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
  15. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
  16. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
  17. package/esm2022/abstractions/grid/grid.mjs +150 -0
  18. package/esm2022/abstractions/index.mjs +2 -1
  19. package/esm2022/abstractions/line/line-input.mjs +3 -3
  20. package/esm2022/abstractions/line/line.mjs +3 -3
  21. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +3 -3
  22. package/esm2022/abstractions/text/text.mjs +5 -7
  23. package/esm2022/abstractions/text-3d/text-3d.mjs +3 -3
  24. package/esm2022/cameras/camera/camera-content.mjs +3 -3
  25. package/esm2022/cameras/camera/camera.mjs +3 -3
  26. package/esm2022/cameras/cube-camera/cube-camera.mjs +3 -3
  27. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +3 -3
  28. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +3 -3
  29. package/esm2022/controls/orbit-controls/orbit-controls.mjs +3 -3
  30. package/esm2022/loaders/loader/loader.mjs +3 -3
  31. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +3 -3
  32. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
  33. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +7 -6
  34. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
  35. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
  36. package/esm2022/misc/animations/animations.mjs +20 -20
  37. package/esm2022/misc/bake-shadows/bake-shadows.mjs +3 -3
  38. package/esm2022/performance/adaptive/adaptive-dpr.mjs +3 -3
  39. package/esm2022/performance/adaptive/adaptive-events.mjs +3 -3
  40. package/esm2022/performance/detailed/detailed.mjs +3 -3
  41. package/esm2022/performance/instances/instance.mjs +3 -3
  42. package/esm2022/performance/instances/instances.mjs +3 -3
  43. package/esm2022/performance/stats/stats.mjs +3 -3
  44. package/esm2022/shaders/grid-material/grid-material.mjs +62 -0
  45. package/esm2022/shaders/index.mjs +2 -1
  46. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +5 -5
  47. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +3 -3
  48. package/esm2022/staging/bounds/bounds.mjs +3 -3
  49. package/esm2022/staging/camera-shake/camera-shake.mjs +3 -3
  50. package/esm2022/staging/caustics/caustisc.mjs +5 -5
  51. package/esm2022/staging/center/center.mjs +3 -3
  52. package/esm2022/staging/cloud/cloud.mjs +3 -3
  53. package/esm2022/staging/contact-shadows/contact-shadows.mjs +3 -3
  54. package/esm2022/staging/environment/environment-cube.mjs +3 -3
  55. package/esm2022/staging/environment/environment-ground.mjs +3 -3
  56. package/esm2022/staging/environment/environment-input.mjs +3 -3
  57. package/esm2022/staging/environment/environment-map.mjs +3 -3
  58. package/esm2022/staging/environment/environment-portal.mjs +5 -5
  59. package/esm2022/staging/environment/environment.mjs +6 -6
  60. package/esm2022/staging/float/float.mjs +3 -3
  61. package/esm2022/staging/sky/sky.mjs +3 -3
  62. package/esm2022/staging/sparkles/sparkles.mjs +3 -3
  63. package/esm2022/staging/spot-light/spot-light-input.mjs +3 -3
  64. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +3 -3
  65. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +13 -11
  66. package/esm2022/staging/spot-light/spot-light.mjs +3 -3
  67. package/esm2022/staging/spot-light/volumetric-mesh.mjs +3 -3
  68. package/esm2022/staging/stage/stage.mjs +6 -6
  69. package/esm2022/staging/stars/stars.mjs +3 -3
  70. package/fesm2022/angular-three-soba-abstractions.mjs +205 -63
  71. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  72. package/fesm2022/angular-three-soba-cameras.mjs +15 -15
  73. package/fesm2022/angular-three-soba-controls.mjs +3 -3
  74. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  75. package/fesm2022/angular-three-soba-materials.mjs +18 -17
  76. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  77. package/fesm2022/angular-three-soba-misc.mjs +22 -22
  78. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  79. package/fesm2022/angular-three-soba-performance.mjs +18 -18
  80. package/fesm2022/angular-three-soba-shaders.mjs +61 -1
  81. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  82. package/fesm2022/angular-three-soba-staging.mjs +90 -88
  83. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  84. package/misc/animations/animations.d.ts +1 -1
  85. package/package.json +16 -16
  86. package/performance/instances/instances.d.ts +2 -2
  87. package/performance/instances/position-mesh.d.ts +1 -1
  88. package/plugin/package.json +2 -2
  89. package/plugin/src/generators/init/init.d.ts +3 -0
  90. package/plugin/src/generators/init/init.js +7 -1
  91. package/plugin/src/generators/init/init.js.map +1 -1
  92. package/shaders/grid-material/grid-material.d.ts +4 -0
  93. package/shaders/index.d.ts +1 -0
  94. package/staging/caustics/caustisc.d.ts +1 -1
  95. package/staging/sparkles/sparkles.d.ts +1 -1
  96. package/staging/spot-light/spot-light-shadow-mesh.d.ts +2 -2
  97. package/staging/spot-light/volumetric-mesh.d.ts +1 -1
  98. package/staging/stars/stars.d.ts +1 -1
@@ -9,7 +9,7 @@ export interface NgtsEdgesState {
9
9
  }
10
10
  export declare class NgtsEdges extends NgtSignalStore<NgtsEdgesState> {
11
11
  #private;
12
- edgesRef: import("angular-three").NgtInjectedRef<THREE.LineSegments<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>;
12
+ edgesRef: import("angular-three").NgtInjectedRef<THREE.LineSegments<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
13
13
  set threshold(threshold: number);
14
14
  set color(color: THREE.ColorRepresentation);
15
15
  set geometry(geometry: THREE.BufferGeometry);
@@ -0,0 +1,59 @@
1
+ import { NgtSignalStore } from 'angular-three';
2
+ import * as THREE from 'three';
3
+ import * as i0 from "@angular/core";
4
+ export interface NgtsGridState {
5
+ /** Cell size, default: 0.5 */
6
+ cellSize: number;
7
+ /** Cell thickness, default: 0.5 */
8
+ cellThickness: number;
9
+ /** Cell color, default: black */
10
+ cellColor: THREE.ColorRepresentation;
11
+ /** Section size, default: 1 */
12
+ sectionSize: number;
13
+ /** Section thickness, default: 1 */
14
+ sectionThickness: number;
15
+ /** Section color, default: #2080ff */
16
+ sectionColor: THREE.ColorRepresentation;
17
+ /** Follow camera, default: false */
18
+ followCamera: boolean;
19
+ /** Display the grid infinitely, default: false */
20
+ infiniteGrid: boolean;
21
+ /** Fade distance, default: 100 */
22
+ fadeDistance: number;
23
+ /** Fade strength, default: 1 */
24
+ fadeStrength: number;
25
+ /** Material side, default: THREE.BackSide */
26
+ side: THREE.Side;
27
+ /** Default plane-geometry arguments */
28
+ args: ConstructorParameters<typeof THREE.PlaneGeometry>;
29
+ }
30
+ export declare class NgtsGrid extends NgtSignalStore<NgtsGridState> {
31
+ gridRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
32
+ set cellSize(cellSize: NgtsGridState['cellSize']);
33
+ set cellThickness(cellThickness: NgtsGridState['cellThickness']);
34
+ set cellColor(cellColor: NgtsGridState['cellColor']);
35
+ set sectionSize(sectionSize: NgtsGridState['sectionSize']);
36
+ set sectionThickness(sectionThickness: NgtsGridState['sectionThickness']);
37
+ set sectionColor(sectionColor: NgtsGridState['sectionColor']);
38
+ set followCamera(followCamera: NgtsGridState['followCamera']);
39
+ set infiniteGrid(infiniteGrid: NgtsGridState['infiniteGrid']);
40
+ set fadeDistance(fadeDistance: NgtsGridState['fadeDistance']);
41
+ set fadeStrength(fadeStrength: NgtsGridState['fadeStrength']);
42
+ set side(side: NgtsGridState['side']);
43
+ set args(args: NgtsGridState['args']);
44
+ readonly gridCellSize: import("@angular/core").Signal<number>;
45
+ readonly gridSectionSize: import("@angular/core").Signal<number>;
46
+ readonly gridFadeDistance: import("@angular/core").Signal<number>;
47
+ readonly gridFadeStrength: import("@angular/core").Signal<number>;
48
+ readonly gridCellThickness: import("@angular/core").Signal<number>;
49
+ readonly gridSectionThickness: import("@angular/core").Signal<number>;
50
+ readonly gridInfiniteGrid: import("@angular/core").Signal<boolean>;
51
+ readonly gridFollowCamera: import("@angular/core").Signal<boolean>;
52
+ readonly gridCellColor: import("@angular/core").Signal<THREE.ColorRepresentation>;
53
+ readonly gridSectionColor: import("@angular/core").Signal<THREE.ColorRepresentation>;
54
+ readonly gridSide: import("@angular/core").Signal<THREE.Side>;
55
+ readonly gridArgs: import("@angular/core").Signal<[width?: number | undefined, height?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined]>;
56
+ constructor();
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsGrid, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsGrid, "ngts-grid", never, { "gridRef": { "alias": "gridRef"; "required": false; }; "cellSize": { "alias": "cellSize"; "required": false; }; "cellThickness": { "alias": "cellThickness"; "required": false; }; "cellColor": { "alias": "cellColor"; "required": false; }; "sectionSize": { "alias": "sectionSize"; "required": false; }; "sectionThickness": { "alias": "sectionThickness"; "required": false; }; "sectionColor": { "alias": "sectionColor"; "required": false; }; "followCamera": { "alias": "followCamera"; "required": false; }; "infiniteGrid": { "alias": "infiniteGrid"; "required": false; }; "fadeDistance": { "alias": "fadeDistance"; "required": false; }; "fadeStrength": { "alias": "fadeStrength"; "required": false; }; "side": { "alias": "side"; "required": false; }; "args": { "alias": "args"; "required": false; }; }, {}, never, never, true, never>;
59
+ }
@@ -5,6 +5,7 @@ export * from './edges/edges';
5
5
  export * from './gizmo-helper/gizmo-helper';
6
6
  export * from './gizmo-helper/gizmo-viewcube/gizmo-viewcube';
7
7
  export * from './gizmo-helper/gizmo-viewport/gizmo-viewport';
8
+ export * from './grid/grid';
8
9
  export * from './line/line';
9
10
  export * from './quadratic-bezier-line/quadratic-bezier-line';
10
11
  export * from './text-3d/text-3d';
@@ -70,7 +70,6 @@ export declare class NgtsText extends NgtSignalStore<NgtsTextState> {
70
70
  set debugSDF(debugSDF: boolean);
71
71
  sync: EventEmitter<Text>;
72
72
  readonly troikaText: any;
73
- readonly state: import("@angular/core").Signal<NgtsTextState>;
74
73
  constructor();
75
74
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText, never>;
76
75
  static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text", never, { "textRef": { "alias": "textRef"; "required": false; }; "text": { "alias": "text"; "required": true; }; "font": { "alias": "font"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "anchorX": { "alias": "anchorX"; "required": false; }; "anchorY": { "alias": "anchorY"; "required": false; }; "sdfGlyphSize": { "alias": "sdfGlyphSize"; "required": false; }; "characters": { "alias": "characters"; "required": false; }; "color": { "alias": "color"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "letterSpacing": { "alias": "letterSpacing"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "clipRect": { "alias": "clipRect"; "required": false; }; "depthOffset": { "alias": "depthOffset"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "overflowWrap": { "alias": "overflowWrap"; "required": false; }; "whiteSpace": { "alias": "whiteSpace"; "required": false; }; "outlineWidth": { "alias": "outlineWidth"; "required": false; }; "outlineOffsetX": { "alias": "outlineOffsetX"; "required": false; }; "outlineOffsetY": { "alias": "outlineOffsetY"; "required": false; }; "outlineBlur": { "alias": "outlineBlur"; "required": false; }; "outlineColor": { "alias": "outlineColor"; "required": false; }; "outlineOpacity": { "alias": "outlineOpacity"; "required": false; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; }; "strokeColor": { "alias": "strokeColor"; "required": false; }; "strokeOpacity": { "alias": "strokeOpacity"; "required": false; }; "fillOpacity": { "alias": "fillOpacity"; "required": false; }; "debugSDF": { "alias": "debugSDF"; "required": false; }; }, { "sync": "sync"; }, never, ["*"], true, never>;
@@ -40,7 +40,7 @@ declare global {
40
40
  }
41
41
  export declare class NgtsText3D extends NgtSignalStore<NgtsText3DState> {
42
42
  #private;
43
- textRef: import("angular-three").NgtInjectedRef<Mesh<import("three").BufferGeometry, import("three").Material | import("three").Material[]>>;
43
+ textRef: import("angular-three").NgtInjectedRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[]>>;
44
44
  set font(font: FontData | string);
45
45
  set text(text: string);
46
46
  set bevelEnabled(bevelEnabled: boolean);
@@ -37,15 +37,15 @@ class NgtsBillboard extends NgtSignalStore {
37
37
  ref.rotation.z = prevRotation.z;
38
38
  });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", follow: "follow", lockX: "lockX", lockY: "lockY", lockZ: "lockZ" }, usesInheritance: true, ngImport: i0, template: `
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", follow: "follow", lockX: "lockX", lockY: "lockY", lockZ: "lockZ" }, usesInheritance: true, ngImport: i0, template: `
42
42
  <ngt-group ngtCompound [ref]="billboardRef">
43
43
  <ng-content />
44
44
  </ngt-group>
45
45
  `, isInline: true }); }
46
46
  }
47
47
  export { NgtsBillboard };
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBillboard, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsBillboard, decorators: [{
49
49
  type: Component,
50
50
  args: [{
51
51
  selector: 'ngts-billboard',
@@ -67,8 +67,8 @@ class NgtsCatmullRomLine extends NgtsLineInputs {
67
67
  });
68
68
  this.set({ closed: false, curveType: 'centripetal', tension: 0.5, segments: 64 });
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCatmullRomLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCatmullRomLine, isStandalone: true, selector: "ngts-catmull-rom-line", inputs: { lineRef: "lineRef", points: "points", closed: "closed", curveType: "curveType", tension: "tension", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCatmullRomLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCatmullRomLine, isStandalone: true, selector: "ngts-catmull-rom-line", inputs: { lineRef: "lineRef", points: "points", closed: "closed", curveType: "curveType", tension: "tension", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
72
72
  <ngts-line
73
73
  [lineRef]="lineRef"
74
74
  [points]="segmentedPoints()"
@@ -88,7 +88,7 @@ class NgtsCatmullRomLine extends NgtsLineInputs {
88
88
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["lineRef", "points", "segments"] }] }); }
89
89
  }
90
90
  export { NgtsCatmullRomLine };
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCatmullRomLine, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCatmullRomLine, decorators: [{
92
92
  type: Component,
93
93
  args: [{
94
94
  selector: 'ngts-catmull-rom-line',
@@ -47,8 +47,8 @@ class NgtsCubicBezierLine extends NgtsLineInputs {
47
47
  });
48
48
  this.set({ segments: 10 });
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubicBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCubicBezierLine, isStandalone: true, selector: "ngts-cubic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", midA: "midA", midB: "midB", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCubicBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCubicBezierLine, isStandalone: true, selector: "ngts-cubic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", midA: "midA", midB: "midB", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
52
52
  <ngts-line
53
53
  [lineRef]="lineRef"
54
54
  [points]="points()"
@@ -68,7 +68,7 @@ class NgtsCubicBezierLine extends NgtsLineInputs {
68
68
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["lineRef", "points", "segments"] }] }); }
69
69
  }
70
70
  export { NgtsCubicBezierLine };
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubicBezierLine, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCubicBezierLine, decorators: [{
72
72
  type: Component,
73
73
  args: [{
74
74
  selector: 'ngts-cubic-bezier-line',
@@ -46,8 +46,8 @@ class NgtsEdges extends NgtSignalStore {
46
46
  }
47
47
  });
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", threshold: "threshold", color: "color", geometry: "geometry", userData: "userData", withChildren: "withChildren" }, usesInheritance: true, ngImport: i0, template: `
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", threshold: "threshold", color: "color", geometry: "geometry", userData: "userData", withChildren: "withChildren" }, usesInheritance: true, ngImport: i0, template: `
51
51
  <ngt-line-segments [ref]="edgesRef" [raycast]="noop" ngtCompound>
52
52
  <ng-container *ngIf="withChildren; else noChildren">
53
53
  <ng-content />
@@ -59,7 +59,7 @@ class NgtsEdges extends NgtSignalStore {
59
59
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
60
60
  }
61
61
  export { NgtsEdges };
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsEdges, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsEdges, decorators: [{
63
63
  type: Component,
64
64
  args: [{
65
65
  selector: 'ngts-edges',
@@ -8,11 +8,11 @@ const isOrbitControls = (controls) => 'minPolarAngle' in controls;
8
8
  export const NGTS_GIZMO_HELPER_API = new InjectionToken('NgtsGizmoHelper API');
9
9
  extend({ Group });
10
10
  class NgtsGizmoHelperContent {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoHelperContent, isStandalone: true, selector: "ng-template[ngtsGizmoHelperContent]", ngImport: i0 }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoHelperContent, isStandalone: true, selector: "ng-template[ngtsGizmoHelperContent]", ngImport: i0 }); }
13
13
  }
14
14
  export { NgtsGizmoHelperContent };
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelperContent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelperContent, decorators: [{
16
16
  type: Directive,
17
17
  args: [{ selector: 'ng-template[ngtsGizmoHelperContent]', standalone: true }]
18
18
  }] });
@@ -149,8 +149,8 @@ class NgtsGizmoHelper extends NgtSignalStore {
149
149
  this.#defaultUp.copy(camera.up);
150
150
  });
151
151
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { alignment: "alignment", margin: "margin", renderPriority: "renderPriority", autoClear: "autoClear" }, outputs: { updated: "updated" }, providers: [
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { alignment: "alignment", margin: "margin", renderPriority: "renderPriority", autoClear: "autoClear" }, outputs: { updated: "updated" }, providers: [
154
154
  { provide: NGTS_GIZMO_HELPER_API, useFactory: (gizmo) => gizmo.api, deps: [NgtsGizmoHelper] },
155
155
  ], queries: [{ propertyName: "gizmoHelperContent", first: true, predicate: NgtsGizmoHelperContent, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
156
156
  <ngt-portal [renderPriority]="priority()">
@@ -165,10 +165,10 @@ class NgtsGizmoHelper extends NgtSignalStore {
165
165
  </ngt-group>
166
166
  </ng-template>
167
167
  </ngt-portal>
168
- `, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["left", "right", "top", "bottom"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
168
+ `, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "portalState", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["left", "right", "top", "bottom"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
169
169
  }
170
170
  export { NgtsGizmoHelper };
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
172
172
  type: Component,
173
173
  args: [{
174
174
  selector: 'ngts-gizmo-helper',
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
207
207
  type: ContentChild,
208
208
  args: [NgtsGizmoHelperContent, { static: true, read: TemplateRef }]
209
209
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2Fic3RyYWN0aW9ucy9zcmMvZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sRUFFTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFzQixVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUsxRixNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXVCLEVBQTZCLEVBQUUsQ0FDM0UsZUFBZSxJQUFLLFFBQTBCLENBQUM7QUFHbkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTZCLHFCQUFxQixDQUFDLENBQUM7QUFFM0csTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQWtCbEIsTUFDYSxzQkFBc0I7OEdBQXRCLHNCQUFzQjtrR0FBdEIsc0JBQXNCOztTQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxxQ0FBcUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFF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SDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBS2dCLFNBQVM7c0JBQXJCLEtBQUs7Z0JBZU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSUksT0FBTztzQkFBaEIsTUFBTTtnQkFHUCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgU2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0Tmd0UmVmLCBOZ3RQb3J0YWwsIE5ndFBvcnRhbENvbnRlbnQsIE5ndFNpZ25hbFN0b3JlLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9jYW1lcmFzJztcbmltcG9ydCB7IEdyb3VwLCBNYXRyaXg0LCBPYmplY3QzRCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbnR5cGUgQ29udHJvbHNQcm90byA9IHsgdXBkYXRlKCk6IHZvaWQ7IHRhcmdldDogVEhSRUUuVmVjdG9yMyB9O1xuXG5jb25zdCBpc09yYml0Q29udHJvbHMgPSAoY29udHJvbHM6IENvbnRyb2xzUHJvdG8pOiBjb250cm9scyBpcyBPcmJpdENvbnRyb2xzID0+XG4gICAgJ21pblBvbGFyQW5nbGUnIGluIChjb250cm9scyBhcyBPcmJpdENvbnRyb2xzKTtcblxuZXhwb3J0IHR5cGUgTmd0c0dpem1vSGVscGVyQXBpID0gKGRpcmVjdGlvbjogVmVjdG9yMykgPT4gdm9pZDtcbmV4cG9ydCBjb25zdCBOR1RTX0dJWk1PX0hFTFBFUl9BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2lnbmFsPE5ndHNHaXptb0hlbHBlckFwaT4+KCdOZ3RzR2l6bW9IZWxwZXIgQVBJJyk7XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNHaXptb0hlbHBlclN0YXRlIHtcbiAgICBhbGlnbm1lbnQ6XG4gICAgICAgIHwgJ3RvcC1sZWZ0J1xuICAgICAgICB8ICd0b3AtcmlnaHQnXG4gICAgICAgIHwgJ2JvdHRvbS1yaWdodCdcbiAgICAgICAgfCAnYm90dG9tLWxlZnQnXG4gICAgICAgIHwgJ2JvdHRvbS1jZW50ZXInXG4gICAgICAgIHwgJ2NlbnRlci1yaWdodCdcbiAgICAgICAgfCAnY2VudGVyLWxlZnQnXG4gICAgICAgIHwgJ2NlbnRlci1jZW50ZXInXG4gICAgICAgIHwgJ3RvcC1jZW50ZXInO1xuICAgIG1hcmdpbjogW251bWJlciwgbnVtYmVyXTtcbiAgICByZW5kZXJQcmlvcml0eTogbnVtYmVyO1xuICAgIGF1dG9DbGVhcjogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbbmd0c0dpem1vSGVscGVyQ29udGVudF0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vSGVscGVyQ29udGVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtZ2l6bW8taGVscGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtcG9ydGFsIFtyZW5kZXJQcmlvcml0eV09XCJwcmlvcml0eSgpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmd0UG9ydGFsQ29udGVudD5cbiAgICAgICAgICAgICAgICA8bmd0cy1vcnRob2dyYXBoaWMtY2FtZXJhXG4gICAgICAgICAgICAgICAgICAgIFtjYW1lcmFSZWZdPVwidmlydHVhbENhbWVyYVJlZlwiXG4gICAgICAgICAgICAgICAgICAgIFttYWtlRGVmYXVsdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlswLCAwLCAyMDBdXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtZ3JvdXAgW3JlZl09XCJnaXptb1JlZlwiIFtwb3NpdGlvbl09XCJwb3NpdGlvbigpXCIgKGJlZm9yZVJlbmRlcik9XCJvbkJlZm9yZVJlbmRlcigkZXZlbnQuc3RhdGUuZGVsdGEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJnaXptb0hlbHBlckNvbnRlbnRcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmd0LWdyb3VwPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZ3QtcG9ydGFsPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndFBvcnRhbCwgTmd0UG9ydGFsQ29udGVudCwgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYSwgTmdUZW1wbGF0ZU91dGxldF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdUU19HSVpNT19IRUxQRVJfQVBJLCB1c2VGYWN0b3J5OiAoZ2l6bW86IE5ndHNHaXptb0hlbHBlcikgPT4gZ2l6bW8uYXBpLCBkZXBzOiBbTmd0c0dpem1vSGVscGVyXSB9LFxuICAgIF0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzR2l6bW9IZWxwZXIgZXh0ZW5kcyBOZ3RTaWduYWxTdG9yZTxOZ3RzR2l6bW9IZWxwZXJTdGF0ZT4ge1xuICAgIHJlYWRvbmx5IGdpem1vUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuICAgIHJlYWRvbmx5IHZpcnR1YWxDYW1lcmFSZWYgPSBpbmplY3ROZ3RSZWY8T3J0aG9ncmFwaGljQ2FtZXJhPigpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsaWdubWVudChcbiAgICAgICAgYWxpZ25tZW50OlxuICAgICAgICAgICAgfCAndG9wLWxlZnQnXG4gICAgICAgICAgICB8ICd0b3AtcmlnaHQnXG4gICAgICAgICAgICB8ICdib3R0b20tcmlnaHQnXG4gICAgICAgICAgICB8ICdib3R0b20tbGVmdCdcbiAgICAgICAgICAgIHwgJ2JvdHRvbS1jZW50ZXInXG4gICAgICAgICAgICB8ICdjZW50ZXItcmlnaHQnXG4gICAgICAgICAgICB8ICdjZW50ZXItbGVmdCdcbiAgICAgICAgICAgIHwgJ2NlbnRlci1jZW50ZXInXG4gICAgICAgICAgICB8ICd0b3AtY2VudGVyJ1xuICAgICkge1xuICAgICAgICB0aGlzLnNldCh7IGFsaWdubWVudCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWFyZ2luKG1hcmdpbjogW251bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNldCh7IG1hcmdpbiB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmVuZGVyUHJpb3JpdHkocmVuZGVyUHJpb3JpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlbmRlclByaW9yaXR5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhdXRvQ2xlYXIoYXV0b0NsZWFyOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYXV0b0NsZWFyIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSB1cGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChOZ3RzR2l6bW9IZWxwZXJDb250ZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBnaXptb0hlbHBlckNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcmVhZG9ubHkgI2NhbWVyYSA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG4gICAgcmVhZG9ubHkgI3NpemUgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ3NpemUnKTtcblxuICAgIHJlYWRvbmx5ICNhbGlnbm1lbnQgPSB0aGlzLnNlbGVjdCgnYWxpZ25tZW50Jyk7XG4gICAgcmVhZG9ubHkgI21hcmdpbiA9IHRoaXMuc2VsZWN0KCdtYXJnaW4nKTtcblxuICAgICNhbmltYXRpbmcgPSBmYWxzZTtcbiAgICAjcmFkaXVzID0gMDtcbiAgICAjZm9jdXNQb2ludCA9IG5ldyBWZWN0b3IzKDAsIDAsIDApO1xuICAgICNxMSA9IG5ldyBRdWF0ZXJuaW9uKCk7XG4gICAgI3EyID0gbmV3IFF1YXRlcm5pb24oKTtcbiAgICAjdGFyZ2V0ID0gbmV3IFZlY3RvcjMoKTtcbiAgICAjdGFyZ2V0UG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuICAgICNkdW1teSA9IG5ldyBPYmplY3QzRCgpO1xuXG4gICAgI2RlZmF1bHRVcCA9IG5ldyBWZWN0b3IzKDAsIDAsIDApO1xuICAgICN0dXJuUmF0ZSA9IDIgKiBNYXRoLlBJOyAvLyB0dXJuIHJhdGUgaW4gYW5nbGVzIHBlciBzZWNcbiAgICAjbWF0cml4ID0gbmV3IE1hdHJpeDQoKTtcblxuICAgIHJlYWRvbmx5IHByaW9yaXR5ID0gdGhpcy5zZWxlY3QoJ3JlbmRlclByaW9yaXR5Jyk7XG5cbiAgICByZWFkb25seSBwb3NpdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMuI3NpemUoKTtcbiAgICAgICAgY29uc3QgYWxpZ25tZW50ID0gdGhpcy4jYWxpZ25tZW50KCk7XG4gICAgICAgIGNvbnN0IG1hcmdpbiA9IHRoaXMuI21hcmdpbigpO1xuXG4gICAgICAgIGNvbnN0IFttYXJnaW5YLCBtYXJnaW5ZXSA9IG1hcmdpbjtcbiAgICAgICAgY29uc3QgeCA9IGFsaWdubWVudC5lbmRzV2l0aCgnLWNlbnRlcicpXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogYWxpZ25tZW50LmVuZHNXaXRoKCctbGVmdCcpXG4gICAgICAgICAgICA/IC1zaXplLndpZHRoIC8gMiArIG1hcmdpblhcbiAgICAgICAgICAgIDogc2l6ZS53aWR0aCAvIDIgLSBtYXJnaW5YO1xuICAgICAgICBjb25zdCB5ID0gYWxpZ25tZW50LnN0YXJ0c1dpdGgoJ2NlbnRlci0nKVxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IGFsaWdubWVudC5zdGFydHNXaXRoKCd0b3AtJylcbiAgICAgICAgICAgID8gc2l6ZS5oZWlnaHQgLyAyIC0gbWFyZ2luWVxuICAgICAgICAgICAgOiAtc2l6ZS5oZWlnaHQgLyAyICsgbWFyZ2luWTtcblxuICAgICAgICByZXR1cm4gW3gsIHksIDBdO1xuICAgIH0pO1xuXG4gICAgcmVhZG9ubHkgYXBpID0gY29tcHV0ZWQoKCkgPT4gKGRpcmVjdGlvbjogVEhSRUUuVmVjdG9yMykgPT4ge1xuICAgICAgICBjb25zdCB7IGNvbnRyb2xzLCBjYW1lcmEsIGludmFsaWRhdGUgfSA9IHRoaXMuI3N0b3JlLmdldCgpO1xuICAgICAgICBjb25zdCBkZWZhdWx0Q29udHJvbHMgPSBjb250cm9scyBhcyB1bmtub3duIGFzIENvbnRyb2xzUHJvdG87XG5cbiAgICAgICAgdGhpcy4jYW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKGRlZmF1bHRDb250cm9scykgdGhpcy4jZm9jdXNQb2ludCA9IGRlZmF1bHRDb250cm9scy50YXJnZXQ7XG4gICAgICAgIHRoaXMuI3JhZGl1cyA9IGNhbWVyYS5wb3NpdGlvbi5kaXN0YW5jZVRvKHRoaXMuI3RhcmdldCk7XG4gICAgICAgIC8vIHJvdGF0ZSBmcm9tIGN1cnJlbnQgY2FtZXJhIG9yaWVudGF0aW9uXG4gICAgICAgIHRoaXMuI3ExLmNvcHkoY2FtZXJhLnF1YXRlcm5pb24pO1xuICAgICAgICAvLyB0byBuZXcgY3VycmVudCBjYW1lcmEgb3JpZW50YXRpb25cbiAgICAgICAgdGhpcy4jdGFyZ2V0UG9zaXRpb24uY29weShkaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKHRoaXMuI3JhZGl1cykuYWRkKHRoaXMuI3RhcmdldCk7XG4gICAgICAgIHRoaXMuI2R1bW15Lmxvb2tBdCh0aGlzLiN0YXJnZXRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3EyLmNvcHkodGhpcy4jZHVtbXkucXVhdGVybmlvbik7XG4gICAgICAgIGludmFsaWRhdGUoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IGFsaWdubWVudDogJ2JvdHRvbS1yaWdodCcsIG1hcmdpbjogWzgwLCA4MF0sIHJlbmRlclByaW9yaXR5OiAxIH0pO1xuICAgICAgICB0aGlzLiN1cGRhdGVEZWZhdWx0VXAoKTtcbiAgICB9XG5cbiAgICBvbkJlZm9yZVJlbmRlcihkZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxDYW1lcmFSZWYubmF0aXZlRWxlbWVudCAmJiB0aGlzLmdpem1vUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY29udHJvbHMsIGNhbWVyYTogbWFpbkNhbWVyYSwgaW52YWxpZGF0ZSB9ID0gdGhpcy4jc3RvcmUuZ2V0KCk7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0Q29udHJvbHMgPSBjb250cm9scyBhcyB1bmtub3duIGFzIENvbnRyb2xzUHJvdG87XG4gICAgICAgICAgICAvLyBBbmltYXRlIHN0ZXBcbiAgICAgICAgICAgIGlmICh0aGlzLiNhbmltYXRpbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4jcTEuYW5nbGVUbyh0aGlzLiNxMikgPCAwLjAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAvLyBPcmJpdCBjb250cm9scyB1c2VzIFVQIHZlY3RvciBhcyB0aGUgb3JiaXQgYXhlcyxcbiAgICAgICAgICAgICAgICAgICAgLy8gc28gd2UgbmVlZCB0byByZXNldCBpdCBhZnRlciB0aGUgYW5pbWF0aW9uIGlzIGRvbmVcbiAgICAgICAgICAgICAgICAgICAgLy8gbW92aW5nIGl0IGFyb3VuZCBmb3IgdGhlIGNvbnRyb2xzIHRvIHdvcmsgY29ycmVjdGx5XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09yYml0Q29udHJvbHMoZGVmYXVsdENvbnRyb2xzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFpbkNhbWVyYS51cC5jb3B5KHRoaXMuI2RlZmF1bHRVcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGVwID0gZGVsdGEgKiB0aGlzLiN0dXJuUmF0ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5pbWF0ZSBwb3NpdGlvbiBieSBkb2luZyBhIHNsZXJwIGFuZCB0aGVuIHNjYWxpbmcgdGhlIHBvc2l0aW9uIG9uIHRoZSB1bml0IHNwaGVyZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNxMS5yb3RhdGVUb3dhcmRzKHRoaXMuI3EyLCBzdGVwKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5pbWF0ZSBvcmllbnRhdGlvblxuICAgICAgICAgICAgICAgICAgICBtYWluQ2FtZXJhLnBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2V0KDAsIDAsIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAuYXBwbHlRdWF0ZXJuaW9uKHRoaXMuI3ExKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm11bHRpcGx5U2NhbGFyKHRoaXMuI3JhZGl1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hZGQodGhpcy4jZm9jdXNQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIG1haW5DYW1lcmEudXAuc2V0KDAsIDEsIDApLmFwcGx5UXVhdGVybmlvbih0aGlzLiNxMSkubm9ybWFsaXplKCk7XG4gICAgICAgICAgICAgICAgICAgIG1haW5DYW1lcmEucXVhdGVybmlvbi5jb3B5KHRoaXMuI3ExKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXBkYXRlZC5vYnNlcnZlZCkgdGhpcy51cGRhdGVkLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVmYXVsdENvbnRyb2xzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29udHJvbHMudXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU3luYyBHaXptbyB3aXRoIG1haW4gY2FtZXJhIG9yaWVudGF0aW9uXG4gICAgICAgICAgICB0aGlzLiNtYXRyaXguY29weShtYWluQ2FtZXJhLm1hdHJpeCkuaW52ZXJ0KCk7XG4gICAgICAgICAgICB0aGlzLmdpem1vUmVmLm5hdGl2ZUVsZW1lbnQucXVhdGVybmlvbi5zZXRGcm9tUm90YXRpb25NYXRyaXgodGhpcy4jbWF0cml4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGVEZWZhdWx0VXAoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYW1lcmEgPSB0aGlzLiNjYW1lcmEoKTtcbiAgICAgICAgICAgIGlmICghY2FtZXJhKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLiNkZWZhdWx0VXAuY29weShjYW1lcmEudXApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2Fic3RyYWN0aW9ucy9zcmMvZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sRUFFTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFzQixVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUsxRixNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXVCLEVBQTZCLEVBQUUsQ0FDM0UsZUFBZSxJQUFLLFFBQTBCLENBQUM7QUFHbkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTZCLHFCQUFxQixDQUFDLENBQUM7QUFFM0csTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQWtCbEIsTUFDYSxzQkFBc0I7OEdBQXRCLHNCQUFzQjtrR0FBdEIsc0JBQXNCOztTQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxxQ0FBcUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFF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SDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBS2dCLFNBQVM7c0JBQXJCLEtBQUs7Z0JBZU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSUksT0FBTztzQkFBaEIsTUFBTTtnQkFHUCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgU2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0Tmd0UmVmLCBOZ3RQb3J0YWwsIE5ndFBvcnRhbENvbnRlbnQsIE5ndFNpZ25hbFN0b3JlLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9jYW1lcmFzJztcbmltcG9ydCB7IEdyb3VwLCBNYXRyaXg0LCBPYmplY3QzRCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbnR5cGUgQ29udHJvbHNQcm90byA9IHsgdXBkYXRlKCk6IHZvaWQ7IHRhcmdldDogVEhSRUUuVmVjdG9yMyB9O1xuXG5jb25zdCBpc09yYml0Q29udHJvbHMgPSAoY29udHJvbHM6IENvbnRyb2xzUHJvdG8pOiBjb250cm9scyBpcyBPcmJpdENvbnRyb2xzID0+XG4gICAgJ21pblBvbGFyQW5nbGUnIGluIChjb250cm9scyBhcyBPcmJpdENvbnRyb2xzKTtcblxuZXhwb3J0IHR5cGUgTmd0c0dpem1vSGVscGVyQXBpID0gKGRpcmVjdGlvbjogVmVjdG9yMykgPT4gdm9pZDtcbmV4cG9ydCBjb25zdCBOR1RTX0dJWk1PX0hFTFBFUl9BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2lnbmFsPE5ndHNHaXptb0hlbHBlckFwaT4+KCdOZ3RzR2l6bW9IZWxwZXIgQVBJJyk7XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNHaXptb0hlbHBlclN0YXRlIHtcbiAgICBhbGlnbm1lbnQ6XG4gICAgICAgIHwgJ3RvcC1sZWZ0J1xuICAgICAgICB8ICd0b3AtcmlnaHQnXG4gICAgICAgIHwgJ2JvdHRvbS1yaWdodCdcbiAgICAgICAgfCAnYm90dG9tLWxlZnQnXG4gICAgICAgIHwgJ2JvdHRvbS1jZW50ZXInXG4gICAgICAgIHwgJ2NlbnRlci1yaWdodCdcbiAgICAgICAgfCAnY2VudGVyLWxlZnQnXG4gICAgICAgIHwgJ2NlbnRlci1jZW50ZXInXG4gICAgICAgIHwgJ3RvcC1jZW50ZXInO1xuICAgIG1hcmdpbjogW251bWJlciwgbnVtYmVyXTtcbiAgICByZW5kZXJQcmlvcml0eTogbnVtYmVyO1xuICAgIGF1dG9DbGVhcjogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbbmd0c0dpem1vSGVscGVyQ29udGVudF0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vSGVscGVyQ29udGVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtZ2l6bW8taGVscGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtcG9ydGFsIFtyZW5kZXJQcmlvcml0eV09XCJwcmlvcml0eSgpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmd0UG9ydGFsQ29udGVudD5cbiAgICAgICAgICAgICAgICA8bmd0cy1vcnRob2dyYXBoaWMtY2FtZXJhXG4gICAgICAgICAgICAgICAgICAgIFtjYW1lcmFSZWZdPVwidmlydHVhbENhbWVyYVJlZlwiXG4gICAgICAgICAgICAgICAgICAgIFttYWtlRGVmYXVsdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlswLCAwLCAyMDBdXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtZ3JvdXAgW3JlZl09XCJnaXptb1JlZlwiIFtwb3NpdGlvbl09XCJwb3NpdGlvbigpXCIgKGJlZm9yZVJlbmRlcik9XCJvbkJlZm9yZVJlbmRlcigkZXZlbnQuc3RhdGUuZGVsdGEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJnaXptb0hlbHBlckNvbnRlbnRcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmd0LWdyb3VwPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZ3QtcG9ydGFsPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05ndFBvcnRhbCwgTmd0UG9ydGFsQ29udGVudCwgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYSwgTmdUZW1wbGF0ZU91dGxldF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdUU19HSVpNT19IRUxQRVJfQVBJLCB1c2VGYWN0b3J5OiAoZ2l6bW86IE5ndHNHaXptb0hlbHBlcikgPT4gZ2l6bW8uYXBpLCBkZXBzOiBbTmd0c0dpem1vSGVscGVyXSB9LFxuICAgIF0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzR2l6bW9IZWxwZXIgZXh0ZW5kcyBOZ3RTaWduYWxTdG9yZTxOZ3RzR2l6bW9IZWxwZXJTdGF0ZT4ge1xuICAgIHJlYWRvbmx5IGdpem1vUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuICAgIHJlYWRvbmx5IHZpcnR1YWxDYW1lcmFSZWYgPSBpbmplY3ROZ3RSZWY8T3J0aG9ncmFwaGljQ2FtZXJhPigpO1xuXG4gICAgQElucHV0KCkgc2V0IGFsaWdubWVudChcbiAgICAgICAgYWxpZ25tZW50OlxuICAgICAgICAgICAgfCAndG9wLWxlZnQnXG4gICAgICAgICAgICB8ICd0b3AtcmlnaHQnXG4gICAgICAgICAgICB8ICdib3R0b20tcmlnaHQnXG4gICAgICAgICAgICB8ICdib3R0b20tbGVmdCdcbiAgICAgICAgICAgIHwgJ2JvdHRvbS1jZW50ZXInXG4gICAgICAgICAgICB8ICdjZW50ZXItcmlnaHQnXG4gICAgICAgICAgICB8ICdjZW50ZXItbGVmdCdcbiAgICAgICAgICAgIHwgJ2NlbnRlci1jZW50ZXInXG4gICAgICAgICAgICB8ICd0b3AtY2VudGVyJ1xuICAgICkge1xuICAgICAgICB0aGlzLnNldCh7IGFsaWdubWVudCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWFyZ2luKG1hcmdpbjogW251bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNldCh7IG1hcmdpbiB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmVuZGVyUHJpb3JpdHkocmVuZGVyUHJpb3JpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlbmRlclByaW9yaXR5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhdXRvQ2xlYXIoYXV0b0NsZWFyOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYXV0b0NsZWFyIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSB1cGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChOZ3RzR2l6bW9IZWxwZXJDb250ZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBnaXptb0hlbHBlckNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcmVhZG9ubHkgI2NhbWVyYSA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG4gICAgcmVhZG9ubHkgI3NpemUgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ3NpemUnKTtcblxuICAgIHJlYWRvbmx5ICNhbGlnbm1lbnQgPSB0aGlzLnNlbGVjdCgnYWxpZ25tZW50Jyk7XG4gICAgcmVhZG9ubHkgI21hcmdpbiA9IHRoaXMuc2VsZWN0KCdtYXJnaW4nKTtcblxuICAgICNhbmltYXRpbmcgPSBmYWxzZTtcbiAgICAjcmFkaXVzID0gMDtcbiAgICAjZm9jdXNQb2ludCA9IG5ldyBWZWN0b3IzKDAsIDAsIDApO1xuICAgICNxMSA9IG5ldyBRdWF0ZXJuaW9uKCk7XG4gICAgI3EyID0gbmV3IFF1YXRlcm5pb24oKTtcbiAgICAjdGFyZ2V0ID0gbmV3IFZlY3RvcjMoKTtcbiAgICAjdGFyZ2V0UG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuICAgICNkdW1teSA9IG5ldyBPYmplY3QzRCgpO1xuXG4gICAgI2RlZmF1bHRVcCA9IG5ldyBWZWN0b3IzKDAsIDAsIDApO1xuICAgICN0dXJuUmF0ZSA9IDIgKiBNYXRoLlBJOyAvLyB0dXJuIHJhdGUgaW4gYW5nbGVzIHBlciBzZWNcbiAgICAjbWF0cml4ID0gbmV3IE1hdHJpeDQoKTtcblxuICAgIHJlYWRvbmx5IHByaW9yaXR5ID0gdGhpcy5zZWxlY3QoJ3JlbmRlclByaW9yaXR5Jyk7XG5cbiAgICByZWFkb25seSBwb3NpdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMuI3NpemUoKTtcbiAgICAgICAgY29uc3QgYWxpZ25tZW50ID0gdGhpcy4jYWxpZ25tZW50KCk7XG4gICAgICAgIGNvbnN0IG1hcmdpbiA9IHRoaXMuI21hcmdpbigpO1xuXG4gICAgICAgIGNvbnN0IFttYXJnaW5YLCBtYXJnaW5ZXSA9IG1hcmdpbjtcbiAgICAgICAgY29uc3QgeCA9IGFsaWdubWVudC5lbmRzV2l0aCgnLWNlbnRlcicpXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogYWxpZ25tZW50LmVuZHNXaXRoKCctbGVmdCcpXG4gICAgICAgICAgICA/IC1zaXplLndpZHRoIC8gMiArIG1hcmdpblhcbiAgICAgICAgICAgIDogc2l6ZS53aWR0aCAvIDIgLSBtYXJnaW5YO1xuICAgICAgICBjb25zdCB5ID0gYWxpZ25tZW50LnN0YXJ0c1dpdGgoJ2NlbnRlci0nKVxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IGFsaWdubWVudC5zdGFydHNXaXRoKCd0b3AtJylcbiAgICAgICAgICAgID8gc2l6ZS5oZWlnaHQgLyAyIC0gbWFyZ2luWVxuICAgICAgICAgICAgOiAtc2l6ZS5oZWlnaHQgLyAyICsgbWFyZ2luWTtcblxuICAgICAgICByZXR1cm4gW3gsIHksIDBdO1xuICAgIH0pO1xuXG4gICAgcmVhZG9ubHkgYXBpID0gY29tcHV0ZWQoKCkgPT4gKGRpcmVjdGlvbjogVEhSRUUuVmVjdG9yMykgPT4ge1xuICAgICAgICBjb25zdCB7IGNvbnRyb2xzLCBjYW1lcmEsIGludmFsaWRhdGUgfSA9IHRoaXMuI3N0b3JlLmdldCgpO1xuICAgICAgICBjb25zdCBkZWZhdWx0Q29udHJvbHMgPSBjb250cm9scyBhcyB1bmtub3duIGFzIENvbnRyb2xzUHJvdG87XG5cbiAgICAgICAgdGhpcy4jYW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKGRlZmF1bHRDb250cm9scykgdGhpcy4jZm9jdXNQb2ludCA9IGRlZmF1bHRDb250cm9scy50YXJnZXQ7XG4gICAgICAgIHRoaXMuI3JhZGl1cyA9IGNhbWVyYS5wb3NpdGlvbi5kaXN0YW5jZVRvKHRoaXMuI3RhcmdldCk7XG4gICAgICAgIC8vIHJvdGF0ZSBmcm9tIGN1cnJlbnQgY2FtZXJhIG9yaWVudGF0aW9uXG4gICAgICAgIHRoaXMuI3ExLmNvcHkoY2FtZXJhLnF1YXRlcm5pb24pO1xuICAgICAgICAvLyB0byBuZXcgY3VycmVudCBjYW1lcmEgb3JpZW50YXRpb25cbiAgICAgICAgdGhpcy4jdGFyZ2V0UG9zaXRpb24uY29weShkaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKHRoaXMuI3JhZGl1cykuYWRkKHRoaXMuI3RhcmdldCk7XG4gICAgICAgIHRoaXMuI2R1bW15Lmxvb2tBdCh0aGlzLiN0YXJnZXRQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuI3EyLmNvcHkodGhpcy4jZHVtbXkucXVhdGVybmlvbik7XG4gICAgICAgIGludmFsaWRhdGUoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IGFsaWdubWVudDogJ2JvdHRvbS1yaWdodCcsIG1hcmdpbjogWzgwLCA4MF0sIHJlbmRlclByaW9yaXR5OiAxIH0pO1xuICAgICAgICB0aGlzLiN1cGRhdGVEZWZhdWx0VXAoKTtcbiAgICB9XG5cbiAgICBvbkJlZm9yZVJlbmRlcihkZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxDYW1lcmFSZWYubmF0aXZlRWxlbWVudCAmJiB0aGlzLmdpem1vUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY29udHJvbHMsIGNhbWVyYTogbWFpbkNhbWVyYSwgaW52YWxpZGF0ZSB9ID0gdGhpcy4jc3RvcmUuZ2V0KCk7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0Q29udHJvbHMgPSBjb250cm9scyBhcyB1bmtub3duIGFzIENvbnRyb2xzUHJvdG87XG4gICAgICAgICAgICAvLyBBbmltYXRlIHN0ZXBcbiAgICAgICAgICAgIGlmICh0aGlzLiNhbmltYXRpbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4jcTEuYW5nbGVUbyh0aGlzLiNxMikgPCAwLjAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAvLyBPcmJpdCBjb250cm9scyB1c2VzIFVQIHZlY3RvciBhcyB0aGUgb3JiaXQgYXhlcyxcbiAgICAgICAgICAgICAgICAgICAgLy8gc28gd2UgbmVlZCB0byByZXNldCBpdCBhZnRlciB0aGUgYW5pbWF0aW9uIGlzIGRvbmVcbiAgICAgICAgICAgICAgICAgICAgLy8gbW92aW5nIGl0IGFyb3VuZCBmb3IgdGhlIGNvbnRyb2xzIHRvIHdvcmsgY29ycmVjdGx5XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09yYml0Q29udHJvbHMoZGVmYXVsdENvbnRyb2xzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFpbkNhbWVyYS51cC5jb3B5KHRoaXMuI2RlZmF1bHRVcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGVwID0gZGVsdGEgKiB0aGlzLiN0dXJuUmF0ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5pbWF0ZSBwb3NpdGlvbiBieSBkb2luZyBhIHNsZXJwIGFuZCB0aGVuIHNjYWxpbmcgdGhlIHBvc2l0aW9uIG9uIHRoZSB1bml0IHNwaGVyZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNxMS5yb3RhdGVUb3dhcmRzKHRoaXMuI3EyLCBzdGVwKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5pbWF0ZSBvcmllbnRhdGlvblxuICAgICAgICAgICAgICAgICAgICBtYWluQ2FtZXJhLnBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2V0KDAsIDAsIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAuYXBwbHlRdWF0ZXJuaW9uKHRoaXMuI3ExKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm11bHRpcGx5U2NhbGFyKHRoaXMuI3JhZGl1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hZGQodGhpcy4jZm9jdXNQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIG1haW5DYW1lcmEudXAuc2V0KDAsIDEsIDApLmFwcGx5UXVhdGVybmlvbih0aGlzLiNxMSkubm9ybWFsaXplKCk7XG4gICAgICAgICAgICAgICAgICAgIG1haW5DYW1lcmEucXVhdGVybmlvbi5jb3B5KHRoaXMuI3ExKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXBkYXRlZC5vYnNlcnZlZCkgdGhpcy51cGRhdGVkLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVmYXVsdENvbnRyb2xzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29udHJvbHMudXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU3luYyBHaXptbyB3aXRoIG1haW4gY2FtZXJhIG9yaWVudGF0aW9uXG4gICAgICAgICAgICB0aGlzLiNtYXRyaXguY29weShtYWluQ2FtZXJhLm1hdHJpeCkuaW52ZXJ0KCk7XG4gICAgICAgICAgICB0aGlzLmdpem1vUmVmLm5hdGl2ZUVsZW1lbnQucXVhdGVybmlvbi5zZXRGcm9tUm90YXRpb25NYXRyaXgodGhpcy4jbWF0cml4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN1cGRhdGVEZWZhdWx0VXAoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYW1lcmEgPSB0aGlzLiNjYW1lcmEoKTtcbiAgICAgICAgICAgIGlmICghY2FtZXJhKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLiNkZWZhdWx0VXAuY29weShjYW1lcmEudXApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -40,8 +40,8 @@ class NgtsGizmoViewcubeEdgeCube extends NgtSignalStore {
40
40
  this.#gizmoHelperApi()(this.get('position'));
41
41
  }
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeEdgeCube, isStandalone: true, selector: "ngts-gizmo-viewcube-edge-cube", inputs: { dimensions: "dimensions", position: "position" }, usesInheritance: true, ngImport: i0, template: `
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeEdgeCube, isStandalone: true, selector: "ngts-gizmo-viewcube-edge-cube", inputs: { dimensions: "dimensions", position: "position" }, usesInheritance: true, ngImport: i0, template: `
45
45
  <ngt-mesh
46
46
  [scale]="1.01"
47
47
  [position]="edgePosition()"
@@ -60,7 +60,7 @@ class NgtsGizmoViewcubeEdgeCube extends NgtSignalStore {
60
60
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
61
61
  }
62
62
  export { NgtsGizmoViewcubeEdgeCube };
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, decorators: [{
64
64
  type: Component,
65
65
  args: [{
66
66
  selector: 'ngts-gizmo-viewcube-edge-cube',
@@ -55,8 +55,8 @@ class NgtsGizmoViewcubeFaceMaterial extends NgtSignalStore {
55
55
  opacity: 1,
56
56
  });
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeFaceMaterial, isStandalone: true, selector: "ngts-gizmo-viewcube-face-material", inputs: { index: "index", hover: "hover" }, usesInheritance: true, ngImport: i0, template: `
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeFaceMaterial, isStandalone: true, selector: "ngts-gizmo-viewcube-face-material", inputs: { index: "index", hover: "hover" }, usesInheritance: true, ngImport: i0, template: `
60
60
  <ngt-mesh-lambert-material
61
61
  [attach]="['material', faceIndex()]"
62
62
  [map]="texture()"
@@ -70,7 +70,7 @@ class NgtsGizmoViewcubeFaceMaterial extends NgtSignalStore {
70
70
  `, isInline: true }); }
71
71
  }
72
72
  export { NgtsGizmoViewcubeFaceMaterial };
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, decorators: [{
74
74
  type: Component,
75
75
  args: [{
76
76
  selector: 'ngts-gizmo-viewcube-face-material',
@@ -120,8 +120,8 @@ class NgtsGizmoViewcubeFaceCube {
120
120
  this.#gizmoHelperApi()(event.face.normal);
121
121
  }
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeFaceCube, isStandalone: true, selector: "ngts-gizmo-viewcube-face-cube", ngImport: i0, template: `
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeFaceCube, isStandalone: true, selector: "ngts-gizmo-viewcube-face-cube", ngImport: i0, template: `
125
125
  <ngt-mesh
126
126
  (pointermove)="onPointerMove($any($event))"
127
127
  (pointerout)="onPointerOut($any($event))"
@@ -133,7 +133,7 @@ class NgtsGizmoViewcubeFaceCube {
133
133
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeFaceMaterial, selector: "ngts-gizmo-viewcube-face-material", inputs: ["index", "hover"] }, { kind: "directive", type: NgtRepeat, selector: "[ngFor][ngForRepeat]", inputs: ["ngForRepeat"] }] }); }
134
134
  }
135
135
  export { NgtsGizmoViewcubeFaceCube };
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, decorators: [{
137
137
  type: Component,
138
138
  args: [{
139
139
  selector: 'ngts-gizmo-viewcube-face-cube',
@@ -36,11 +36,11 @@ class NgtsGizmoViewcubeInputs extends NgtSignalStore {
36
36
  set clickEmitter(clickEmitter) {
37
37
  this.set({ clickEmitter });
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeInputs, inputs: { opacity: "opacity", hoverColor: "hoverColor", textColor: "textColor", strokeColor: "strokeColor", faces: "faces", font: "font", color: "color", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0 }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeInputs, inputs: { opacity: "opacity", hoverColor: "hoverColor", textColor: "textColor", strokeColor: "strokeColor", faces: "faces", font: "font", color: "color", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0 }); }
41
41
  }
42
42
  export { NgtsGizmoViewcubeInputs };
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeInputs, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeInputs, decorators: [{
44
44
  type: Directive
45
45
  }], propDecorators: { opacity: [{
46
46
  type: Input
@@ -22,8 +22,8 @@ class NgtsGizmoViewcube extends NgtsGizmoViewcubeInputs {
22
22
  }
23
23
  });
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", outputs: { clicked: "clicked" }, providers: [{ provide: NgtsGizmoViewcubeInputs, useExisting: NgtsGizmoViewcube }], usesInheritance: true, ngImport: i0, template: `
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", outputs: { clicked: "clicked" }, providers: [{ provide: NgtsGizmoViewcubeInputs, useExisting: NgtsGizmoViewcube }], usesInheritance: true, ngImport: i0, template: `
27
27
  <ngt-group [scale]="60">
28
28
  <ngts-gizmo-viewcube-face-cube />
29
29
 
@@ -45,7 +45,7 @@ class NgtsGizmoViewcube extends NgtsGizmoViewcubeInputs {
45
45
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeEdgeCube, selector: "ngts-gizmo-viewcube-edge-cube", inputs: ["dimensions", "position"] }, { kind: "component", type: NgtsGizmoViewcubeFaceCube, selector: "ngts-gizmo-viewcube-face-cube" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
46
46
  }
47
47
  export { NgtsGizmoViewcube };
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
49
49
  type: Component,
50
50
  args: [{
51
51
  selector: 'ngts-gizmo-viewcube',
@@ -20,8 +20,8 @@ class NgtsGizmoViewportAxis extends NgtSignalStore {
20
20
  this.axisColor = this.select('color');
21
21
  this.axisScale = this.select('scale');
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { color: "color", rotation: "rotation", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { color: "color", rotation: "rotation", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
25
25
  <ngt-group [rotation]="axisRotation()">
26
26
  <ngt-mesh [position]="[0.4, 0, 0]">
27
27
  <ngt-box-geometry *args="axisScale()" />
@@ -31,7 +31,7 @@ class NgtsGizmoViewportAxis extends NgtSignalStore {
31
31
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
32
32
  }
33
33
  export { NgtsGizmoViewportAxis };
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
35
35
  type: Component,
36
36
  args: [{
37
37
  selector: 'ngts-gizmo-viewport-axis',
@@ -141,8 +141,8 @@ class NgtsGizmoViewportAxisHead extends NgtSignalStore {
141
141
  }
142
142
  }
143
143
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { arcStyle: "arcStyle", label: "label", labelColor: "labelColor", axisHeadScale: "axisHeadScale", disabled: "disabled", font: "font", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0, template: `
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { arcStyle: "arcStyle", label: "label", labelColor: "labelColor", axisHeadScale: "axisHeadScale", disabled: "disabled", font: "font", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0, template: `
146
146
  <ngt-sprite
147
147
  ngtCompound
148
148
  [scale]="scale()"
@@ -162,7 +162,7 @@ class NgtsGizmoViewportAxisHead extends NgtSignalStore {
162
162
  `, isInline: true }); }
163
163
  }
164
164
  export { NgtsGizmoViewportAxisHead };
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
166
166
  type: Component,
167
167
  args: [{
168
168
  selector: 'ngts-gizmo-viewport-axis-head',
@@ -62,8 +62,8 @@ class NgtsGizmoViewport extends NgtSignalStore {
62
62
  this.#gizmoHelperApi()(event.object.position);
63
63
  }
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { axisColors: "axisColors", axisScale: "axisScale", labels: "labels", axisHeadScale: "axisHeadScale", labelColor: "labelColor", hideNegativeAxes: "hideNegativeAxes", hideAxisHeads: "hideAxisHeads", disabled: "disabled", font: "font" }, outputs: { clicked: "clicked" }, usesInheritance: true, ngImport: i0, template: `
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { axisColors: "axisColors", axisScale: "axisScale", labels: "labels", axisHeadScale: "axisHeadScale", labelColor: "labelColor", hideNegativeAxes: "hideNegativeAxes", hideAxisHeads: "hideAxisHeads", disabled: "disabled", font: "font" }, outputs: { clicked: "clicked" }, usesInheritance: true, ngImport: i0, template: `
67
67
  <ngt-group ngtCompound [scale]="40">
68
68
  <ngts-gizmo-viewport-axis
69
69
  [color]="viewportAxisColors()[0]"
@@ -153,7 +153,7 @@ class NgtsGizmoViewport extends NgtSignalStore {
153
153
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "clickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
154
154
  }
155
155
  export { NgtsGizmoViewport };
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
157
157
  type: Component,
158
158
  args: [{
159
159
  selector: 'ngts-gizmo-viewport',