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
@@ -0,0 +1,150 @@
1
+ import { CUSTOM_ELEMENTS_SCHEMA, Component, Input } from '@angular/core';
2
+ import { NgtArgs, NgtSignalStore, extend, injectNgtRef } from 'angular-three';
3
+ import { GridMaterial } from 'angular-three-soba/shaders';
4
+ import * as THREE from 'three';
5
+ import { Mesh, PlaneGeometry } from 'three';
6
+ import * as i0 from "@angular/core";
7
+ extend({ Mesh, GridMaterial, PlaneGeometry });
8
+ class NgtsGrid extends NgtSignalStore {
9
+ set cellSize(cellSize) {
10
+ this.set({ cellSize });
11
+ }
12
+ set cellThickness(cellThickness) {
13
+ this.set({ cellThickness });
14
+ }
15
+ set cellColor(cellColor) {
16
+ this.set({ cellColor });
17
+ }
18
+ set sectionSize(sectionSize) {
19
+ this.set({ sectionSize });
20
+ }
21
+ set sectionThickness(sectionThickness) {
22
+ this.set({ sectionThickness });
23
+ }
24
+ set sectionColor(sectionColor) {
25
+ this.set({ sectionColor });
26
+ }
27
+ set followCamera(followCamera) {
28
+ this.set({ followCamera });
29
+ }
30
+ set infiniteGrid(infiniteGrid) {
31
+ this.set({ infiniteGrid });
32
+ }
33
+ set fadeDistance(fadeDistance) {
34
+ this.set({ fadeDistance });
35
+ }
36
+ set fadeStrength(fadeStrength) {
37
+ this.set({ fadeStrength });
38
+ }
39
+ set side(side) {
40
+ this.set({ side });
41
+ }
42
+ set args(args) {
43
+ this.set({ args });
44
+ }
45
+ constructor() {
46
+ super({
47
+ cellSize: 0.5,
48
+ sectionSize: 1,
49
+ fadeDistance: 100,
50
+ fadeStrength: 1,
51
+ cellThickness: 0.5,
52
+ sectionThickness: 1,
53
+ infiniteGrid: false,
54
+ followCamera: false,
55
+ cellColor: '#000000',
56
+ sectionColor: '#2080ff',
57
+ side: THREE.BackSide,
58
+ args: [1, 1, 1],
59
+ });
60
+ this.gridRef = injectNgtRef();
61
+ this.gridCellSize = this.select('cellSize');
62
+ this.gridSectionSize = this.select('sectionSize');
63
+ this.gridFadeDistance = this.select('fadeDistance');
64
+ this.gridFadeStrength = this.select('fadeStrength');
65
+ this.gridCellThickness = this.select('cellThickness');
66
+ this.gridSectionThickness = this.select('sectionThickness');
67
+ this.gridInfiniteGrid = this.select('infiniteGrid');
68
+ this.gridFollowCamera = this.select('followCamera');
69
+ this.gridCellColor = this.select('cellColor');
70
+ this.gridSectionColor = this.select('sectionColor');
71
+ this.gridSide = this.select('side');
72
+ this.gridArgs = this.select('args');
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGrid, isStandalone: true, selector: "ngts-grid", inputs: { gridRef: "gridRef", cellSize: "cellSize", cellThickness: "cellThickness", cellColor: "cellColor", sectionSize: "sectionSize", sectionThickness: "sectionThickness", sectionColor: "sectionColor", followCamera: "followCamera", infiniteGrid: "infiniteGrid", fadeDistance: "fadeDistance", fadeStrength: "fadeStrength", side: "side", args: "args" }, usesInheritance: true, ngImport: i0, template: `
76
+ <ngt-mesh ngtCompound [ref]="gridRef" [frustumCulled]="false">
77
+ <ngt-grid-material
78
+ [transparent]="true"
79
+ [side]="gridSide()"
80
+ [cellSize]="gridCellSize()"
81
+ [sectionSize]="gridSectionSize()"
82
+ [cellColor]="gridCellColor()"
83
+ [sectionColor]="gridSectionColor()"
84
+ [cellThickness]="gridCellThickness()"
85
+ [sectionThickness]="gridSectionThickness()"
86
+ [fadeDistance]="gridFadeDistance()"
87
+ [fadeStrength]="gridFadeStrength()"
88
+ [infiniteGrid]="gridInfiniteGrid()"
89
+ [followCamera]="gridFollowCamera()"
90
+ />
91
+ <ngt-plane-geometry *args="gridArgs()" />
92
+ </ngt-mesh>
93
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
94
+ }
95
+ export { NgtsGrid };
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGrid, decorators: [{
97
+ type: Component,
98
+ args: [{
99
+ selector: 'ngts-grid',
100
+ standalone: true,
101
+ template: `
102
+ <ngt-mesh ngtCompound [ref]="gridRef" [frustumCulled]="false">
103
+ <ngt-grid-material
104
+ [transparent]="true"
105
+ [side]="gridSide()"
106
+ [cellSize]="gridCellSize()"
107
+ [sectionSize]="gridSectionSize()"
108
+ [cellColor]="gridCellColor()"
109
+ [sectionColor]="gridSectionColor()"
110
+ [cellThickness]="gridCellThickness()"
111
+ [sectionThickness]="gridSectionThickness()"
112
+ [fadeDistance]="gridFadeDistance()"
113
+ [fadeStrength]="gridFadeStrength()"
114
+ [infiniteGrid]="gridInfiniteGrid()"
115
+ [followCamera]="gridFollowCamera()"
116
+ />
117
+ <ngt-plane-geometry *args="gridArgs()" />
118
+ </ngt-mesh>
119
+ `,
120
+ imports: [NgtArgs],
121
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
122
+ }]
123
+ }], ctorParameters: function () { return []; }, propDecorators: { gridRef: [{
124
+ type: Input
125
+ }], cellSize: [{
126
+ type: Input
127
+ }], cellThickness: [{
128
+ type: Input
129
+ }], cellColor: [{
130
+ type: Input
131
+ }], sectionSize: [{
132
+ type: Input
133
+ }], sectionThickness: [{
134
+ type: Input
135
+ }], sectionColor: [{
136
+ type: Input
137
+ }], followCamera: [{
138
+ type: Input
139
+ }], infiniteGrid: [{
140
+ type: Input
141
+ }], fadeDistance: [{
142
+ type: Input
143
+ }], fadeStrength: [{
144
+ type: Input
145
+ }], side: [{
146
+ type: Input
147
+ }], args: [{
148
+ type: Input
149
+ }] } });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL2dyaWQvZ3JpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFFNUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBNkI5QyxNQXlCYSxRQUFTLFNBQVEsY0FBNkI7SUFFdkQsSUFBYSxRQUFRLENBQUMsUUFBbUM7UUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQWEsYUFBYSxDQUFDLGFBQTZDO1FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFhLFNBQVMsQ0FBQyxTQUFxQztRQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsV0FBeUM7UUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQWEsZ0JBQWdCLENBQUMsZ0JBQW1EO1FBQzdFLElBQUksQ0FBQyxHQUFHLENB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LElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0JUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzBFQUVZLE9BQU87c0JBQWYsS0FBSztnQkFDTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFJTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0U2lnbmFsU3RvcmUsIGV4dGVuZCwgaW5qZWN0Tmd0UmVmIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBHcmlkTWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvc2hhZGVycyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBNZXNoLCBQbGFuZUdlb21ldHJ5IH0gZnJvbSAndGhyZWUnO1xuXG5leHRlbmQoeyBNZXNoLCBHcmlkTWF0ZXJpYWwsIFBsYW5lR2VvbWV0cnkgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0dyaWRTdGF0ZSB7XG4gICAgLyoqIENlbGwgc2l6ZSwgZGVmYXVsdDogMC41ICovXG4gICAgY2VsbFNpemU6IG51bWJlcjtcbiAgICAvKiogQ2VsbCB0aGlja25lc3MsIGRlZmF1bHQ6IDAuNSAqL1xuICAgIGNlbGxUaGlja25lc3M6IG51bWJlcjtcbiAgICAvKiogQ2VsbCBjb2xvciwgZGVmYXVsdDogYmxhY2sgKi9cbiAgICBjZWxsQ29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb247XG4gICAgLyoqIFNlY3Rpb24gc2l6ZSwgZGVmYXVsdDogMSAqL1xuICAgIHNlY3Rpb25TaXplOiBudW1iZXI7XG4gICAgLyoqIFNlY3Rpb24gdGhpY2tuZXNzLCBkZWZhdWx0OiAxICovXG4gICAgc2VjdGlvblRoaWNrbmVzczogbnVtYmVyO1xuICAgIC8qKiBTZWN0aW9uIGNvbG9yLCBkZWZhdWx0OiAjMjA4MGZmICovXG4gICAgc2VjdGlvbkNvbG9yOiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uO1xuICAgIC8qKiBGb2xsb3cgY2FtZXJhLCBkZWZhdWx0OiBmYWxzZSAqL1xuICAgIGZvbGxvd0NhbWVyYTogYm9vbGVhbjtcbiAgICAvKiogRGlzcGxheSB0aGUgZ3JpZCBpbmZpbml0ZWx5LCBkZWZhdWx0OiBmYWxzZSAqL1xuICAgIGluZmluaXRlR3JpZDogYm9vbGVhbjtcbiAgICAvKiogRmFkZSBkaXN0YW5jZSwgZGVmYXVsdDogMTAwICovXG4gICAgZmFkZURpc3RhbmNlOiBudW1iZXI7XG4gICAgLyoqIEZhZGUgc3RyZW5ndGgsIGRlZmF1bHQ6IDEgKi9cbiAgICBmYWRlU3RyZW5ndGg6IG51bWJlcjtcbiAgICAvKiogTWF0ZXJpYWwgc2lkZSwgZGVmYXVsdDogVEhSRUUuQmFja1NpZGUgKi9cbiAgICBzaWRlOiBUSFJFRS5TaWRlO1xuICAgIC8qKiBEZWZhdWx0IHBsYW5lLWdlb21ldHJ5IGFyZ3VtZW50cyAqL1xuICAgIGFyZ3M6IENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgVEhSRUUuUGxhbmVHZW9tZXRyeT47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy1ncmlkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtbWVzaCBuZ3RDb21wb3VuZCBbcmVmXT1cImdyaWRSZWZcIiBbZnJ1c3R1bUN1bGxlZF09XCJmYWxzZVwiPlxuICAgICAgICAgICAgPG5ndC1ncmlkLW1hdGVyaWFsXG4gICAgICAgICAgICAgICAgW3RyYW5zcGFyZW50XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaWRlXT1cImdyaWRTaWRlKClcIlxuICAgICAgICAgICAgICAgIFtjZWxsU2l6ZV09XCJncmlkQ2VsbFNpemUoKVwiXG4gICAgICAgICAgICAgICAgW3NlY3Rpb25TaXplXT1cImdyaWRTZWN0aW9uU2l6ZSgpXCJcbiAgICAgICAgICAgICAgICBbY2VsbENvbG9yXT1cImdyaWRDZWxsQ29sb3IoKVwiXG4gICAgICAgICAgICAgICAgW3NlY3Rpb25Db2xvcl09XCJncmlkU2VjdGlvbkNvbG9yKClcIlxuICAgICAgICAgICAgICAgIFtjZWxsVGhpY2tuZXNzXT1cImdyaWRDZWxsVGhpY2tuZXNzKClcIlxuICAgICAgICAgICAgICAgIFtzZWN0aW9uVGhpY2tuZXNzXT1cImdyaWRTZWN0aW9uVGhpY2tuZXNzKClcIlxuICAgICAgICAgICAgICAgIFtmYWRlRGlzdGFuY2VdPVwiZ3JpZEZhZGVEaXN0YW5jZSgpXCJcbiAgICAgICAgICAgICAgICBbZmFkZVN0cmVuZ3RoXT1cImdyaWRGYWRlU3RyZW5ndGgoKVwiXG4gICAgICAgICAgICAgICAgW2luZmluaXRlR3JpZF09XCJncmlkSW5maW5pdGVHcmlkKClcIlxuICAgICAgICAgICAgICAgIFtmb2xsb3dDYW1lcmFdPVwiZ3JpZEZvbGxvd0NhbWVyYSgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmd0LXBsYW5lLWdlb21ldHJ5ICphcmdzPVwiZ3JpZEFyZ3MoKVwiIC8+XG4gICAgICAgIDwvbmd0LW1lc2g+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJnc10sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzR3JpZCBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNHcmlkU3RhdGU+IHtcbiAgICBASW5wdXQoKSBncmlkUmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLk1lc2g+KCk7XG4gICAgQElucHV0KCkgc2V0IGNlbGxTaXplKGNlbGxTaXplOiBOZ3RzR3JpZFN0YXRlWydjZWxsU2l6ZSddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY2VsbFNpemUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNlbGxUaGlja25lc3MoY2VsbFRoaWNrbmVzczogTmd0c0dyaWRTdGF0ZVsnY2VsbFRoaWNrbmVzcyddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY2VsbFRoaWNrbmVzcyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgY2VsbENvbG9yKGNlbGxDb2xvcjogTmd0c0dyaWRTdGF0ZVsnY2VsbENvbG9yJ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjZWxsQ29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNlY3Rpb25TaXplKHNlY3Rpb25TaXplOiBOZ3RzR3JpZFN0YXRlWydzZWN0aW9uU2l6ZSddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc2VjdGlvblNpemUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNlY3Rpb25UaGlja25lc3Moc2VjdGlvblRoaWNrbmVzczogTmd0c0dyaWRTdGF0ZVsnc2VjdGlvblRoaWNrbmVzcyddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc2VjdGlvblRoaWNrbmVzcyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgc2VjdGlvbkNvbG9yKHNlY3Rpb25Db2xvcjogTmd0c0dyaWRTdGF0ZVsnc2VjdGlvbkNvbG9yJ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzZWN0aW9uQ29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZvbGxvd0NhbWVyYShmb2xsb3dDYW1lcmE6IE5ndHNHcmlkU3RhdGVbJ2ZvbGxvd0NhbWVyYSddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZm9sbG93Q2FtZXJhIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBpbmZpbml0ZUdyaWQoaW5maW5pdGVHcmlkOiBOZ3RzR3JpZFN0YXRlWydpbmZpbml0ZUdyaWQnXSkge1xuICAgICAgICB0aGlzLnNldCh7IGluZmluaXRlR3JpZCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZmFkZURpc3RhbmNlKGZhZGVEaXN0YW5jZTogTmd0c0dyaWRTdGF0ZVsnZmFkZURpc3RhbmNlJ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmYWRlRGlzdGFuY2UgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZhZGVTdHJlbmd0aChmYWRlU3RyZW5ndGg6IE5ndHNHcmlkU3RhdGVbJ2ZhZGVTdHJlbmd0aCddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmFkZVN0cmVuZ3RoIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzaWRlKHNpZGU6IE5ndHNHcmlkU3RhdGVbJ3NpZGUnXSkge1xuICAgICAgICB0aGlzLnNldCh7IHNpZGUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGFyZ3MoYXJnczogTmd0c0dyaWRTdGF0ZVsnYXJncyddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgYXJncyB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSBncmlkQ2VsbFNpemUgPSB0aGlzLnNlbGVjdCgnY2VsbFNpemUnKTtcbiAgICByZWFkb25seSBncmlkU2VjdGlvblNpemUgPSB0aGlzLnNlbGVjdCgnc2VjdGlvblNpemUnKTtcbiAgICByZWFkb25seSBncmlkRmFkZURpc3RhbmNlID0gdGhpcy5zZWxlY3QoJ2ZhZGVEaXN0YW5jZScpO1xuICAgIHJlYWRvbmx5IGdyaWRGYWRlU3RyZW5ndGggPSB0aGlzLnNlbGVjdCgnZmFkZVN0cmVuZ3RoJyk7XG4gICAgcmVhZG9ubHkgZ3JpZENlbGxUaGlja25lc3MgPSB0aGlzLnNlbGVjdCgnY2VsbFRoaWNrbmVzcycpO1xuICAgIHJlYWRvbmx5IGdyaWRTZWN0aW9uVGhpY2tuZXNzID0gdGhpcy5zZWxlY3QoJ3NlY3Rpb25UaGlja25lc3MnKTtcbiAgICByZWFkb25seSBncmlkSW5maW5pdGVHcmlkID0gdGhpcy5zZWxlY3QoJ2luZmluaXRlR3JpZCcpO1xuICAgIHJlYWRvbmx5IGdyaWRGb2xsb3dDYW1lcmEgPSB0aGlzLnNlbGVjdCgnZm9sbG93Q2FtZXJhJyk7XG4gICAgcmVhZG9ubHkgZ3JpZENlbGxDb2xvciA9IHRoaXMuc2VsZWN0KCdjZWxsQ29sb3InKTtcbiAgICByZWFkb25seSBncmlkU2VjdGlvbkNvbG9yID0gdGhpcy5zZWxlY3QoJ3NlY3Rpb25Db2xvcicpO1xuICAgIHJlYWRvbmx5IGdyaWRTaWRlID0gdGhpcy5zZWxlY3QoJ3NpZGUnKTtcbiAgICByZWFkb25seSBncmlkQXJncyA9IHRoaXMuc2VsZWN0KCdhcmdzJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgY2VsbFNpemU6IDAuNSxcbiAgICAgICAgICAgIHNlY3Rpb25TaXplOiAxLFxuICAgICAgICAgICAgZmFkZURpc3RhbmNlOiAxMDAsXG4gICAgICAgICAgICBmYWRlU3RyZW5ndGg6IDEsXG4gICAgICAgICAgICBjZWxsVGhpY2tuZXNzOiAwLjUsXG4gICAgICAgICAgICBzZWN0aW9uVGhpY2tuZXNzOiAxLFxuICAgICAgICAgICAgaW5maW5pdGVHcmlkOiBmYWxzZSxcbiAgICAgICAgICAgIGZvbGxvd0NhbWVyYTogZmFsc2UsXG4gICAgICAgICAgICBjZWxsQ29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgICAgIHNlY3Rpb25Db2xvcjogJyMyMDgwZmYnLFxuICAgICAgICAgICAgc2lkZTogVEhSRUUuQmFja1NpZGUsXG4gICAgICAgICAgICBhcmdzOiBbMSwgMSwgMV0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -5,8 +5,9 @@ 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';
11
12
  export * from './text/text';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvYWJzdHJhY3Rpb25zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JpbGxib2FyZC9iaWxsYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRtdWxsLXJvbS1saW5lL2NhdG11bGwtcm9tLWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jdWJpYy1iZXppZXItbGluZS9jdWJpYy1iZXppZXItbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2VkZ2VzL2VkZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3Y3ViZS9naXptby12aWV3Y3ViZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3cG9ydC9naXptby12aWV3cG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUvbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1YWRyYXRpYy1iZXppZXItbGluZS9xdWFkcmF0aWMtYmV6aWVyLWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LTNkL3RleHQtM2QnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0L3RleHQnO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvYWJzdHJhY3Rpb25zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JpbGxib2FyZC9iaWxsYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRtdWxsLXJvbS1saW5lL2NhdG11bGwtcm9tLWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jdWJpYy1iZXppZXItbGluZS9jdWJpYy1iZXppZXItbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2VkZ2VzL2VkZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3Y3ViZS9naXptby12aWV3Y3ViZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3cG9ydC9naXptby12aWV3cG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL2dyaWQvZ3JpZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUvbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1YWRyYXRpYy1iZXppZXItbGluZS9xdWFkcmF0aWMtYmV6aWVyLWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LTNkL3RleHQtM2QnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0L3RleHQnO1xuIl19
@@ -79,11 +79,11 @@ class NgtsLineInputs extends NgtSignalStore {
79
79
  worldUnits: this.#worldUnits(),
80
80
  }));
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLineInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsLineInputs, inputs: { vertexColors: "vertexColors", lineWidth: "lineWidth", alphaToCoverage: "alphaToCoverage", color: "color", dashed: "dashed", dashScale: "dashScale", dashSize: "dashSize", dashOffset: "dashOffset", gapSize: "gapSize", resolution: "resolution", wireframe: "wireframe", worldUnits: "worldUnits" }, usesInheritance: true, ngImport: i0 }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLineInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsLineInputs, inputs: { vertexColors: "vertexColors", lineWidth: "lineWidth", alphaToCoverage: "alphaToCoverage", color: "color", dashed: "dashed", dashScale: "dashScale", dashSize: "dashSize", dashOffset: "dashOffset", gapSize: "gapSize", resolution: "resolution", wireframe: "wireframe", worldUnits: "worldUnits" }, usesInheritance: true, ngImport: i0 }); }
84
84
  }
85
85
  export { NgtsLineInputs };
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLineInputs, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLineInputs, decorators: [{
87
87
  type: Directive
88
88
  }], ctorParameters: function () { return []; }, propDecorators: { vertexColors: [{
89
89
  type: Input
@@ -101,8 +101,8 @@ class NgtsLine extends NgtsLineInputs {
101
101
  onCleanup(() => lineGeometry.dispose());
102
102
  });
103
103
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsLine, isStandalone: true, selector: "ngts-line", inputs: { lineRef: "lineRef", points: "points", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsLine, isStandalone: true, selector: "ngts-line", inputs: { lineRef: "lineRef", points: "points", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
106
106
  <ngt-primitive *args="[line()]" [ref]="lineRef" ngtCompound>
107
107
  <ngt-primitive *args="[lineGeometry()]" attach="geometry" />
108
108
  <ngt-primitive
@@ -125,7 +125,7 @@ class NgtsLine extends NgtsLineInputs {
125
125
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
126
126
  }
127
127
  export { NgtsLine };
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLine, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLine, decorators: [{
129
129
  type: Component,
130
130
  args: [{
131
131
  selector: 'ngts-line',
@@ -68,8 +68,8 @@ class NgtsQuadraticBezierLine extends NgtsLineInputs {
68
68
  }
69
69
  return this.#curve.getPoints(segments);
70
70
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsQuadraticBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsQuadraticBezierLine, isStandalone: true, selector: "ngts-quadratic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", mid: "mid", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsQuadraticBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsQuadraticBezierLine, isStandalone: true, selector: "ngts-quadratic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", mid: "mid", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
73
73
  <ngts-line
74
74
  [lineRef]="lineRef"
75
75
  [points]="points()"
@@ -89,7 +89,7 @@ class NgtsQuadraticBezierLine extends NgtsLineInputs {
89
89
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["lineRef", "points", "segments"] }] }); }
90
90
  }
91
91
  export { NgtsQuadraticBezierLine };
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsQuadraticBezierLine, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsQuadraticBezierLine, decorators: [{
93
93
  type: Component,
94
94
  args: [{
95
95
  selector: 'ngts-quadratic-bezier-line',
@@ -95,7 +95,6 @@ class NgtsText extends NgtSignalStore {
95
95
  this.sync = new EventEmitter();
96
96
  this.troikaText = new Text();
97
97
  this.#store = inject(NgtStore);
98
- this.state = this.select();
99
98
  inject(DestroyRef).onDestroy(() => {
100
99
  this.troikaText.dispose();
101
100
  });
@@ -113,9 +112,8 @@ class NgtsText extends NgtSignalStore {
113
112
  });
114
113
  }
115
114
  #syncText() {
116
- const state = this.select();
117
115
  effect(() => {
118
- state();
116
+ this.state();
119
117
  const invalidate = this.#store.get('invalidate');
120
118
  this.troikaText.sync(() => {
121
119
  invalidate();
@@ -125,8 +123,8 @@ class NgtsText extends NgtSignalStore {
125
123
  });
126
124
  });
127
125
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { textRef: "textRef", text: "text", font: "font", fontSize: "fontSize", anchorX: "anchorX", anchorY: "anchorY", sdfGlyphSize: "sdfGlyphSize", characters: "characters", color: "color", maxWidth: "maxWidth", lineHeight: "lineHeight", letterSpacing: "letterSpacing", textAlign: "textAlign", clipRect: "clipRect", depthOffset: "depthOffset", direction: "direction", overflowWrap: "overflowWrap", whiteSpace: "whiteSpace", outlineWidth: "outlineWidth", outlineOffsetX: "outlineOffsetX", outlineOffsetY: "outlineOffsetY", outlineBlur: "outlineBlur", outlineColor: "outlineColor", outlineOpacity: "outlineOpacity", strokeWidth: "strokeWidth", strokeColor: "strokeColor", strokeOpacity: "strokeOpacity", fillOpacity: "fillOpacity", debugSDF: "debugSDF" }, outputs: { sync: "sync" }, usesInheritance: true, ngImport: i0, template: `
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { textRef: "textRef", text: "text", font: "font", fontSize: "fontSize", anchorX: "anchorX", anchorY: "anchorY", sdfGlyphSize: "sdfGlyphSize", characters: "characters", color: "color", maxWidth: "maxWidth", lineHeight: "lineHeight", letterSpacing: "letterSpacing", textAlign: "textAlign", clipRect: "clipRect", depthOffset: "depthOffset", direction: "direction", overflowWrap: "overflowWrap", whiteSpace: "whiteSpace", outlineWidth: "outlineWidth", outlineOffsetX: "outlineOffsetX", outlineOffsetY: "outlineOffsetY", outlineBlur: "outlineBlur", outlineColor: "outlineColor", outlineOpacity: "outlineOpacity", strokeWidth: "strokeWidth", strokeColor: "strokeColor", strokeOpacity: "strokeOpacity", fillOpacity: "fillOpacity", debugSDF: "debugSDF" }, outputs: { sync: "sync" }, usesInheritance: true, ngImport: i0, template: `
130
128
  <ngt-primitive
131
129
  ngtCompound
132
130
  *args="[troikaText]"
@@ -165,7 +163,7 @@ class NgtsText extends NgtSignalStore {
165
163
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
166
164
  }
167
165
  export { NgtsText };
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText, decorators: [{
169
167
  type: Component,
170
168
  args: [{
171
169
  selector: 'ngts-text',
@@ -272,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
272
270
  }], sync: [{
273
271
  type: Output
274
272
  }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL3RleHQvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFOUYsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBd0N0RCxNQTJDYSxRQUFTLFNBQVEsY0FBNkI7SUFHdkQsSUFBK0IsSUFBSSxDQUFDLElBQVk7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxPQUE2QztRQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBa0Y7UUFDbkcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLFlBQW9CO1FBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFhLFVBQVUsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBZ0M7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFhLFVBQVUsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxhQUFhLENBQUMsYUFBcUI7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLFNBQWtEO1FBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxRQUEwQztRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsV0FBbUI7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLFNBQWlDO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFhLFlBQVksQ0FBQyxZQUFxQztRQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsVUFBZ0Q7UUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLFlBQTZCO1FBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFhLGNBQWMsQ0FBQyxjQUErQjtRQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBYSxjQUFjLENBQUMsY0FBK0I7UUFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWEsV0FBVyxDQUFDLFdBQTRCO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLFlBQVksQ0FBQyxZQUF1QztRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBYSxjQUFjLENBQUMsY0FBc0I7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWEsV0FBVyxDQUFDLFdBQTRCO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLFdBQVcsQ0FBQyxXQUFzQztRQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBYSxhQUFhLENBQUMsYUFBcUI7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQWEsV0FBVyxDQUFDLFdBQW1CO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBTVEsTUFBTSxDQUFvQjtJQUluQztRQUNJLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBM0gxRSxZQUFPLEdBQUcsWUFBWSxFQUFRLENBQUM7UUFrSDlCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpDLGVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXhCLFdBQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUIsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUkzQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNSLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0UsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RCLFVBQVUsRUFBRSxDQUFDO2dCQUNiLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDbkM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E1SlEsUUFBUTtrR0FBUixRQUFRLDIyQkF4Q1A7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9DVCw0REFDUyxPQUFPOztTQUdSLFFBQVE7MkZBQVIsUUFBUTtrQkEzQ3BCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9DVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzswRUFFWSxPQUFPO3NCQUFmLEtBQUs7Z0JBRXlCLElBQUk7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlaLElBQUk7c0JBQWhCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUlPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0U2lnbmFsU3RvcmUsIE5ndFN0b3JlLCBpbmplY3ROZ3RSZWYsIHR5cGUgTmd0TWVzaCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuXG4vLyBAdHMtZXhwZWN0LWVycm9yOiBubyB0eXBlIGRlZiBmb3IgdHJvaWthLXRocmVlLXRleHRcbmltcG9ydCB7IFRleHQsIHByZWxvYWRGb250IH0gZnJvbSAndHJvaWthLXRocmVlLXRleHQnO1xuXG5leHBvcnQgdHlwZSBOZ3RzVGV4dFN0YXRlID0ge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogRm9udCBzaXplLCBkZWZhdWx0OiAxICovXG4gICAgZm9udFNpemU6IG51bWJlcjtcbiAgICBhbmNob3JYOiBudW1iZXIgfCAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gICAgYW5jaG9yWTogbnVtYmVyIHwgJ3RvcCcgfCAndG9wLWJhc2VsaW5lJyB8ICdtaWRkbGUnIHwgJ2JvdHRvbS1iYXNlbGluZScgfCAnYm90dG9tJztcbiAgICBzZGZHbHlwaFNpemU6IG51bWJlcjtcbiAgICBmb250Pzogc3RyaW5nO1xuICAgIGNoYXJhY3RlcnM/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uO1xuICAgIG1heFdpZHRoPzogbnVtYmVyO1xuICAgIGxpbmVIZWlnaHQ/OiBudW1iZXI7XG4gICAgbGV0dGVyU3BhY2luZz86IG51bWJlcjtcbiAgICB0ZXh0QWxpZ24/OiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcicgfCAnanVzdGlmeSc7XG4gICAgY2xpcFJlY3Q/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgICBkZXB0aE9mZnNldD86IG51bWJlcjtcbiAgICBkaXJlY3Rpb24/OiAnYXV0bycgfCAnbHRyJyB8ICdydGwnO1xuICAgIG92ZXJmbG93V3JhcD86ICdub3JtYWwnIHwgJ2JyZWFrLXdvcmQnO1xuICAgIHdoaXRlU3BhY2U/OiAnbm9ybWFsJyB8ICdvdmVyZmxvd1dyYXAnIHwgJ25vd3JhcCc7XG4gICAgb3V0bGluZVdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG91dGxpbmVPZmZzZXRYPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG91dGxpbmVPZmZzZXRZPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG91dGxpbmVCbHVyPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG91dGxpbmVDb2xvcj86IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb247XG4gICAgb3V0bGluZU9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I/OiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uO1xuICAgIHN0cm9rZU9wYWNpdHk/OiBudW1iZXI7XG4gICAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gICAgZGVidWdTREY/OiBib29sZWFuO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgICAgICAnbmd0cy10ZXh0JzogTmd0c1RleHRTdGF0ZSAmIE5ndE1lc2g7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtdGV4dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LXByaW1pdGl2ZVxuICAgICAgICAgICAgbmd0Q29tcG91bmRcbiAgICAgICAgICAgICphcmdzPVwiW3Ryb2lrYVRleHRdXCJcbiAgICAgICAgICAgIFtyZWZdPVwidGV4dFJlZlwiXG4gICAgICAgICAgICBbdGV4dF09XCJzdGF0ZSgpLnRleHRcIlxuICAgICAgICAgICAgW2FuY2hvclhdPVwic3RhdGUoKS5hbmNob3JYXCJcbiAgICAgICAgICAgIFthbmNob3JZXT1cInN0YXRlKCkuYW5jaG9yWVwiXG4gICAgICAgICAgICBbZm9udF09XCJzdGF0ZSgpLmZvbnRcIlxuICAgICAgICAgICAgW2ZvbnRTaXplXT1cInN0YXRlKCkuZm9udFNpemVcIlxuICAgICAgICAgICAgW3NkZkdseXBoU2l6ZV09XCJzdGF0ZSgpLnNkZkdseXBoU2l6ZVwiXG4gICAgICAgICAgICBbY2hhcmFjdGVyc109XCJzdGF0ZSgpLmNoYXJhY3RlcnNcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInN0YXRlKCkuY29sb3JcIlxuICAgICAgICAgICAgW21heFdpZHRoXT1cInN0YXRlKCkubWF4V2lkdGhcIlxuICAgICAgICAgICAgW2xpbmVIZWlnaHRdPVwic3RhdGUoKS5saW5lSGVpZ2h0XCJcbiAgICAgICAgICAgIFtsZXR0ZXJTcGFjaW5nXT1cInN0YXRlKCkubGV0dGVyU3BhY2luZ1wiXG4gICAgICAgICAgICBbdGV4dEFsaWduXT1cInN0YXRlKCkudGV4dEFsaWduXCJcbiAgICAgICAgICAgIFtjbGlwUmVjdF09XCJzdGF0ZSgpLmNsaXBSZWN0XCJcbiAgICAgICAgICAgIFtkZXB0aE9mZnNldF09XCJzdGF0ZSgpLmRlcHRoT2Zmc2V0XCJcbiAgICAgICAgICAgIFtkaXJlY3Rpb25dPVwic3RhdGUoKS5kaXJlY3Rpb25cIlxuICAgICAgICAgICAgW292ZXJmbG93V3JhcF09XCJzdGF0ZSgpLm92ZXJmbG93V3JhcFwiXG4gICAgICAgICAgICBbd2hpdGVTcGFjZV09XCJzdGF0ZSgpLndoaXRlU3BhY2VcIlxuICAgICAgICAgICAgW291dGxpbmVXaWR0aF09XCJzdGF0ZSgpLm91dGxpbmVXaWR0aFwiXG4gICAgICAgICAgICBbb3V0bGluZU9mZnNldFhdPVwic3RhdGUoKS5vdXRsaW5lT2Zmc2V0WFwiXG4gICAgICAgICAgICBbb3V0bGluZU9mZnNldFldPVwic3RhdGUoKS5vdXRsaW5lT2Zmc2V0WVwiXG4gICAgICAgICAgICBbb3V0bGluZUJsdXJdPVwic3RhdGUoKS5vdXRsaW5lQmx1clwiXG4gICAgICAgICAgICBbb3V0bGluZUNvbG9yXT1cInN0YXRlKCkub3V0bGluZUNvbG9yXCJcbiAgICAgICAgICAgIFtvdXRsaW5lT3BhY2l0eV09XCJzdGF0ZSgpLm91dGxpbmVPcGFjaXR5XCJcbiAgICAgICAgICAgIFtzdHJva2VXaWR0aF09XCJzdGF0ZSgpLnN0cm9rZVdpZHRoXCJcbiAgICAgICAgICAgIFtzdHJva2VDb2xvcl09XCJzdGF0ZSgpLnN0cm9rZUNvbG9yXCJcbiAgICAgICAgICAgIFtzdHJva2VPcGFjaXR5XT1cInN0YXRlKCkuc3Ryb2tlT3BhY2l0eVwiXG4gICAgICAgICAgICBbZmlsbE9wYWNpdHldPVwic3RhdGUoKS5maWxsT3BhY2l0eVwiXG4gICAgICAgICAgICBbZGVidWdTREZdPVwic3RhdGUoKS5kZWJ1Z1NERlwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvbmd0LXByaW1pdGl2ZT5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNUZXh0IGV4dGVuZHMgTmd0U2lnbmFsU3RvcmU8Tmd0c1RleHRTdGF0ZT4ge1xuICAgIEBJbnB1dCgpIHRleHRSZWYgPSBpbmplY3ROZ3RSZWY8VGV4dD4oKTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHNldCB0ZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IHRleHQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZvbnQoZm9udDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZm9udCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZm9udFNpemUoZm9udFNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGZvbnRTaXplIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbmNob3JYKGFuY2hvclg6IG51bWJlciB8ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jykge1xuICAgICAgICB0aGlzLnNldCh7IGFuY2hvclggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGFuY2hvclkoYW5jaG9yWTogbnVtYmVyIHwgJ3RvcCcgfCAndG9wLWJhc2VsaW5lJyB8ICdtaWRkbGUnIHwgJ2JvdHRvbS1iYXNlbGluZScgfCAnYm90dG9tJykge1xuICAgICAgICB0aGlzLnNldCh7IGFuY2hvclkgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNkZkdseXBoU2l6ZShzZGZHbHlwaFNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHNkZkdseXBoU2l6ZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgY2hhcmFjdGVycyhjaGFyYWN0ZXJzOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjaGFyYWN0ZXJzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjb2xvcihjb2xvcjogVEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLnNldCh7IGNvbG9yIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtYXhXaWR0aChtYXhXaWR0aDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWF4V2lkdGggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGxpbmVIZWlnaHQobGluZUhlaWdodDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbGluZUhlaWdodCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbGV0dGVyU3BhY2luZyhsZXR0ZXJTcGFjaW5nOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsZXR0ZXJTcGFjaW5nIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0ZXh0QWxpZ24odGV4dEFsaWduOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcicgfCAnanVzdGlmeScpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0ZXh0QWxpZ24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNsaXBSZWN0KGNsaXBSZWN0OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNldCh7IGNsaXBSZWN0IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkZXB0aE9mZnNldChkZXB0aE9mZnNldDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGVwdGhPZmZzZXQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRpcmVjdGlvbihkaXJlY3Rpb246ICdhdXRvJyB8ICdsdHInIHwgJ3J0bCcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkaXJlY3Rpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG92ZXJmbG93V3JhcChvdmVyZmxvd1dyYXA6ICdub3JtYWwnIHwgJ2JyZWFrLXdvcmQnKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgb3ZlcmZsb3dXcmFwIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB3aGl0ZVNwYWNlKHdoaXRlU3BhY2U6ICdub3JtYWwnIHwgJ292ZXJmbG93V3JhcCcgfCAnbm93cmFwJykge1xuICAgICAgICB0aGlzLnNldCh7IHdoaXRlU3BhY2UgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG91dGxpbmVXaWR0aChvdXRsaW5lV2lkdGg6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IG91dGxpbmVXaWR0aCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb3V0bGluZU9mZnNldFgob3V0bGluZU9mZnNldFg6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IG91dGxpbmVPZmZzZXRYIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvdXRsaW5lT2Zmc2V0WShvdXRsaW5lT2Zmc2V0WTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgb3V0bGluZU9mZnNldFkgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG91dGxpbmVCbHVyKG91dGxpbmVCbHVyOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBvdXRsaW5lQmx1ciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb3V0bGluZUNvbG9yKG91dGxpbmVDb2xvcjogVEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLnNldCh7IG91dGxpbmVDb2xvciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb3V0bGluZU9wYWNpdHkob3V0bGluZU9wYWNpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG91dGxpbmVPcGFjaXR5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzdHJva2VXaWR0aChzdHJva2VXaWR0aDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc3Ryb2tlV2lkdGggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHN0cm9rZUNvbG9yKHN0cm9rZUNvbG9yOiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc3Ryb2tlQ29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHN0cm9rZU9wYWNpdHkoc3Ryb2tlT3BhY2l0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc3Ryb2tlT3BhY2l0eSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZmlsbE9wYWNpdHkoZmlsbE9wYWNpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGZpbGxPcGFjaXR5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkZWJ1Z1NERihkZWJ1Z1NERjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGRlYnVnU0RGIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBzeW5jID0gbmV3IEV2ZW50RW1pdHRlcjxUZXh0PigpO1xuXG4gICAgcmVhZG9ubHkgdHJvaWthVGV4dCA9IG5ldyBUZXh0KCk7XG5cbiAgICByZWFkb25seSAjc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuXG4gICAgcmVhZG9ubHkgc3RhdGUgPSB0aGlzLnNlbGVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHsgZm9udFNpemU6IDEsIHNkZkdseXBoU2l6ZTogNjQsIGFuY2hvclg6ICdjZW50ZXInLCBhbmNob3JZOiAnbWlkZGxlJyB9KTtcbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRyb2lrYVRleHQuZGlzcG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jcHJlbG9hZEZvbnQoKTtcbiAgICAgICAgdGhpcy4jc3luY1RleHQoKTtcbiAgICB9XG5cbiAgICAjcHJlbG9hZEZvbnQoKSB7XG4gICAgICAgIGNvbnN0IGZvbnQgPSB0aGlzLnNlbGVjdCgnZm9udCcpO1xuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gdGhpcy5zZWxlY3QoJ2NoYXJhY3RlcnMnKTtcbiAgICAgICAgY29uc3QgdHJpZ2dlciA9IGNvbXB1dGVkKCgpID0+ICh7IGZvbnQ6IGZvbnQoKSwgY2hhcmFjdGVyczogY2hhcmFjdGVycygpIH0pKTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBmb250LCBjaGFyYWN0ZXJzIH0gPSB0cmlnZ2VyKCk7XG4gICAgICAgICAgICBjb25zdCBpbnZhbGlkYXRlID0gdGhpcy4jc3RvcmUuZ2V0KCdpbnZhbGlkYXRlJyk7XG4gICAgICAgICAgICBwcmVsb2FkRm9udCh7IGZvbnQsIGNoYXJhY3RlcnMgfSwgKCkgPT4gaW52YWxpZGF0ZSgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgI3N5bmNUZXh0KCkge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc2VsZWN0KCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBzdGF0ZSgpO1xuICAgICAgICAgICAgY29uc3QgaW52YWxpZGF0ZSA9IHRoaXMuI3N0b3JlLmdldCgnaW52YWxpZGF0ZScpO1xuICAgICAgICAgICAgdGhpcy50cm9pa2FUZXh0LnN5bmMoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGludmFsaWRhdGUoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zeW5jLm9ic2VydmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3luYy5lbWl0KHRoaXMudHJvaWthVGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9hYnN0cmFjdGlvbnMvc3JjL3RleHQvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFOUYsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBd0N0RCxNQTJDYSxRQUFTLFNBQVEsY0FBNkI7SUFHdkQsSUFBK0IsSUFBSSxDQUFDLElBQVk7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxPQUE2QztRQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBa0Y7UUFDbkcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLFlBQW9CO1FB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c0IsQ0FBQztpQkFDcEM7MEVBRVksT0FBTztzQkFBZixLQUFLO2dCQUV5QixJQUFJO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJWixJQUFJO3NCQUFoQixLQUFLO2dCQUlPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxhQUFhO3NCQUF6QixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sY0FBYztzQkFBMUIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxjQUFjO3NCQUExQixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxhQUFhO3NCQUF6QixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIE5ndFNpZ25hbFN0b3JlLCBOZ3RTdG9yZSwgaW5qZWN0Tmd0UmVmLCB0eXBlIE5ndE1lc2ggfSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuLy8gQHRzLWV4cGVjdC1lcnJvcjogbm8gdHlwZSBkZWYgZm9yIHRyb2lrYS10aHJlZS10ZXh0XG5pbXBvcnQgeyBUZXh0LCBwcmVsb2FkRm9udCB9IGZyb20gJ3Ryb2lrYS10aHJlZS10ZXh0JztcblxuZXhwb3J0IHR5cGUgTmd0c1RleHRTdGF0ZSA9IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgLyoqIEZvbnQgc2l6ZSwgZGVmYXVsdDogMSAqL1xuICAgIGZvbnRTaXplOiBudW1iZXI7XG4gICAgYW5jaG9yWDogbnVtYmVyIHwgJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIGFuY2hvclk6IG51bWJlciB8ICd0b3AnIHwgJ3RvcC1iYXNlbGluZScgfCAnbWlkZGxlJyB8ICdib3R0b20tYmFzZWxpbmUnIHwgJ2JvdHRvbSc7XG4gICAgc2RmR2x5cGhTaXplOiBudW1iZXI7XG4gICAgZm9udD86IHN0cmluZztcbiAgICBjaGFyYWN0ZXJzPzogc3RyaW5nO1xuICAgIGNvbG9yPzogVEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbjtcbiAgICBtYXhXaWR0aD86IG51bWJlcjtcbiAgICBsaW5lSGVpZ2h0PzogbnVtYmVyO1xuICAgIGxldHRlclNwYWNpbmc/OiBudW1iZXI7XG4gICAgdGV4dEFsaWduPzogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInIHwgJ2p1c3RpZnknO1xuICAgIGNsaXBSZWN0PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gICAgZGVwdGhPZmZzZXQ/OiBudW1iZXI7XG4gICAgZGlyZWN0aW9uPzogJ2F1dG8nIHwgJ2x0cicgfCAncnRsJztcbiAgICBvdmVyZmxvd1dyYXA/OiAnbm9ybWFsJyB8ICdicmVhay13b3JkJztcbiAgICB3aGl0ZVNwYWNlPzogJ25vcm1hbCcgfCAnb3ZlcmZsb3dXcmFwJyB8ICdub3dyYXAnO1xuICAgIG91dGxpbmVXaWR0aD86IG51bWJlciB8IHN0cmluZztcbiAgICBvdXRsaW5lT2Zmc2V0WD86IG51bWJlciB8IHN0cmluZztcbiAgICBvdXRsaW5lT2Zmc2V0WT86IG51bWJlciB8IHN0cmluZztcbiAgICBvdXRsaW5lQmx1cj86IG51bWJlciB8IHN0cmluZztcbiAgICBvdXRsaW5lQ29sb3I/OiBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uO1xuICAgIG91dGxpbmVPcGFjaXR5PzogbnVtYmVyO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHN0cm9rZUNvbG9yPzogVEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbjtcbiAgICBzdHJva2VPcGFjaXR5PzogbnVtYmVyO1xuICAgIGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuICAgIGRlYnVnU0RGPzogYm9vbGVhbjtcbn07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAgICAgJ25ndHMtdGV4dCc6IE5ndHNUZXh0U3RhdGUgJiBOZ3RNZXNoO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLXRleHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1wcmltaXRpdmVcbiAgICAgICAgICAgIG5ndENvbXBvdW5kXG4gICAgICAgICAgICAqYXJncz1cIlt0cm9pa2FUZXh0XVwiXG4gICAgICAgICAgICBbcmVmXT1cInRleHRSZWZcIlxuICAgICAgICAgICAgW3RleHRdPVwic3RhdGUoKS50ZXh0XCJcbiAgICAgICAgICAgIFthbmNob3JYXT1cInN0YXRlKCkuYW5jaG9yWFwiXG4gICAgICAgICAgICBbYW5jaG9yWV09XCJzdGF0ZSgpLmFuY2hvcllcIlxuICAgICAgICAgICAgW2ZvbnRdPVwic3RhdGUoKS5mb250XCJcbiAgICAgICAgICAgIFtmb250U2l6ZV09XCJzdGF0ZSgpLmZvbnRTaXplXCJcbiAgICAgICAgICAgIFtzZGZHbHlwaFNpemVdPVwic3RhdGUoKS5zZGZHbHlwaFNpemVcIlxuICAgICAgICAgICAgW2NoYXJhY3RlcnNdPVwic3RhdGUoKS5jaGFyYWN0ZXJzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJzdGF0ZSgpLmNvbG9yXCJcbiAgICAgICAgICAgIFttYXhXaWR0aF09XCJzdGF0ZSgpLm1heFdpZHRoXCJcbiAgICAgICAgICAgIFtsaW5lSGVpZ2h0XT1cInN0YXRlKCkubGluZUhlaWdodFwiXG4gICAgICAgICAgICBbbGV0dGVyU3BhY2luZ109XCJzdGF0ZSgpLmxldHRlclNwYWNpbmdcIlxuICAgICAgICAgICAgW3RleHRBbGlnbl09XCJzdGF0ZSgpLnRleHRBbGlnblwiXG4gICAgICAgICAgICBbY2xpcFJlY3RdPVwic3RhdGUoKS5jbGlwUmVjdFwiXG4gICAgICAgICAgICBbZGVwdGhPZmZzZXRdPVwic3RhdGUoKS5kZXB0aE9mZnNldFwiXG4gICAgICAgICAgICBbZGlyZWN0aW9uXT1cInN0YXRlKCkuZGlyZWN0aW9uXCJcbiAgICAgICAgICAgIFtvdmVyZmxvd1dyYXBdPVwic3RhdGUoKS5vdmVyZmxvd1dyYXBcIlxuICAgICAgICAgICAgW3doaXRlU3BhY2VdPVwic3RhdGUoKS53aGl0ZVNwYWNlXCJcbiAgICAgICAgICAgIFtvdXRsaW5lV2lkdGhdPVwic3RhdGUoKS5vdXRsaW5lV2lkdGhcIlxuICAgICAgICAgICAgW291dGxpbmVPZmZzZXRYXT1cInN0YXRlKCkub3V0bGluZU9mZnNldFhcIlxuICAgICAgICAgICAgW291dGxpbmVPZmZzZXRZXT1cInN0YXRlKCkub3V0bGluZU9mZnNldFlcIlxuICAgICAgICAgICAgW291dGxpbmVCbHVyXT1cInN0YXRlKCkub3V0bGluZUJsdXJcIlxuICAgICAgICAgICAgW291dGxpbmVDb2xvcl09XCJzdGF0ZSgpLm91dGxpbmVDb2xvclwiXG4gICAgICAgICAgICBbb3V0bGluZU9wYWNpdHldPVwic3RhdGUoKS5vdXRsaW5lT3BhY2l0eVwiXG4gICAgICAgICAgICBbc3Ryb2tlV2lkdGhdPVwic3RhdGUoKS5zdHJva2VXaWR0aFwiXG4gICAgICAgICAgICBbc3Ryb2tlQ29sb3JdPVwic3RhdGUoKS5zdHJva2VDb2xvclwiXG4gICAgICAgICAgICBbc3Ryb2tlT3BhY2l0eV09XCJzdGF0ZSgpLnN0cm9rZU9wYWNpdHlcIlxuICAgICAgICAgICAgW2ZpbGxPcGFjaXR5XT1cInN0YXRlKCkuZmlsbE9wYWNpdHlcIlxuICAgICAgICAgICAgW2RlYnVnU0RGXT1cInN0YXRlKCkuZGVidWdTREZcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25ndC1wcmltaXRpdmU+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJnc10sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzVGV4dCBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNUZXh0U3RhdGU+IHtcbiAgICBASW5wdXQoKSB0ZXh0UmVmID0gaW5qZWN0Tmd0UmVmPFRleHQ+KCk7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgdGV4dCh0ZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0ZXh0IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBmb250KGZvbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IGZvbnQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZvbnRTaXplKGZvbnRTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmb250U2l6ZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYW5jaG9yWChhbmNob3JYOiBudW1iZXIgfCAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBhbmNob3JYIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBhbmNob3JZKGFuY2hvclk6IG51bWJlciB8ICd0b3AnIHwgJ3RvcC1iYXNlbGluZScgfCAnbWlkZGxlJyB8ICdib3R0b20tYmFzZWxpbmUnIHwgJ2JvdHRvbScpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBhbmNob3JZIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzZGZHbHlwaFNpemUoc2RmR2x5cGhTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzZGZHbHlwaFNpemUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNoYXJhY3RlcnMoY2hhcmFjdGVyczogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY2hhcmFjdGVycyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgY29sb3IoY29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb24pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjb2xvciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWF4V2lkdGgobWF4V2lkdGg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG1heFdpZHRoIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBsaW5lSGVpZ2h0KGxpbmVIZWlnaHQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGxpbmVIZWlnaHQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGxldHRlclNwYWNpbmcobGV0dGVyU3BhY2luZzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbGV0dGVyU3BhY2luZyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgdGV4dEFsaWduKHRleHRBbGlnbjogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInIHwgJ2p1c3RpZnknKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgdGV4dEFsaWduIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjbGlwUmVjdChjbGlwUmVjdDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjbGlwUmVjdCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGVwdGhPZmZzZXQoZGVwdGhPZmZzZXQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGRlcHRoT2Zmc2V0IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkaXJlY3Rpb24oZGlyZWN0aW9uOiAnYXV0bycgfCAnbHRyJyB8ICdydGwnKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlyZWN0aW9uIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvdmVyZmxvd1dyYXAob3ZlcmZsb3dXcmFwOiAnbm9ybWFsJyB8ICdicmVhay13b3JkJykge1xuICAgICAgICB0aGlzLnNldCh7IG92ZXJmbG93V3JhcCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgd2hpdGVTcGFjZSh3aGl0ZVNwYWNlOiAnbm9ybWFsJyB8ICdvdmVyZmxvd1dyYXAnIHwgJ25vd3JhcCcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB3aGl0ZVNwYWNlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvdXRsaW5lV2lkdGgob3V0bGluZVdpZHRoOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBvdXRsaW5lV2lkdGggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG91dGxpbmVPZmZzZXRYKG91dGxpbmVPZmZzZXRYOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBvdXRsaW5lT2Zmc2V0WCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb3V0bGluZU9mZnNldFkob3V0bGluZU9mZnNldFk6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IG91dGxpbmVPZmZzZXRZIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvdXRsaW5lQmx1cihvdXRsaW5lQmx1cjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgb3V0bGluZUJsdXIgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG91dGxpbmVDb2xvcihvdXRsaW5lQ29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb24pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBvdXRsaW5lQ29sb3IgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG91dGxpbmVPcGFjaXR5KG91dGxpbmVPcGFjaXR5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBvdXRsaW5lT3BhY2l0eSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgc3Ryb2tlV2lkdGgoc3Ryb2tlV2lkdGg6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IHN0cm9rZVdpZHRoIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzdHJva2VDb2xvcihzdHJva2VDb2xvcjogVEhSRUUuQ29sb3JSZXByZXNlbnRhdGlvbikge1xuICAgICAgICB0aGlzLnNldCh7IHN0cm9rZUNvbG9yIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzdHJva2VPcGFjaXR5KHN0cm9rZU9wYWNpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHN0cm9rZU9wYWNpdHkgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZpbGxPcGFjaXR5KGZpbGxPcGFjaXR5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmaWxsT3BhY2l0eSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGVidWdTREYoZGVidWdTREY6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkZWJ1Z1NERiB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgc3luYyA9IG5ldyBFdmVudEVtaXR0ZXI8VGV4dD4oKTtcblxuICAgIHJlYWRvbmx5IHRyb2lrYVRleHQgPSBuZXcgVGV4dCgpO1xuXG4gICAgcmVhZG9ubHkgI3N0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IGZvbnRTaXplOiAxLCBzZGZHbHlwaFNpemU6IDY0LCBhbmNob3JYOiAnY2VudGVyJywgYW5jaG9yWTogJ21pZGRsZScgfSk7XG4gICAgICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cm9pa2FUZXh0LmRpc3Bvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuI3ByZWxvYWRGb250KCk7XG4gICAgICAgIHRoaXMuI3N5bmNUZXh0KCk7XG4gICAgfVxuXG4gICAgI3ByZWxvYWRGb250KCkge1xuICAgICAgICBjb25zdCBmb250ID0gdGhpcy5zZWxlY3QoJ2ZvbnQnKTtcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9IHRoaXMuc2VsZWN0KCdjaGFyYWN0ZXJzJyk7XG4gICAgICAgIGNvbnN0IHRyaWdnZXIgPSBjb21wdXRlZCgoKSA9PiAoeyBmb250OiBmb250KCksIGNoYXJhY3RlcnM6IGNoYXJhY3RlcnMoKSB9KSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZm9udCwgY2hhcmFjdGVycyB9ID0gdHJpZ2dlcigpO1xuICAgICAgICAgICAgY29uc3QgaW52YWxpZGF0ZSA9IHRoaXMuI3N0b3JlLmdldCgnaW52YWxpZGF0ZScpO1xuICAgICAgICAgICAgcHJlbG9hZEZvbnQoeyBmb250LCBjaGFyYWN0ZXJzIH0sICgpID0+IGludmFsaWRhdGUoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICNzeW5jVGV4dCgpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUoKTtcbiAgICAgICAgICAgIGNvbnN0IGludmFsaWRhdGUgPSB0aGlzLiNzdG9yZS5nZXQoJ2ludmFsaWRhdGUnKTtcbiAgICAgICAgICAgIHRoaXMudHJvaWthVGV4dC5zeW5jKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpbnZhbGlkYXRlKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3luYy5vYnNlcnZlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN5bmMuZW1pdCh0aGlzLnRyb2lrYVRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -110,8 +110,8 @@ class NgtsText3D extends NgtSignalStore {
110
110
  #curveSegments;
111
111
  #letterSpacing;
112
112
  #lineHeight;
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", font: "font", text: "text", bevelEnabled: "bevelEnabled", bevelOffset: "bevelOffset", bevelSize: "bevelSize", bevelThickness: "bevelThickness", curveSegments: "curveSegments", bevelSegments: "bevelSegments", height: "height", size: "size", lineHeight: "lineHeight", letterSpacing: "letterSpacing", smooth: "smooth" }, usesInheritance: true, ngImport: i0, template: `
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", font: "font", text: "text", bevelEnabled: "bevelEnabled", bevelOffset: "bevelOffset", bevelSize: "bevelSize", bevelThickness: "bevelThickness", curveSegments: "curveSegments", bevelSegments: "bevelSegments", height: "height", size: "size", lineHeight: "lineHeight", letterSpacing: "letterSpacing", smooth: "smooth" }, usesInheritance: true, ngImport: i0, template: `
115
115
  <ngt-mesh ngtCompound [ref]="textRef">
116
116
  <ngt-text-geometry *args="geometryArgs()" />
117
117
  <ng-content />
@@ -119,7 +119,7 @@ class NgtsText3D extends NgtSignalStore {
119
119
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
120
120
  }
121
121
  export { NgtsText3D };
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText3D, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText3D, decorators: [{
123
123
  type: Component,
124
124
  args: [{
125
125
  selector: 'ngts-text-3d',
@@ -8,11 +8,11 @@ class NgtsCameraContent {
8
8
  static ngTemplateContextGuard(_, ctx) {
9
9
  return true;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[ngtsCameraContent]", inputs: { ngtsCameraContent: "ngtsCameraContent" }, ngImport: i0 }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[ngtsCameraContent]", inputs: { ngtsCameraContent: "ngtsCameraContent" }, ngImport: i0 }); }
13
13
  }
14
14
  export { NgtsCameraContent };
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCameraContent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCameraContent, decorators: [{
16
16
  type: Directive,
17
17
  args: [{ selector: 'ng-template[ngtsCameraContent]', standalone: true }]
18
18
  }], propDecorators: { ngtsCameraContent: [{
@@ -49,11 +49,11 @@ class NgtsCamera extends NgtSignalStore {
49
49
  camera.updateProjectionMatrix();
50
50
  });
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCamera, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCamera, inputs: { makeDefault: "makeDefault", manual: "manual", frames: "frames", resolution: "resolution", envMap: "envMap", cameraRef: "cameraRef" }, usesInheritance: true, ngImport: i0 }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCamera, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCamera, inputs: { makeDefault: "makeDefault", manual: "manual", frames: "frames", resolution: "resolution", envMap: "envMap", cameraRef: "cameraRef" }, usesInheritance: true, ngImport: i0 }); }
54
54
  }
55
55
  export { NgtsCamera };
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCamera, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCamera, decorators: [{
57
57
  type: Directive
58
58
  }], ctorParameters: function () { return []; }, propDecorators: { makeDefault: [{
59
59
  type: Input
@@ -72,8 +72,8 @@ class NgtsCubeCamera extends NgtSignalStore {
72
72
  }
73
73
  });
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", frames: "frames", resolution: "resolution", near: "near", far: "far", envMap: "envMap", fog: "fog" }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", frames: "frames", resolution: "resolution", near: "near", far: "far", envMap: "envMap", fog: "fog" }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
77
77
  <ngt-group ngtCompound>
78
78
  <ngt-cube-camera [ref]="cameraRef" *args="cameraArgs()" />
79
79
  <ngt-group #group>
@@ -87,7 +87,7 @@ class NgtsCubeCamera extends NgtSignalStore {
87
87
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
88
88
  }
89
89
  export { NgtsCubeCamera };
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubeCamera, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCubeCamera, decorators: [{
91
91
  type: Component,
92
92
  args: [{
93
93
  selector: 'ngts-cube-camera',
@@ -37,8 +37,8 @@ class NgtsOrthographicCamera extends NgtsCamera {
37
37
  this.cameraBottom = computed(() => this.#bottom() || this.#size().height / -2);
38
38
  this.set({ left: 0, right: 0, top: 0, bottom: 0 });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsOrthographicCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { left: "left", right: "right", top: "top", bottom: "bottom" }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsOrthographicCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { left: "left", right: "right", top: "top", bottom: "bottom" }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
42
42
  <ngt-orthographic-camera
43
43
  ngtCompound
44
44
  [ref]="cameraRef"
@@ -58,7 +58,7 @@ class NgtsOrthographicCamera extends NgtsCamera {
58
58
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
59
59
  }
60
60
  export { NgtsOrthographicCamera };
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
62
62
  type: Component,
63
63
  args: [{
64
64
  selector: 'ngts-orthographic-camera',
@@ -7,8 +7,8 @@ import { NgtsCameraContent } from '../camera/camera-content';
7
7
  import * as i0 from "@angular/core";
8
8
  extend({ PerspectiveCamera, Group });
9
9
  class NgtsPerspectiveCamera extends NgtsCamera {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
12
12
  <ngt-perspective-camera [ref]="cameraRef" ngtCompound>
13
13
  <ng-container
14
14
  *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
@@ -21,7 +21,7 @@ class NgtsPerspectiveCamera extends NgtsCamera {
21
21
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
22
22
  }
23
23
  export { NgtsPerspectiveCamera };
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
25
25
  type: Component,
26
26
  args: [{
27
27
  selector: 'ngts-perspective-camera',
@@ -128,11 +128,11 @@ class NgtsOrbitControls extends NgtSignalStore {
128
128
  });
129
129
  });
130
130
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsOrbitControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsOrbitControls, isStandalone: true, selector: "ngts-orbit-controls", inputs: { controlsRef: "controlsRef", camera: "camera", domElement: "domElement", makeDefault: "makeDefault", regress: "regress", target: "target", enableDamping: "enableDamping" }, outputs: { change: "change", start: "start", end: "end" }, usesInheritance: true, ngImport: i0, template: ` <ngt-primitive *args="args()" ngtCompound [enableDamping]="damping()" /> `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsOrbitControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsOrbitControls, isStandalone: true, selector: "ngts-orbit-controls", inputs: { controlsRef: "controlsRef", camera: "camera", domElement: "domElement", makeDefault: "makeDefault", regress: "regress", target: "target", enableDamping: "enableDamping" }, outputs: { change: "change", start: "start", end: "end" }, usesInheritance: true, ngImport: i0, template: ` <ngt-primitive *args="args()" ngtCompound [enableDamping]="damping()" /> `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
133
133
  }
134
134
  export { NgtsOrbitControls };
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsOrbitControls, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsOrbitControls, decorators: [{
136
136
  type: Component,
137
137
  args: [{
138
138
  selector: 'ngts-orbit-controls',
@@ -71,8 +71,8 @@ class NgtsLoader extends NgtSignalStore {
71
71
  onCleanup(() => cancelAnimationFrame(rafId));
72
72
  });
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { containerClass: "containerClass", innerClass: "innerClass", barClass: "barClass", dataClass: "dataClass", dataInterpolation: "dataInterpolation", initialState: "initialState" }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { containerClass: "containerClass", innerClass: "innerClass", barClass: "barClass", dataClass: "dataClass", dataInterpolation: "dataInterpolation", initialState: "initialState" }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
76
76
  <div
77
77
  *ngIf="shown()"
78
78
  class="ngts-loader-container"
@@ -93,7 +93,7 @@ class NgtsLoader extends NgtSignalStore {
93
93
  `, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
94
  }
95
95
  export { NgtsLoader };
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLoader, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLoader, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: 'ngts-loader', standalone: true, template: `
99
99
  <div
@@ -26,8 +26,8 @@ class NgtsMeshDistortMaterial extends NgtSignalStore {
26
26
  this.material.time = clock.getElapsedTime() * this.get('speed');
27
27
  });
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsMeshDistortMaterial, isStandalone: true, selector: "ngts-mesh-distort-material", inputs: { materialRef: "materialRef", time: "time", distort: "distort", radius: "radius", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsMeshDistortMaterial, isStandalone: true, selector: "ngts-mesh-distort-material", inputs: { materialRef: "materialRef", time: "time", distort: "distort", radius: "radius", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
31
31
  <ngt-primitive
32
32
  *args="[material]"
33
33
  [ref]="materialRef"
@@ -40,7 +40,7 @@ class NgtsMeshDistortMaterial extends NgtSignalStore {
40
40
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
41
41
  }
42
42
  export { NgtsMeshDistortMaterial };
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
44
44
  type: Component,
45
45
  args: [{
46
46
  selector: 'ngts-mesh-distort-material',
@@ -288,8 +288,8 @@ class NgtsMeshReflectorMaterial extends NgtSignalStore {
288
288
  projectionMatrix.elements[10] = this.#clipPlane.z + 1.0;
289
289
  projectionMatrix.elements[14] = this.#clipPlane.w;
290
290
  }
291
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { materialRef: "materialRef", resolution: "resolution", mixBlur: "mixBlur", mixStrength: "mixStrength", blur: "blur", mirror: "mirror", minDepthThreshold: "minDepthThreshold", maxDepthThreshold: "maxDepthThreshold", depthScale: "depthScale", depthToBlurRatioBias: "depthToBlurRatioBias", distortionMap: "distortionMap", distortion: "distortion", mixContrast: "mixContrast", reflectorOffset: "reflectorOffset" }, usesInheritance: true, ngImport: i0, template: `
291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { materialRef: "materialRef", resolution: "resolution", mixBlur: "mixBlur", mixStrength: "mixStrength", blur: "blur", mirror: "mirror", minDepthThreshold: "minDepthThreshold", maxDepthThreshold: "maxDepthThreshold", depthScale: "depthScale", depthToBlurRatioBias: "depthToBlurRatioBias", distortionMap: "distortionMap", distortion: "distortion", mixContrast: "mixContrast", reflectorOffset: "reflectorOffset" }, usesInheritance: true, ngImport: i0, template: `
293
293
  <ngt-mesh-reflector-material
294
294
  ngtCompound
295
295
  attach="material"
@@ -317,7 +317,7 @@ class NgtsMeshReflectorMaterial extends NgtSignalStore {
317
317
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
318
318
  }
319
319
  export { NgtsMeshReflectorMaterial };
320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
321
321
  type: Component,
322
322
  args: [{
323
323
  selector: 'ngts-mesh-reflector-material',