angular-three-soba 2.0.0-beta.4 → 2.0.0-beta.41
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.
- package/abstractions/billboard/billboard.d.ts +12 -8
- package/abstractions/detailed/detailed.d.ts +26 -0
- package/abstractions/edges/edges.d.ts +24 -12
- package/abstractions/grid/grid.d.ts +42 -51
- package/abstractions/index.d.ts +1 -7
- package/abstractions/text/text.d.ts +10 -4
- package/abstractions/text-3d/text-3d.d.ts +51 -41
- package/cameras/camera/camera-content.d.ts +1 -1
- package/cameras/camera/camera.d.ts +16 -13
- package/cameras/cube-camera/cube-camera.d.ts +49 -23
- package/cameras/index.d.ts +0 -1
- package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
- package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
- package/controls/orbit-controls/orbit-controls.d.ts +34 -15
- package/esm2022/abstractions/billboard/billboard.mjs +36 -33
- package/esm2022/abstractions/detailed/detailed.mjs +64 -0
- package/esm2022/abstractions/edges/edges.mjs +58 -63
- package/esm2022/abstractions/grid/grid.mjs +140 -110
- package/esm2022/abstractions/index.mjs +2 -8
- package/esm2022/abstractions/text/text.mjs +123 -122
- package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
- package/esm2022/cameras/camera/camera-content.mjs +6 -6
- package/esm2022/cameras/camera/camera.mjs +48 -42
- package/esm2022/cameras/cube-camera/cube-camera.mjs +120 -100
- package/esm2022/cameras/index.mjs +1 -2
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +109 -85
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +198 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +151 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
- package/esm2022/gizmos/index.mjs +4 -0
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +14 -9
- package/esm2022/loaders/loader/loader.mjs +92 -87
- package/esm2022/loaders/progress/progress.mjs +31 -30
- package/esm2022/loaders/texture-loader/texture-loader.mjs +20 -15
- package/esm2022/materials/index.mjs +2 -1
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +164 -144
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
- package/esm2022/materials/point-material/point-material.mjs +50 -0
- package/esm2022/misc/animations/animations.mjs +28 -23
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
- package/esm2022/misc/caustics/caustics.mjs +387 -0
- package/esm2022/misc/decal/decal.mjs +187 -0
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +41 -37
- package/esm2022/misc/example/example.mjs +161 -0
- package/esm2022/misc/fbo/fbo.mjs +42 -36
- package/esm2022/misc/html/html-wrapper.mjs +478 -0
- package/esm2022/misc/html/html.mjs +305 -0
- package/esm2022/misc/index.mjs +10 -1
- package/esm2022/misc/sampler/sampler.mjs +132 -0
- package/esm2022/misc/shadow/shadow.mjs +111 -0
- package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
- package/esm2022/misc/trail/trail.mjs +204 -0
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
- package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
- package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
- package/esm2022/modifiers/index.mjs +2 -0
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
- package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
- package/esm2022/performances/index.mjs +8 -0
- package/esm2022/performances/instances/instances.mjs +221 -0
- package/esm2022/performances/instances/position-mesh.mjs +52 -0
- package/esm2022/performances/points/points-input.mjs +64 -0
- package/esm2022/performances/points/points.mjs +327 -0
- package/esm2022/performances/points/position-point.mjs +54 -0
- package/esm2022/performances/segments/segment-object.mjs +9 -0
- package/esm2022/performances/segments/segments.mjs +183 -0
- package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
- package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +32 -0
- package/esm2022/shaders/convolution-material/convolution-material.mjs +3 -2
- package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
- package/esm2022/shaders/grid-material/grid-material.mjs +30 -14
- package/esm2022/shaders/index.mjs +5 -3
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +3 -2
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +7 -4
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
- package/esm2022/shaders/shader-material/shader-material.mjs +3 -5
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +18 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +8 -7
- package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +161 -176
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +129 -129
- package/esm2022/staging/backdrop/backdrop.mjs +77 -0
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
- package/esm2022/staging/bounds/bounds.mjs +145 -143
- package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
- package/esm2022/staging/center/center.mjs +129 -112
- package/esm2022/staging/cloud/cloud.mjs +118 -124
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -136
- package/esm2022/staging/environment/assets.mjs +12 -12
- package/esm2022/staging/environment/environment-cube.mjs +28 -30
- package/esm2022/staging/environment/environment-ground.mjs +17 -19
- package/esm2022/staging/environment/environment-input.mjs +98 -85
- package/esm2022/staging/environment/environment-map.mjs +33 -33
- package/esm2022/staging/environment/environment-portal.mjs +75 -97
- package/esm2022/staging/environment/environment.mjs +34 -51
- package/esm2022/staging/environment/utils.mjs +40 -17
- package/esm2022/staging/float/float.mjs +70 -58
- package/esm2022/staging/index.mjs +7 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
- package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
- package/esm2022/staging/sky/sky.mjs +85 -80
- package/esm2022/staging/sparkles/sparkles.mjs +108 -105
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
- package/esm2022/staging/spot-light/shadow-mesh.mjs +267 -0
- package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
- package/esm2022/staging/spot-light/spot-light.mjs +51 -63
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
- package/esm2022/staging/stage/stage.mjs +305 -290
- package/esm2022/staging/stars/stars.mjs +101 -102
- package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
- package/esm2022/staging/wireframe/wireframe.mjs +228 -0
- package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
- package/esm2022/utils/constants.mjs +3 -0
- package/esm2022/utils/content/content.mjs +15 -0
- package/esm2022/utils/index.mjs +3 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +504 -2079
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +293 -260
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +108 -83
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +1045 -0
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
- package/fesm2022/angular-three-soba-loaders.mjs +148 -132
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +656 -588
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +2202 -99
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
- package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
- package/fesm2022/angular-three-soba-performances.mjs +957 -0
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
- package/fesm2022/angular-three-soba-shaders.mjs +508 -269
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2910 -2573
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +25 -0
- package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
- package/gizmos/README.md +3 -0
- package/gizmos/gizmo-helper/gizmo-helper.d.ts +73 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
- package/gizmos/index.d.ts +3 -0
- package/loaders/gltf-loader/gltf-loader.d.ts +15 -4
- package/loaders/loader/loader.d.ts +19 -17
- package/loaders/progress/progress.d.ts +1 -1
- package/loaders/texture-loader/texture-loader.d.ts +8 -3
- package/materials/index.d.ts +1 -0
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
- package/materials/point-material/point-material.d.ts +24 -0
- package/metadata.json +1 -0
- package/misc/animations/animations.d.ts +6 -4
- package/misc/caustics/caustics.d.ts +87 -0
- package/misc/decal/decal.d.ts +49 -0
- package/misc/depth-buffer/depth-buffer.d.ts +2 -2
- package/misc/example/example.d.ts +85 -0
- package/misc/fbo/fbo.d.ts +2 -2
- package/misc/html/html-wrapper.d.ts +559 -0
- package/misc/html/html.d.ts +218 -0
- package/misc/index.d.ts +9 -0
- package/misc/sampler/sampler.d.ts +67 -0
- package/misc/shadow/shadow.d.ts +37 -0
- package/misc/stats-gl/stats-gl.d.ts +24 -0
- package/misc/trail/trail.d.ts +57 -0
- package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
- package/misc/trail-texture/trail-texture.d.ts +50 -0
- package/modifiers/README.md +3 -0
- package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
- package/modifiers/index.d.ts +1 -0
- package/package.json +42 -24
- package/performances/README.md +3 -0
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
- package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
- package/performances/index.d.ts +7 -0
- package/performances/instances/instances.d.ts +83 -0
- package/{performance → performances}/instances/position-mesh.d.ts +1 -1
- package/performances/points/points-input.d.ts +32 -0
- package/performances/points/points.d.ts +96 -0
- package/performances/points/position-point.d.ts +11 -0
- package/performances/segments/segment-object.d.ts +7 -0
- package/performances/segments/segments.d.ts +128 -0
- package/shaders/grid-material/grid-material.d.ts +33 -0
- package/shaders/index.d.ts +4 -2
- package/shaders/mesh-distort-material/mesh-distort-material.d.ts +173 -6
- package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
- package/shaders/shader-material/shader-material.d.ts +2 -2
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
- package/shaders/sparkles-material/sparkles-material.d.ts +13 -0
- package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
- package/shaders/star-field-material/star-field-material.d.ts +9 -0
- package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +93 -39
- package/staging/accumulative-shadows/randomized-lights.d.ts +41 -28
- package/staging/backdrop/backdrop.d.ts +30 -0
- package/staging/bb-anchor/bb-anchor.d.ts +27 -0
- package/staging/bounds/bounds.d.ts +105 -25
- package/staging/camera-shake/camera-shake.d.ts +30 -19
- package/staging/center/center.d.ts +43 -35
- package/staging/cloud/cloud.d.ts +27 -24
- package/staging/contact-shadows/contact-shadows.d.ts +43 -30
- package/staging/environment/assets.d.ts +9 -9
- package/staging/environment/environment-cube.d.ts +9 -5
- package/staging/environment/environment-ground.d.ts +7 -7
- package/staging/environment/environment-input.d.ts +38 -38
- package/staging/environment/environment-map.d.ts +10 -5
- package/staging/environment/environment-portal.d.ts +10 -5
- package/staging/environment/environment.d.ts +0 -4
- package/staging/environment/utils.d.ts +2 -2
- package/staging/float/float.d.ts +15 -11
- package/staging/index.d.ts +6 -2
- package/staging/matcap-texture/matcap-texture.d.ts +13 -0
- package/staging/normal-texture/normal-texture.d.ts +16 -0
- package/staging/sky/sky.d.ts +28 -21
- package/staging/sparkles/sparkles.d.ts +36 -22
- package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
- package/staging/spot-light/shadow-mesh.d.ts +37 -0
- package/staging/spot-light/spot-light-input.d.ts +25 -25
- package/staging/spot-light/spot-light.d.ts +35 -15
- package/staging/spot-light/volumetric-mesh.d.ts +15 -9
- package/staging/stage/stage.d.ts +89 -65
- package/staging/stars/stars.d.ts +28 -17
- package/staging/wireframe/wireframe-input.d.ts +65 -0
- package/staging/wireframe/wireframe.d.ts +28 -0
- package/utils/README.md +3 -0
- package/utils/constants.d.ts +1 -0
- package/utils/content/content.d.ts +8 -0
- package/utils/index.d.ts +2 -0
- package/web-types.json +1 -0
- package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
- package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
- package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
- package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
- package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
- package/abstractions/line/line-input.d.ts +0 -42
- package/abstractions/line/line.d.ts +0 -35
- package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
- package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
- package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
- package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
- package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
- package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
- package/esm2022/abstractions/line/line-input.mjs +0 -113
- package/esm2022/abstractions/line/line.mjs +0 -165
- package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
- package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
- package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
- package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
- package/esm2022/performance/detailed/detailed.mjs +0 -61
- package/esm2022/performance/index.mjs +0 -7
- package/esm2022/performance/instances/instance.mjs +0 -48
- package/esm2022/performance/instances/instances.mjs +0 -189
- package/esm2022/performance/instances/position-mesh.mjs +0 -52
- package/esm2022/performance/stats/stats.mjs +0 -79
- package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
- package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
- package/esm2022/staging/caustics/caustisc.mjs +0 -384
- package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
- package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
- package/fesm2022/angular-three-soba-performance.mjs +0 -487
- package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
- package/performance/README.md +0 -3
- package/performance/adaptive/adaptive-dpr.d.ts +0 -8
- package/performance/detailed/detailed.d.ts +0 -20
- package/performance/index.d.ts +0 -6
- package/performance/instances/instance.d.ts +0 -9
- package/performance/instances/instances.d.ts +0 -35
- package/performance/stats/stats.d.ts +0 -18
- package/plugin/generators.json +0 -19
- package/plugin/libs/plugin/README.md +0 -11
- package/plugin/package.json +0 -9
- package/plugin/src/generators/init/compat.d.ts +0 -2
- package/plugin/src/generators/init/compat.js +0 -6
- package/plugin/src/generators/init/compat.js.map +0 -1
- package/plugin/src/generators/init/init.d.ts +0 -7
- package/plugin/src/generators/init/init.js +0 -28
- package/plugin/src/generators/init/init.js.map +0 -1
- package/plugin/src/generators/init/schema.json +0 -6
- package/plugin/src/index.d.ts +0 -1
- package/plugin/src/index.js +0 -6
- package/plugin/src/index.js.map +0 -1
- package/staging/caustics/caustisc.d.ts +0 -70
- package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
- package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
- /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
- /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
|
@@ -1,114 +1,122 @@
|
|
|
1
|
-
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, EventEmitter,
|
|
2
|
-
import { injectBeforeRender, injectNgtRef, NgtArgs,
|
|
1
|
+
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { injectBeforeRender, injectNgtRef, injectNgtStore, NgtArgs, signalStore, } from 'angular-three';
|
|
3
3
|
import { OrbitControls } from 'three-stdlib';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
class NgtsOrbitControls
|
|
6
|
-
set
|
|
7
|
-
this.set({ camera });
|
|
5
|
+
export class NgtsOrbitControls {
|
|
6
|
+
set _camera(camera) {
|
|
7
|
+
this.inputs.set({ camera });
|
|
8
8
|
}
|
|
9
|
-
set
|
|
10
|
-
this.set({ domElement });
|
|
9
|
+
set _domElement(domElement) {
|
|
10
|
+
this.inputs.set({ domElement });
|
|
11
11
|
}
|
|
12
|
-
set
|
|
13
|
-
this.set({ makeDefault });
|
|
12
|
+
set _makeDefault(makeDefault) {
|
|
13
|
+
this.inputs.set({ makeDefault });
|
|
14
14
|
}
|
|
15
|
-
set
|
|
16
|
-
this.set({ regress });
|
|
15
|
+
set _regress(regress) {
|
|
16
|
+
this.inputs.set({ regress });
|
|
17
17
|
}
|
|
18
|
-
set
|
|
19
|
-
this.set({ target });
|
|
18
|
+
set _target(target) {
|
|
19
|
+
this.inputs.set({ target });
|
|
20
20
|
}
|
|
21
|
-
set
|
|
22
|
-
this.set({ enableDamping });
|
|
21
|
+
set _enableDamping(enableDamping) {
|
|
22
|
+
this.inputs.set({ enableDamping });
|
|
23
|
+
}
|
|
24
|
+
set _keyEvents(keyEvents) {
|
|
25
|
+
this.inputs.set({ keyEvents });
|
|
23
26
|
}
|
|
24
|
-
#store;
|
|
25
27
|
constructor() {
|
|
26
|
-
|
|
28
|
+
this.inputs = signalStore({
|
|
29
|
+
enableDamping: true,
|
|
30
|
+
regress: false,
|
|
31
|
+
makeDefault: false,
|
|
32
|
+
keyEvents: false,
|
|
33
|
+
});
|
|
27
34
|
this.controlsRef = injectNgtRef();
|
|
28
35
|
this.change = new EventEmitter();
|
|
29
36
|
this.start = new EventEmitter();
|
|
30
37
|
this.end = new EventEmitter();
|
|
31
|
-
this
|
|
38
|
+
this.store = injectNgtStore();
|
|
39
|
+
this.invalidate = this.store.select('invalidate');
|
|
40
|
+
this.performanceRegress = this.store.select('performance', 'regress');
|
|
41
|
+
this.defaultCamera = this.store.select('camera');
|
|
42
|
+
this.glDomElement = this.store.select('gl', 'domElement');
|
|
43
|
+
this.regress = this.inputs.select('regress');
|
|
44
|
+
this.camera = this.inputs.select('camera');
|
|
45
|
+
this.domElement = this.inputs.select('domElement');
|
|
46
|
+
this.keyEvents = this.inputs.select('keyEvents');
|
|
47
|
+
this.makeDefault = this.inputs.select('makeDefault');
|
|
32
48
|
this.args = computed(() => [this.controlsRef.nativeElement]);
|
|
33
|
-
this.
|
|
49
|
+
this.enableDamping = this.inputs.select('enableDamping');
|
|
34
50
|
injectBeforeRender(() => {
|
|
35
|
-
const controls = this.controlsRef.
|
|
51
|
+
const controls = this.controlsRef.nativeElement;
|
|
36
52
|
if (controls && controls.enabled) {
|
|
37
53
|
controls.update();
|
|
38
54
|
}
|
|
39
55
|
}, { priority: -1 });
|
|
40
|
-
this
|
|
41
|
-
this
|
|
42
|
-
this
|
|
43
|
-
this
|
|
56
|
+
this.setControls();
|
|
57
|
+
this.connectElement();
|
|
58
|
+
this.makeControlsDefault();
|
|
59
|
+
this.setEvents();
|
|
44
60
|
}
|
|
45
|
-
|
|
46
|
-
const camera = this.select('camera');
|
|
47
|
-
const defaultCamera = this.#store.select('camera');
|
|
48
|
-
const trigger = computed(() => ({ camera: camera(), defaultCamera: defaultCamera() }));
|
|
61
|
+
setControls() {
|
|
49
62
|
effect(() => {
|
|
50
|
-
const
|
|
63
|
+
const [camera, defaultCamera, controls] = [
|
|
64
|
+
this.camera(),
|
|
65
|
+
this.defaultCamera(),
|
|
66
|
+
this.controlsRef.nativeElement,
|
|
67
|
+
];
|
|
51
68
|
const controlsCamera = camera || defaultCamera;
|
|
52
|
-
const controls = this.controlsRef.nativeElement;
|
|
53
69
|
if (!controls || controls.object !== controlsCamera) {
|
|
54
70
|
this.controlsRef.nativeElement = new OrbitControls(controlsCamera);
|
|
55
71
|
}
|
|
56
|
-
}, { allowSignalWrites: true });
|
|
57
|
-
}
|
|
58
|
-
#connectElement() {
|
|
59
|
-
const glDomElement = this.#store.select('gl', 'domElement');
|
|
60
|
-
const domElement = this.select('domElement');
|
|
61
|
-
const regress = this.select('regress');
|
|
62
|
-
const invalidate = this.#store.select('invalidate');
|
|
63
|
-
const trigger = computed(() => {
|
|
64
|
-
const eventsSource = this.#store.get('events', 'connected');
|
|
65
|
-
return {
|
|
66
|
-
controls: this.controlsRef.nativeElement,
|
|
67
|
-
domElement: domElement() || eventsSource || glDomElement(),
|
|
68
|
-
regress: regress(),
|
|
69
|
-
invalidate: invalidate(),
|
|
70
|
-
};
|
|
71
72
|
});
|
|
73
|
+
}
|
|
74
|
+
connectElement() {
|
|
72
75
|
effect((onCleanup) => {
|
|
73
|
-
const
|
|
76
|
+
const [keyEvents, domElement, controls] = [
|
|
77
|
+
this.keyEvents(),
|
|
78
|
+
this.domElement() || this.store.get('events', 'connected') || this.glDomElement(),
|
|
79
|
+
this.controlsRef.nativeElement,
|
|
80
|
+
this.invalidate(),
|
|
81
|
+
this.regress(),
|
|
82
|
+
];
|
|
74
83
|
if (!controls)
|
|
75
84
|
return;
|
|
76
|
-
|
|
85
|
+
if (keyEvents) {
|
|
86
|
+
controls.connect(keyEvents === true ? domElement : keyEvents);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
controls.connect(domElement);
|
|
90
|
+
}
|
|
77
91
|
onCleanup(() => void controls.dispose());
|
|
78
92
|
});
|
|
79
93
|
}
|
|
80
|
-
|
|
81
|
-
const makeDefault = this.select('makeDefault');
|
|
82
|
-
const trigger = computed(() => ({ controls: this.controlsRef.nativeElement, makeDefault: makeDefault() }));
|
|
94
|
+
makeControlsDefault() {
|
|
83
95
|
effect((onCleanup) => {
|
|
84
|
-
const
|
|
96
|
+
const [controls, makeDefault] = [this.controlsRef.nativeElement, this.makeDefault()];
|
|
85
97
|
if (!controls)
|
|
86
98
|
return;
|
|
87
99
|
if (makeDefault) {
|
|
88
|
-
const oldControls = this
|
|
89
|
-
this
|
|
90
|
-
onCleanup(() => void this
|
|
100
|
+
const oldControls = this.store.get('controls');
|
|
101
|
+
this.store.set({ controls });
|
|
102
|
+
onCleanup(() => void this.store.set({ controls: oldControls }));
|
|
91
103
|
}
|
|
92
|
-
}
|
|
104
|
+
});
|
|
93
105
|
}
|
|
94
|
-
|
|
95
|
-
const invalidate = this.#store.select('invalidate');
|
|
96
|
-
const performance = this.#store.select('performance');
|
|
97
|
-
const regress = this.select('regress');
|
|
98
|
-
const trigger = computed(() => ({
|
|
99
|
-
invalidate: invalidate(),
|
|
100
|
-
performance: performance(),
|
|
101
|
-
regress: regress(),
|
|
102
|
-
controls: this.controlsRef.nativeElement,
|
|
103
|
-
}));
|
|
106
|
+
setEvents() {
|
|
104
107
|
effect((onCleanup) => {
|
|
105
|
-
const
|
|
108
|
+
const [controls, invalidate, performanceRegress, regress] = [
|
|
109
|
+
this.controlsRef.nativeElement,
|
|
110
|
+
this.invalidate(),
|
|
111
|
+
this.performanceRegress(),
|
|
112
|
+
this.regress(),
|
|
113
|
+
];
|
|
106
114
|
if (!controls)
|
|
107
115
|
return;
|
|
108
116
|
const changeCallback = (e) => {
|
|
109
117
|
invalidate();
|
|
110
118
|
if (regress)
|
|
111
|
-
|
|
119
|
+
performanceRegress();
|
|
112
120
|
if (this.change.observed)
|
|
113
121
|
this.change.emit(e);
|
|
114
122
|
};
|
|
@@ -128,33 +136,49 @@ class NgtsOrbitControls extends NgtSignalStore {
|
|
|
128
136
|
});
|
|
129
137
|
});
|
|
130
138
|
}
|
|
131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrbitControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsOrbitControls, isStandalone: true, selector: "ngts-orbit-controls", inputs: { controlsRef: "controlsRef", _camera: ["camera", "_camera"], _domElement: ["domElement", "_domElement"], _makeDefault: ["makeDefault", "_makeDefault"], _regress: ["regress", "_regress"], _target: ["target", "_target"], _enableDamping: ["enableDamping", "_enableDamping"], _keyEvents: ["keyEvents", "_keyEvents"] }, outputs: { change: "change", start: "start", end: "end" }, ngImport: i0, template: `
|
|
141
|
+
<ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()">
|
|
142
|
+
<ng-content />
|
|
143
|
+
</ngt-primitive>
|
|
144
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
133
145
|
}
|
|
134
|
-
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsOrbitControls, decorators: [{
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrbitControls, decorators: [{
|
|
136
147
|
type: Component,
|
|
137
148
|
args: [{
|
|
138
149
|
selector: 'ngts-orbit-controls',
|
|
139
150
|
standalone: true,
|
|
140
|
-
template: `
|
|
151
|
+
template: `
|
|
152
|
+
<ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()">
|
|
153
|
+
<ng-content />
|
|
154
|
+
</ngt-primitive>
|
|
155
|
+
`,
|
|
141
156
|
imports: [NgtArgs],
|
|
142
157
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
143
158
|
}]
|
|
144
159
|
}], ctorParameters: function () { return []; }, propDecorators: { controlsRef: [{
|
|
145
160
|
type: Input
|
|
146
|
-
}],
|
|
147
|
-
type: Input
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}],
|
|
153
|
-
type: Input
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
161
|
+
}], _camera: [{
|
|
162
|
+
type: Input,
|
|
163
|
+
args: [{ alias: 'camera' }]
|
|
164
|
+
}], _domElement: [{
|
|
165
|
+
type: Input,
|
|
166
|
+
args: [{ alias: 'domElement' }]
|
|
167
|
+
}], _makeDefault: [{
|
|
168
|
+
type: Input,
|
|
169
|
+
args: [{ alias: 'makeDefault' }]
|
|
170
|
+
}], _regress: [{
|
|
171
|
+
type: Input,
|
|
172
|
+
args: [{ alias: 'regress' }]
|
|
173
|
+
}], _target: [{
|
|
174
|
+
type: Input,
|
|
175
|
+
args: [{ alias: 'target' }]
|
|
176
|
+
}], _enableDamping: [{
|
|
177
|
+
type: Input,
|
|
178
|
+
args: [{ alias: 'enableDamping' }]
|
|
179
|
+
}], _keyEvents: [{
|
|
180
|
+
type: Input,
|
|
181
|
+
args: [{ alias: 'keyEvents' }]
|
|
158
182
|
}], change: [{
|
|
159
183
|
type: Output
|
|
160
184
|
}], start: [{
|
|
@@ -162,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
162
186
|
}], end: [{
|
|
163
187
|
type: Output
|
|
164
188
|
}] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY29udHJvbHMvc3JjL29yYml0LWNvbnRyb2xzL29yYml0LWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFpQjdDLE1BT2EsaUJBQWtCLFNBQVEsY0FBc0M7SUFHekUsSUFBYSxNQUFNLENBQUMsTUFBb0I7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsVUFBVSxDQUFDLFVBQXVCO1FBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFhLFdBQVcsQ0FBQyxXQUFvQjtRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBZ0I7UUFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLE1BQXdEO1FBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFhLGFBQWEsQ0FBQyxhQUFz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R1IsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw0RUFBNEU7b0JBQ3RGLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzBFQUVZLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBSUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxHQUFHO3NCQUFaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICAgIGVmZmVjdCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0U2lnbmFsU3RvcmUsIE5ndFN0b3JlLCBOZ3RWZWN0b3IzIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBPcmJpdENvbnRyb2xzIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXhwb3J0IHR5cGUgTmd0c09yYml0Q29udHJvbHNTdGF0ZSA9IHtcbiAgICBjYW1lcmE/OiBUSFJFRS5DYW1lcmE7XG4gICAgZG9tRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgIHRhcmdldD86IE5ndFZlY3RvcjM7XG4gICAgbWFrZURlZmF1bHQ6IGJvb2xlYW47XG4gICAgcmVncmVzczogYm9vbGVhbjtcbiAgICBlbmFibGVEYW1waW5nOiBib29sZWFuO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgICAgICAnbmd0cy1vcmJpdC1jb250cm9scyc6IE9yYml0Q29udHJvbHMgJiBOZ3RzT3JiaXRDb250cm9sc1N0YXRlO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLW9yYml0LWNvbnRyb2xzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgIDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiYXJncygpXCIgbmd0Q29tcG91bmQgW2VuYWJsZURhbXBpbmddPVwiZGFtcGluZygpXCIgLz4gYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJnc10sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzT3JiaXRDb250cm9scyBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNPcmJpdENvbnRyb2xzU3RhdGU+IHtcbiAgICBASW5wdXQoKSBjb250cm9sc1JlZiA9IGluamVjdE5ndFJlZjxPcmJpdENvbnRyb2xzPigpO1xuXG4gICAgQElucHV0KCkgc2V0IGNhbWVyYShjYW1lcmE6IFRIUkVFLkNhbWVyYSkge1xuICAgICAgICB0aGlzLnNldCh7IGNhbWVyYSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZG9tRWxlbWVudChkb21FbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICB0aGlzLnNldCh7IGRvbUVsZW1lbnQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG1ha2VEZWZhdWx0KG1ha2VEZWZhdWx0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbWFrZURlZmF1bHQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHJlZ3Jlc3MocmVncmVzczogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IHJlZ3Jlc3MgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHRhcmdldCh0YXJnZXQ6IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPikge1xuICAgICAgICB0aGlzLnNldCh7IHRhcmdldCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZW5hYmxlRGFtcGluZyhlbmFibGVEYW1waW5nOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZW5hYmxlRGFtcGluZyB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUSFJFRS5FdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgc3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRIUkVFLkV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFRIUkVFLkV2ZW50PigpO1xuXG4gICAgcmVhZG9ubHkgI3N0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcblxuICAgIHJlYWRvbmx5IGFyZ3MgPSBjb21wdXRlZCgoKSA9PiBbdGhpcy5jb250cm9sc1JlZi5uYXRpdmVFbGVtZW50XSk7XG4gICAgcmVhZG9ubHkgZGFtcGluZyA9IHRoaXMuc2VsZWN0KCdlbmFibGVEYW1waW5nJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoeyBlbmFibGVEYW1waW5nOiB0cnVlLCByZWdyZXNzOiBmYWxzZSwgbWFrZURlZmF1bHQ6IGZhbHNlIH0pO1xuICAgICAgICBpbmplY3RCZWZvcmVSZW5kZXIoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzUmVmLnVudHJhY2tlZDtcbiAgICAgICAgICAgICAgICBpZiAoY29udHJvbHMgJiYgY29udHJvbHMuZW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9scy51cGRhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBwcmlvcml0eTogLTEgfVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuI3NldENvbnRyb2xzKCk7XG4gICAgICAgIHRoaXMuI2Nvbm5lY3RFbGVtZW50KCk7XG4gICAgICAgIHRoaXMuI21ha2VDb250cm9sc0RlZmF1bHQoKTtcbiAgICAgICAgdGhpcy4jc2V0RXZlbnRzKCk7XG4gICAgfVxuXG4gICAgI3NldENvbnRyb2xzKCkge1xuICAgICAgICBjb25zdCBjYW1lcmEgPSB0aGlzLnNlbGVjdCgnY2FtZXJhJyk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRDYW1lcmEgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ2NhbWVyYScpO1xuICAgICAgICBjb25zdCB0cmlnZ2VyID0gY29tcHV0ZWQoKCkgPT4gKHsgY2FtZXJhOiBjYW1lcmEoKSwgZGVmYXVsdENhbWVyYTogZGVmYXVsdENhbWVyYSgpIH0pKTtcblxuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjYW1lcmEsIGRlZmF1bHRDYW1lcmEgfSA9IHRyaWdnZXIoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sc0NhbWVyYSA9IGNhbWVyYSB8fCBkZWZhdWx0Q2FtZXJhO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5jb250cm9sc1JlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmICghY29udHJvbHMgfHwgY29udHJvbHMub2JqZWN0ICE9PSBjb250cm9sc0NhbWVyYSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzUmVmLm5hdGl2ZUVsZW1lbnQgPSBuZXcgT3JiaXRDb250cm9scyhjb250cm9sc0NhbWVyYSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgICNjb25uZWN0RWxlbWVudCgpIHtcbiAgICAgICAgY29uc3QgZ2xEb21FbGVtZW50ID0gdGhpcy4jc3RvcmUuc2VsZWN0KCdnbCcsICdkb21FbGVtZW50Jyk7XG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLnNlbGVjdCgnZG9tRWxlbWVudCcpO1xuICAgICAgICBjb25zdCByZWdyZXNzID0gdGhpcy5zZWxlY3QoJ3JlZ3Jlc3MnKTtcbiAgICAgICAgY29uc3QgaW52YWxpZGF0ZSA9IHRoaXMuI3N0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG4gICAgICAgIGNvbnN0IHRyaWdnZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBldmVudHNTb3VyY2UgPSB0aGlzLiNzdG9yZS5nZXQoJ2V2ZW50cycsICdjb25uZWN0ZWQnKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29udHJvbHM6IHRoaXMuY29udHJvbHNSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBkb21FbGVtZW50OiBkb21FbGVtZW50KCkgfHwgZXZlbnRzU291cmNlIHx8IGdsRG9tRWxlbWVudCgpLFxuICAgICAgICAgICAgICAgIHJlZ3Jlc3M6IHJlZ3Jlc3MoKSxcbiAgICAgICAgICAgICAgICBpbnZhbGlkYXRlOiBpbnZhbGlkYXRlKCksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBkb21FbGVtZW50LCBjb250cm9scyB9ID0gdHJpZ2dlcigpO1xuICAgICAgICAgICAgaWYgKCFjb250cm9scykgcmV0dXJuO1xuICAgICAgICAgICAgY29udHJvbHMuY29ubmVjdChkb21FbGVtZW50KTtcbiAgICAgICAgICAgIG9uQ2xlYW51cCgoKSA9PiB2b2lkIGNvbnRyb2xzLmRpc3Bvc2UoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICNtYWtlQ29udHJvbHNEZWZhdWx0KCkge1xuICAgICAgICBjb25zdCBtYWtlRGVmYXVsdCA9IHRoaXMuc2VsZWN0KCdtYWtlRGVmYXVsdCcpO1xuICAgICAgICBjb25zdCB0cmlnZ2VyID0gY29tcHV0ZWQoKCkgPT4gKHsgY29udHJvbHM6IHRoaXMuY29udHJvbHNSZWYubmF0aXZlRWxlbWVudCwgbWFrZURlZmF1bHQ6IG1ha2VEZWZhdWx0KCkgfSkpO1xuXG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgIChvbkNsZWFudXApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGNvbnRyb2xzLCBtYWtlRGVmYXVsdCB9ID0gdHJpZ2dlcigpO1xuICAgICAgICAgICAgICAgIGlmICghY29udHJvbHMpIHJldHVybjtcbiAgICAgICAgICAgICAgICBpZiAobWFrZURlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2xkQ29udHJvbHMgPSB0aGlzLiNzdG9yZS5nZXQoJ2NvbnRyb2xzJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI3N0b3JlLnNldCh7IGNvbnRyb2xzIH0pO1xuICAgICAgICAgICAgICAgICAgICBvbkNsZWFudXAoKCkgPT4gdm9pZCB0aGlzLiNzdG9yZS5zZXQoeyBjb250cm9sczogb2xkQ29udHJvbHMgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAjc2V0RXZlbnRzKCkge1xuICAgICAgICBjb25zdCBpbnZhbGlkYXRlID0gdGhpcy4jc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG4gICAgICAgIGNvbnN0IHBlcmZvcm1hbmNlID0gdGhpcy4jc3RvcmUuc2VsZWN0KCdwZXJmb3JtYW5jZScpO1xuICAgICAgICBjb25zdCByZWdyZXNzID0gdGhpcy5zZWxlY3QoJ3JlZ3Jlc3MnKTtcblxuICAgICAgICBjb25zdCB0cmlnZ2VyID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAgICAgICAgIGludmFsaWRhdGU6IGludmFsaWRhdGUoKSxcbiAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJmb3JtYW5jZSgpLFxuICAgICAgICAgICAgcmVncmVzczogcmVncmVzcygpLFxuICAgICAgICAgICAgY29udHJvbHM6IHRoaXMuY29udHJvbHNSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgfSkpO1xuICAgICAgICBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBjb250cm9scywgaW52YWxpZGF0ZSwgcGVyZm9ybWFuY2UsIHJlZ3Jlc3MgfSA9IHRyaWdnZXIoKTtcbiAgICAgICAgICAgIGlmICghY29udHJvbHMpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZUNhbGxiYWNrOiAoZTogVEhSRUUuRXZlbnQpID0+IHZvaWQgPSAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGludmFsaWRhdGUoKTtcbiAgICAgICAgICAgICAgICBpZiAocmVncmVzcykgcGVyZm9ybWFuY2UucmVncmVzcygpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNoYW5nZS5vYnNlcnZlZCkgdGhpcy5jaGFuZ2UuZW1pdChlKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q2FsbGJhY2sgPSB0aGlzLnN0YXJ0Lm9ic2VydmVkID8gdGhpcy5zdGFydC5lbWl0LmJpbmQodGhpcy5zdGFydCkgOiBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW5kQ2FsbGJhY2sgPSB0aGlzLmVuZC5vYnNlcnZlZCA/IHRoaXMuZW5kLmVtaXQuYmluZCh0aGlzLmVuZCkgOiBudWxsO1xuXG4gICAgICAgICAgICBjb250cm9scy5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBjaGFuZ2VDYWxsYmFjayk7XG4gICAgICAgICAgICBpZiAoc3RhcnRDYWxsYmFjaykgY29udHJvbHMuYWRkRXZlbnRMaXN0ZW5lcignc3RhcnQnLCBzdGFydENhbGxiYWNrKTtcbiAgICAgICAgICAgIGlmIChlbmRDYWxsYmFjaykgY29udHJvbHMuYWRkRXZlbnRMaXN0ZW5lcignZW5kJywgZW5kQ2FsbGJhY2spO1xuXG4gICAgICAgICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnRyb2xzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGNoYW5nZUNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnRDYWxsYmFjaykgY29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3RhcnQnLCBzdGFydENhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kQ2FsbGJhY2spIGNvbnRyb2xzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2VuZCcsIGVuZENhbGxiYWNrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JiaXQtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY29udHJvbHMvc3JjL29yYml0LWNvbnRyb2xzL29yYml0LWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQ04sa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixjQUFjLEVBQ2QsT0FBTyxFQUNQLFdBQVcsR0FHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDN0MsTUFBTSxPQUFPLGlCQUFpQjtJQVU3QixJQUFnQyxPQUFPLENBQUMsTUFBb0I7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFvQyxXQUFXLENBQUMsVUFBdUI7UUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFxQyxZQUFZLENBQUMsV0FBb0I7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFpQyxRQUFRLENBQUMsT0FBZ0I7UUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFnQyxPQUFPLENBQUMsTUFBd0Q7UUFDL0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxD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QUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7MEVBU1MsV0FBVztzQkFBbkIsS0FBSztnQkFFMEIsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSVUsV0FBVztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Z0JBSU8sWUFBWTtzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBSUUsUUFBUTtzQkFBeEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7Z0JBSUssT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBSWEsY0FBYztzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBSUUsVUFBVTtzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7Z0JBSW5CLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csR0FBRztzQkFBWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdGluamVjdEJlZm9yZVJlbmRlcixcblx0aW5qZWN0Tmd0UmVmLFxuXHRpbmplY3ROZ3RTdG9yZSxcblx0Tmd0QXJncyxcblx0c2lnbmFsU3RvcmUsXG5cdHR5cGUgTmd0Q2FtZXJhLFxuXHR0eXBlIE5ndFZlY3RvcjMsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmV4cG9ydCB0eXBlIE5ndHNPcmJpdENvbnRyb2xzU3RhdGUgPSB7XG5cdGNhbWVyYT86IFRIUkVFLkNhbWVyYTtcblx0ZG9tRWxlbWVudD86IEhUTUxFbGVtZW50O1xuXHR0YXJnZXQ/OiBOZ3RWZWN0b3IzO1xuXHRtYWtlRGVmYXVsdDogYm9vbGVhbjtcblx0cmVncmVzczogYm9vbGVhbjtcblx0ZW5hYmxlRGFtcGluZzogYm9vbGVhbjtcblx0a2V5RXZlbnRzOiBib29sZWFuIHwgSFRNTEVsZW1lbnQ7XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIHRocmVlLXN0ZGxpYnxPcmJpdENvbnRyb2xzXG5cdFx0ICovXG5cdFx0J25ndHMtb3JiaXQtY29udHJvbHMnOiBPcmJpdENvbnRyb2xzICYgTmd0c09yYml0Q29udHJvbHNTdGF0ZTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW9yYml0LWNvbnRyb2xzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cImFyZ3MoKVwiIG5ndENvbXBvdW5kIFtlbmFibGVEYW1waW5nXT1cImVuYWJsZURhbXBpbmcoKVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1wcmltaXRpdmU+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzT3JiaXRDb250cm9scyB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c09yYml0Q29udHJvbHNTdGF0ZT4oe1xuXHRcdGVuYWJsZURhbXBpbmc6IHRydWUsXG5cdFx0cmVncmVzczogZmFsc2UsXG5cdFx0bWFrZURlZmF1bHQ6IGZhbHNlLFxuXHRcdGtleUV2ZW50czogZmFsc2UsXG5cdH0pO1xuXG5cdEBJbnB1dCgpIGNvbnRyb2xzUmVmID0gaW5qZWN0Tmd0UmVmPE9yYml0Q29udHJvbHM+KCk7XG5cblx0QElucHV0KHsgYWxpYXM6ICdjYW1lcmEnIH0pIHNldCBfY2FtZXJhKGNhbWVyYTogVEhSRUUuQ2FtZXJhKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgY2FtZXJhIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkb21FbGVtZW50JyB9KSBzZXQgX2RvbUVsZW1lbnQoZG9tRWxlbWVudDogSFRNTEVsZW1lbnQpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBkb21FbGVtZW50IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtYWtlRGVmYXVsdCcgfSkgc2V0IF9tYWtlRGVmYXVsdChtYWtlRGVmYXVsdDogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IG1ha2VEZWZhdWx0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyZWdyZXNzJyB9KSBzZXQgX3JlZ3Jlc3MocmVncmVzczogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHJlZ3Jlc3MgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3RhcmdldCcgfSkgc2V0IF90YXJnZXQodGFyZ2V0OiBUSFJFRS5WZWN0b3IzIHwgUGFyYW1ldGVyczxUSFJFRS5WZWN0b3IzWydzZXQnXT4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyB0YXJnZXQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2VuYWJsZURhbXBpbmcnIH0pIHNldCBfZW5hYmxlRGFtcGluZyhlbmFibGVEYW1waW5nOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZW5hYmxlRGFtcGluZyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAna2V5RXZlbnRzJyB9KSBzZXQgX2tleUV2ZW50cyhrZXlFdmVudHM6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBrZXlFdmVudHMgfSk7XG5cdH1cblxuXHRAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUSFJFRS5FdmVudD4oKTtcblx0QE91dHB1dCgpIHN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxUSFJFRS5FdmVudD4oKTtcblx0QE91dHB1dCgpIGVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8VEhSRUUuRXZlbnQ+KCk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cdHByaXZhdGUgcGVyZm9ybWFuY2VSZWdyZXNzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3BlcmZvcm1hbmNlJywgJ3JlZ3Jlc3MnKTtcblx0cHJpdmF0ZSBkZWZhdWx0Q2FtZXJhID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NhbWVyYScpO1xuXHRwcml2YXRlIGdsRG9tRWxlbWVudCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdnbCcsICdkb21FbGVtZW50Jyk7XG5cdHByaXZhdGUgcmVncmVzcyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgncmVncmVzcycpO1xuXHRwcml2YXRlIGNhbWVyYSA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnY2FtZXJhJyk7XG5cdHByaXZhdGUgZG9tRWxlbWVudCA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnZG9tRWxlbWVudCcpO1xuXHRwcml2YXRlIGtleUV2ZW50cyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgna2V5RXZlbnRzJyk7XG5cdHByaXZhdGUgbWFrZURlZmF1bHQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ21ha2VEZWZhdWx0Jyk7XG5cblx0YXJncyA9IGNvbXB1dGVkKCgpID0+IFt0aGlzLmNvbnRyb2xzUmVmLm5hdGl2ZUVsZW1lbnRdKTtcblx0ZW5hYmxlRGFtcGluZyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnZW5hYmxlRGFtcGluZycpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcihcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Y29uc3QgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdGlmIChjb250cm9scyAmJiBjb250cm9scy5lbmFibGVkKSB7XG5cdFx0XHRcdFx0Y29udHJvbHMudXBkYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR7IHByaW9yaXR5OiAtMSB9LFxuXHRcdCk7XG5cblx0XHR0aGlzLnNldENvbnRyb2xzKCk7XG5cdFx0dGhpcy5jb25uZWN0RWxlbWVudCgpO1xuXHRcdHRoaXMubWFrZUNvbnRyb2xzRGVmYXVsdCgpO1xuXHRcdHRoaXMuc2V0RXZlbnRzKCk7XG5cdH1cblxuXHRwcml2YXRlIHNldENvbnRyb2xzKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbY2FtZXJhLCBkZWZhdWx0Q2FtZXJhLCBjb250cm9sc10gPSBbXG5cdFx0XHRcdHRoaXMuY2FtZXJhKCksXG5cdFx0XHRcdHRoaXMuZGVmYXVsdENhbWVyYSgpLFxuXHRcdFx0XHR0aGlzLmNvbnRyb2xzUmVmLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRdO1xuXHRcdFx0Y29uc3QgY29udHJvbHNDYW1lcmEgPSBjYW1lcmEgfHwgZGVmYXVsdENhbWVyYTtcblx0XHRcdGlmICghY29udHJvbHMgfHwgY29udHJvbHMub2JqZWN0ICE9PSBjb250cm9sc0NhbWVyYSkge1xuXHRcdFx0XHR0aGlzLmNvbnRyb2xzUmVmLm5hdGl2ZUVsZW1lbnQgPSBuZXcgT3JiaXRDb250cm9scyhjb250cm9sc0NhbWVyYSBhcyBOZ3RDYW1lcmEpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBjb25uZWN0RWxlbWVudCgpIHtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgW2tleUV2ZW50cywgZG9tRWxlbWVudCwgY29udHJvbHNdID0gW1xuXHRcdFx0XHR0aGlzLmtleUV2ZW50cygpLFxuXHRcdFx0XHR0aGlzLmRvbUVsZW1lbnQoKSB8fCB0aGlzLnN0b3JlLmdldCgnZXZlbnRzJywgJ2Nvbm5lY3RlZCcpIHx8IHRoaXMuZ2xEb21FbGVtZW50KCksXG5cdFx0XHRcdHRoaXMuY29udHJvbHNSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5pbnZhbGlkYXRlKCksXG5cdFx0XHRcdHRoaXMucmVncmVzcygpLFxuXHRcdFx0XTtcblx0XHRcdGlmICghY29udHJvbHMpIHJldHVybjtcblx0XHRcdGlmIChrZXlFdmVudHMpIHtcblx0XHRcdFx0Y29udHJvbHMuY29ubmVjdChrZXlFdmVudHMgPT09IHRydWUgPyBkb21FbGVtZW50IDoga2V5RXZlbnRzKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnRyb2xzLmNvbm5lY3QoZG9tRWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0XHRvbkNsZWFudXAoKCkgPT4gdm9pZCBjb250cm9scy5kaXNwb3NlKCkpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBtYWtlQ29udHJvbHNEZWZhdWx0KCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbY29udHJvbHMsIG1ha2VEZWZhdWx0XSA9IFt0aGlzLmNvbnRyb2xzUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMubWFrZURlZmF1bHQoKV07XG5cdFx0XHRpZiAoIWNvbnRyb2xzKSByZXR1cm47XG5cdFx0XHRpZiAobWFrZURlZmF1bHQpIHtcblx0XHRcdFx0Y29uc3Qgb2xkQ29udHJvbHMgPSB0aGlzLnN0b3JlLmdldCgnY29udHJvbHMnKTtcblx0XHRcdFx0dGhpcy5zdG9yZS5zZXQoeyBjb250cm9scyB9KTtcblx0XHRcdFx0b25DbGVhbnVwKCgpID0+IHZvaWQgdGhpcy5zdG9yZS5zZXQoeyBjb250cm9sczogb2xkQ29udHJvbHMgfSkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRFdmVudHMoKSB7XG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFtjb250cm9scywgaW52YWxpZGF0ZSwgcGVyZm9ybWFuY2VSZWdyZXNzLCByZWdyZXNzXSA9IFtcblx0XHRcdFx0dGhpcy5jb250cm9sc1JlZi5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRcdFx0dGhpcy5wZXJmb3JtYW5jZVJlZ3Jlc3MoKSxcblx0XHRcdFx0dGhpcy5yZWdyZXNzKCksXG5cdFx0XHRdO1xuXHRcdFx0aWYgKCFjb250cm9scykgcmV0dXJuO1xuXHRcdFx0Y29uc3QgY2hhbmdlQ2FsbGJhY2s6IChlOiBUSFJFRS5FdmVudCkgPT4gdm9pZCA9IChlKSA9PiB7XG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdFx0aWYgKHJlZ3Jlc3MpIHBlcmZvcm1hbmNlUmVncmVzcygpO1xuXHRcdFx0XHRpZiAodGhpcy5jaGFuZ2Uub2JzZXJ2ZWQpIHRoaXMuY2hhbmdlLmVtaXQoZSk7XG5cdFx0XHR9O1xuXG5cdFx0XHRjb25zdCBzdGFydENhbGxiYWNrID0gdGhpcy5zdGFydC5vYnNlcnZlZCA/IHRoaXMuc3RhcnQuZW1pdC5iaW5kKHRoaXMuc3RhcnQpIDogbnVsbDtcblx0XHRcdGNvbnN0IGVuZENhbGxiYWNrID0gdGhpcy5lbmQub2JzZXJ2ZWQgPyB0aGlzLmVuZC5lbWl0LmJpbmQodGhpcy5lbmQpIDogbnVsbDtcblxuXHRcdFx0Y29udHJvbHMuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgY2hhbmdlQ2FsbGJhY2spO1xuXHRcdFx0aWYgKHN0YXJ0Q2FsbGJhY2spIGNvbnRyb2xzLmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXJ0Jywgc3RhcnRDYWxsYmFjayk7XG5cdFx0XHRpZiAoZW5kQ2FsbGJhY2spIGNvbnRyb2xzLmFkZEV2ZW50TGlzdGVuZXIoJ2VuZCcsIGVuZENhbGxiYWNrKTtcblxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHtcblx0XHRcdFx0Y29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgY2hhbmdlQ2FsbGJhY2spO1xuXHRcdFx0XHRpZiAoc3RhcnRDYWxsYmFjaykgY29udHJvbHMucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3RhcnQnLCBzdGFydENhbGxiYWNrKTtcblx0XHRcdFx0aWYgKGVuZENhbGxiYWNrKSBjb250cm9scy5yZW1vdmVFdmVudExpc3RlbmVyKCdlbmQnLCBlbmRDYWxsYmFjayk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1zb2JhLWdpem1vcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9naXptb3Mvc3JjL2FuZ3VsYXItdGhyZWUtc29iYS1naXptb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, computed, effect, forwardRef, } from '@angular/core';
|
|
3
|
+
import { NgtPortal, NgtPortalContent, extend, injectBeforeRender, injectNgtRef, injectNgtStore, signalStore, } from 'angular-three';
|
|
4
|
+
import { NgtsOrthographicCamera } from 'angular-three-soba/cameras';
|
|
5
|
+
import { NgtsSobaContent } from 'angular-three-soba/utils';
|
|
6
|
+
import { createInjectionToken } from 'ngxtension/create-injection-token';
|
|
7
|
+
import { Group, Matrix4, Object3D, OrthographicCamera, Quaternion, Vector3 } from 'three';
|
|
8
|
+
import { OrbitControls } from 'three-stdlib';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
const isOrbitControls = (controls) => {
|
|
11
|
+
return 'minPolarAngle' in controls;
|
|
12
|
+
};
|
|
13
|
+
extend({ Group });
|
|
14
|
+
export const [injectNgtsGizmoHelperApi, provideNgtsGizmoHelperApi] = createInjectionToken((gizmoHelper) => gizmoHelper.api, { isRoot: false, deps: [forwardRef(() => NgtsGizmoHelper)] });
|
|
15
|
+
export class NgtsGizmoHelper {
|
|
16
|
+
set _alignment(alignment) {
|
|
17
|
+
this.inputs.set({ alignment });
|
|
18
|
+
}
|
|
19
|
+
set _margin(margin) {
|
|
20
|
+
this.inputs.set({ margin });
|
|
21
|
+
}
|
|
22
|
+
set _renderPriority(renderPriority) {
|
|
23
|
+
this.inputs.set({ renderPriority });
|
|
24
|
+
}
|
|
25
|
+
set _autoClear(autoClear) {
|
|
26
|
+
this.inputs.set({ autoClear });
|
|
27
|
+
}
|
|
28
|
+
constructor() {
|
|
29
|
+
this.inputs = signalStore({
|
|
30
|
+
alignment: 'bottom-right',
|
|
31
|
+
margin: [80, 80],
|
|
32
|
+
renderPriority: 1,
|
|
33
|
+
});
|
|
34
|
+
this.gizmoRef = injectNgtRef();
|
|
35
|
+
this.update = new EventEmitter();
|
|
36
|
+
this.store = injectNgtStore();
|
|
37
|
+
this.mainCamera = this.store.select('camera');
|
|
38
|
+
// @ts-expect-error
|
|
39
|
+
this.defaultControls = this.store.select('controls');
|
|
40
|
+
this.invalidate = this.store.select('invalidate');
|
|
41
|
+
this.size = this.store.select('size');
|
|
42
|
+
this.animating = false;
|
|
43
|
+
this.q1 = new Quaternion();
|
|
44
|
+
this.q2 = new Quaternion();
|
|
45
|
+
this.turnRate = 2 * Math.PI; // turn rate in angles per second
|
|
46
|
+
this.matrix = new Matrix4();
|
|
47
|
+
this.radius = 0;
|
|
48
|
+
this.focusPoint = new Vector3(0, 0, 0);
|
|
49
|
+
this.defaultUp = new Vector3(0, 0, 0);
|
|
50
|
+
this.target = new Vector3();
|
|
51
|
+
this.targetPosition = new Vector3();
|
|
52
|
+
this.dummy = new Object3D();
|
|
53
|
+
this.margin = this.inputs.select('margin');
|
|
54
|
+
this.alignment = this.inputs.select('alignment');
|
|
55
|
+
this.virtualCamRef = injectNgtRef();
|
|
56
|
+
this.renderPriority = this.inputs.select('renderPriority');
|
|
57
|
+
this.gizmoPosition = computed(() => {
|
|
58
|
+
const [{ width, height }, [marginX, marginY], alignment] = [this.size(), this.margin(), this.alignment()];
|
|
59
|
+
const x = alignment.endsWith('-center')
|
|
60
|
+
? 0
|
|
61
|
+
: alignment.endsWith('-left')
|
|
62
|
+
? -width / 2 + marginX
|
|
63
|
+
: width / 2 - marginX;
|
|
64
|
+
const y = alignment.startsWith('center-')
|
|
65
|
+
? 0
|
|
66
|
+
: alignment.startsWith('top-')
|
|
67
|
+
? height / 2 - marginY
|
|
68
|
+
: -height / 2 + marginY;
|
|
69
|
+
return [x, y, 0];
|
|
70
|
+
});
|
|
71
|
+
this.api = {
|
|
72
|
+
tweenCamera: (direction) => {
|
|
73
|
+
const [defaultControls, mainCamera, invalidate] = [
|
|
74
|
+
this.defaultControls(),
|
|
75
|
+
this.mainCamera(),
|
|
76
|
+
this.invalidate(),
|
|
77
|
+
];
|
|
78
|
+
this.animating = true;
|
|
79
|
+
if (defaultControls)
|
|
80
|
+
this.focusPoint = defaultControls?.target;
|
|
81
|
+
this.radius = mainCamera.position.distanceTo(this.target);
|
|
82
|
+
// Rotate from current camera orientation
|
|
83
|
+
this.q1.copy(mainCamera.quaternion);
|
|
84
|
+
// To new current camera orientation
|
|
85
|
+
this.targetPosition.copy(direction).multiplyScalar(this.radius).add(this.target);
|
|
86
|
+
this.dummy.lookAt(this.targetPosition);
|
|
87
|
+
this.dummy.up.copy(mainCamera.up);
|
|
88
|
+
this.q2.copy(this.dummy.quaternion);
|
|
89
|
+
invalidate();
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
this.trackMainCameraUp();
|
|
93
|
+
this.beforeRender();
|
|
94
|
+
}
|
|
95
|
+
trackMainCameraUp() {
|
|
96
|
+
effect(() => {
|
|
97
|
+
const mainCamera = this.mainCamera();
|
|
98
|
+
this.defaultUp.copy(mainCamera.up);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
beforeRender() {
|
|
102
|
+
injectBeforeRender(({ delta }) => {
|
|
103
|
+
const [gizmo, virtualCam, defaultControls, mainCamera, invalidate] = [
|
|
104
|
+
this.gizmoRef.nativeElement,
|
|
105
|
+
this.virtualCamRef.nativeElement,
|
|
106
|
+
this.defaultControls(),
|
|
107
|
+
this.mainCamera(),
|
|
108
|
+
this.invalidate(),
|
|
109
|
+
];
|
|
110
|
+
if (gizmo && virtualCam) {
|
|
111
|
+
// Animate step
|
|
112
|
+
if (this.animating) {
|
|
113
|
+
if (this.q1.angleTo(this.q2) < 0.01) {
|
|
114
|
+
this.animating = false;
|
|
115
|
+
// Orbit controls uses UP vector as the orbit axes,
|
|
116
|
+
// so we need to reset it after the animation is done
|
|
117
|
+
// moving it around for the controls to work correctly
|
|
118
|
+
if (isOrbitControls(defaultControls)) {
|
|
119
|
+
mainCamera.up.copy(this.defaultUp);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const step = delta * this.turnRate;
|
|
124
|
+
// animate position by doing a slerp and then scaling the position on the unit sphere
|
|
125
|
+
this.q1.rotateTowards(this.q2, step);
|
|
126
|
+
// animate orientation
|
|
127
|
+
mainCamera.position
|
|
128
|
+
.set(0, 0, 1)
|
|
129
|
+
.applyQuaternion(this.q1)
|
|
130
|
+
.multiplyScalar(this.radius)
|
|
131
|
+
.add(this.focusPoint);
|
|
132
|
+
mainCamera.up.set(0, 1, 0).applyQuaternion(this.q1).normalize();
|
|
133
|
+
mainCamera.quaternion.copy(this.q1);
|
|
134
|
+
if (this.update.observed)
|
|
135
|
+
this.update.emit();
|
|
136
|
+
else if (defaultControls)
|
|
137
|
+
defaultControls.update();
|
|
138
|
+
invalidate();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Sync Gizmo with main camera orientation
|
|
142
|
+
this.matrix.copy(mainCamera.matrix).invert();
|
|
143
|
+
gizmo.quaternion.setFromRotationMatrix(this.matrix);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { gizmoRef: "gizmoRef", _alignment: ["alignment", "_alignment"], _margin: ["margin", "_margin"], _renderPriority: ["renderPriority", "_renderPriority"], _autoClear: ["autoClear", "_autoClear"] }, outputs: { update: "update" }, providers: [provideNgtsGizmoHelperApi()], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
149
|
+
<ngt-portal [renderPriority]="renderPriority()">
|
|
150
|
+
<ng-template ngtPortalContent>
|
|
151
|
+
<ngts-orthographic-camera [makeDefault]="true" [position]="[0, 0, 200]" [cameraRef]="virtualCamRef" />
|
|
152
|
+
<ngt-group [ref]="gizmoRef" [position]="gizmoPosition()">
|
|
153
|
+
<ng-container *ngTemplateOutlet="content" />
|
|
154
|
+
</ngt-group>
|
|
155
|
+
</ng-template>
|
|
156
|
+
</ngt-portal>
|
|
157
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["left", "right", "top", "bottom"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
158
|
+
}
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
|
|
160
|
+
type: Component,
|
|
161
|
+
args: [{
|
|
162
|
+
selector: 'ngts-gizmo-helper',
|
|
163
|
+
standalone: true,
|
|
164
|
+
template: `
|
|
165
|
+
<ngt-portal [renderPriority]="renderPriority()">
|
|
166
|
+
<ng-template ngtPortalContent>
|
|
167
|
+
<ngts-orthographic-camera [makeDefault]="true" [position]="[0, 0, 200]" [cameraRef]="virtualCamRef" />
|
|
168
|
+
<ngt-group [ref]="gizmoRef" [position]="gizmoPosition()">
|
|
169
|
+
<ng-container *ngTemplateOutlet="content" />
|
|
170
|
+
</ngt-group>
|
|
171
|
+
</ng-template>
|
|
172
|
+
</ngt-portal>
|
|
173
|
+
`,
|
|
174
|
+
imports: [NgtPortal, NgtPortalContent, NgtsOrthographicCamera, NgTemplateOutlet],
|
|
175
|
+
providers: [provideNgtsGizmoHelperApi()],
|
|
176
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
177
|
+
}]
|
|
178
|
+
}], ctorParameters: function () { return []; }, propDecorators: { gizmoRef: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], _alignment: [{
|
|
181
|
+
type: Input,
|
|
182
|
+
args: [{ alias: 'alignment' }]
|
|
183
|
+
}], _margin: [{
|
|
184
|
+
type: Input,
|
|
185
|
+
args: [{ alias: 'margin' }]
|
|
186
|
+
}], _renderPriority: [{
|
|
187
|
+
type: Input,
|
|
188
|
+
args: [{ alias: 'renderPriority' }]
|
|
189
|
+
}], _autoClear: [{
|
|
190
|
+
type: Input,
|
|
191
|
+
args: [{ alias: 'autoClear' }]
|
|
192
|
+
}], update: [{
|
|
193
|
+
type: Output
|
|
194
|
+
}], content: [{
|
|
195
|
+
type: ContentChild,
|
|
196
|
+
args: [NgtsSobaContent, { static: true, read: TemplateRef }]
|
|
197
|
+
}] } });
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2dpem1vcy9zcmMvZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBb0I3QyxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXVCLEVBQTZCLEVBQUU7SUFDOUUsT0FBTyxlQUFlLElBQUssUUFBMEIsQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBUWxCLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsR0FBRyxv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eEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDOzBFQVFTLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRTZCLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQWVHLE9BQU87c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUljLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSUMsVUFBVTtzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7Z0JBSW5CLE1BQU07c0JBQWYsTUFBTTtnQkFFNkQsT0FBTztzQkFBMUUsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdENvbXBvbmVudCxcblx0Q29udGVudENoaWxkLFxuXHRFdmVudEVtaXR0ZXIsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdFRlbXBsYXRlUmVmLFxuXHRjb21wdXRlZCxcblx0ZWZmZWN0LFxuXHRmb3J3YXJkUmVmLFxuXHR0eXBlIFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHROZ3RQb3J0YWwsXG5cdE5ndFBvcnRhbENvbnRlbnQsXG5cdGV4dGVuZCxcblx0aW5qZWN0QmVmb3JlUmVuZGVyLFxuXHRpbmplY3ROZ3RSZWYsXG5cdGluamVjdE5ndFN0b3JlLFxuXHRzaWduYWxTdG9yZSxcblx0dHlwZSBOZ3RHcm91cCxcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2NhbWVyYXMnO1xuaW1wb3J0IHsgTmd0c1NvYmFDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3V0aWxzJztcbmltcG9ydCB7IGNyZWF0ZUluamVjdGlvblRva2VuIH0gZnJvbSAnbmd4dGVuc2lvbi9jcmVhdGUtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IEdyb3VwLCBNYXRyaXg0LCBPYmplY3QzRCwgT3J0aG9ncmFwaGljQ2FtZXJhLCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmV4cG9ydCB0eXBlIE5ndHNHaXptb0hlbHBlclN0YXRlID0ge1xuXHRhbGlnbm1lbnQ6XG5cdFx0fCAndG9wLWxlZnQnXG5cdFx0fCAndG9wLXJpZ2h0J1xuXHRcdHwgJ2JvdHRvbS1yaWdodCdcblx0XHR8ICdib3R0b20tbGVmdCdcblx0XHR8ICdib3R0b20tY2VudGVyJ1xuXHRcdHwgJ2NlbnRlci1yaWdodCdcblx0XHR8ICdjZW50ZXItbGVmdCdcblx0XHR8ICdjZW50ZXItY2VudGVyJ1xuXHRcdHwgJ3RvcC1jZW50ZXInO1xuXHRtYXJnaW46IFtudW1iZXIsIG51bWJlcl07XG5cdHJlbmRlclByaW9yaXR5OiBudW1iZXI7XG5cdGF1dG9DbGVhcj86IGJvb2xlYW47XG59O1xuXG50eXBlIENvbnRyb2xzUHJvdG8gPSB7IHVwZGF0ZSgpOiB2b2lkOyB0YXJnZXQ6IFRIUkVFLlZlY3RvcjMgfTtcblxuY29uc3QgaXNPcmJpdENvbnRyb2xzID0gKGNvbnRyb2xzOiBDb250cm9sc1Byb3RvKTogY29udHJvbHMgaXMgT3JiaXRDb250cm9scyA9PiB7XG5cdHJldHVybiAnbWluUG9sYXJBbmdsZScgaW4gKGNvbnRyb2xzIGFzIE9yYml0Q29udHJvbHMpO1xufTtcblxuZXh0ZW5kKHsgR3JvdXAgfSk7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0J25ndHMtZ2l6bW8taGVscGVyJzogTmd0c0dpem1vSGVscGVyU3RhdGUgJiBOZ3RHcm91cDtcblx0fVxufVxuXG5leHBvcnQgY29uc3QgW2luamVjdE5ndHNHaXptb0hlbHBlckFwaSwgcHJvdmlkZU5ndHNHaXptb0hlbHBlckFwaV0gPSBjcmVhdGVJbmplY3Rpb25Ub2tlbihcblx0KGdpem1vSGVscGVyOiBOZ3RzR2l6bW9IZWxwZXIpID0+IGdpem1vSGVscGVyLmFwaSxcblx0eyBpc1Jvb3Q6IGZhbHNlLCBkZXBzOiBbZm9yd2FyZFJlZigoKSA9PiBOZ3RzR2l6bW9IZWxwZXIpXSB9LFxuKTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1naXptby1oZWxwZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcG9ydGFsIFtyZW5kZXJQcmlvcml0eV09XCJyZW5kZXJQcmlvcml0eSgpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgbmd0UG9ydGFsQ29udGVudD5cblx0XHRcdFx0PG5ndHMtb3J0aG9ncmFwaGljLWNhbWVyYSBbbWFrZURlZmF1bHRdPVwidHJ1ZVwiIFtwb3NpdGlvbl09XCJbMCwgMCwgMjAwXVwiIFtjYW1lcmFSZWZdPVwidmlydHVhbENhbVJlZlwiIC8+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgW3JlZl09XCJnaXptb1JlZlwiIFtwb3NpdGlvbl09XCJnaXptb1Bvc2l0aW9uKClcIj5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiIC8+XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L25ndC1wb3J0YWw+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RQb3J0YWwsIE5ndFBvcnRhbENvbnRlbnQsIE5ndHNPcnRob2dyYXBoaWNDYW1lcmEsIE5nVGVtcGxhdGVPdXRsZXRdLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlTmd0c0dpem1vSGVscGVyQXBpKCldLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNHaXptb0hlbHBlciB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c0dpem1vSGVscGVyU3RhdGU+KHtcblx0XHRhbGlnbm1lbnQ6ICdib3R0b20tcmlnaHQnLFxuXHRcdG1hcmdpbjogWzgwLCA4MF0sXG5cdFx0cmVuZGVyUHJpb3JpdHk6IDEsXG5cdH0pO1xuXG5cdEBJbnB1dCgpIGdpem1vUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYWxpZ25tZW50JyB9KSBzZXQgX2FsaWdubWVudChcblx0XHRhbGlnbm1lbnQ6XG5cdFx0XHR8ICd0b3AtbGVmdCdcblx0XHRcdHwgJ3RvcC1yaWdodCdcblx0XHRcdHwgJ2JvdHRvbS1yaWdodCdcblx0XHRcdHwgJ2JvdHRvbS1sZWZ0J1xuXHRcdFx0fCAnYm90dG9tLWNlbnRlcidcblx0XHRcdHwgJ2NlbnRlci1yaWdodCdcblx0XHRcdHwgJ2NlbnRlci1sZWZ0J1xuXHRcdFx0fCAnY2VudGVyLWNlbnRlcidcblx0XHRcdHwgJ3RvcC1jZW50ZXInLFxuXHQpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBhbGlnbm1lbnQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ21hcmdpbicgfSkgc2V0IF9tYXJnaW4obWFyZ2luOiBbbnVtYmVyLCBudW1iZXJdKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbWFyZ2luIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyZW5kZXJQcmlvcml0eScgfSkgc2V0IF9yZW5kZXJQcmlvcml0eShyZW5kZXJQcmlvcml0eTogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcmVuZGVyUHJpb3JpdHkgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2F1dG9DbGVhcicgfSkgc2V0IF9hdXRvQ2xlYXIoYXV0b0NsZWFyOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgYXV0b0NsZWFyIH0pO1xuXHR9XG5cblx0QE91dHB1dCgpIHVwZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAQ29udGVudENoaWxkKE5ndHNTb2JhQ29udGVudCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0cHJpdmF0ZSBtYWluQ2FtZXJhID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NhbWVyYScpO1xuXHQvLyBAdHMtZXhwZWN0LWVycm9yXG5cdHByaXZhdGUgZGVmYXVsdENvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgU2lnbmFsPENvbnRyb2xzUHJvdG8+O1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXHRwcml2YXRlIHNpemUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXG5cdHByaXZhdGUgYW5pbWF0aW5nID0gZmFsc2U7XG5cdHByaXZhdGUgcTEgPSBuZXcgUXVhdGVybmlvbigpO1xuXHRwcml2YXRlIHEyID0gbmV3IFF1YXRlcm5pb24oKTtcblx0cHJpdmF0ZSB0dXJuUmF0ZSA9IDIgKiBNYXRoLlBJOyAvLyB0dXJuIHJhdGUgaW4gYW5nbGVzIHBlciBzZWNvbmRcblx0cHJpdmF0ZSBtYXRyaXggPSBuZXcgTWF0cml4NCgpO1xuXG5cdHByaXZhdGUgcmFkaXVzID0gMDtcblx0cHJpdmF0ZSBmb2N1c1BvaW50ID0gbmV3IFZlY3RvcjMoMCwgMCwgMCk7XG5cdHByaXZhdGUgZGVmYXVsdFVwID0gbmV3IFZlY3RvcjMoMCwgMCwgMCk7XG5cdHByaXZhdGUgdGFyZ2V0ID0gbmV3IFZlY3RvcjMoKTtcblx0cHJpdmF0ZSB0YXJnZXRQb3NpdGlvbiA9IG5ldyBWZWN0b3IzKCk7XG5cdHByaXZhdGUgZHVtbXkgPSBuZXcgT2JqZWN0M0QoKTtcblxuXHRwcml2YXRlIG1hcmdpbiA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnbWFyZ2luJyk7XG5cdHByaXZhdGUgYWxpZ25tZW50ID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdhbGlnbm1lbnQnKTtcblxuXHR2aXJ0dWFsQ2FtUmVmID0gaW5qZWN0Tmd0UmVmPE9ydGhvZ3JhcGhpY0NhbWVyYT4oKTtcblx0cmVuZGVyUHJpb3JpdHkgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3JlbmRlclByaW9yaXR5Jyk7XG5cblx0Z2l6bW9Qb3NpdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbeyB3aWR0aCwgaGVpZ2h0IH0sIFttYXJnaW5YLCBtYXJnaW5ZXSwgYWxpZ25tZW50XSA9IFt0aGlzLnNpemUoKSwgdGhpcy5tYXJnaW4oKSwgdGhpcy5hbGlnbm1lbnQoKV07XG5cdFx0Y29uc3QgeCA9IGFsaWdubWVudC5lbmRzV2l0aCgnLWNlbnRlcicpXG5cdFx0XHQ/IDBcblx0XHRcdDogYWxpZ25tZW50LmVuZHNXaXRoKCctbGVmdCcpXG5cdFx0XHQ/IC13aWR0aCAvIDIgKyBtYXJnaW5YXG5cdFx0XHQ6IHdpZHRoIC8gMiAtIG1hcmdpblg7XG5cdFx0Y29uc3QgeSA9IGFsaWdubWVudC5zdGFydHNXaXRoKCdjZW50ZXItJylcblx0XHRcdD8gMFxuXHRcdFx0OiBhbGlnbm1lbnQuc3RhcnRzV2l0aCgndG9wLScpXG5cdFx0XHQ/IGhlaWdodCAvIDIgLSBtYXJnaW5ZXG5cdFx0XHQ6IC1oZWlnaHQgLyAyICsgbWFyZ2luWTtcblx0XHRyZXR1cm4gW3gsIHksIDBdO1xuXHR9KTtcblxuXHRhcGkgPSB7XG5cdFx0dHdlZW5DYW1lcmE6IChkaXJlY3Rpb246IFZlY3RvcjMpID0+IHtcblx0XHRcdGNvbnN0IFtkZWZhdWx0Q29udHJvbHMsIG1haW5DYW1lcmEsIGludmFsaWRhdGVdID0gW1xuXHRcdFx0XHR0aGlzLmRlZmF1bHRDb250cm9scygpLFxuXHRcdFx0XHR0aGlzLm1haW5DYW1lcmEoKSxcblx0XHRcdFx0dGhpcy5pbnZhbGlkYXRlKCksXG5cdFx0XHRdO1xuXHRcdFx0dGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuXHRcdFx0aWYgKGRlZmF1bHRDb250cm9scykgdGhpcy5mb2N1c1BvaW50ID0gZGVmYXVsdENvbnRyb2xzPy50YXJnZXQ7XG5cdFx0XHR0aGlzLnJhZGl1cyA9IG1haW5DYW1lcmEucG9zaXRpb24uZGlzdGFuY2VUbyh0aGlzLnRhcmdldCk7XG5cblx0XHRcdC8vIFJvdGF0ZSBmcm9tIGN1cnJlbnQgY2FtZXJhIG9yaWVudGF0aW9uXG5cdFx0XHR0aGlzLnExLmNvcHkobWFpbkNhbWVyYS5xdWF0ZXJuaW9uKTtcblxuXHRcdFx0Ly8gVG8gbmV3IGN1cnJlbnQgY2FtZXJhIG9yaWVudGF0aW9uXG5cdFx0XHR0aGlzLnRhcmdldFBvc2l0aW9uLmNvcHkoZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcih0aGlzLnJhZGl1cykuYWRkKHRoaXMudGFyZ2V0KTtcblxuXHRcdFx0dGhpcy5kdW1teS5sb29rQXQodGhpcy50YXJnZXRQb3NpdGlvbik7XG5cdFx0XHR0aGlzLmR1bW15LnVwLmNvcHkobWFpbkNhbWVyYS51cCk7XG5cblx0XHRcdHRoaXMucTIuY29weSh0aGlzLmR1bW15LnF1YXRlcm5pb24pO1xuXG5cdFx0XHRpbnZhbGlkYXRlKCk7XG5cdFx0fSxcblx0fTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLnRyYWNrTWFpbkNhbWVyYVVwKCk7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgdHJhY2tNYWluQ2FtZXJhVXAoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IG1haW5DYW1lcmEgPSB0aGlzLm1haW5DYW1lcmEoKTtcblx0XHRcdHRoaXMuZGVmYXVsdFVwLmNvcHkobWFpbkNhbWVyYS51cCk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGJlZm9yZVJlbmRlcigpIHtcblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgZGVsdGEgfSkgPT4ge1xuXHRcdFx0Y29uc3QgW2dpem1vLCB2aXJ0dWFsQ2FtLCBkZWZhdWx0Q29udHJvbHMsIG1haW5DYW1lcmEsIGludmFsaWRhdGVdID0gW1xuXHRcdFx0XHR0aGlzLmdpem1vUmVmLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMudmlydHVhbENhbVJlZi5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLmRlZmF1bHRDb250cm9scygpLFxuXHRcdFx0XHR0aGlzLm1haW5DYW1lcmEoKSxcblx0XHRcdFx0dGhpcy5pbnZhbGlkYXRlKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRpZiAoZ2l6bW8gJiYgdmlydHVhbENhbSkge1xuXHRcdFx0XHQvLyBBbmltYXRlIHN0ZXBcblx0XHRcdFx0aWYgKHRoaXMuYW5pbWF0aW5nKSB7XG5cdFx0XHRcdFx0aWYgKHRoaXMucTEuYW5nbGVUbyh0aGlzLnEyKSA8IDAuMDEpIHtcblx0XHRcdFx0XHRcdHRoaXMuYW5pbWF0aW5nID0gZmFsc2U7XG5cdFx0XHRcdFx0XHQvLyBPcmJpdCBjb250cm9scyB1c2VzIFVQIHZlY3RvciBhcyB0aGUgb3JiaXQgYXhlcyxcblx0XHRcdFx0XHRcdC8vIHNvIHdlIG5lZWQgdG8gcmVzZXQgaXQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBpcyBkb25lXG5cdFx0XHRcdFx0XHQvLyBtb3ZpbmcgaXQgYXJvdW5kIGZvciB0aGUgY29udHJvbHMgdG8gd29yayBjb3JyZWN0bHlcblx0XHRcdFx0XHRcdGlmIChpc09yYml0Q29udHJvbHMoZGVmYXVsdENvbnRyb2xzKSkge1xuXHRcdFx0XHRcdFx0XHRtYWluQ2FtZXJhLnVwLmNvcHkodGhpcy5kZWZhdWx0VXApO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzdGVwID0gZGVsdGEgKiB0aGlzLnR1cm5SYXRlO1xuXHRcdFx0XHRcdFx0Ly8gYW5pbWF0ZSBwb3NpdGlvbiBieSBkb2luZyBhIHNsZXJwIGFuZCB0aGVuIHNjYWxpbmcgdGhlIHBvc2l0aW9uIG9uIHRoZSB1bml0IHNwaGVyZVxuXHRcdFx0XHRcdFx0dGhpcy5xMS5yb3RhdGVUb3dhcmRzKHRoaXMucTIsIHN0ZXApO1xuXHRcdFx0XHRcdFx0Ly8gYW5pbWF0ZSBvcmllbnRhdGlvblxuXHRcdFx0XHRcdFx0bWFpbkNhbWVyYS5wb3NpdGlvblxuXHRcdFx0XHRcdFx0XHQuc2V0KDAsIDAsIDEpXG5cdFx0XHRcdFx0XHRcdC5hcHBseVF1YXRlcm5pb24odGhpcy5xMSlcblx0XHRcdFx0XHRcdFx0Lm11bHRpcGx5U2NhbGFyKHRoaXMucmFkaXVzKVxuXHRcdFx0XHRcdFx0XHQuYWRkKHRoaXMuZm9jdXNQb2ludCk7XG5cdFx0XHRcdFx0XHRtYWluQ2FtZXJhLnVwLnNldCgwLCAxLCAwKS5hcHBseVF1YXRlcm5pb24odGhpcy5xMSkubm9ybWFsaXplKCk7XG5cdFx0XHRcdFx0XHRtYWluQ2FtZXJhLnF1YXRlcm5pb24uY29weSh0aGlzLnExKTtcblx0XHRcdFx0XHRcdGlmICh0aGlzLnVwZGF0ZS5vYnNlcnZlZCkgdGhpcy51cGRhdGUuZW1pdCgpO1xuXHRcdFx0XHRcdFx0ZWxzZSBpZiAoZGVmYXVsdENvbnRyb2xzKSBkZWZhdWx0Q29udHJvbHMudXBkYXRlKCk7XG5cdFx0XHRcdFx0XHRpbnZhbGlkYXRlKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gU3luYyBHaXptbyB3aXRoIG1haW4gY2FtZXJhIG9yaWVudGF0aW9uXG5cdFx0XHRcdHRoaXMubWF0cml4LmNvcHkobWFpbkNhbWVyYS5tYXRyaXgpLmludmVydCgpO1xuXHRcdFx0XHRnaXptby5xdWF0ZXJuaW9uLnNldEZyb21Sb3RhdGlvbk1hdHJpeCh0aGlzLm1hdHJpeCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
export const colors = { bg: '#f0f0f0', hover: '#999', text: 'black', stroke: 'black' };
|
|
3
|
+
export const defaultFaces = ['Right', 'Left', 'Top', 'Bottom', 'Front', 'Back'];
|
|
4
|
+
const makePositionVector = (xyz) => new THREE.Vector3(...xyz).multiplyScalar(0.38);
|
|
5
|
+
export const corners = [
|
|
6
|
+
[1, 1, 1],
|
|
7
|
+
[1, 1, -1],
|
|
8
|
+
[1, -1, 1],
|
|
9
|
+
[1, -1, -1],
|
|
10
|
+
[-1, 1, 1],
|
|
11
|
+
[-1, 1, -1],
|
|
12
|
+
[-1, -1, 1],
|
|
13
|
+
[-1, -1, -1],
|
|
14
|
+
].map(makePositionVector);
|
|
15
|
+
export const cornerDimensions = [0.25, 0.25, 0.25];
|
|
16
|
+
export const edges = [
|
|
17
|
+
[1, 1, 0],
|
|
18
|
+
[1, 0, 1],
|
|
19
|
+
[1, 0, -1],
|
|
20
|
+
[1, -1, 0],
|
|
21
|
+
[0, 1, 1],
|
|
22
|
+
[0, 1, -1],
|
|
23
|
+
[0, -1, 1],
|
|
24
|
+
[0, -1, -1],
|
|
25
|
+
[-1, 1, 0],
|
|
26
|
+
[-1, 0, 1],
|
|
27
|
+
[-1, 0, -1],
|
|
28
|
+
[-1, -1, 0],
|
|
29
|
+
].map(makePositionVector);
|
|
30
|
+
export const edgeDimensions = edges.map((edge) => edge.toArray().map((axis) => (axis == 0 ? 0.5 : 0.25)));
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2dpem1vcy9zcmMvZ2l6bW8taGVscGVyL2dpem1vLXZpZXdjdWJlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoRixNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFvQjtJQUN2QyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDVixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUNaLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBNkIsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQW9CO0lBQ3JDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNULENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUNYLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQ3RDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQTZCLENBQzVHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBjb25zdCBjb2xvcnMgPSB7IGJnOiAnI2YwZjBmMCcsIGhvdmVyOiAnIzk5OScsIHRleHQ6ICdibGFjaycsIHN0cm9rZTogJ2JsYWNrJyB9O1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRGYWNlcyA9IFsnUmlnaHQnLCAnTGVmdCcsICdUb3AnLCAnQm90dG9tJywgJ0Zyb250JywgJ0JhY2snXTtcbmNvbnN0IG1ha2VQb3NpdGlvblZlY3RvciA9ICh4eXo6IG51bWJlcltdKSA9PiBuZXcgVEhSRUUuVmVjdG9yMyguLi54eXopLm11bHRpcGx5U2NhbGFyKDAuMzgpO1xuXG5leHBvcnQgY29uc3QgY29ybmVyczogVEhSRUUuVmVjdG9yM1tdID0gW1xuXHRbMSwgMSwgMV0sXG5cdFsxLCAxLCAtMV0sXG5cdFsxLCAtMSwgMV0sXG5cdFsxLCAtMSwgLTFdLFxuXHRbLTEsIDEsIDFdLFxuXHRbLTEsIDEsIC0xXSxcblx0Wy0xLCAtMSwgMV0sXG5cdFstMSwgLTEsIC0xXSxcbl0ubWFwKG1ha2VQb3NpdGlvblZlY3Rvcik7XG5cbmV4cG9ydCBjb25zdCBjb3JuZXJEaW1lbnNpb25zID0gWzAuMjUsIDAuMjUsIDAuMjVdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IGVkZ2VzOiBUSFJFRS5WZWN0b3IzW10gPSBbXG5cdFsxLCAxLCAwXSxcblx0WzEsIDAsIDFdLFxuXHRbMSwgMCwgLTFdLFxuXHRbMSwgLTEsIDBdLFxuXHRbMCwgMSwgMV0sXG5cdFswLCAxLCAtMV0sXG5cdFswLCAtMSwgMV0sXG5cdFswLCAtMSwgLTFdLFxuXHRbLTEsIDEsIDBdLFxuXHRbLTEsIDAsIDFdLFxuXHRbLTEsIDAsIC0xXSxcblx0Wy0xLCAtMSwgMF0sXG5dLm1hcChtYWtlUG9zaXRpb25WZWN0b3IpO1xuXG5leHBvcnQgY29uc3QgZWRnZURpbWVuc2lvbnMgPSBlZGdlcy5tYXAoXG5cdChlZGdlKSA9PiBlZGdlLnRvQXJyYXkoKS5tYXAoKGF4aXM6IG51bWJlcik6IG51bWJlciA9PiAoYXhpcyA9PSAwID8gMC41IDogMC4yNSkpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbik7XG4iXX0=
|