angular-three-soba 2.13.0 → 2.14.0

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 (40) hide show
  1. package/abstractions/lib/catmull-rom-line.d.ts +189 -189
  2. package/abstractions/lib/edges.d.ts +213 -213
  3. package/abstractions/lib/grid.d.ts +39 -39
  4. package/abstractions/lib/line.d.ts +1 -1
  5. package/abstractions/lib/rounded-box.d.ts +1 -1
  6. package/abstractions/lib/text-3d.d.ts +41 -41
  7. package/abstractions/lib/text.d.ts +2 -2
  8. package/cameras/lib/orthographic-camera.d.ts +1 -1
  9. package/controls/lib/camera-controls.d.ts +1 -1
  10. package/controls/lib/orbit-controls.d.ts +1 -1
  11. package/esm2022/controls/lib/orbit-controls.mjs +1 -7
  12. package/fesm2022/angular-three-soba-controls.mjs +0 -6
  13. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  14. package/gizmos/lib/pivot-controls/axis-arrow.d.ts +1 -1
  15. package/gizmos/lib/pivot-controls/axis-rotator.d.ts +1 -1
  16. package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
  17. package/gizmos/lib/pivot-controls/plane-slider.d.ts +1 -1
  18. package/gizmos/lib/pivot-controls/scaling-sphere.d.ts +1 -1
  19. package/gizmos/lib/transform-controls.d.ts +2 -2
  20. package/materials/lib/custom-shader-material.d.ts +2 -2
  21. package/materials/lib/mesh-portal-material.d.ts +10 -10
  22. package/materials/lib/mesh-refraction-material.d.ts +3 -3
  23. package/materials/lib/mesh-transmission-material.d.ts +1 -1
  24. package/misc/lib/computed-attribute.d.ts +5 -5
  25. package/misc/lib/decal.d.ts +1 -1
  26. package/misc/lib/html/html.d.ts +1 -1
  27. package/misc/lib/sampler.d.ts +1 -1
  28. package/package.json +10 -10
  29. package/performances/lib/instances/instances.d.ts +10 -10
  30. package/performances/lib/points/points.d.ts +22 -22
  31. package/performances/lib/segments/segments.d.ts +4 -4
  32. package/shaders/lib/mesh-refraction-material.d.ts +2 -2
  33. package/staging/lib/accumulative-shadows.d.ts +1 -1
  34. package/staging/lib/caustics.d.ts +1 -1
  35. package/staging/lib/contact-shadows.d.ts +1 -1
  36. package/staging/lib/lightformer.d.ts +1 -1
  37. package/staging/lib/render-texture.d.ts +1 -1
  38. package/staging/lib/sky.d.ts +1 -1
  39. package/staging/lib/spot-light.d.ts +2 -2
  40. package/staging/lib/stage.d.ts +5 -5
@@ -80,18 +80,12 @@ export class NgtsOrbitControls {
80
80
  };
81
81
  const startCallback = this.started.emit.bind(this.started);
82
82
  const endCallback = this.ended.emit.bind(this.ended);
83
- // @ts-expect-error - type error from three-stdlib
84
83
  controls.addEventListener('change', changeCallback);
85
- // @ts-expect-error - type error from three-stdlib
86
84
  controls.addEventListener('start', startCallback);
87
- // @ts-expect-error - type error from three-stdlib
88
85
  controls.addEventListener('end', endCallback);
89
86
  onCleanup(() => {
90
- // @ts-expect-error - type error from three-stdlib
91
87
  controls.removeEventListener('change', changeCallback);
92
- // @ts-expect-error - type error from three-stdlib
93
88
  controls.removeEventListener('start', startCallback);
94
- // @ts-expect-error - type error from three-stdlib
95
89
  controls.removeEventListener('end', endCallback);
96
90
  });
97
91
  });
@@ -117,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
117
111
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
118
112
  }]
119
113
  }], ctorParameters: () => [] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY29udHJvbHMvc3JjL2xpYi9vcmJpdC1jb250cm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBeUIsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFZN0MsTUFBTSxjQUFjLEdBQXNEO0lBQ3pFLGFBQWEsRUFBRSxJQUFJO0lBQ25CLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLEtBQUs7SUFDbEIsU0FBUyxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQWFGLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjdCO1FBM0JBLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUUsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBRWxILFlBQU8sR0FBRyxNQUFNLEVBQVMsQ0FBQztRQUMxQixZQUFPLEdBQUcsTUFBTSxFQUFTLENBQUM7UUFDMUIsVUFBSyxHQUFHLE1BQU0sRUFBUyxDQUFDO1FBRWhCLFVBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN0Qixl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LElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckQsa0RBQWtEO1lBQ2xELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDcEQsa0RBQWtEO1lBQ2xELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbEQsa0RBQWtEO1lBQ2xELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFOUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxrREFBa0Q7Z0JBQ2xELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZELGtEQUFrRDtnQkFDbEQsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDckQsa0RBQWtEO2dCQUNsRCxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQW5HVyxpQkFBaUI7bUdBQWpCLGlCQUFpQiw4UkFSbkI7Ozs7RUFJVCw0REFDUyxPQUFPOzs0RkFHTCxpQkFBaUI7a0JBWDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZWZmZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdFN0b3JlLCBOZ3RBcmdzLCBOZ3RDYW1lcmEsIE5ndFZlY3RvcjMsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IENhbWVyYSwgRXZlbnQgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBPcmJpdENvbnRyb2xzIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzT3JiaXRDb250cm9sc09wdGlvbnMge1xuXHRjYW1lcmE/OiBDYW1lcmE7XG5cdGRvbUVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblx0dGFyZ2V0PzogTmd0VmVjdG9yMztcblx0bWFrZURlZmF1bHQ6IGJvb2xlYW47XG5cdHJlZ3Jlc3M6IGJvb2xlYW47XG5cdGVuYWJsZURhbXBpbmc6IGJvb2xlYW47XG5cdGtleUV2ZW50czogYm9vbGVhbiB8IEhUTUxFbGVtZW50O1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxPcmJpdENvbnRyb2xzPiAmIE5ndHNPcmJpdENvbnRyb2xzT3B0aW9ucyA9IHtcblx0ZW5hYmxlRGFtcGluZzogdHJ1ZSxcblx0cmVncmVzczogZmFsc2UsXG5cdG1ha2VEZWZhdWx0OiBmYWxzZSxcblx0a2V5RXZlbnRzOiBmYWxzZSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtb3JiaXQtY29udHJvbHMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2NvbnRyb2xzKCldXCIgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCIgW2VuYWJsZURhbXBpbmddPVwiZW5hYmxlRGFtcGluZygpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNPcmJpdENvbnRyb2xzIHtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIFsnbWFrZURlZmF1bHQnLCAnY2FtZXJhJywgJ3JlZ3Jlc3MnLCAnZG9tRWxlbWVudCcsICdrZXlFdmVudHMnLCAnZW5hYmxlRGFtcGluZyddKTtcblxuXHRjaGFuZ2VkID0gb3V0cHV0PEV2ZW50PigpO1xuXHRzdGFydGVkID0gb3V0cHV0PEV2ZW50PigpO1xuXHRlbmRlZCA9IG91dHB1dDxFdmVudD4oKTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBpbnZhbGlkYXRlID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2ludmFsaWRhdGUnKTtcblx0cHJpdmF0ZSBwZXJmb3JtYW5jZVJlZ3Jlc3MgPSB0aGlzLnN0b3JlLnNlbGVjdCgncGVyZm9ybWFuY2UnLCAncmVncmVzcycpO1xuXHRwcml2YXRlIGRlZmF1bHRDYW1lcmEgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG5cdHByaXZhdGUgZ2xEb21FbGVtZW50ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJywgJ2RvbUVsZW1lbnQnKTtcblxuXHRwcml2YXRlIGNhbWVyYSA9IHBpY2sodGhpcy5vcHRpb25zLCAnY2FtZXJhJyk7XG5cdHByaXZhdGUgcmVncmVzcyA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVncmVzcycpO1xuXHRwcml2YXRlIGtleUV2ZW50cyA9IHBpY2sodGhpcy5vcHRpb25zLCAna2V5RXZlbnRzJyk7XG5cdHByaXZhdGUgZG9tRWxlbWVudCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZG9tRWxlbWVudCcpO1xuXHRwcml2YXRlIG1ha2VEZWZhdWx0ID0gcGljayh0aGlzLm9wdGlvbnMsICdtYWtlRGVmYXVsdCcpO1xuXG5cdGNvbnRyb2xzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFtjYW1lcmEsIGRlZmF1bHRDYW1lcmFdID0gW3RoaXMuY2FtZXJhKCksIHRoaXMuZGVmYXVsdENhbWVyYSgpXTtcblx0XHRjb25zdCBjb250cm9sc0NhbWVyYSA9IGNhbWVyYSB8fCBkZWZhdWx0Q2FtZXJhO1xuXHRcdHJldHVybiBuZXcgT3JiaXRDb250cm9scyhjb250cm9sc0NhbWVyYSBhcyBOZ3RDYW1lcmEpO1xuXHR9KTtcblxuXHRwcm90ZWN0ZWQgZW5hYmxlRGFtcGluZyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZW5hYmxlRGFtcGluZycpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcihcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Y29uc3QgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzKCk7XG5cdFx0XHRcdGlmIChjb250cm9scz8uZW5hYmxlZCkge1xuXHRcdFx0XHRcdGNvbnRyb2xzLnVwZGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBwcmlvcml0eTogLTEgfSxcblx0XHQpO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFtrZXlFdmVudHMsIGRvbUVsZW1lbnQsIGNvbnRyb2xzXSA9IFtcblx0XHRcdFx0dGhpcy5rZXlFdmVudHMoKSxcblx0XHRcdFx0dGhpcy5kb21FbGVtZW50KCkgfHwgdGhpcy5zdG9yZS5nZXQoJ2V2ZW50cycsICdjb25uZWN0ZWQnKSB8fCB0aGlzLmdsRG9tRWxlbWVudCgpLFxuXHRcdFx0XHR0aGlzLmNvbnRyb2xzKCksXG5cdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHR0aGlzLnJlZ3Jlc3MoKSxcblx0XHRcdF07XG5cdFx0XHRpZiAoIWNvbnRyb2xzKSByZXR1cm47XG5cdFx0XHRpZiAoa2V5RXZlbnRzKSB7XG5cdFx0XHRcdGNvbnRyb2xzLmNvbm5lY3Qoa2V5RXZlbnRzID09PSB0cnVlID8gZG9tRWxlbWVudCA6IGtleUV2ZW50cyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb250cm9scy5jb25uZWN0KGRvbUVsZW1lbnQpO1xuXHRcdFx0fVxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgY29udHJvbHMuZGlzcG9zZSgpKTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBtYWtlRGVmYXVsdCA9IHRoaXMubWFrZURlZmF1bHQoKTtcblx0XHRcdGlmICghbWFrZURlZmF1bHQpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzKCk7XG5cdFx0XHRpZiAoIWNvbnRyb2xzKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IG9sZENvbnRyb2xzID0gdGhpcy5zdG9yZS5nZXQoJ2NvbnRyb2xzJyk7XG5cdFx0XHR0aGlzLnN0b3JlLnVwZGF0ZSh7IGNvbnRyb2xzIH0pO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgdGhpcy5zdG9yZS51cGRhdGUoeyBjb250cm9sczogb2xkQ29udHJvbHMgfSkpO1xuXHRcdH0pO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGNvbnRyb2xzID0gdGhpcy5jb250cm9scygpO1xuXHRcdFx0aWYgKCFjb250cm9scykgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBbaW52YWxpZGF0ZSwgcGVyZm9ybWFuY2VSZWdyZXNzLCByZWdyZXNzXSA9IFt0aGlzLmludmFsaWRhdGUoKSwgdGhpcy5wZXJmb3JtYW5jZVJlZ3Jlc3MoKSwgdGhpcy5yZWdyZXNzKCldO1xuXG5cdFx0XHRjb25zdCBjaGFuZ2VDYWxsYmFjazogKGU6IEV2ZW50KSA9PiB2b2lkID0gKGUpID0+IHtcblx0XHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdFx0XHRpZiAocmVncmVzcykgcGVyZm9ybWFuY2VSZWdyZXNzKCk7XG5cdFx0XHRcdHRoaXMuY2hhbmdlZC5lbWl0KGUpO1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3Qgc3RhcnRDYWxsYmFjayA9IHRoaXMuc3RhcnRlZC5lbWl0LmJpbmQodGhpcy5zdGFydGVkKTtcblx0XHRcdGNvbnN0IGVuZENhbGxiYWNrID0gdGhpcy5lbmRlZC5lbWl0LmJpbmQodGhpcy5lbmRlZCk7XG5cblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSB0eXBlIGVycm9yIGZyb20gdGhyZWUtc3RkbGliXG5cdFx0XHRjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBjaGFuZ2VDYWxsYmFjayk7XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gdHlwZSBlcnJvciBmcm9tIHRocmVlLXN0ZGxpYlxuXHRcdFx0Y29udHJvbHMuYWRkRXZlbnRMaXN0ZW5lcignc3RhcnQnLCBzdGFydENhbGxiYWNrKTtcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSB0eXBlIGVycm9yIGZyb20gdGhyZWUtc3RkbGliXG5cdFx0XHRjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdlbmQnLCBlbmRDYWxsYmFjayk7XG5cblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSB0eXBlIGVycm9yIGZyb20gdGhyZWUtc3RkbGliXG5cdFx0XHRcdGNvbnRyb2xzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNoYW5nZUNhbGxiYWNrKTtcblx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHR5cGUgZXJyb3IgZnJvbSB0aHJlZS1zdGRsaWJcblx0XHRcdFx0Y29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3RhcnQnLCBzdGFydENhbGxiYWNrKTtcblx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHR5cGUgZXJyb3IgZnJvbSB0aHJlZS1zdGRsaWJcblx0XHRcdFx0Y29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW5kJywgZW5kQ2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY29udHJvbHMvc3JjL2xpYi9vcmJpdC1jb250cm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBeUIsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFZN0MsTUFBTSxjQUFjLEdBQXNEO0lBQ3pFLGFBQWEsRUFBRSxJQUFJO0lBQ25CLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLEtBQUs7SUFDbEIsU0FBUyxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQWFGLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjdCO1FBM0JBLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUUsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBRWxILFlBQU8sR0FBRyxNQUFNLEVBQVMsQ0FBQztRQUMxQixZQUFPLEdBQUcsTUFBTSxFQUFTLENBQUM7UUFDMUIsVUFBSyxHQUFHLE1BQU0sRUFBUyxDQUFDO1FBRWhCLFVBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsaUJBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFckQsV0FBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUMsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUN0RSxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksYUFBYSxDQUFDO1lBQy9DLE9BQU8sSUFBSSxhQUFhLENBQUMsY0FBMkIsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRU8sa0JBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUc3RCxrQkFBa0IsQ0FDakIsR0FBRyxFQUFFO1lBQ0osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsQ0FBQztRQUNGLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUNoQixDQUFDO1FBRUYsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLEdBQUc7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDakYsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxFQUFFO2FBQ2QsQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZixRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU87WUFFekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFFdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRXRCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFakgsTUFBTSxjQUFjLEdBQXVCLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hELFVBQVUsRUFBRSxDQUFDO2dCQUNiLElBQUksT0FBTztvQkFBRSxrQkFBa0IsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUM7WUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUNwRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2xELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFOUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN2RCxRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRCxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQTdGVyxpQkFBaUI7bUdBQWpCLGlCQUFpQiw4UkFSbkI7Ozs7RUFJVCw0REFDUyxPQUFPOzs0RkFHTCxpQkFBaUI7a0JBWDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZWZmZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdFN0b3JlLCBOZ3RBcmdzLCBOZ3RDYW1lcmEsIE5ndFZlY3RvcjMsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IENhbWVyYSwgRXZlbnQgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBPcmJpdENvbnRyb2xzIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzT3JiaXRDb250cm9sc09wdGlvbnMge1xuXHRjYW1lcmE/OiBDYW1lcmE7XG5cdGRvbUVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblx0dGFyZ2V0PzogTmd0VmVjdG9yMztcblx0bWFrZURlZmF1bHQ6IGJvb2xlYW47XG5cdHJlZ3Jlc3M6IGJvb2xlYW47XG5cdGVuYWJsZURhbXBpbmc6IGJvb2xlYW47XG5cdGtleUV2ZW50czogYm9vbGVhbiB8IEhUTUxFbGVtZW50O1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxPcmJpdENvbnRyb2xzPiAmIE5ndHNPcmJpdENvbnRyb2xzT3B0aW9ucyA9IHtcblx0ZW5hYmxlRGFtcGluZzogdHJ1ZSxcblx0cmVncmVzczogZmFsc2UsXG5cdG1ha2VEZWZhdWx0OiBmYWxzZSxcblx0a2V5RXZlbnRzOiBmYWxzZSxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtb3JiaXQtY29udHJvbHMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2NvbnRyb2xzKCldXCIgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCIgW2VuYWJsZURhbXBpbmddPVwiZW5hYmxlRGFtcGluZygpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNPcmJpdENvbnRyb2xzIHtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIFsnbWFrZURlZmF1bHQnLCAnY2FtZXJhJywgJ3JlZ3Jlc3MnLCAnZG9tRWxlbWVudCcsICdrZXlFdmVudHMnLCAnZW5hYmxlRGFtcGluZyddKTtcblxuXHRjaGFuZ2VkID0gb3V0cHV0PEV2ZW50PigpO1xuXHRzdGFydGVkID0gb3V0cHV0PEV2ZW50PigpO1xuXHRlbmRlZCA9IG91dHB1dDxFdmVudD4oKTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBpbnZhbGlkYXRlID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2ludmFsaWRhdGUnKTtcblx0cHJpdmF0ZSBwZXJmb3JtYW5jZVJlZ3Jlc3MgPSB0aGlzLnN0b3JlLnNlbGVjdCgncGVyZm9ybWFuY2UnLCAncmVncmVzcycpO1xuXHRwcml2YXRlIGRlZmF1bHRDYW1lcmEgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG5cdHByaXZhdGUgZ2xEb21FbGVtZW50ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJywgJ2RvbUVsZW1lbnQnKTtcblxuXHRwcml2YXRlIGNhbWVyYSA9IHBpY2sodGhpcy5vcHRpb25zLCAnY2FtZXJhJyk7XG5cdHByaXZhdGUgcmVncmVzcyA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVncmVzcycpO1xuXHRwcml2YXRlIGtleUV2ZW50cyA9IHBpY2sodGhpcy5vcHRpb25zLCAna2V5RXZlbnRzJyk7XG5cdHByaXZhdGUgZG9tRWxlbWVudCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZG9tRWxlbWVudCcpO1xuXHRwcml2YXRlIG1ha2VEZWZhdWx0ID0gcGljayh0aGlzLm9wdGlvbnMsICdtYWtlRGVmYXVsdCcpO1xuXG5cdGNvbnRyb2xzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IFtjYW1lcmEsIGRlZmF1bHRDYW1lcmFdID0gW3RoaXMuY2FtZXJhKCksIHRoaXMuZGVmYXVsdENhbWVyYSgpXTtcblx0XHRjb25zdCBjb250cm9sc0NhbWVyYSA9IGNhbWVyYSB8fCBkZWZhdWx0Q2FtZXJhO1xuXHRcdHJldHVybiBuZXcgT3JiaXRDb250cm9scyhjb250cm9sc0NhbWVyYSBhcyBOZ3RDYW1lcmEpO1xuXHR9KTtcblxuXHRwcm90ZWN0ZWQgZW5hYmxlRGFtcGluZyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZW5hYmxlRGFtcGluZycpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcihcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Y29uc3QgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzKCk7XG5cdFx0XHRcdGlmIChjb250cm9scz8uZW5hYmxlZCkge1xuXHRcdFx0XHRcdGNvbnRyb2xzLnVwZGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBwcmlvcml0eTogLTEgfSxcblx0XHQpO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFtrZXlFdmVudHMsIGRvbUVsZW1lbnQsIGNvbnRyb2xzXSA9IFtcblx0XHRcdFx0dGhpcy5rZXlFdmVudHMoKSxcblx0XHRcdFx0dGhpcy5kb21FbGVtZW50KCkgfHwgdGhpcy5zdG9yZS5nZXQoJ2V2ZW50cycsICdjb25uZWN0ZWQnKSB8fCB0aGlzLmdsRG9tRWxlbWVudCgpLFxuXHRcdFx0XHR0aGlzLmNvbnRyb2xzKCksXG5cdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHR0aGlzLnJlZ3Jlc3MoKSxcblx0XHRcdF07XG5cdFx0XHRpZiAoIWNvbnRyb2xzKSByZXR1cm47XG5cdFx0XHRpZiAoa2V5RXZlbnRzKSB7XG5cdFx0XHRcdGNvbnRyb2xzLmNvbm5lY3Qoa2V5RXZlbnRzID09PSB0cnVlID8gZG9tRWxlbWVudCA6IGtleUV2ZW50cyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb250cm9scy5jb25uZWN0KGRvbUVsZW1lbnQpO1xuXHRcdFx0fVxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgY29udHJvbHMuZGlzcG9zZSgpKTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBtYWtlRGVmYXVsdCA9IHRoaXMubWFrZURlZmF1bHQoKTtcblx0XHRcdGlmICghbWFrZURlZmF1bHQpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzKCk7XG5cdFx0XHRpZiAoIWNvbnRyb2xzKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IG9sZENvbnRyb2xzID0gdGhpcy5zdG9yZS5nZXQoJ2NvbnRyb2xzJyk7XG5cdFx0XHR0aGlzLnN0b3JlLnVwZGF0ZSh7IGNvbnRyb2xzIH0pO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgdGhpcy5zdG9yZS51cGRhdGUoeyBjb250cm9sczogb2xkQ29udHJvbHMgfSkpO1xuXHRcdH0pO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGNvbnRyb2xzID0gdGhpcy5jb250cm9scygpO1xuXHRcdFx0aWYgKCFjb250cm9scykgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBbaW52YWxpZGF0ZSwgcGVyZm9ybWFuY2VSZWdyZXNzLCByZWdyZXNzXSA9IFt0aGlzLmludmFsaWRhdGUoKSwgdGhpcy5wZXJmb3JtYW5jZVJlZ3Jlc3MoKSwgdGhpcy5yZWdyZXNzKCldO1xuXG5cdFx0XHRjb25zdCBjaGFuZ2VDYWxsYmFjazogKGU6IEV2ZW50KSA9PiB2b2lkID0gKGUpID0+IHtcblx0XHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdFx0XHRpZiAocmVncmVzcykgcGVyZm9ybWFuY2VSZWdyZXNzKCk7XG5cdFx0XHRcdHRoaXMuY2hhbmdlZC5lbWl0KGUpO1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3Qgc3RhcnRDYWxsYmFjayA9IHRoaXMuc3RhcnRlZC5lbWl0LmJpbmQodGhpcy5zdGFydGVkKTtcblx0XHRcdGNvbnN0IGVuZENhbGxiYWNrID0gdGhpcy5lbmRlZC5lbWl0LmJpbmQodGhpcy5lbmRlZCk7XG5cblx0XHRcdGNvbnRyb2xzLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNoYW5nZUNhbGxiYWNrKTtcblx0XHRcdGNvbnRyb2xzLmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXJ0Jywgc3RhcnRDYWxsYmFjayk7XG5cdFx0XHRjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdlbmQnLCBlbmRDYWxsYmFjayk7XG5cblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdGNvbnRyb2xzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNoYW5nZUNhbGxiYWNrKTtcblx0XHRcdFx0Y29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3RhcnQnLCBzdGFydENhbGxiYWNrKTtcblx0XHRcdFx0Y29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW5kJywgZW5kQ2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -206,18 +206,12 @@ class NgtsOrbitControls {
206
206
  };
207
207
  const startCallback = this.started.emit.bind(this.started);
208
208
  const endCallback = this.ended.emit.bind(this.ended);
209
- // @ts-expect-error - type error from three-stdlib
210
209
  controls.addEventListener('change', changeCallback);
211
- // @ts-expect-error - type error from three-stdlib
212
210
  controls.addEventListener('start', startCallback);
213
- // @ts-expect-error - type error from three-stdlib
214
211
  controls.addEventListener('end', endCallback);
215
212
  onCleanup(() => {
216
- // @ts-expect-error - type error from three-stdlib
217
213
  controls.removeEventListener('change', changeCallback);
218
- // @ts-expect-error - type error from three-stdlib
219
214
  controls.removeEventListener('start', startCallback);
220
- // @ts-expect-error - type error from three-stdlib
221
215
  controls.removeEventListener('end', endCallback);
222
216
  });
223
217
  });
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-soba-controls.mjs","sources":["../../../../libs/soba/controls/src/lib/camera-controls.ts","../../../../libs/soba/controls/src/lib/orbit-controls.ts","../../../../libs/soba/controls/src/lib/scroll-controls.ts","../../../../libs/soba/controls/src/index.ts","../../../../libs/soba/controls/src/angular-three-soba-controls.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\teffect,\n\tinput,\n\toutput,\n} from '@angular/core';\nimport { extend, injectBeforeRender, injectStore, NgtArgs, NgtCamera, omit, pick } from 'angular-three';\nimport CameraControls from 'camera-controls';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport {\n\tBox3,\n\tEventDispatcher,\n\tMathUtils,\n\tMatrix4,\n\tQuaternion,\n\tRaycaster,\n\tSphere,\n\tSpherical,\n\tVector2,\n\tVector3,\n\tVector4,\n} from 'three';\n\nexport interface NgtsCameraControlsOptions {\n\tcamera?: NgtCamera;\n\tdomElement?: HTMLElement;\n\tmakeDefault: boolean;\n\tevents: boolean;\n\tregress: boolean;\n}\n\nconst defaultOptions: Partial<CameraControls> & NgtsCameraControlsOptions = {\n\tmakeDefault: false,\n\tevents: false,\n\tregress: false,\n};\n\n@Component({\n\tselector: 'ngts-camera-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[controls()]\" [parameters]=\"parameters()\">\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\timports: [NgtArgs],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsCameraControls {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['makeDefault', 'camera', 'regress', 'domElement']);\n\n\tchanged = output<any>();\n\tstarted = output<any>();\n\tended = output<any>();\n\n\tprivate store = injectStore();\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate performanceRegress = this.store.select('performance', 'regress');\n\tprivate defaultCamera = this.store.select('camera');\n\tprivate glDomElement = this.store.select('gl', 'domElement');\n\tprivate eventsElement = this.store.select('events', 'connected');\n\n\tprivate camera = pick(this.options, 'camera');\n\tprivate regress = pick(this.options, 'regress');\n\tprivate domElement = pick(this.options, 'domElement');\n\tprivate makeDefault = pick(this.options, 'makeDefault');\n\n\tcontrols = computed(() => {\n\t\tconst [camera, defaultCamera] = [this.camera(), this.defaultCamera()];\n\t\treturn new CameraControls(camera || defaultCamera);\n\t});\n\n\tconstructor() {\n\t\t// to allow for tree shaking, we only import the subset of THREE that is used by camera-controls\n\t\t// see https://github.com/yomotsu/camera-controls#important\n\t\tCameraControls.install({\n\t\t\tTHREE: {\n\t\t\t\tBox3,\n\t\t\t\tMathUtils: { clamp: MathUtils.clamp },\n\t\t\t\tMatrix4,\n\t\t\t\tQuaternion,\n\t\t\t\tRaycaster,\n\t\t\t\tSphere,\n\t\t\t\tSpherical,\n\t\t\t\tVector2,\n\t\t\t\tVector3,\n\t\t\t\tVector4,\n\t\t\t},\n\t\t});\n\t\textend({ CameraControls });\n\n\t\tinjectBeforeRender(\n\t\t\t({ delta }) => {\n\t\t\t\tconst controls = this.controls();\n\t\t\t\tif (controls?.enabled) {\n\t\t\t\t\tcontrols.update(delta);\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: -1 },\n\t\t);\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [domElement, eventsElement, glDomElement, controls] = [\n\t\t\t\tthis.domElement(),\n\t\t\t\tthis.eventsElement(),\n\t\t\t\tthis.glDomElement(),\n\t\t\t\tthis.controls(),\n\t\t\t];\n\t\t\tcontrols.connect(domElement || eventsElement || glDomElement);\n\t\t\tonCleanup(() => controls.disconnect());\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst controls = this.controls();\n\t\t\tif (!controls) return;\n\n\t\t\tconst [regress, performanceRegress, invalidate] = [this.regress(), this.performanceRegress(), this.invalidate()];\n\n\t\t\tconst callback = (e: any) => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (regress) performanceRegress();\n\t\t\t\tthis.changed.emit(e);\n\t\t\t};\n\n\t\t\tconst startCallback = this.started.emit.bind(this.started);\n\t\t\tconst endCallback = this.ended.emit.bind(this.ended);\n\n\t\t\tcontrols.addEventListener('update', callback);\n\t\t\tcontrols.addEventListener('controlstart', startCallback);\n\t\t\tcontrols.addEventListener('controlend', endCallback);\n\t\t\tcontrols.addEventListener('control', callback);\n\t\t\tcontrols.addEventListener('transitionstart', callback);\n\t\t\tcontrols.addEventListener('wake', callback);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tcontrols.removeEventListener('update', callback);\n\t\t\t\tcontrols.removeEventListener('controlstart', startCallback);\n\t\t\t\tcontrols.removeEventListener('controlend', endCallback);\n\t\t\t\tcontrols.removeEventListener('control', callback);\n\t\t\t\tcontrols.removeEventListener('transitionstart', callback);\n\t\t\t\tcontrols.removeEventListener('wake', callback);\n\t\t\t});\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst makeDefault = this.makeDefault();\n\t\t\tif (!makeDefault) return;\n\n\t\t\tconst controls = this.controls();\n\t\t\tconst oldControls = this.store.snapshot.controls;\n\t\t\tthis.store.update({ controls: controls as unknown as EventDispatcher });\n\t\t\tonCleanup(() => void this.store.update({ controls: oldControls }));\n\t\t});\n\t}\n}\n","import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input, output } from '@angular/core';\nimport { injectBeforeRender, injectStore, NgtArgs, NgtCamera, NgtVector3, omit, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { Camera, Event } from 'three';\nimport { OrbitControls } from 'three-stdlib';\n\nexport interface NgtsOrbitControlsOptions {\n\tcamera?: Camera;\n\tdomElement?: HTMLElement;\n\ttarget?: NgtVector3;\n\tmakeDefault: boolean;\n\tregress: boolean;\n\tenableDamping: boolean;\n\tkeyEvents: boolean | HTMLElement;\n}\n\nconst defaultOptions: Partial<OrbitControls> & NgtsOrbitControlsOptions = {\n\tenableDamping: true,\n\tregress: false,\n\tmakeDefault: false,\n\tkeyEvents: false,\n};\n\n@Component({\n\tselector: 'ngts-orbit-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[controls()]\" [parameters]=\"parameters()\" [enableDamping]=\"enableDamping()\">\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrbitControls {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['makeDefault', 'camera', 'regress', 'domElement', 'keyEvents', 'enableDamping']);\n\n\tchanged = output<Event>();\n\tstarted = output<Event>();\n\tended = output<Event>();\n\n\tprivate store = injectStore();\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate performanceRegress = this.store.select('performance', 'regress');\n\tprivate defaultCamera = this.store.select('camera');\n\tprivate glDomElement = this.store.select('gl', 'domElement');\n\n\tprivate camera = pick(this.options, 'camera');\n\tprivate regress = pick(this.options, 'regress');\n\tprivate keyEvents = pick(this.options, 'keyEvents');\n\tprivate domElement = pick(this.options, 'domElement');\n\tprivate makeDefault = pick(this.options, 'makeDefault');\n\n\tcontrols = computed(() => {\n\t\tconst [camera, defaultCamera] = [this.camera(), this.defaultCamera()];\n\t\tconst controlsCamera = camera || defaultCamera;\n\t\treturn new OrbitControls(controlsCamera as NgtCamera);\n\t});\n\n\tprotected enableDamping = pick(this.options, 'enableDamping');\n\n\tconstructor() {\n\t\tinjectBeforeRender(\n\t\t\t() => {\n\t\t\t\tconst controls = this.controls();\n\t\t\t\tif (controls?.enabled) {\n\t\t\t\t\tcontrols.update();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: -1 },\n\t\t);\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [keyEvents, domElement, controls] = [\n\t\t\t\tthis.keyEvents(),\n\t\t\t\tthis.domElement() || this.store.get('events', 'connected') || this.glDomElement(),\n\t\t\t\tthis.controls(),\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.regress(),\n\t\t\t];\n\t\t\tif (!controls) return;\n\t\t\tif (keyEvents) {\n\t\t\t\tcontrols.connect(keyEvents === true ? domElement : keyEvents);\n\t\t\t} else {\n\t\t\t\tcontrols.connect(domElement);\n\t\t\t}\n\t\t\tonCleanup(() => void controls.dispose());\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst makeDefault = this.makeDefault();\n\t\t\tif (!makeDefault) return;\n\n\t\t\tconst controls = this.controls();\n\t\t\tif (!controls) return;\n\n\t\t\tconst oldControls = this.store.get('controls');\n\t\t\tthis.store.update({ controls });\n\t\t\tonCleanup(() => void this.store.update({ controls: oldControls }));\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst controls = this.controls();\n\t\t\tif (!controls) return;\n\n\t\t\tconst [invalidate, performanceRegress, regress] = [this.invalidate(), this.performanceRegress(), this.regress()];\n\n\t\t\tconst changeCallback: (e: Event) => void = (e) => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (regress) performanceRegress();\n\t\t\t\tthis.changed.emit(e);\n\t\t\t};\n\n\t\t\tconst startCallback = this.started.emit.bind(this.started);\n\t\t\tconst endCallback = this.ended.emit.bind(this.ended);\n\n\t\t\t// @ts-expect-error - type error from three-stdlib\n\t\t\tcontrols.addEventListener('change', changeCallback);\n\t\t\t// @ts-expect-error - type error from three-stdlib\n\t\t\tcontrols.addEventListener('start', startCallback);\n\t\t\t// @ts-expect-error - type error from three-stdlib\n\t\t\tcontrols.addEventListener('end', endCallback);\n\n\t\t\tonCleanup(() => {\n\t\t\t\t// @ts-expect-error - type error from three-stdlib\n\t\t\t\tcontrols.removeEventListener('change', changeCallback);\n\t\t\t\t// @ts-expect-error - type error from three-stdlib\n\t\t\t\tcontrols.removeEventListener('start', startCallback);\n\t\t\t\t// @ts-expect-error - type error from three-stdlib\n\t\t\t\tcontrols.removeEventListener('end', endCallback);\n\t\t\t});\n\t\t});\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tDirective,\n\teffect,\n\tElementRef,\n\tinject,\n\tinput,\n\tmodel,\n\tuntracked,\n} from '@angular/core';\nimport { injectBeforeRender, injectStore, NgtHTML, pick, provideHTMLDomElement } from 'angular-three';\nimport { easing } from 'maath';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { Group } from 'three';\n\nexport interface NgtsScrollControlsOptions {\n\t/** Precision, default 0.00001 */\n\teps: number;\n\t/** Horizontal scroll, default false (vertical) */\n\thorizontal: boolean;\n\t/** Infinite scroll, default false (experimental!) */\n\tinfinite: boolean;\n\t/** Defines the lenght of the scroll area, each page is height:100%, default 1 */\n\tpages: number;\n\t/** A factor that increases scroll bar travel,default: 1 */\n\tdistance: number;\n\t/** Friction in seconds, default: 0.25 (1/4 second) */\n\tdamping: number;\n\t/** maxSpeed optionally allows you to clamp the maximum speed. If damping is 0.2s and looks OK\n\t * going between, say, page 1 and 2, but not for pages far apart as it'll move very rapid,\n\t * then a maxSpeed of e.g. 3 which will clamp the speed to 3 units per second, it may now\n\t * take much longer than damping to reach the target if it is far away. Default: Infinity */\n\tmaxSpeed: number;\n\t/** If true attaches the scroll container before the canvas */\n\tprepend: boolean;\n\tenabled: boolean;\n\tstyle: Partial<CSSStyleDeclaration>;\n}\n\nconst defaultOptions: NgtsScrollControlsOptions = {\n\teps: 0.00001,\n\thorizontal: false,\n\tinfinite: false,\n\tpages: 1,\n\tdistance: 1,\n\tdamping: 0.25,\n\tmaxSpeed: Infinity,\n\tprepend: false,\n\tenabled: true,\n\tstyle: {},\n};\n\n@Component({\n\tselector: 'ngts-scroll-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsScrollControls {\n\tprogress = model(0);\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\n\tprivate document = inject(DOCUMENT);\n\tprivate store = injectStore();\n\tprivate gl = this.store.select('gl');\n\tprivate events = this.store.select('events');\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate size = this.store.select('size');\n\n\tprivate domElement = pick(this.gl, 'domElement');\n\tprivate target = pick(this.domElement, 'parentNode');\n\n\tprivate _el = this.document.createElement('div');\n\tprivate _fill = this.document.createElement('div');\n\tprivate _fixed = this.document.createElement('div');\n\n\tprivate style = pick(this.options, 'style');\n\tprivate prepend = pick(this.options, 'prepend');\n\tprivate enabled = pick(this.options, 'enabled');\n\tprivate infinite = pick(this.options, 'infinite');\n\tprivate maxSpeed = pick(this.options, 'maxSpeed');\n\teps = pick(this.options, 'eps');\n\thorizontal = pick(this.options, 'horizontal');\n\tpages = pick(this.options, 'pages');\n\tdistance = pick(this.options, 'distance');\n\tdamping = pick(this.options, 'damping');\n\tscroll = 0;\n\toffset = 0;\n\tdelta = 0;\n\n\tconstructor() {\n\t\teffect((onCleanup) => {\n\t\t\tconst target = this.target();\n\t\t\tif (!target) return;\n\n\t\t\tconst parent = target as HTMLElement;\n\t\t\tconst [pages, distance, horizontal, el, fill, fixed, style, prepend, domElement, events] = [\n\t\t\t\tthis.pages(),\n\t\t\t\tthis.distance(),\n\t\t\t\tthis.horizontal(),\n\t\t\t\tthis.el,\n\t\t\t\tthis.fill,\n\t\t\t\tthis.fixed,\n\t\t\t\tuntracked(this.style),\n\t\t\t\tuntracked(this.prepend),\n\t\t\t\tuntracked(this.domElement),\n\t\t\t\tuntracked(this.events),\n\t\t\t];\n\n\t\t\tel.style.position = 'absolute';\n\t\t\tel.style.width = '100%';\n\t\t\tel.style.height = '100%';\n\t\t\tel.style[horizontal ? 'overflowX' : 'overflowY'] = 'auto';\n\t\t\tel.style[horizontal ? 'overflowY' : 'overflowX'] = 'hidden';\n\t\t\tel.style.top = '0px';\n\t\t\tel.style.left = '0px';\n\n\t\t\tfor (const key in style) {\n\t\t\t\tel.style[key] = (style as CSSStyleDeclaration)[key];\n\t\t\t}\n\n\t\t\tfixed.style.position = 'sticky';\n\t\t\tfixed.style.top = '0px';\n\t\t\tfixed.style.left = '0px';\n\t\t\tfixed.style.width = '100%';\n\t\t\tfixed.style.height = '100%';\n\t\t\tfixed.style.overflow = 'hidden';\n\t\t\tel.appendChild(fixed);\n\n\t\t\tfill.style.height = horizontal ? '100%' : `${pages * distance * 100}%`;\n\t\t\tfill.style.width = horizontal ? `${pages * distance * 100}%` : '100%';\n\t\t\tfill.style.pointerEvents = 'none';\n\t\t\tel.appendChild(fill);\n\n\t\t\tif (prepend) parent.prepend(el);\n\t\t\telse parent.appendChild(el);\n\n\t\t\t// Init scroll one pixel in to allow upward/leftward scroll\n\t\t\tel[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;\n\n\t\t\tconst oldTarget = (events.connected || domElement) as HTMLElement;\n\t\t\trequestAnimationFrame(() => events.connect?.(el));\n\t\t\tconst oldCompute = events.compute?.bind(events);\n\n\t\t\tthis.store.snapshot.setEvents({\n\t\t\t\tcompute(event, store) {\n\t\t\t\t\tconst state = store.snapshot;\n\t\t\t\t\t// we are using boundingClientRect because we could not rely on target.offsetTop as canvas could be positioned anywhere in dom\n\t\t\t\t\tconst { left, top } = parent.getBoundingClientRect();\n\t\t\t\t\tconst offsetX = event.clientX - left;\n\t\t\t\t\tconst offsetY = event.clientY - top;\n\t\t\t\t\tstate.pointer.set((offsetX / state.size.width) * 2 - 1, -(offsetY / state.size.height) * 2 + 1);\n\t\t\t\t\tstate.raycaster.setFromCamera(state.pointer, state.camera);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tonCleanup(() => {\n\t\t\t\tparent.removeChild(el);\n\t\t\t\tthis.store.snapshot.setEvents({ compute: oldCompute });\n\t\t\t\tevents.connect?.(oldTarget);\n\t\t\t});\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [el, events] = [this.el, this.events()];\n\t\t\tif (!events.connected || events.connected !== el) return;\n\n\t\t\tconst [size, infinite, invalidate, horizontal, enabled] = [\n\t\t\t\tthis.size(),\n\t\t\t\tthis.infinite(),\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.horizontal(),\n\t\t\t\tthis.enabled(),\n\t\t\t];\n\n\t\t\tconst containerLength = size[horizontal ? 'width' : 'height'];\n\t\t\tconst scrollLength = el[horizontal ? 'scrollWidth' : 'scrollHeight'];\n\t\t\tconst scrollThreshold = scrollLength - containerLength;\n\n\t\t\tlet current = 0;\n\t\t\tlet disableScroll = true;\n\t\t\tlet firstRun = true;\n\n\t\t\tconst onScroll = () => {\n\t\t\t\t// Prevent first scroll because it is indirectly caused by the one pixel offset\n\t\t\t\tif (!enabled || firstRun) return;\n\t\t\t\tinvalidate();\n\t\t\t\tcurrent = el[horizontal ? 'scrollLeft' : 'scrollTop'];\n\t\t\t\tthis.scroll = current / scrollThreshold;\n\n\t\t\t\tif (infinite) {\n\t\t\t\t\tif (!disableScroll) {\n\t\t\t\t\t\tif (current >= scrollThreshold) {\n\t\t\t\t\t\t\tconst damp = 1 - this.offset;\n\t\t\t\t\t\t\tel[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;\n\t\t\t\t\t\t\tthis.scroll = this.offset = -damp;\n\t\t\t\t\t\t\tdisableScroll = true;\n\t\t\t\t\t\t} else if (current <= 0) {\n\t\t\t\t\t\t\tconst damp = 1 + this.offset;\n\t\t\t\t\t\t\tel[horizontal ? 'scrollLeft' : 'scrollTop'] = scrollLength;\n\t\t\t\t\t\t\tthis.scroll = this.offset = damp;\n\t\t\t\t\t\t\tdisableScroll = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (disableScroll) setTimeout(() => (disableScroll = false), 40);\n\t\t\t\t}\n\n\t\t\t\tthis.progress.set(this.scroll);\n\t\t\t};\n\n\t\t\tel.addEventListener('scroll', onScroll, { passive: true });\n\t\t\trequestAnimationFrame(() => (firstRun = false));\n\n\t\t\tconst onWheel = (e: WheelEvent) => (el[horizontal ? 'scrollLeft' : 'scrollTop'] += e.deltaY / 2);\n\t\t\tif (horizontal) el.addEventListener('wheel', onWheel, { passive: true });\n\n\t\t\tonCleanup(() => {\n\t\t\t\tel.removeEventListener('scroll', onScroll);\n\t\t\t\tif (horizontal) el.removeEventListener('wheel', onWheel);\n\t\t\t});\n\t\t});\n\n\t\tlet last = 0;\n\t\tinjectBeforeRender(({ delta }) => {\n\t\t\tlast = this.offset;\n\t\t\teasing.damp(this, 'offset', this.scroll, this.damping(), delta, this.maxSpeed(), undefined, this.eps());\n\t\t\teasing.damp(\n\t\t\t\tthis,\n\t\t\t\t'delta',\n\t\t\t\tMath.abs(last - this.offset),\n\t\t\t\tthis.damping(),\n\t\t\t\tdelta,\n\t\t\t\tthis.maxSpeed(),\n\t\t\t\tundefined,\n\t\t\t\tthis.eps(),\n\t\t\t);\n\t\t\tif (this.delta > this.eps()) this.invalidate()();\n\t\t});\n\t}\n\n\tget el() {\n\t\treturn this._el;\n\t}\n\n\tget fill() {\n\t\treturn this._fill;\n\t}\n\n\tget fixed() {\n\t\treturn this._fixed;\n\t}\n\n\trange(from: number, distance: number, margin = 0): number {\n\t\tconst start = from - margin;\n\t\tconst end = start + distance + margin * 2;\n\t\treturn this.offset < start ? 0 : this.offset > end ? 1 : (this.offset - start) / (end - start);\n\t}\n\n\tcurve(from: number, distance: number, margin = 0): number {\n\t\treturn Math.sin(this.range(from, distance, margin) * Math.PI);\n\t}\n\n\tvisible(from: number, distance: number, margin = 0): boolean {\n\t\tconst start = from - margin;\n\t\tconst end = start + distance + margin * 2;\n\t\treturn this.offset >= start && this.offset <= end;\n\t}\n}\n\n@Directive({ selector: 'ngt-group[ngtsScrollCanvas]', standalone: true })\nexport class NgtsScrollCanvas {\n\tprivate host = inject<ElementRef<Group>>(ElementRef);\n\tprivate scrollControls = inject(NgtsScrollControls);\n\tprivate store = injectStore();\n\tprivate viewport = this.store.select('viewport');\n\n\tconstructor() {\n\t\tinjectBeforeRender(() => {\n\t\t\tconst group = this.host.nativeElement;\n\n\t\t\tgroup.position.x = this.scrollControls.horizontal()\n\t\t\t\t? -this.viewport().width * (this.scrollControls.pages() - 1) * this.scrollControls.offset\n\t\t\t\t: 0;\n\t\t\tgroup.position.y = this.scrollControls.horizontal()\n\t\t\t\t? 0\n\t\t\t\t: this.viewport().height * (this.scrollControls.pages() - 1) * this.scrollControls.offset;\n\t\t});\n\t}\n}\n\n@Directive({\n\tselector: 'div[ngtsScrollHTML]',\n\tstandalone: true,\n\thost: { style: 'position: absolute; top: 0; left: 0; will-change: transform;' },\n\tproviders: [provideHTMLDomElement([NgtsScrollControls], (scrollControls) => scrollControls.fixed)],\n})\nexport class NgtsScrollHtml extends NgtHTML {\n\tprivate scrollControls = inject(NgtsScrollControls);\n\tprivate size = this.store.select('size');\n\n\tconstructor() {\n\t\tsuper();\n\t\tinjectBeforeRender(() => {\n\t\t\tif (this.scrollControls.delta > this.scrollControls.eps()) {\n\t\t\t\tthis.host.nativeElement.style.transform = `translate3d(${\n\t\t\t\t\tthis.scrollControls.horizontal()\n\t\t\t\t\t\t? -this.size().width * (this.scrollControls.pages() - 1) * this.scrollControls.offset\n\t\t\t\t\t\t: 0\n\t\t\t\t}px,${this.scrollControls.horizontal() ? 0 : this.size().height * (this.scrollControls.pages() - 1) * -this.scrollControls.offset}px,0)`;\n\t\t\t}\n\t\t});\n\t}\n}\n","export * from './lib/camera-controls';\nexport * from './lib/orbit-controls';\nexport * from './lib/scroll-controls';\n\nimport {\n\tNgtsPivotControls as GizmosPivotControls,\n\tNgtsPivotControlsOptions as GizmosPivotControlsOptions,\n} from 'angular-three-soba/gizmos';\n\n/**\n * @deprecated Use `NgtsPivotControls` from `angular-three-soba/gizmos` instead.\n */\nexport const NgtsPivotControls = GizmosPivotControls;\n/**\n * @deprecated Use `NgtsPivotControlsOptions` from `angular-three-soba/gizmos` instead.\n */\nexport type NgtsPivotControlsOptions = GizmosPivotControlsOptions;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultOptions","GizmosPivotControls"],"mappings":"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"}
1
+ {"version":3,"file":"angular-three-soba-controls.mjs","sources":["../../../../libs/soba/controls/src/lib/camera-controls.ts","../../../../libs/soba/controls/src/lib/orbit-controls.ts","../../../../libs/soba/controls/src/lib/scroll-controls.ts","../../../../libs/soba/controls/src/index.ts","../../../../libs/soba/controls/src/angular-three-soba-controls.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\teffect,\n\tinput,\n\toutput,\n} from '@angular/core';\nimport { extend, injectBeforeRender, injectStore, NgtArgs, NgtCamera, omit, pick } from 'angular-three';\nimport CameraControls from 'camera-controls';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport {\n\tBox3,\n\tEventDispatcher,\n\tMathUtils,\n\tMatrix4,\n\tQuaternion,\n\tRaycaster,\n\tSphere,\n\tSpherical,\n\tVector2,\n\tVector3,\n\tVector4,\n} from 'three';\n\nexport interface NgtsCameraControlsOptions {\n\tcamera?: NgtCamera;\n\tdomElement?: HTMLElement;\n\tmakeDefault: boolean;\n\tevents: boolean;\n\tregress: boolean;\n}\n\nconst defaultOptions: Partial<CameraControls> & NgtsCameraControlsOptions = {\n\tmakeDefault: false,\n\tevents: false,\n\tregress: false,\n};\n\n@Component({\n\tselector: 'ngts-camera-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[controls()]\" [parameters]=\"parameters()\">\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\timports: [NgtArgs],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsCameraControls {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['makeDefault', 'camera', 'regress', 'domElement']);\n\n\tchanged = output<any>();\n\tstarted = output<any>();\n\tended = output<any>();\n\n\tprivate store = injectStore();\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate performanceRegress = this.store.select('performance', 'regress');\n\tprivate defaultCamera = this.store.select('camera');\n\tprivate glDomElement = this.store.select('gl', 'domElement');\n\tprivate eventsElement = this.store.select('events', 'connected');\n\n\tprivate camera = pick(this.options, 'camera');\n\tprivate regress = pick(this.options, 'regress');\n\tprivate domElement = pick(this.options, 'domElement');\n\tprivate makeDefault = pick(this.options, 'makeDefault');\n\n\tcontrols = computed(() => {\n\t\tconst [camera, defaultCamera] = [this.camera(), this.defaultCamera()];\n\t\treturn new CameraControls(camera || defaultCamera);\n\t});\n\n\tconstructor() {\n\t\t// to allow for tree shaking, we only import the subset of THREE that is used by camera-controls\n\t\t// see https://github.com/yomotsu/camera-controls#important\n\t\tCameraControls.install({\n\t\t\tTHREE: {\n\t\t\t\tBox3,\n\t\t\t\tMathUtils: { clamp: MathUtils.clamp },\n\t\t\t\tMatrix4,\n\t\t\t\tQuaternion,\n\t\t\t\tRaycaster,\n\t\t\t\tSphere,\n\t\t\t\tSpherical,\n\t\t\t\tVector2,\n\t\t\t\tVector3,\n\t\t\t\tVector4,\n\t\t\t},\n\t\t});\n\t\textend({ CameraControls });\n\n\t\tinjectBeforeRender(\n\t\t\t({ delta }) => {\n\t\t\t\tconst controls = this.controls();\n\t\t\t\tif (controls?.enabled) {\n\t\t\t\t\tcontrols.update(delta);\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: -1 },\n\t\t);\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [domElement, eventsElement, glDomElement, controls] = [\n\t\t\t\tthis.domElement(),\n\t\t\t\tthis.eventsElement(),\n\t\t\t\tthis.glDomElement(),\n\t\t\t\tthis.controls(),\n\t\t\t];\n\t\t\tcontrols.connect(domElement || eventsElement || glDomElement);\n\t\t\tonCleanup(() => controls.disconnect());\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst controls = this.controls();\n\t\t\tif (!controls) return;\n\n\t\t\tconst [regress, performanceRegress, invalidate] = [this.regress(), this.performanceRegress(), this.invalidate()];\n\n\t\t\tconst callback = (e: any) => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (regress) performanceRegress();\n\t\t\t\tthis.changed.emit(e);\n\t\t\t};\n\n\t\t\tconst startCallback = this.started.emit.bind(this.started);\n\t\t\tconst endCallback = this.ended.emit.bind(this.ended);\n\n\t\t\tcontrols.addEventListener('update', callback);\n\t\t\tcontrols.addEventListener('controlstart', startCallback);\n\t\t\tcontrols.addEventListener('controlend', endCallback);\n\t\t\tcontrols.addEventListener('control', callback);\n\t\t\tcontrols.addEventListener('transitionstart', callback);\n\t\t\tcontrols.addEventListener('wake', callback);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tcontrols.removeEventListener('update', callback);\n\t\t\t\tcontrols.removeEventListener('controlstart', startCallback);\n\t\t\t\tcontrols.removeEventListener('controlend', endCallback);\n\t\t\t\tcontrols.removeEventListener('control', callback);\n\t\t\t\tcontrols.removeEventListener('transitionstart', callback);\n\t\t\t\tcontrols.removeEventListener('wake', callback);\n\t\t\t});\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst makeDefault = this.makeDefault();\n\t\t\tif (!makeDefault) return;\n\n\t\t\tconst controls = this.controls();\n\t\t\tconst oldControls = this.store.snapshot.controls;\n\t\t\tthis.store.update({ controls: controls as unknown as EventDispatcher });\n\t\t\tonCleanup(() => void this.store.update({ controls: oldControls }));\n\t\t});\n\t}\n}\n","import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input, output } from '@angular/core';\nimport { injectBeforeRender, injectStore, NgtArgs, NgtCamera, NgtVector3, omit, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { Camera, Event } from 'three';\nimport { OrbitControls } from 'three-stdlib';\n\nexport interface NgtsOrbitControlsOptions {\n\tcamera?: Camera;\n\tdomElement?: HTMLElement;\n\ttarget?: NgtVector3;\n\tmakeDefault: boolean;\n\tregress: boolean;\n\tenableDamping: boolean;\n\tkeyEvents: boolean | HTMLElement;\n}\n\nconst defaultOptions: Partial<OrbitControls> & NgtsOrbitControlsOptions = {\n\tenableDamping: true,\n\tregress: false,\n\tmakeDefault: false,\n\tkeyEvents: false,\n};\n\n@Component({\n\tselector: 'ngts-orbit-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[controls()]\" [parameters]=\"parameters()\" [enableDamping]=\"enableDamping()\">\n\t\t\t<ng-content />\n\t\t</ngt-primitive>\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrbitControls {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\tparameters = omit(this.options, ['makeDefault', 'camera', 'regress', 'domElement', 'keyEvents', 'enableDamping']);\n\n\tchanged = output<Event>();\n\tstarted = output<Event>();\n\tended = output<Event>();\n\n\tprivate store = injectStore();\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate performanceRegress = this.store.select('performance', 'regress');\n\tprivate defaultCamera = this.store.select('camera');\n\tprivate glDomElement = this.store.select('gl', 'domElement');\n\n\tprivate camera = pick(this.options, 'camera');\n\tprivate regress = pick(this.options, 'regress');\n\tprivate keyEvents = pick(this.options, 'keyEvents');\n\tprivate domElement = pick(this.options, 'domElement');\n\tprivate makeDefault = pick(this.options, 'makeDefault');\n\n\tcontrols = computed(() => {\n\t\tconst [camera, defaultCamera] = [this.camera(), this.defaultCamera()];\n\t\tconst controlsCamera = camera || defaultCamera;\n\t\treturn new OrbitControls(controlsCamera as NgtCamera);\n\t});\n\n\tprotected enableDamping = pick(this.options, 'enableDamping');\n\n\tconstructor() {\n\t\tinjectBeforeRender(\n\t\t\t() => {\n\t\t\t\tconst controls = this.controls();\n\t\t\t\tif (controls?.enabled) {\n\t\t\t\t\tcontrols.update();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: -1 },\n\t\t);\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [keyEvents, domElement, controls] = [\n\t\t\t\tthis.keyEvents(),\n\t\t\t\tthis.domElement() || this.store.get('events', 'connected') || this.glDomElement(),\n\t\t\t\tthis.controls(),\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.regress(),\n\t\t\t];\n\t\t\tif (!controls) return;\n\t\t\tif (keyEvents) {\n\t\t\t\tcontrols.connect(keyEvents === true ? domElement : keyEvents);\n\t\t\t} else {\n\t\t\t\tcontrols.connect(domElement);\n\t\t\t}\n\t\t\tonCleanup(() => void controls.dispose());\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst makeDefault = this.makeDefault();\n\t\t\tif (!makeDefault) return;\n\n\t\t\tconst controls = this.controls();\n\t\t\tif (!controls) return;\n\n\t\t\tconst oldControls = this.store.get('controls');\n\t\t\tthis.store.update({ controls });\n\t\t\tonCleanup(() => void this.store.update({ controls: oldControls }));\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst controls = this.controls();\n\t\t\tif (!controls) return;\n\n\t\t\tconst [invalidate, performanceRegress, regress] = [this.invalidate(), this.performanceRegress(), this.regress()];\n\n\t\t\tconst changeCallback: (e: Event) => void = (e) => {\n\t\t\t\tinvalidate();\n\t\t\t\tif (regress) performanceRegress();\n\t\t\t\tthis.changed.emit(e);\n\t\t\t};\n\n\t\t\tconst startCallback = this.started.emit.bind(this.started);\n\t\t\tconst endCallback = this.ended.emit.bind(this.ended);\n\n\t\t\tcontrols.addEventListener('change', changeCallback);\n\t\t\tcontrols.addEventListener('start', startCallback);\n\t\t\tcontrols.addEventListener('end', endCallback);\n\n\t\t\tonCleanup(() => {\n\t\t\t\tcontrols.removeEventListener('change', changeCallback);\n\t\t\t\tcontrols.removeEventListener('start', startCallback);\n\t\t\t\tcontrols.removeEventListener('end', endCallback);\n\t\t\t});\n\t\t});\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tDirective,\n\teffect,\n\tElementRef,\n\tinject,\n\tinput,\n\tmodel,\n\tuntracked,\n} from '@angular/core';\nimport { injectBeforeRender, injectStore, NgtHTML, pick, provideHTMLDomElement } from 'angular-three';\nimport { easing } from 'maath';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { Group } from 'three';\n\nexport interface NgtsScrollControlsOptions {\n\t/** Precision, default 0.00001 */\n\teps: number;\n\t/** Horizontal scroll, default false (vertical) */\n\thorizontal: boolean;\n\t/** Infinite scroll, default false (experimental!) */\n\tinfinite: boolean;\n\t/** Defines the lenght of the scroll area, each page is height:100%, default 1 */\n\tpages: number;\n\t/** A factor that increases scroll bar travel,default: 1 */\n\tdistance: number;\n\t/** Friction in seconds, default: 0.25 (1/4 second) */\n\tdamping: number;\n\t/** maxSpeed optionally allows you to clamp the maximum speed. If damping is 0.2s and looks OK\n\t * going between, say, page 1 and 2, but not for pages far apart as it'll move very rapid,\n\t * then a maxSpeed of e.g. 3 which will clamp the speed to 3 units per second, it may now\n\t * take much longer than damping to reach the target if it is far away. Default: Infinity */\n\tmaxSpeed: number;\n\t/** If true attaches the scroll container before the canvas */\n\tprepend: boolean;\n\tenabled: boolean;\n\tstyle: Partial<CSSStyleDeclaration>;\n}\n\nconst defaultOptions: NgtsScrollControlsOptions = {\n\teps: 0.00001,\n\thorizontal: false,\n\tinfinite: false,\n\tpages: 1,\n\tdistance: 1,\n\tdamping: 0.25,\n\tmaxSpeed: Infinity,\n\tprepend: false,\n\tenabled: true,\n\tstyle: {},\n};\n\n@Component({\n\tselector: 'ngts-scroll-controls',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtsScrollControls {\n\tprogress = model(0);\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\n\tprivate document = inject(DOCUMENT);\n\tprivate store = injectStore();\n\tprivate gl = this.store.select('gl');\n\tprivate events = this.store.select('events');\n\tprivate invalidate = this.store.select('invalidate');\n\tprivate size = this.store.select('size');\n\n\tprivate domElement = pick(this.gl, 'domElement');\n\tprivate target = pick(this.domElement, 'parentNode');\n\n\tprivate _el = this.document.createElement('div');\n\tprivate _fill = this.document.createElement('div');\n\tprivate _fixed = this.document.createElement('div');\n\n\tprivate style = pick(this.options, 'style');\n\tprivate prepend = pick(this.options, 'prepend');\n\tprivate enabled = pick(this.options, 'enabled');\n\tprivate infinite = pick(this.options, 'infinite');\n\tprivate maxSpeed = pick(this.options, 'maxSpeed');\n\teps = pick(this.options, 'eps');\n\thorizontal = pick(this.options, 'horizontal');\n\tpages = pick(this.options, 'pages');\n\tdistance = pick(this.options, 'distance');\n\tdamping = pick(this.options, 'damping');\n\tscroll = 0;\n\toffset = 0;\n\tdelta = 0;\n\n\tconstructor() {\n\t\teffect((onCleanup) => {\n\t\t\tconst target = this.target();\n\t\t\tif (!target) return;\n\n\t\t\tconst parent = target as HTMLElement;\n\t\t\tconst [pages, distance, horizontal, el, fill, fixed, style, prepend, domElement, events] = [\n\t\t\t\tthis.pages(),\n\t\t\t\tthis.distance(),\n\t\t\t\tthis.horizontal(),\n\t\t\t\tthis.el,\n\t\t\t\tthis.fill,\n\t\t\t\tthis.fixed,\n\t\t\t\tuntracked(this.style),\n\t\t\t\tuntracked(this.prepend),\n\t\t\t\tuntracked(this.domElement),\n\t\t\t\tuntracked(this.events),\n\t\t\t];\n\n\t\t\tel.style.position = 'absolute';\n\t\t\tel.style.width = '100%';\n\t\t\tel.style.height = '100%';\n\t\t\tel.style[horizontal ? 'overflowX' : 'overflowY'] = 'auto';\n\t\t\tel.style[horizontal ? 'overflowY' : 'overflowX'] = 'hidden';\n\t\t\tel.style.top = '0px';\n\t\t\tel.style.left = '0px';\n\n\t\t\tfor (const key in style) {\n\t\t\t\tel.style[key] = (style as CSSStyleDeclaration)[key];\n\t\t\t}\n\n\t\t\tfixed.style.position = 'sticky';\n\t\t\tfixed.style.top = '0px';\n\t\t\tfixed.style.left = '0px';\n\t\t\tfixed.style.width = '100%';\n\t\t\tfixed.style.height = '100%';\n\t\t\tfixed.style.overflow = 'hidden';\n\t\t\tel.appendChild(fixed);\n\n\t\t\tfill.style.height = horizontal ? '100%' : `${pages * distance * 100}%`;\n\t\t\tfill.style.width = horizontal ? `${pages * distance * 100}%` : '100%';\n\t\t\tfill.style.pointerEvents = 'none';\n\t\t\tel.appendChild(fill);\n\n\t\t\tif (prepend) parent.prepend(el);\n\t\t\telse parent.appendChild(el);\n\n\t\t\t// Init scroll one pixel in to allow upward/leftward scroll\n\t\t\tel[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;\n\n\t\t\tconst oldTarget = (events.connected || domElement) as HTMLElement;\n\t\t\trequestAnimationFrame(() => events.connect?.(el));\n\t\t\tconst oldCompute = events.compute?.bind(events);\n\n\t\t\tthis.store.snapshot.setEvents({\n\t\t\t\tcompute(event, store) {\n\t\t\t\t\tconst state = store.snapshot;\n\t\t\t\t\t// we are using boundingClientRect because we could not rely on target.offsetTop as canvas could be positioned anywhere in dom\n\t\t\t\t\tconst { left, top } = parent.getBoundingClientRect();\n\t\t\t\t\tconst offsetX = event.clientX - left;\n\t\t\t\t\tconst offsetY = event.clientY - top;\n\t\t\t\t\tstate.pointer.set((offsetX / state.size.width) * 2 - 1, -(offsetY / state.size.height) * 2 + 1);\n\t\t\t\t\tstate.raycaster.setFromCamera(state.pointer, state.camera);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tonCleanup(() => {\n\t\t\t\tparent.removeChild(el);\n\t\t\t\tthis.store.snapshot.setEvents({ compute: oldCompute });\n\t\t\t\tevents.connect?.(oldTarget);\n\t\t\t});\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst [el, events] = [this.el, this.events()];\n\t\t\tif (!events.connected || events.connected !== el) return;\n\n\t\t\tconst [size, infinite, invalidate, horizontal, enabled] = [\n\t\t\t\tthis.size(),\n\t\t\t\tthis.infinite(),\n\t\t\t\tthis.invalidate(),\n\t\t\t\tthis.horizontal(),\n\t\t\t\tthis.enabled(),\n\t\t\t];\n\n\t\t\tconst containerLength = size[horizontal ? 'width' : 'height'];\n\t\t\tconst scrollLength = el[horizontal ? 'scrollWidth' : 'scrollHeight'];\n\t\t\tconst scrollThreshold = scrollLength - containerLength;\n\n\t\t\tlet current = 0;\n\t\t\tlet disableScroll = true;\n\t\t\tlet firstRun = true;\n\n\t\t\tconst onScroll = () => {\n\t\t\t\t// Prevent first scroll because it is indirectly caused by the one pixel offset\n\t\t\t\tif (!enabled || firstRun) return;\n\t\t\t\tinvalidate();\n\t\t\t\tcurrent = el[horizontal ? 'scrollLeft' : 'scrollTop'];\n\t\t\t\tthis.scroll = current / scrollThreshold;\n\n\t\t\t\tif (infinite) {\n\t\t\t\t\tif (!disableScroll) {\n\t\t\t\t\t\tif (current >= scrollThreshold) {\n\t\t\t\t\t\t\tconst damp = 1 - this.offset;\n\t\t\t\t\t\t\tel[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;\n\t\t\t\t\t\t\tthis.scroll = this.offset = -damp;\n\t\t\t\t\t\t\tdisableScroll = true;\n\t\t\t\t\t\t} else if (current <= 0) {\n\t\t\t\t\t\t\tconst damp = 1 + this.offset;\n\t\t\t\t\t\t\tel[horizontal ? 'scrollLeft' : 'scrollTop'] = scrollLength;\n\t\t\t\t\t\t\tthis.scroll = this.offset = damp;\n\t\t\t\t\t\t\tdisableScroll = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (disableScroll) setTimeout(() => (disableScroll = false), 40);\n\t\t\t\t}\n\n\t\t\t\tthis.progress.set(this.scroll);\n\t\t\t};\n\n\t\t\tel.addEventListener('scroll', onScroll, { passive: true });\n\t\t\trequestAnimationFrame(() => (firstRun = false));\n\n\t\t\tconst onWheel = (e: WheelEvent) => (el[horizontal ? 'scrollLeft' : 'scrollTop'] += e.deltaY / 2);\n\t\t\tif (horizontal) el.addEventListener('wheel', onWheel, { passive: true });\n\n\t\t\tonCleanup(() => {\n\t\t\t\tel.removeEventListener('scroll', onScroll);\n\t\t\t\tif (horizontal) el.removeEventListener('wheel', onWheel);\n\t\t\t});\n\t\t});\n\n\t\tlet last = 0;\n\t\tinjectBeforeRender(({ delta }) => {\n\t\t\tlast = this.offset;\n\t\t\teasing.damp(this, 'offset', this.scroll, this.damping(), delta, this.maxSpeed(), undefined, this.eps());\n\t\t\teasing.damp(\n\t\t\t\tthis,\n\t\t\t\t'delta',\n\t\t\t\tMath.abs(last - this.offset),\n\t\t\t\tthis.damping(),\n\t\t\t\tdelta,\n\t\t\t\tthis.maxSpeed(),\n\t\t\t\tundefined,\n\t\t\t\tthis.eps(),\n\t\t\t);\n\t\t\tif (this.delta > this.eps()) this.invalidate()();\n\t\t});\n\t}\n\n\tget el() {\n\t\treturn this._el;\n\t}\n\n\tget fill() {\n\t\treturn this._fill;\n\t}\n\n\tget fixed() {\n\t\treturn this._fixed;\n\t}\n\n\trange(from: number, distance: number, margin = 0): number {\n\t\tconst start = from - margin;\n\t\tconst end = start + distance + margin * 2;\n\t\treturn this.offset < start ? 0 : this.offset > end ? 1 : (this.offset - start) / (end - start);\n\t}\n\n\tcurve(from: number, distance: number, margin = 0): number {\n\t\treturn Math.sin(this.range(from, distance, margin) * Math.PI);\n\t}\n\n\tvisible(from: number, distance: number, margin = 0): boolean {\n\t\tconst start = from - margin;\n\t\tconst end = start + distance + margin * 2;\n\t\treturn this.offset >= start && this.offset <= end;\n\t}\n}\n\n@Directive({ selector: 'ngt-group[ngtsScrollCanvas]', standalone: true })\nexport class NgtsScrollCanvas {\n\tprivate host = inject<ElementRef<Group>>(ElementRef);\n\tprivate scrollControls = inject(NgtsScrollControls);\n\tprivate store = injectStore();\n\tprivate viewport = this.store.select('viewport');\n\n\tconstructor() {\n\t\tinjectBeforeRender(() => {\n\t\t\tconst group = this.host.nativeElement;\n\n\t\t\tgroup.position.x = this.scrollControls.horizontal()\n\t\t\t\t? -this.viewport().width * (this.scrollControls.pages() - 1) * this.scrollControls.offset\n\t\t\t\t: 0;\n\t\t\tgroup.position.y = this.scrollControls.horizontal()\n\t\t\t\t? 0\n\t\t\t\t: this.viewport().height * (this.scrollControls.pages() - 1) * this.scrollControls.offset;\n\t\t});\n\t}\n}\n\n@Directive({\n\tselector: 'div[ngtsScrollHTML]',\n\tstandalone: true,\n\thost: { style: 'position: absolute; top: 0; left: 0; will-change: transform;' },\n\tproviders: [provideHTMLDomElement([NgtsScrollControls], (scrollControls) => scrollControls.fixed)],\n})\nexport class NgtsScrollHtml extends NgtHTML {\n\tprivate scrollControls = inject(NgtsScrollControls);\n\tprivate size = this.store.select('size');\n\n\tconstructor() {\n\t\tsuper();\n\t\tinjectBeforeRender(() => {\n\t\t\tif (this.scrollControls.delta > this.scrollControls.eps()) {\n\t\t\t\tthis.host.nativeElement.style.transform = `translate3d(${\n\t\t\t\t\tthis.scrollControls.horizontal()\n\t\t\t\t\t\t? -this.size().width * (this.scrollControls.pages() - 1) * this.scrollControls.offset\n\t\t\t\t\t\t: 0\n\t\t\t\t}px,${this.scrollControls.horizontal() ? 0 : this.size().height * (this.scrollControls.pages() - 1) * -this.scrollControls.offset}px,0)`;\n\t\t\t}\n\t\t});\n\t}\n}\n","export * from './lib/camera-controls';\nexport * from './lib/orbit-controls';\nexport * from './lib/scroll-controls';\n\nimport {\n\tNgtsPivotControls as GizmosPivotControls,\n\tNgtsPivotControlsOptions as GizmosPivotControlsOptions,\n} from 'angular-three-soba/gizmos';\n\n/**\n * @deprecated Use `NgtsPivotControls` from `angular-three-soba/gizmos` instead.\n */\nexport const NgtsPivotControls = GizmosPivotControls;\n/**\n * @deprecated Use `NgtsPivotControlsOptions` from `angular-three-soba/gizmos` instead.\n */\nexport type NgtsPivotControlsOptions = GizmosPivotControlsOptions;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultOptions","GizmosPivotControls"],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare function calculateOffset(clickPoint: Vector3, normal: Vector3, ra
7
7
  export declare class NgtsAxisArrow {
8
8
  protected readonly DoubleSide: 2;
9
9
  direction: import("@angular/core").InputSignal<Vector3>;
10
- axis: import("@angular/core").InputSignal<0 | 2 | 1>;
10
+ axis: import("@angular/core").InputSignal<0 | 1 | 2>;
11
11
  groupRef: Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
12
12
  annotationRef: Signal<ElementRef<HTMLDivElement> | undefined>;
13
13
  pivotControls: NgtsPivotControls;
@@ -7,7 +7,7 @@ export declare class NgtsAxisRotator {
7
7
  protected readonly DoubleSide: 2;
8
8
  dir1: import("@angular/core").InputSignal<Vector3>;
9
9
  dir2: import("@angular/core").InputSignal<Vector3>;
10
- axis: import("@angular/core").InputSignal<0 | 2 | 1>;
10
+ axis: import("@angular/core").InputSignal<0 | 1 | 2>;
11
11
  groupRef: Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
12
12
  annotationRef: Signal<ElementRef<HTMLDivElement> | undefined>;
13
13
  pivotControls: NgtsPivotControls;
@@ -60,7 +60,7 @@ export interface NgtsPivotControlsOptions {
60
60
  }
61
61
  export declare class NgtsPivotControls {
62
62
  options: import("@angular/core").InputSignalWithTransform<NgtsPivotControlsOptions, "" | Partial<NgtsPivotControlsOptions>>;
63
- parameters: import("@angular/core").Signal<Omit<NgtsPivotControlsOptions, "scale" | "rotation" | "matrix" | "anchor" | "fixed" | "visible" | "userData" | "axisColors" | "opacity" | "hoveredColor" | "enabled" | "lineWidth" | "offset" | "autoTransform" | "activeAxes" | "disableAxes" | "disableSliders" | "disableRotations" | "disableScaling" | "translationLimits" | "rotationLimits" | "scaleLimits" | "annotations" | "annotationsClass" | "depthTest">>;
63
+ parameters: import("@angular/core").Signal<Omit<NgtsPivotControlsOptions, "scale" | "rotation" | "matrix" | "anchor" | "fixed" | "visible" | "userData" | "enabled" | "autoTransform" | "disableAxes" | "disableSliders" | "disableRotations" | "disableScaling" | "activeAxes" | "offset" | "lineWidth" | "translationLimits" | "rotationLimits" | "scaleLimits" | "depthTest" | "axisColors" | "hoveredColor" | "annotations" | "annotationsClass" | "opacity">>;
64
64
  dragStarted: import("@angular/core").OutputEmitterRef<OnDragStartParameters>;
65
65
  dragEnded: import("@angular/core").OutputEmitterRef<void>;
66
66
  dragged: import("@angular/core").OutputEmitterRef<OnDragParameters>;
@@ -7,7 +7,7 @@ export declare class NgtsPlaneSlider {
7
7
  protected readonly DoubleSide: 2;
8
8
  dir1: import("@angular/core").InputSignal<Vector3>;
9
9
  dir2: import("@angular/core").InputSignal<Vector3>;
10
- axis: import("@angular/core").InputSignal<0 | 2 | 1>;
10
+ axis: import("@angular/core").InputSignal<0 | 1 | 2>;
11
11
  groupRef: Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
12
12
  annotationRef: Signal<ElementRef<HTMLDivElement> | undefined>;
13
13
  pivotControls: NgtsPivotControls;
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export declare function calculateOffset(clickPoint: Vector3, normal: Vector3, rayStart: Vector3, rayDir: Vector3): number;
7
7
  export declare class NgtsScalingSphere {
8
8
  direction: import("@angular/core").InputSignal<Vector3>;
9
- axis: import("@angular/core").InputSignal<0 | 2 | 1>;
9
+ axis: import("@angular/core").InputSignal<0 | 1 | 2>;
10
10
  groupRef: Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
11
11
  annotationRef: Signal<ElementRef<HTMLDivElement> | undefined>;
12
12
  meshRef: Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>>>;
@@ -23,8 +23,8 @@ export type NgtsTransformControlsOptions = Partial<NgtsTransformControlsObject>
23
23
  export declare class NgtsTransformControls {
24
24
  object: import("@angular/core").InputSignal<Object3D<import("three").Object3DEventMap> | ElementRef<Object3D<import("three").Object3DEventMap>> | null | undefined>;
25
25
  options: import("@angular/core").InputSignal<Partial<NgtsTransformControlsOptions>>;
26
- parameters: Signal<Omit<Partial<NgtsTransformControlsOptions>, "size" | "camera" | "enabled" | "axis" | "domElement" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "showX" | "showY" | "showZ" | "makeDefault">>;
27
- protected controlsOptions: Signal<Pick<Partial<NgtsTransformControlsOptions>, "size" | "enabled" | "axis" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "showX" | "showY" | "showZ">>;
26
+ parameters: Signal<Omit<Partial<NgtsTransformControlsOptions>, "enabled" | "axis" | "domElement" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "size" | "showX" | "showY" | "showZ" | "camera" | "makeDefault">>;
27
+ protected controlsOptions: Signal<Pick<Partial<NgtsTransformControlsOptions>, "enabled" | "axis" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "size" | "showX" | "showY" | "showZ">>;
28
28
  private camera;
29
29
  private domElement;
30
30
  private makeDefault;
@@ -4,10 +4,10 @@ import { Material } from 'three';
4
4
  import CustomShaderMaterial from 'three-custom-shader-material/vanilla';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class NgtsCustomShaderMaterial {
7
- baseMaterial: import("@angular/core").InputSignal<Material | typeof Material | ElementRef<Material>>;
7
+ baseMaterial: import("@angular/core").InputSignal<typeof Material | Material | ElementRef<Material>>;
8
8
  attach: import("@angular/core").InputSignal<NgtAttachable>;
9
9
  options: import("@angular/core").InputSignal<Omit<any, "baseMaterial">>;
10
- parameters: import("@angular/core").Signal<Omit<Omit<any, "baseMaterial">, "fragmentShader" | "vertexShader" | "uniforms" | "cacheKey">>;
10
+ parameters: import("@angular/core").Signal<Omit<Omit<any, "baseMaterial">, "uniforms" | "vertexShader" | "fragmentShader" | "cacheKey">>;
11
11
  private base;
12
12
  private fragmentShader;
13
13
  private vertexShader;
@@ -9,11 +9,6 @@ export declare class ManagePortalScene {
9
9
  events: import("@angular/core").InputSignal<boolean | undefined>;
10
10
  rootScene: import("@angular/core").InputSignal<Scene>;
11
11
  material: import("@angular/core").InputSignal<import("angular-three").NgtExtendedColors<import("angular-three").NgtOverwrite<Partial<{
12
- fragmentShader: string;
13
- vertexShader: string;
14
- uniforms: {
15
- [uniform: string]: import("three").IUniform;
16
- };
17
12
  defines: {
18
13
  [key: string]: any;
19
14
  };
@@ -22,8 +17,8 @@ export declare class ManagePortalScene {
22
17
  wireframeLinewidth: number;
23
18
  fog: boolean;
24
19
  setValues: (parameters: import("three").ShaderMaterialParameters) => void;
25
- readonly type: string;
26
20
  readonly isMaterial: true;
21
+ type: string;
27
22
  alphaHash: boolean;
28
23
  alphaToCoverage: boolean;
29
24
  blendAlpha: number;
@@ -86,11 +81,13 @@ export declare class ManagePortalScene {
86
81
  dispose: {};
87
82
  }[T]) => void;
88
83
  resolution: import("three").Vector2;
89
- blur: number;
90
- size?: number | undefined;
91
- sdf?: (import("three").Texture | null) | undefined;
92
84
  readonly isShaderMaterial: true;
85
+ uniforms: {
86
+ [uniform: string]: import("three").IUniform;
87
+ };
93
88
  uniformsGroups: import("three").UniformsGroup[];
89
+ vertexShader: string;
90
+ fragmentShader: string;
94
91
  linewidth: number;
95
92
  lights: boolean;
96
93
  clipping: boolean;
@@ -102,6 +99,9 @@ export declare class ManagePortalScene {
102
99
  index0AttributeName: string | undefined;
103
100
  uniformsNeedUpdate: boolean;
104
101
  glslVersion: import("three").GLSLVersion | null;
102
+ size?: number | undefined;
103
+ blur: number;
104
+ sdf?: (import("three").Texture | null) | undefined;
105
105
  }>, import("angular-three").NgtNodeElement<ShaderMaterial & import("@pmndrs/vanilla").PortalMaterialType, (new (parameters?: (import("three").ShaderMaterialParameters & Partial<import("@pmndrs/vanilla").PortalMaterialType>) | undefined) => ShaderMaterial & import("@pmndrs/vanilla").PortalMaterialType) & {
106
106
  key: string;
107
107
  }>>>>;
@@ -131,7 +131,7 @@ export interface NgtsMeshPortalMaterialOptions extends Partial<NgtShaderMaterial
131
131
  export declare class NgtsMeshPortalMaterial {
132
132
  attach: import("@angular/core").InputSignal<NgtAttachable>;
133
133
  options: import("@angular/core").InputSignalWithTransform<NgtsMeshPortalMaterialOptions, "" | Partial<NgtsMeshPortalMaterialOptions>>;
134
- parameters: import("@angular/core").Signal<Omit<NgtsMeshPortalMaterialOptions, "resolution" | "blur" | "worldUnits" | "eventPriority" | "renderPriority" | "events">>;
134
+ parameters: import("@angular/core").Signal<Omit<NgtsMeshPortalMaterialOptions, "resolution" | "events" | "blur" | "worldUnits" | "eventPriority" | "renderPriority">>;
135
135
  blur: import("@angular/core").Signal<number>;
136
136
  eventPriority: import("@angular/core").Signal<number>;
137
137
  renderPriority: import("@angular/core").Signal<number>;
@@ -20,11 +20,11 @@ export declare class NgtsMeshRefractionMaterial {
20
20
  envMap: import("@angular/core").InputSignal<Texture | CubeTexture>;
21
21
  attach: import("@angular/core").InputSignal<NgtAttachable>;
22
22
  options: import("@angular/core").InputSignalWithTransform<NgtsMeshRefractionMaterialOptions, "" | Partial<NgtsMeshRefractionMaterialOptions>>;
23
- parameters: import("@angular/core").Signal<Omit<NgtsMeshRefractionMaterialOptions, "aberrationStrength" | "fastChroma">>;
23
+ parameters: import("@angular/core").Signal<Omit<NgtsMeshRefractionMaterialOptions, "fastChroma" | "aberrationStrength">>;
24
24
  private fastChroma;
25
25
  aberrationStrength: import("@angular/core").Signal<number>;
26
26
  materialRef: import("@angular/core").Signal<ElementRef<import("three").ShaderMaterial & {
27
- [name: string]: number | boolean | any[] | import("three").Color | Texture | import("three").Vector2 | import("three").Vector3 | import("three").Quaternion | import("three").Matrix4 | import("three").Matrix3 | import("three").Vector4 | CubeTexture | Int32Array | Float32Array | null;
27
+ [name: string]: number | boolean | any[] | import("three").Color | Texture | CubeTexture | Int32Array | Float32Array | import("three").Matrix4 | import("three").Matrix3 | import("three").Quaternion | import("three").Vector4 | import("three").Vector3 | import("three").Vector2 | null;
28
28
  }> | undefined>;
29
29
  private store;
30
30
  private size;
@@ -34,7 +34,7 @@ export declare class NgtsMeshRefractionMaterial {
34
34
  }>;
35
35
  private defineKeys;
36
36
  material: import("@angular/core").Signal<import("three").ShaderMaterial & {
37
- [name: string]: number | boolean | any[] | import("three").Color | Texture | import("three").Vector2 | import("three").Vector3 | import("three").Quaternion | import("three").Matrix4 | import("three").Matrix3 | import("three").Vector4 | CubeTexture | Int32Array | Float32Array | null;
37
+ [name: string]: number | boolean | any[] | import("three").Color | Texture | CubeTexture | Int32Array | Float32Array | import("three").Matrix4 | import("three").Matrix3 | import("three").Quaternion | import("three").Vector4 | import("three").Vector3 | import("three").Vector2 | null;
38
38
  }>;
39
39
  constructor();
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsMeshRefractionMaterial, never>;
@@ -29,7 +29,7 @@ export type NgtsMeshTransmissionMaterialOptions = Partial<NgtMeshPhysicalMateria
29
29
  export declare class NgtsMeshTransmissionMaterial {
30
30
  attach: import("@angular/core").InputSignal<NgtAttachable>;
31
31
  options: import("@angular/core").InputSignalWithTransform<NgtsMeshTransmissionMaterialOptions, "" | Partial<NgtsMeshTransmissionMaterialOptions>>;
32
- parameters: import("@angular/core").Signal<Omit<NgtsMeshTransmissionMaterialOptions, "thickness" | "anisotropy" | "transmission" | "side" | "resolution" | "buffer" | "anisotropicBlur" | "samples" | "transmissionSampler" | "backside" | "backsideThickness" | "backsideEnvMapIntensity" | "backsideResolution" | "background">>;
32
+ parameters: import("@angular/core").Signal<Omit<NgtsMeshTransmissionMaterialOptions, "thickness" | "anisotropy" | "transmission" | "side" | "buffer" | "anisotropicBlur" | "samples" | "transmissionSampler" | "backside" | "backsideThickness" | "backsideEnvMapIntensity" | "resolution" | "backsideResolution" | "background">>;
33
33
  private resolution;
34
34
  private backsideResolution;
35
35
  private samples;
@@ -5,10 +5,13 @@ export declare class NgtsComputedAttribute {
5
5
  compute: import("@angular/core").InputSignal<(geometry: BufferGeometry) => BufferAttribute>;
6
6
  name: import("@angular/core").InputSignal<string>;
7
7
  options: import("@angular/core").InputSignal<Partial<import("angular-three").NgtExtendedColors<import("angular-three").NgtOverwrite<Partial<{
8
- clone: () => BufferAttribute;
9
- copy: (source: BufferAttribute) => BufferAttribute;
8
+ set: (value: ArrayLike<number> | ArrayBufferView, offset?: number) => BufferAttribute;
10
9
  name: string;
10
+ applyMatrix4: (m: import("three").Matrix4) => BufferAttribute;
11
11
  toJSON: () => import("three").BufferAttributeJSON;
12
+ clone: () => BufferAttribute;
13
+ copy: (source: BufferAttribute) => BufferAttribute;
14
+ readonly count: number;
12
15
  array: import("three").TypedArray;
13
16
  itemSize: number;
14
17
  usage: import("three").Usage;
@@ -19,7 +22,6 @@ export declare class NgtsComputedAttribute {
19
22
  }>;
20
23
  version: number;
21
24
  normalized: boolean;
22
- readonly count: number;
23
25
  needsUpdate: boolean;
24
26
  readonly isBufferAttribute: true;
25
27
  onUploadCallback: () => void;
@@ -30,10 +32,8 @@ export declare class NgtsComputedAttribute {
30
32
  copyAt: (index1: number, attribute: BufferAttribute, index2: number) => BufferAttribute;
31
33
  copyArray: (array: ArrayLike<number>) => BufferAttribute;
32
34
  applyMatrix3: (m: import("three").Matrix3) => BufferAttribute;
33
- applyMatrix4: (m: import("three").Matrix4) => BufferAttribute;
34
35
  applyNormalMatrix: (m: import("three").Matrix3) => BufferAttribute;
35
36
  transformDirection: (m: import("three").Matrix4) => BufferAttribute;
36
- set: (value: ArrayLike<number> | ArrayBufferView, offset?: number) => BufferAttribute;
37
37
  getComponent: (index: number, component: number) => number;
38
38
  setComponent: (index: number, component: number, value: number) => void;
39
39
  getX: (index: number) => number;
@@ -11,7 +11,7 @@ export interface NgtsDecalOptions extends Partial<NgtMesh> {
11
11
  export declare class NgtsDecal {
12
12
  mesh: import("@angular/core").InputSignal<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | null | undefined>;
13
13
  options: import("@angular/core").InputSignalWithTransform<NgtsDecalOptions, "" | Partial<NgtsDecalOptions>>;
14
- parameters: import("@angular/core").Signal<Omit<NgtsDecalOptions, "position" | "scale" | "rotation" | "polygonOffsetFactor" | "depthTest" | "debug" | "map">>;
14
+ parameters: import("@angular/core").Signal<Omit<NgtsDecalOptions, "position" | "scale" | "rotation" | "debug" | "map" | "depthTest" | "polygonOffsetFactor">>;
15
15
  meshRef: import("@angular/core").Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>>>;
16
16
  helperRef: import("@angular/core").Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | undefined>;
17
17
  protected map: import("@angular/core").Signal<Texture | null | undefined>;
@@ -14,7 +14,7 @@ export declare class NgtsHTML {
14
14
  groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
15
15
  occlusionMeshRef: import("@angular/core").Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | undefined>;
16
16
  occlusionGeometryRef: import("@angular/core").Signal<ElementRef<PlaneGeometry> | undefined>;
17
- occlude: import("@angular/core").Signal<boolean | Object3D<import("three").Object3DEventMap>[] | "raycast" | ElementRef<Object3D<import("three").Object3DEventMap>>[] | "blending">;
17
+ occlude: import("@angular/core").Signal<boolean | "raycast" | Object3D<import("three").Object3DEventMap>[] | ElementRef<Object3D<import("three").Object3DEventMap>>[] | "blending">;
18
18
  transform: import("@angular/core").Signal<boolean>;
19
19
  castShadow: import("@angular/core").Signal<boolean>;
20
20
  receiveShadow: import("@angular/core").Signal<boolean>;
@@ -62,7 +62,7 @@ export declare class NgtsSampler {
62
62
  mesh: import("@angular/core").InputSignal<Mesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | ElementRef<Mesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | null>;
63
63
  instances: import("@angular/core").InputSignal<InstancedMesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").InstancedMeshEventMap> | ElementRef<InstancedMesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").InstancedMeshEventMap>> | null>;
64
64
  options: import("@angular/core").InputSignalWithTransform<NgtsSamplerOptions, "" | Partial<NgtsSamplerOptions>>;
65
- parameters: import("@angular/core").Signal<Omit<NgtsSamplerOptions, "count" | "transform" | "weight">>;
65
+ parameters: import("@angular/core").Signal<Omit<NgtsSamplerOptions, "transform" | "weight" | "count">>;
66
66
  groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>> | undefined>;
67
67
  constructor();
68
68
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsSampler, never>;