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

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 (321) hide show
  1. package/abstractions/billboard/billboard.d.ts +12 -8
  2. package/abstractions/detailed/detailed.d.ts +26 -0
  3. package/abstractions/edges/edges.d.ts +24 -12
  4. package/abstractions/grid/grid.d.ts +50 -0
  5. package/abstractions/index.d.ts +2 -7
  6. package/abstractions/text/text.d.ts +10 -5
  7. package/abstractions/text-3d/text-3d.d.ts +51 -41
  8. package/cameras/camera/camera-content.d.ts +1 -1
  9. package/cameras/camera/camera.d.ts +16 -13
  10. package/cameras/cube-camera/cube-camera.d.ts +50 -23
  11. package/cameras/index.d.ts +0 -1
  12. package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
  13. package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
  14. package/controls/orbit-controls/orbit-controls.d.ts +34 -15
  15. package/esm2022/abstractions/billboard/billboard.mjs +36 -33
  16. package/esm2022/abstractions/detailed/detailed.mjs +64 -0
  17. package/esm2022/abstractions/edges/edges.mjs +58 -63
  18. package/esm2022/abstractions/grid/grid.mjs +180 -0
  19. package/esm2022/abstractions/index.mjs +3 -8
  20. package/esm2022/abstractions/text/text.mjs +123 -124
  21. package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
  22. package/esm2022/cameras/camera/camera-content.mjs +6 -6
  23. package/esm2022/cameras/camera/camera.mjs +48 -42
  24. package/esm2022/cameras/cube-camera/cube-camera.mjs +130 -99
  25. package/esm2022/cameras/index.mjs +1 -2
  26. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
  27. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
  28. package/esm2022/controls/orbit-controls/orbit-controls.mjs +109 -85
  29. package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
  30. package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +198 -0
  31. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
  32. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
  33. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +151 -0
  34. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
  35. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
  36. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
  37. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
  38. package/esm2022/gizmos/index.mjs +4 -0
  39. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +8 -6
  40. package/esm2022/loaders/loader/loader.mjs +92 -87
  41. package/esm2022/loaders/progress/progress.mjs +31 -30
  42. package/esm2022/loaders/texture-loader/texture-loader.mjs +6 -5
  43. package/esm2022/materials/index.mjs +2 -1
  44. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
  45. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
  46. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +102 -99
  47. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +167 -146
  48. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
  49. package/esm2022/materials/point-material/point-material.mjs +50 -0
  50. package/esm2022/misc/animations/animations.mjs +39 -34
  51. package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
  52. package/esm2022/misc/caustics/caustics.mjs +387 -0
  53. package/esm2022/misc/decal/decal.mjs +187 -0
  54. package/esm2022/misc/depth-buffer/depth-buffer.mjs +35 -36
  55. package/esm2022/misc/example/example.mjs +161 -0
  56. package/esm2022/misc/fbo/fbo.mjs +37 -36
  57. package/esm2022/misc/html/html-wrapper.mjs +478 -0
  58. package/esm2022/misc/html/html.mjs +305 -0
  59. package/esm2022/misc/index.mjs +10 -1
  60. package/esm2022/misc/sampler/sampler.mjs +143 -0
  61. package/esm2022/misc/shadow/shadow.mjs +111 -0
  62. package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
  63. package/esm2022/misc/trail/trail.mjs +210 -0
  64. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +18 -0
  65. package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
  66. package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
  67. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
  68. package/esm2022/modifiers/index.mjs +2 -0
  69. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
  70. package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
  71. package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
  72. package/esm2022/performances/index.mjs +8 -0
  73. package/esm2022/performances/instances/instances.mjs +221 -0
  74. package/esm2022/performances/instances/position-mesh.mjs +52 -0
  75. package/esm2022/performances/points/points-input.mjs +64 -0
  76. package/esm2022/performances/points/points.mjs +327 -0
  77. package/esm2022/performances/points/position-point.mjs +54 -0
  78. package/esm2022/performances/segments/segment-object.mjs +9 -0
  79. package/esm2022/performances/segments/segments.mjs +183 -0
  80. package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
  81. package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
  82. package/esm2022/shaders/caustics/caustics-projection-material.mjs +31 -0
  83. package/esm2022/shaders/convolution-material/convolution-material.mjs +1 -1
  84. package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
  85. package/esm2022/shaders/grid-material/grid-material.mjs +77 -0
  86. package/esm2022/shaders/index.mjs +6 -3
  87. package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
  88. package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
  89. package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +2 -2
  90. package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +4 -4
  91. package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
  92. package/esm2022/shaders/shader-material/shader-material.mjs +3 -5
  93. package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +17 -25
  94. package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
  95. package/esm2022/shaders/spot-light-material/spot-light-material.mjs +7 -7
  96. package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
  97. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
  98. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +161 -176
  99. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
  100. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +128 -129
  101. package/esm2022/staging/backdrop/backdrop.mjs +77 -0
  102. package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
  103. package/esm2022/staging/bounds/bounds.mjs +145 -143
  104. package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
  105. package/esm2022/staging/center/center.mjs +129 -112
  106. package/esm2022/staging/cloud/cloud.mjs +118 -124
  107. package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -136
  108. package/esm2022/staging/environment/assets.mjs +12 -12
  109. package/esm2022/staging/environment/environment-cube.mjs +28 -30
  110. package/esm2022/staging/environment/environment-ground.mjs +17 -19
  111. package/esm2022/staging/environment/environment-input.mjs +98 -85
  112. package/esm2022/staging/environment/environment-map.mjs +33 -33
  113. package/esm2022/staging/environment/environment-portal.mjs +75 -97
  114. package/esm2022/staging/environment/environment.mjs +34 -51
  115. package/esm2022/staging/environment/utils.mjs +40 -17
  116. package/esm2022/staging/float/float.mjs +70 -58
  117. package/esm2022/staging/index.mjs +7 -3
  118. package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
  119. package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
  120. package/esm2022/staging/sky/sky.mjs +85 -80
  121. package/esm2022/staging/sparkles/sparkles.mjs +108 -105
  122. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
  123. package/esm2022/staging/spot-light/shadow-mesh.mjs +267 -0
  124. package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
  125. package/esm2022/staging/spot-light/spot-light.mjs +51 -63
  126. package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
  127. package/esm2022/staging/stage/stage.mjs +305 -290
  128. package/esm2022/staging/stars/stars.mjs +101 -102
  129. package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
  130. package/esm2022/staging/wireframe/wireframe.mjs +228 -0
  131. package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
  132. package/esm2022/utils/content/content.mjs +15 -0
  133. package/esm2022/utils/index.mjs +2 -0
  134. package/fesm2022/angular-three-soba-abstractions.mjs +514 -1947
  135. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  136. package/fesm2022/angular-three-soba-cameras.mjs +303 -259
  137. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  138. package/fesm2022/angular-three-soba-controls.mjs +108 -83
  139. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  140. package/fesm2022/angular-three-soba-gizmos.mjs +1045 -0
  141. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
  142. package/fesm2022/angular-three-soba-loaders.mjs +129 -119
  143. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  144. package/fesm2022/angular-three-soba-materials.mjs +662 -592
  145. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  146. package/fesm2022/angular-three-soba-misc.mjs +2219 -108
  147. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  148. package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
  149. package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
  150. package/fesm2022/angular-three-soba-performances.mjs +957 -0
  151. package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
  152. package/fesm2022/angular-three-soba-shaders.mjs +551 -256
  153. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  154. package/fesm2022/angular-three-soba-staging.mjs +2910 -2573
  155. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  156. package/fesm2022/angular-three-soba-utils.mjs +22 -0
  157. package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
  158. package/gizmos/README.md +3 -0
  159. package/gizmos/gizmo-helper/gizmo-helper.d.ts +69 -0
  160. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
  161. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
  162. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
  163. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
  164. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
  165. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
  166. package/gizmos/index.d.ts +3 -0
  167. package/loaders/gltf-loader/gltf-loader.d.ts +4 -3
  168. package/loaders/loader/loader.d.ts +19 -17
  169. package/loaders/progress/progress.d.ts +1 -1
  170. package/loaders/texture-loader/texture-loader.d.ts +2 -2
  171. package/materials/index.d.ts +1 -0
  172. package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
  173. package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
  174. package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
  175. package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
  176. package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
  177. package/materials/point-material/point-material.d.ts +24 -0
  178. package/metadata.json +1 -0
  179. package/misc/animations/animations.d.ts +6 -4
  180. package/misc/caustics/caustics.d.ts +87 -0
  181. package/misc/decal/decal.d.ts +49 -0
  182. package/misc/depth-buffer/depth-buffer.d.ts +2 -2
  183. package/misc/example/example.d.ts +81 -0
  184. package/misc/fbo/fbo.d.ts +2 -2
  185. package/misc/html/html-wrapper.d.ts +559 -0
  186. package/misc/html/html.d.ts +214 -0
  187. package/misc/index.d.ts +9 -0
  188. package/misc/sampler/sampler.d.ts +67 -0
  189. package/misc/shadow/shadow.d.ts +37 -0
  190. package/misc/stats-gl/stats-gl.d.ts +24 -0
  191. package/misc/trail/trail.d.ts +57 -0
  192. package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
  193. package/misc/trail-texture/trail-texture.d.ts +50 -0
  194. package/modifiers/README.md +3 -0
  195. package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
  196. package/modifiers/index.d.ts +1 -0
  197. package/package.json +42 -26
  198. package/performances/README.md +3 -0
  199. package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
  200. package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
  201. package/performances/index.d.ts +7 -0
  202. package/performances/instances/instances.d.ts +79 -0
  203. package/{performance → performances}/instances/position-mesh.d.ts +1 -1
  204. package/performances/points/points-input.d.ts +32 -0
  205. package/performances/points/points.d.ts +92 -0
  206. package/performances/points/position-point.d.ts +11 -0
  207. package/performances/segments/segment-object.d.ts +7 -0
  208. package/performances/segments/segments.d.ts +124 -0
  209. package/shaders/grid-material/grid-material.d.ts +37 -0
  210. package/shaders/index.d.ts +5 -2
  211. package/shaders/mesh-distort-material/mesh-distort-material.d.ts +173 -6
  212. package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
  213. package/shaders/shader-material/shader-material.d.ts +2 -2
  214. package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
  215. package/shaders/sparkles-material/sparkles-material.d.ts +15 -1
  216. package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
  217. package/shaders/star-field-material/star-field-material.d.ts +11 -1
  218. package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
  219. package/staging/accumulative-shadows/accumulative-shadows.d.ts +89 -39
  220. package/staging/accumulative-shadows/randomized-lights.d.ts +41 -28
  221. package/staging/backdrop/backdrop.d.ts +30 -0
  222. package/staging/bb-anchor/bb-anchor.d.ts +27 -0
  223. package/staging/bounds/bounds.d.ts +101 -25
  224. package/staging/camera-shake/camera-shake.d.ts +30 -19
  225. package/staging/center/center.d.ts +43 -35
  226. package/staging/cloud/cloud.d.ts +27 -24
  227. package/staging/contact-shadows/contact-shadows.d.ts +43 -30
  228. package/staging/environment/assets.d.ts +9 -9
  229. package/staging/environment/environment-cube.d.ts +9 -5
  230. package/staging/environment/environment-ground.d.ts +7 -7
  231. package/staging/environment/environment-input.d.ts +38 -38
  232. package/staging/environment/environment-map.d.ts +10 -5
  233. package/staging/environment/environment-portal.d.ts +10 -5
  234. package/staging/environment/environment.d.ts +0 -4
  235. package/staging/environment/utils.d.ts +2 -2
  236. package/staging/float/float.d.ts +15 -11
  237. package/staging/index.d.ts +6 -2
  238. package/staging/matcap-texture/matcap-texture.d.ts +13 -0
  239. package/staging/normal-texture/normal-texture.d.ts +16 -0
  240. package/staging/sky/sky.d.ts +28 -21
  241. package/staging/sparkles/sparkles.d.ts +36 -22
  242. package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
  243. package/staging/spot-light/shadow-mesh.d.ts +37 -0
  244. package/staging/spot-light/spot-light-input.d.ts +25 -25
  245. package/staging/spot-light/spot-light.d.ts +31 -15
  246. package/staging/spot-light/volumetric-mesh.d.ts +15 -9
  247. package/staging/stage/stage.d.ts +89 -65
  248. package/staging/stars/stars.d.ts +28 -17
  249. package/staging/wireframe/wireframe-input.d.ts +65 -0
  250. package/staging/wireframe/wireframe.d.ts +28 -0
  251. package/utils/README.md +3 -0
  252. package/utils/content/content.d.ts +8 -0
  253. package/utils/index.d.ts +1 -0
  254. package/web-types.json +1 -0
  255. package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
  256. package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
  257. package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
  258. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
  259. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
  260. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
  261. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
  262. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
  263. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
  264. package/abstractions/line/line-input.d.ts +0 -42
  265. package/abstractions/line/line.d.ts +0 -35
  266. package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
  267. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
  268. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
  269. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
  270. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
  271. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
  272. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
  273. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
  274. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
  275. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
  276. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
  277. package/esm2022/abstractions/line/line-input.mjs +0 -113
  278. package/esm2022/abstractions/line/line.mjs +0 -165
  279. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
  280. package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
  281. package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
  282. package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
  283. package/esm2022/performance/detailed/detailed.mjs +0 -61
  284. package/esm2022/performance/index.mjs +0 -7
  285. package/esm2022/performance/instances/instance.mjs +0 -48
  286. package/esm2022/performance/instances/instances.mjs +0 -189
  287. package/esm2022/performance/instances/position-mesh.mjs +0 -52
  288. package/esm2022/performance/stats/stats.mjs +0 -79
  289. package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
  290. package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
  291. package/esm2022/staging/caustics/caustisc.mjs +0 -384
  292. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
  293. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
  294. package/fesm2022/angular-three-soba-performance.mjs +0 -487
  295. package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
  296. package/performance/README.md +0 -3
  297. package/performance/adaptive/adaptive-dpr.d.ts +0 -8
  298. package/performance/detailed/detailed.d.ts +0 -20
  299. package/performance/index.d.ts +0 -6
  300. package/performance/instances/instance.d.ts +0 -9
  301. package/performance/instances/instances.d.ts +0 -35
  302. package/performance/stats/stats.d.ts +0 -18
  303. package/plugin/generators.json +0 -19
  304. package/plugin/libs/plugin/README.md +0 -11
  305. package/plugin/package.json +0 -9
  306. package/plugin/src/generators/init/compat.d.ts +0 -2
  307. package/plugin/src/generators/init/compat.js +0 -6
  308. package/plugin/src/generators/init/compat.js.map +0 -1
  309. package/plugin/src/generators/init/init.d.ts +0 -4
  310. package/plugin/src/generators/init/init.js +0 -22
  311. package/plugin/src/generators/init/init.js.map +0 -1
  312. package/plugin/src/generators/init/schema.json +0 -6
  313. package/plugin/src/index.d.ts +0 -1
  314. package/plugin/src/index.js +0 -6
  315. package/plugin/src/index.js.map +0 -1
  316. package/staging/caustics/caustisc.d.ts +0 -70
  317. package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
  318. package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
  319. /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
  320. /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
  321. /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
@@ -0,0 +1,272 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Input, Output } from '@angular/core';
3
+ import { extend, signalStore } from 'angular-three';
4
+ import { AmbientLight, Group, PointLight } from 'three';
5
+ import { injectNgtsGizmoHelperApi } from '../gizmo-helper';
6
+ import { NgtsGizmoViewportAxis, NgtsGizmoViewportAxisHead } from './gizmo-viewport-axis';
7
+ import * as i0 from "@angular/core";
8
+ extend({ Group, AmbientLight, PointLight });
9
+ export class NgtsGizmoViewport {
10
+ constructor() {
11
+ this.inputs = signalStore({
12
+ font: '18px Inter var, Arial, sans-serif',
13
+ axisColors: ['#ff2060', '#20df80', '#2080ff'],
14
+ axisHeadScale: 1,
15
+ labels: ['X', 'Y', 'Z'],
16
+ labelColor: '#000',
17
+ });
18
+ this.gizmoApi = injectNgtsGizmoHelperApi();
19
+ this.Math = Math;
20
+ this.viewportClick = new EventEmitter();
21
+ this.axisColors = this.inputs.select('axisColors');
22
+ this.axisScale = this.inputs.select('axisScale');
23
+ this.labels = this.inputs.select('labels');
24
+ this.axisHeadScale = this.inputs.select('axisHeadScale');
25
+ this.labelColor = this.inputs.select('labelColor');
26
+ this.hideNegativeAxes = this.inputs.select('hideNegativeAxes');
27
+ this.hideAxisHeads = this.inputs.select('hideAxisHeads');
28
+ this.disabled = this.inputs.select('disabled');
29
+ this.font = this.inputs.select('font');
30
+ }
31
+ set _axisColors(axisColors) {
32
+ this.inputs.set({ axisColors });
33
+ }
34
+ set _axisScale(axisScale) {
35
+ this.inputs.set({ axisScale });
36
+ }
37
+ set _labels(labels) {
38
+ this.inputs.set({ labels });
39
+ }
40
+ set _axisHeadScale(axisHeadScale) {
41
+ this.inputs.set({ axisHeadScale });
42
+ }
43
+ set _labelColor(labelColor) {
44
+ this.inputs.set({ labelColor });
45
+ }
46
+ set _hideNegativeAxes(hideNegativeAxes) {
47
+ this.inputs.set({ hideNegativeAxes });
48
+ }
49
+ set _hideAxisHeads(hideAxisHeads) {
50
+ this.inputs.set({ hideAxisHeads });
51
+ }
52
+ set _disabled(disabled) {
53
+ this.inputs.set({ disabled });
54
+ }
55
+ set _font(font) {
56
+ this.inputs.set({ font });
57
+ }
58
+ onPointerDown(event) {
59
+ if (!this.inputs.get('disabled')) {
60
+ event.stopPropagation();
61
+ this.gizmoApi.tweenCamera(event.object.position);
62
+ }
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { _axisColors: ["axisColors", "_axisColors"], _axisScale: ["axisScale", "_axisScale"], _labels: ["labels", "_labels"], _axisHeadScale: ["axisHeadScale", "_axisHeadScale"], _labelColor: ["labelColor", "_labelColor"], _hideNegativeAxes: ["hideNegativeAxes", "_hideNegativeAxes"], _hideAxisHeads: ["hideAxisHeads", "_hideAxisHeads"], _disabled: ["disabled", "_disabled"], _font: ["font", "_font"] }, outputs: { viewportClick: "viewportClick" }, ngImport: i0, template: `
66
+ <ngt-group ngtCompound [scale]="40">
67
+ <ngts-gizmo-viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
68
+ <ngts-gizmo-viewport-axis
69
+ [color]="axisColors()[1]"
70
+ [rotation]="[0, 0, Math.PI / 2]"
71
+ [scale]="axisScale()"
72
+ />
73
+ <ngts-gizmo-viewport-axis
74
+ [color]="axisColors()[2]"
75
+ [rotation]="[0, -Math.PI / 2, 0]"
76
+ [scale]="axisScale()"
77
+ />
78
+ <ng-container *ngIf="!hideAxisHeads()">
79
+ <ngts-gizmo-viewport-axis-head
80
+ [arcStyle]="axisColors()[0]"
81
+ [position]="[1, 0, 0]"
82
+ [label]="labels()[0]"
83
+ [font]="font()"
84
+ [disabled]="disabled()"
85
+ [labelColor]="labelColor()"
86
+ [viewportClickEmitter]="viewportClick"
87
+ [axisHeadScale]="axisHeadScale()"
88
+ (pointerdown)="onPointerDown($any($event))"
89
+ />
90
+ <ngts-gizmo-viewport-axis-head
91
+ [arcStyle]="axisColors()[1]"
92
+ [position]="[0, 1, 0]"
93
+ [label]="labels()[1]"
94
+ [font]="font()"
95
+ [disabled]="disabled()"
96
+ [labelColor]="labelColor()"
97
+ [viewportClickEmitter]="viewportClick"
98
+ [axisHeadScale]="axisHeadScale()"
99
+ (pointerdown)="onPointerDown($any($event))"
100
+ />
101
+ <ngts-gizmo-viewport-axis-head
102
+ [arcStyle]="axisColors()[2]"
103
+ [position]="[0, 0, 1]"
104
+ [label]="labels()[2]"
105
+ [font]="font()"
106
+ [disabled]="disabled()"
107
+ [labelColor]="labelColor()"
108
+ [viewportClickEmitter]="viewportClick"
109
+ [axisHeadScale]="axisHeadScale()"
110
+ (pointerdown)="onPointerDown($any($event))"
111
+ />
112
+ <ng-container *ngIf="!hideNegativeAxes()">
113
+ <ngts-gizmo-viewport-axis-head
114
+ [arcStyle]="axisColors()[0]"
115
+ [position]="[-1, 0, 0]"
116
+ [font]="font()"
117
+ [disabled]="disabled()"
118
+ [labelColor]="labelColor()"
119
+ [viewportClickEmitter]="viewportClick"
120
+ [axisHeadScale]="axisHeadScale()"
121
+ (pointerdown)="onPointerDown($any($event))"
122
+ />
123
+ <ngts-gizmo-viewport-axis-head
124
+ [arcStyle]="axisColors()[1]"
125
+ [position]="[0, -1, 0]"
126
+ [font]="font()"
127
+ [disabled]="disabled()"
128
+ [labelColor]="labelColor()"
129
+ [viewportClickEmitter]="viewportClick"
130
+ [axisHeadScale]="axisHeadScale()"
131
+ (pointerdown)="onPointerDown($any($event))"
132
+ />
133
+ <ngts-gizmo-viewport-axis-head
134
+ [arcStyle]="axisColors()[2]"
135
+ [position]="[0, 0, -1]"
136
+ [font]="font()"
137
+ [disabled]="disabled()"
138
+ [labelColor]="labelColor()"
139
+ [viewportClickEmitter]="viewportClick"
140
+ [axisHeadScale]="axisHeadScale()"
141
+ (pointerdown)="onPointerDown($any($event))"
142
+ />
143
+ </ng-container>
144
+ </ng-container>
145
+ <ngt-ambient-light [intensity]="0.5"></ngt-ambient-light>
146
+ <ngt-point-light [position]="10" [intensity]="0.5"></ngt-point-light>
147
+ </ngt-group>
148
+ `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "viewportClickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
149
+ }
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
151
+ type: Component,
152
+ args: [{
153
+ selector: 'ngts-gizmo-viewport',
154
+ standalone: true,
155
+ template: `
156
+ <ngt-group ngtCompound [scale]="40">
157
+ <ngts-gizmo-viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
158
+ <ngts-gizmo-viewport-axis
159
+ [color]="axisColors()[1]"
160
+ [rotation]="[0, 0, Math.PI / 2]"
161
+ [scale]="axisScale()"
162
+ />
163
+ <ngts-gizmo-viewport-axis
164
+ [color]="axisColors()[2]"
165
+ [rotation]="[0, -Math.PI / 2, 0]"
166
+ [scale]="axisScale()"
167
+ />
168
+ <ng-container *ngIf="!hideAxisHeads()">
169
+ <ngts-gizmo-viewport-axis-head
170
+ [arcStyle]="axisColors()[0]"
171
+ [position]="[1, 0, 0]"
172
+ [label]="labels()[0]"
173
+ [font]="font()"
174
+ [disabled]="disabled()"
175
+ [labelColor]="labelColor()"
176
+ [viewportClickEmitter]="viewportClick"
177
+ [axisHeadScale]="axisHeadScale()"
178
+ (pointerdown)="onPointerDown($any($event))"
179
+ />
180
+ <ngts-gizmo-viewport-axis-head
181
+ [arcStyle]="axisColors()[1]"
182
+ [position]="[0, 1, 0]"
183
+ [label]="labels()[1]"
184
+ [font]="font()"
185
+ [disabled]="disabled()"
186
+ [labelColor]="labelColor()"
187
+ [viewportClickEmitter]="viewportClick"
188
+ [axisHeadScale]="axisHeadScale()"
189
+ (pointerdown)="onPointerDown($any($event))"
190
+ />
191
+ <ngts-gizmo-viewport-axis-head
192
+ [arcStyle]="axisColors()[2]"
193
+ [position]="[0, 0, 1]"
194
+ [label]="labels()[2]"
195
+ [font]="font()"
196
+ [disabled]="disabled()"
197
+ [labelColor]="labelColor()"
198
+ [viewportClickEmitter]="viewportClick"
199
+ [axisHeadScale]="axisHeadScale()"
200
+ (pointerdown)="onPointerDown($any($event))"
201
+ />
202
+ <ng-container *ngIf="!hideNegativeAxes()">
203
+ <ngts-gizmo-viewport-axis-head
204
+ [arcStyle]="axisColors()[0]"
205
+ [position]="[-1, 0, 0]"
206
+ [font]="font()"
207
+ [disabled]="disabled()"
208
+ [labelColor]="labelColor()"
209
+ [viewportClickEmitter]="viewportClick"
210
+ [axisHeadScale]="axisHeadScale()"
211
+ (pointerdown)="onPointerDown($any($event))"
212
+ />
213
+ <ngts-gizmo-viewport-axis-head
214
+ [arcStyle]="axisColors()[1]"
215
+ [position]="[0, -1, 0]"
216
+ [font]="font()"
217
+ [disabled]="disabled()"
218
+ [labelColor]="labelColor()"
219
+ [viewportClickEmitter]="viewportClick"
220
+ [axisHeadScale]="axisHeadScale()"
221
+ (pointerdown)="onPointerDown($any($event))"
222
+ />
223
+ <ngts-gizmo-viewport-axis-head
224
+ [arcStyle]="axisColors()[2]"
225
+ [position]="[0, 0, -1]"
226
+ [font]="font()"
227
+ [disabled]="disabled()"
228
+ [labelColor]="labelColor()"
229
+ [viewportClickEmitter]="viewportClick"
230
+ [axisHeadScale]="axisHeadScale()"
231
+ (pointerdown)="onPointerDown($any($event))"
232
+ />
233
+ </ng-container>
234
+ </ng-container>
235
+ <ngt-ambient-light [intensity]="0.5"></ngt-ambient-light>
236
+ <ngt-point-light [position]="10" [intensity]="0.5"></ngt-point-light>
237
+ </ngt-group>
238
+ `,
239
+ imports: [NgtsGizmoViewportAxis, NgtsGizmoViewportAxisHead, NgIf],
240
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
241
+ }]
242
+ }], propDecorators: { _axisColors: [{
243
+ type: Input,
244
+ args: [{ alias: 'axisColors' }]
245
+ }], _axisScale: [{
246
+ type: Input,
247
+ args: [{ alias: 'axisScale' }]
248
+ }], _labels: [{
249
+ type: Input,
250
+ args: [{ alias: 'labels' }]
251
+ }], _axisHeadScale: [{
252
+ type: Input,
253
+ args: [{ alias: 'axisHeadScale' }]
254
+ }], _labelColor: [{
255
+ type: Input,
256
+ args: [{ alias: 'labelColor' }]
257
+ }], _hideNegativeAxes: [{
258
+ type: Input,
259
+ args: [{ alias: 'hideNegativeAxes' }]
260
+ }], _hideAxisHeads: [{
261
+ type: Input,
262
+ args: [{ alias: 'hideAxisHeads' }]
263
+ }], _disabled: [{
264
+ type: Input,
265
+ args: [{ alias: 'disabled' }]
266
+ }], _font: [{
267
+ type: Input,
268
+ args: [{ alias: 'font' }]
269
+ }], viewportClick: [{
270
+ type: Output
271
+ }] } });
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8tdmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9naXptby1oZWxwZXIvZ2l6bW8tdmlld3BvcnQvZ2l6bW8tdmlld3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFekYsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBNEY1QyxNQUFNLE9BQU8saUJBQWlCO0lBMUY5QjtRQTJGUyxXQUFNLEdBQUcsV0FBVyxDQVV6QjtZQUNGLElBQUksRUFBRSxtQ0FBbUM7WUFDekMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDN0MsYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDdkIsVUFBVSxFQUFFLE1BQU07U0FDbEIsQ0FBQyxDQUFDO1FBQ0ssYUFBUSxHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFFOUMsU0FBSSxHQUFHLElBQUksQ0FBQztRQXNDRixrQkFBYSxHQUFHLElB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LDREQUNTLHFCQUFxQiw2R0FBRSx5QkFBeUIsb0xBQUUsSUFBSTs7MkZBR3BELGlCQUFpQjtrQkExRjdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtRlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7OEJBdUJvQyxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJSyxVQUFVO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFJRyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJYSxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtnQkFJRyxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFJWSxpQkFBaUI7c0JBQTFELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7Z0JBSUcsY0FBYztzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBSUMsU0FBUztzQkFBMUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBSUUsS0FBSztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBSWQsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgc2lnbmFsU3RvcmUsIHR5cGUgTmd0VGhyZWVFdmVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQW1iaWVudExpZ2h0LCBHcm91cCwgUG9pbnRMaWdodCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGluamVjdE5ndHNHaXptb0hlbHBlckFwaSB9IGZyb20gJy4uL2dpem1vLWhlbHBlcic7XG5pbXBvcnQgeyBOZ3RzR2l6bW9WaWV3cG9ydEF4aXMsIE5ndHNHaXptb1ZpZXdwb3J0QXhpc0hlYWQgfSBmcm9tICcuL2dpem1vLXZpZXdwb3J0LWF4aXMnO1xuXG5leHRlbmQoeyBHcm91cCwgQW1iaWVudExpZ2h0LCBQb2ludExpZ2h0IH0pO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWdpem1vLXZpZXdwb3J0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwIG5ndENvbXBvdW5kIFtzY2FsZV09XCI0MFwiPlxuXHRcdFx0PG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcyBbY29sb3JdPVwiYXhpc0NvbG9ycygpWzBdXCIgW3JvdGF0aW9uXT1cIlswLCAwLCAwXVwiIFtzY2FsZV09XCJheGlzU2NhbGUoKVwiIC8+XG5cdFx0XHQ8bmd0cy1naXptby12aWV3cG9ydC1heGlzXG5cdFx0XHRcdFtjb2xvcl09XCJheGlzQ29sb3JzKClbMV1cIlxuXHRcdFx0XHRbcm90YXRpb25dPVwiWzAsIDAsIE1hdGguUEkgLyAyXVwiXG5cdFx0XHRcdFtzY2FsZV09XCJheGlzU2NhbGUoKVwiXG5cdFx0XHQvPlxuXHRcdFx0PG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpc1xuXHRcdFx0XHRbY29sb3JdPVwiYXhpc0NvbG9ycygpWzJdXCJcblx0XHRcdFx0W3JvdGF0aW9uXT1cIlswLCAtTWF0aC5QSSAvIDIsIDBdXCJcblx0XHRcdFx0W3NjYWxlXT1cImF4aXNTY2FsZSgpXCJcblx0XHRcdC8+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVBeGlzSGVhZHMoKVwiPlxuXHRcdFx0XHQ8bmd0cy1naXptby12aWV3cG9ydC1heGlzLWhlYWRcblx0XHRcdFx0XHRbYXJjU3R5bGVdPVwiYXhpc0NvbG9ycygpWzBdXCJcblx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzEsIDAsIDBdXCJcblx0XHRcdFx0XHRbbGFiZWxdPVwibGFiZWxzKClbMF1cIlxuXHRcdFx0XHRcdFtmb250XT1cImZvbnQoKVwiXG5cdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFtsYWJlbENvbG9yXT1cImxhYmVsQ29sb3IoKVwiXG5cdFx0XHRcdFx0W3ZpZXdwb3J0Q2xpY2tFbWl0dGVyXT1cInZpZXdwb3J0Q2xpY2tcIlxuXHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdC8+XG5cdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFthcmNTdHlsZV09XCJheGlzQ29sb3JzKClbMV1cIlxuXHRcdFx0XHRcdFtwb3NpdGlvbl09XCJbMCwgMSwgMF1cIlxuXHRcdFx0XHRcdFtsYWJlbF09XCJsYWJlbHMoKVsxXVwiXG5cdFx0XHRcdFx0W2ZvbnRdPVwiZm9udCgpXCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG5cdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRbdmlld3BvcnRDbGlja0VtaXR0ZXJdPVwidmlld3BvcnRDbGlja1wiXG5cdFx0XHRcdFx0W2F4aXNIZWFkU2NhbGVdPVwiYXhpc0hlYWRTY2FsZSgpXCJcblx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0Lz5cblx0XHRcdFx0PG5ndHMtZ2l6bW8tdmlld3BvcnQtYXhpcy1oZWFkXG5cdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVsyXVwiXG5cdFx0XHRcdFx0W3Bvc2l0aW9uXT1cIlswLCAwLCAxXVwiXG5cdFx0XHRcdFx0W2xhYmVsXT1cImxhYmVscygpWzJdXCJcblx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcblx0XHRcdFx0XHRbbGFiZWxDb2xvcl09XCJsYWJlbENvbG9yKClcIlxuXHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRbYXhpc0hlYWRTY2FsZV09XCJheGlzSGVhZFNjYWxlKClcIlxuXHRcdFx0XHRcdChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0XHQvPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVOZWdhdGl2ZUF4ZXMoKVwiPlxuXHRcdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVswXVwiXG5cdFx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWy0xLCAwLCAwXVwiXG5cdFx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVsxXVwiXG5cdFx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzAsIC0xLCAwXVwiXG5cdFx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDxuZ3RzLWdpem1vLXZpZXdwb3J0LWF4aXMtaGVhZFxuXHRcdFx0XHRcdFx0W2FyY1N0eWxlXT1cImF4aXNDb2xvcnMoKVsyXVwiXG5cdFx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzAsIDAsIC0xXVwiXG5cdFx0XHRcdFx0XHRbZm9udF09XCJmb250KClcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0XHRcdFx0W2xhYmVsQ29sb3JdPVwibGFiZWxDb2xvcigpXCJcblx0XHRcdFx0XHRcdFt2aWV3cG9ydENsaWNrRW1pdHRlcl09XCJ2aWV3cG9ydENsaWNrXCJcblx0XHRcdFx0XHRcdFtheGlzSGVhZFNjYWxlXT1cImF4aXNIZWFkU2NhbGUoKVwiXG5cdFx0XHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0PG5ndC1hbWJpZW50LWxpZ2h0IFtpbnRlbnNpdHldPVwiMC41XCI+PC9uZ3QtYW1iaWVudC1saWdodD5cblx0XHRcdDxuZ3QtcG9pbnQtbGlnaHQgW3Bvc2l0aW9uXT1cIjEwXCIgW2ludGVuc2l0eV09XCIwLjVcIj48L25ndC1wb2ludC1saWdodD5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0aW1wb3J0czogW05ndHNHaXptb1ZpZXdwb3J0QXhpcywgTmd0c0dpem1vVmlld3BvcnRBeGlzSGVhZCwgTmdJZl0sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0dpem1vVmlld3BvcnQge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPHtcblx0XHRheGlzQ29sb3JzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ107XG5cdFx0YXhpc1NjYWxlOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cdFx0bGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ107XG5cdFx0YXhpc0hlYWRTY2FsZTogbnVtYmVyO1xuXHRcdGxhYmVsQ29sb3I6IHN0cmluZztcblx0XHRoaWRlTmVnYXRpdmVBeGVzOiBib29sZWFuO1xuXHRcdGhpZGVBeGlzSGVhZHM6IGJvb2xlYW47XG5cdFx0ZGlzYWJsZWQ6IGJvb2xlYW47XG5cdFx0Zm9udDogc3RyaW5nO1xuXHR9Pih7XG5cdFx0Zm9udDogJzE4cHggSW50ZXIgdmFyLCBBcmlhbCwgc2Fucy1zZXJpZicsXG5cdFx0YXhpc0NvbG9yczogWycjZmYyMDYwJywgJyMyMGRmODAnLCAnIzIwODBmZiddLFxuXHRcdGF4aXNIZWFkU2NhbGU6IDEsXG5cdFx0bGFiZWxzOiBbJ1gnLCAnWScsICdaJ10sXG5cdFx0bGFiZWxDb2xvcjogJyMwMDAnLFxuXHR9KTtcblx0cHJpdmF0ZSBnaXptb0FwaSA9IGluamVjdE5ndHNHaXptb0hlbHBlckFwaSgpO1xuXG5cdE1hdGggPSBNYXRoO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYXhpc0NvbG9ycycgfSkgc2V0IF9heGlzQ29sb3JzKGF4aXNDb2xvcnM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGF4aXNDb2xvcnMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2F4aXNTY2FsZScgfSkgc2V0IF9heGlzU2NhbGUoYXhpc1NjYWxlOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBheGlzU2NhbGUgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2xhYmVscycgfSkgc2V0IF9sYWJlbHMobGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBsYWJlbHMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2F4aXNIZWFkU2NhbGUnIH0pIHNldCBfYXhpc0hlYWRTY2FsZShheGlzSGVhZFNjYWxlOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBheGlzSGVhZFNjYWxlIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdsYWJlbENvbG9yJyB9KSBzZXQgX2xhYmVsQ29sb3IobGFiZWxDb2xvcjogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbGFiZWxDb2xvciB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnaGlkZU5lZ2F0aXZlQXhlcycgfSkgc2V0IF9oaWRlTmVnYXRpdmVBeGVzKGhpZGVOZWdhdGl2ZUF4ZXM6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBoaWRlTmVnYXRpdmVBeGVzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdoaWRlQXhpc0hlYWRzJyB9KSBzZXQgX2hpZGVBeGlzSGVhZHMoaGlkZUF4aXNIZWFkczogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGhpZGVBeGlzSGVhZHMgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2Rpc2FibGVkJyB9KSBzZXQgX2Rpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZGlzYWJsZWQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2ZvbnQnIH0pIHNldCBfZm9udChmb250OiBzdHJpbmcpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmb250IH0pO1xuXHR9XG5cblx0QE91dHB1dCgpIHZpZXdwb3J0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4+KCk7XG5cblx0YXhpc0NvbG9ycyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYXhpc0NvbG9ycycpO1xuXHRheGlzU2NhbGUgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2F4aXNTY2FsZScpO1xuXHRsYWJlbHMgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2xhYmVscycpO1xuXHRheGlzSGVhZFNjYWxlID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdheGlzSGVhZFNjYWxlJyk7XG5cdGxhYmVsQ29sb3IgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2xhYmVsQ29sb3InKTtcblx0aGlkZU5lZ2F0aXZlQXhlcyA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnaGlkZU5lZ2F0aXZlQXhlcycpO1xuXHRoaWRlQXhpc0hlYWRzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdoaWRlQXhpc0hlYWRzJyk7XG5cdGRpc2FibGVkID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdkaXNhYmxlZCcpO1xuXHRmb250ID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdmb250Jyk7XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0aWYgKCF0aGlzLmlucHV0cy5nZXQoJ2Rpc2FibGVkJykpIHtcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0dGhpcy5naXptb0FwaS50d2VlbkNhbWVyYShldmVudC5vYmplY3QucG9zaXRpb24pO1xuXHRcdH1cblx0fVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './gizmo-helper/gizmo-helper';
2
+ export * from './gizmo-helper/gizmo-viewcube/gizmo-viewcube';
3
+ export * from './gizmo-helper/gizmo-viewport/gizmo-viewport';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2l6bW8taGVscGVyL2dpem1vLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3Y3ViZS9naXptby12aWV3Y3ViZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpem1vLWhlbHBlci9naXptby12aWV3cG9ydC9naXptby12aWV3cG9ydCc7XG4iXX0=
@@ -1,9 +1,7 @@
1
1
  import { injectNgtLoader } from 'angular-three';
2
- // @ts-ignore
3
- import { MeshoptDecoder } from 'three-stdlib';
4
- import { DRACOLoader } from 'three-stdlib/loaders/DRACOLoader';
5
- import { GLTFLoader } from 'three-stdlib/loaders/GLTFLoader';
2
+ import { DRACOLoader, GLTFLoader, MeshoptDecoder } from 'three-stdlib';
6
3
  let dracoLoader = null;
4
+ let decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/';
7
5
  function _extensions(useDraco, useMeshOpt, extensions) {
8
6
  return (loader) => {
9
7
  if (extensions) {
@@ -13,7 +11,7 @@ function _extensions(useDraco, useMeshOpt, extensions) {
13
11
  if (!dracoLoader) {
14
12
  dracoLoader = new DRACOLoader();
15
13
  }
16
- dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : 'https://www.gstatic.com/draco/versioned/decoders/1.4.3/');
14
+ dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : decoderPath);
17
15
  loader.setDRACOLoader(dracoLoader);
18
16
  }
19
17
  if (useMeshOpt) {
@@ -23,6 +21,7 @@ function _extensions(useDraco, useMeshOpt, extensions) {
23
21
  }
24
22
  export function injectNgtsGLTFLoader(path, { useDraco = true, useMeshOpt = true, injector, extensions, } = {}) {
25
23
  return injectNgtLoader(() => GLTFLoader, path, {
24
+ // TODO: fix "as any" when three-stdlib is updated with THREE 0.156
26
25
  extensions: _extensions(useDraco, useMeshOpt, extensions),
27
26
  injector,
28
27
  });
@@ -30,4 +29,7 @@ export function injectNgtsGLTFLoader(path, { useDraco = true, useMeshOpt = true,
30
29
  injectNgtsGLTFLoader['preload'] = (path, { useDraco = true, useMeshOpt = true, extensions, } = {}) => {
31
30
  injectNgtLoader['preload'](() => GLTFLoader, path, _extensions(useDraco, useMeshOpt, extensions));
32
31
  };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDMUYsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBUSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxJQUFJLFdBQVcsR0FBdUIsSUFBSSxDQUFDO0FBRTNDLFNBQVMsV0FBVyxDQUFDLFFBQTBCLEVBQUUsVUFBbUIsRUFBRSxVQUF5QztJQUMzRyxPQUFPLENBQUMsTUFBb0IsRUFBRSxFQUFFO1FBQzVCLElBQUksVUFBVSxFQUFFO1lBQ1osVUFBVSxDQUFDLE1BQW9CLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDZCxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUNuQztZQUVELFdBQVcsQ0FBQyxjQUFjLENBQ3RCLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx5REFBeUQsQ0FDdEcsQ0FBQztZQUNELE1BQXFCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDWCxNQUFxQixDQUFDLGlCQUFpQixDQUNwQyxPQUFPLGNBQWMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQzNFLENBQUM7U0FDTDtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2hDLElBQWdCLEVBQ2hCLEVBQ0ksUUFBUSxHQUFHLElBQUksRUFDZixVQUFVLEdBQUcsSUFBSSxFQUNqQixRQUFRLEVBQ1IsVUFBVSxNQU1WLEVBQUU7SUFFTixPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQzNDLFVBQVUsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDekQsUUFBUTtLQUNYLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUM5QixJQUFnQixFQUNoQixFQUNJLFFBQVEsR0FBRyxJQUFJLEVBQ2YsVUFBVSxHQUFHLElBQUksRUFDakIsVUFBVSxNQUtWLEVBQUUsRUFDUixFQUFFO0lBQ0MsZUFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDL0csQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0TG9hZGVyLCB0eXBlIE5ndExvYWRlclJlc3VsdHMsIHR5cGUgTmd0T2JqZWN0TWFwIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNZXNob3B0RGVjb2RlciB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5pbXBvcnQgeyBEUkFDT0xvYWRlciB9IGZyb20gJ3RocmVlLXN0ZGxpYi9sb2FkZXJzL0RSQUNPTG9hZGVyJztcbmltcG9ydCB7IEdMVEYsIEdMVEZMb2FkZXIgfSBmcm9tICd0aHJlZS1zdGRsaWIvbG9hZGVycy9HTFRGTG9hZGVyJztcblxubGV0IGRyYWNvTG9hZGVyOiBEUkFDT0xvYWRlciB8IG51bGwgPSBudWxsO1xuXG5mdW5jdGlvbiBfZXh0ZW5zaW9ucyh1c2VEcmFjbzogYm9vbGVhbiB8IHN0cmluZywgdXNlTWVzaE9wdDogYm9vbGVhbiwgZXh0ZW5zaW9ucz86IChsb2FkZXI6IEdMVEZMb2FkZXIpID0+IHZvaWQpIHtcbiAgICByZXR1cm4gKGxvYWRlcjogVEhSRUUuTG9hZGVyKSA9PiB7XG4gICAgICAgIGlmIChleHRlbnNpb25zKSB7XG4gICAgICAgICAgICBleHRlbnNpb25zKGxvYWRlciBhcyBHTFRGTG9hZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VEcmFjbykge1xuICAgICAgICAgICAgaWYgKCFkcmFjb0xvYWRlcikge1xuICAgICAgICAgICAgICAgIGRyYWNvTG9hZGVyID0gbmV3IERSQUNPTG9hZGVyKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRyYWNvTG9hZGVyLnNldERlY29kZXJQYXRoKFxuICAgICAgICAgICAgICAgIHR5cGVvZiB1c2VEcmFjbyA9PT0gJ3N0cmluZycgPyB1c2VEcmFjbyA6ICdodHRwczovL3d3dy5nc3RhdGljLmNvbS9kcmFjby92ZXJzaW9uZWQvZGVjb2RlcnMvMS40LjMvJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIChsb2FkZXIgYXMgR0xURkxvYWRlcikuc2V0RFJBQ09Mb2FkZXIoZHJhY29Mb2FkZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVzZU1lc2hPcHQpIHtcbiAgICAgICAgICAgIChsb2FkZXIgYXMgR0xURkxvYWRlcikuc2V0TWVzaG9wdERlY29kZXIoXG4gICAgICAgICAgICAgICAgdHlwZW9mIE1lc2hvcHREZWNvZGVyID09PSAnZnVuY3Rpb24nID8gTWVzaG9wdERlY29kZXIoKSA6IE1lc2hvcHREZWNvZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNHTFRGTG9hZGVyPFRVcmwgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuICAgIHBhdGg6ICgpID0+IFRVcmwsXG4gICAge1xuICAgICAgICB1c2VEcmFjbyA9IHRydWUsXG4gICAgICAgIHVzZU1lc2hPcHQgPSB0cnVlLFxuICAgICAgICBpbmplY3RvcixcbiAgICAgICAgZXh0ZW5zaW9ucyxcbiAgICB9OiB7XG4gICAgICAgIHVzZURyYWNvPzogYm9vbGVhbiB8IHN0cmluZztcbiAgICAgICAgdXNlTWVzaE9wdD86IGJvb2xlYW47XG4gICAgICAgIGluamVjdG9yPzogSW5qZWN0b3I7XG4gICAgICAgIGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkO1xuICAgIH0gPSB7fVxuKTogU2lnbmFsPE5ndExvYWRlclJlc3VsdHM8VFVybCwgR0xURiAmIE5ndE9iamVjdE1hcD4+IHtcbiAgICByZXR1cm4gaW5qZWN0Tmd0TG9hZGVyKCgpID0+IEdMVEZMb2FkZXIsIHBhdGgsIHtcbiAgICAgICAgZXh0ZW5zaW9uczogX2V4dGVuc2lvbnModXNlRHJhY28sIHVzZU1lc2hPcHQsIGV4dGVuc2lvbnMpLFxuICAgICAgICBpbmplY3RvcixcbiAgICB9KTtcbn1cblxuaW5qZWN0Tmd0c0dMVEZMb2FkZXJbJ3ByZWxvYWQnXSA9IDxUVXJsIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihcbiAgICBwYXRoOiAoKSA9PiBUVXJsLFxuICAgIHtcbiAgICAgICAgdXNlRHJhY28gPSB0cnVlLFxuICAgICAgICB1c2VNZXNoT3B0ID0gdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9ucyxcbiAgICB9OiB7XG4gICAgICAgIHVzZURyYWNvPzogYm9vbGVhbiB8IHN0cmluZztcbiAgICAgICAgdXNlTWVzaE9wdD86IGJvb2xlYW47XG4gICAgICAgIGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkO1xuICAgIH0gPSB7fVxuKSA9PiB7XG4gICAgKGluamVjdE5ndExvYWRlciBhcyBhbnkpWydwcmVsb2FkJ10oKCkgPT4gR0xURkxvYWRlciwgcGF0aCwgX2V4dGVuc2lvbnModXNlRHJhY28sIHVzZU1lc2hPcHQsIGV4dGVuc2lvbnMpKTtcbn07XG4iXX0=
32
+ injectNgtsGLTFLoader['setDecoderPath'] = (path) => {
33
+ decoderPath = path;
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWxGLElBQUksV0FBVyxHQUF1QixJQUFJLENBQUM7QUFDM0MsSUFBSSxXQUFXLEdBQUcseURBQXlELENBQUM7QUFFNUUsU0FBUyxXQUFXLENBQUMsUUFBMEIsRUFBRSxVQUFtQixFQUFFLFVBQXlDO0lBQzlHLE9BQU8sQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxVQUFVLEVBQUU7WUFDZixVQUFVLENBQUMsTUFBb0IsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQixXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUNoQztZQUVELFdBQVcsQ0FBQyxjQUFjLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pGLE1BQXFCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFxQixDQUFDLGlCQUFpQixDQUN2QyxPQUFPLGNBQWMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQ3hFLENBQUM7U0FDRjtJQUNGLENBQUMsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLElBQWdCLEVBQ2hCLEVBQ0MsUUFBUSxHQUFHLElBQUksRUFDZixVQUFVLEdBQUcsSUFBSSxFQUNqQixRQUFRLEVBQ1IsVUFBVSxNQU1QLEVBQUU7SUFFTixPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQzlDLG1FQUFtRTtRQUNuRSxVQUFVLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFRO1FBQ2hFLFFBQVE7S0FDUixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDakMsSUFBZ0IsRUFDaEIsRUFDQyxRQUFRLEdBQUcsSUFBSSxFQUNmLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLFVBQVUsTUFLUCxFQUFFLEVBQ0wsRUFBRTtJQUNGLGVBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzVHLENBQUMsQ0FBQztBQUNGLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUN6RCxXQUFXLEdBQUcsSUFBSSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5qZWN0b3IsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0TG9hZGVyLCB0eXBlIE5ndExvYWRlclJlc3VsdHMsIHR5cGUgTmd0T2JqZWN0TWFwIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBEUkFDT0xvYWRlciwgR0xURkxvYWRlciwgTWVzaG9wdERlY29kZXIsIHR5cGUgR0xURiB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmxldCBkcmFjb0xvYWRlcjogRFJBQ09Mb2FkZXIgfCBudWxsID0gbnVsbDtcbmxldCBkZWNvZGVyUGF0aCA9ICdodHRwczovL3d3dy5nc3RhdGljLmNvbS9kcmFjby92ZXJzaW9uZWQvZGVjb2RlcnMvMS41LjUvJztcblxuZnVuY3Rpb24gX2V4dGVuc2lvbnModXNlRHJhY286IGJvb2xlYW4gfCBzdHJpbmcsIHVzZU1lc2hPcHQ6IGJvb2xlYW4sIGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkKSB7XG5cdHJldHVybiAobG9hZGVyOiBUSFJFRS5Mb2FkZXIpID0+IHtcblx0XHRpZiAoZXh0ZW5zaW9ucykge1xuXHRcdFx0ZXh0ZW5zaW9ucyhsb2FkZXIgYXMgR0xURkxvYWRlcik7XG5cdFx0fVxuXG5cdFx0aWYgKHVzZURyYWNvKSB7XG5cdFx0XHRpZiAoIWRyYWNvTG9hZGVyKSB7XG5cdFx0XHRcdGRyYWNvTG9hZGVyID0gbmV3IERSQUNPTG9hZGVyKCk7XG5cdFx0XHR9XG5cblx0XHRcdGRyYWNvTG9hZGVyLnNldERlY29kZXJQYXRoKHR5cGVvZiB1c2VEcmFjbyA9PT0gJ3N0cmluZycgPyB1c2VEcmFjbyA6IGRlY29kZXJQYXRoKTtcblx0XHRcdChsb2FkZXIgYXMgR0xURkxvYWRlcikuc2V0RFJBQ09Mb2FkZXIoZHJhY29Mb2FkZXIpO1xuXHRcdH1cblx0XHRpZiAodXNlTWVzaE9wdCkge1xuXHRcdFx0KGxvYWRlciBhcyBHTFRGTG9hZGVyKS5zZXRNZXNob3B0RGVjb2Rlcihcblx0XHRcdFx0dHlwZW9mIE1lc2hvcHREZWNvZGVyID09PSAnZnVuY3Rpb24nID8gTWVzaG9wdERlY29kZXIoKSA6IE1lc2hvcHREZWNvZGVyLFxuXHRcdFx0KTtcblx0XHR9XG5cdH07XG59XG5cbmV4cG9ydCB0eXBlIE5ndHNHTFRGPFQgZXh0ZW5kcyBQYXJ0aWFsPE5ndE9iamVjdE1hcD4+ID0gR0xURiAmIE5ndE9iamVjdE1hcCAmIFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzR0xURkxvYWRlcjxUVXJsIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pihcblx0cGF0aDogKCkgPT4gVFVybCxcblx0e1xuXHRcdHVzZURyYWNvID0gdHJ1ZSxcblx0XHR1c2VNZXNoT3B0ID0gdHJ1ZSxcblx0XHRpbmplY3Rvcixcblx0XHRleHRlbnNpb25zLFxuXHR9OiB7XG5cdFx0dXNlRHJhY28/OiBib29sZWFuIHwgc3RyaW5nO1xuXHRcdHVzZU1lc2hPcHQ/OiBib29sZWFuO1xuXHRcdGluamVjdG9yPzogSW5qZWN0b3I7XG5cdFx0ZXh0ZW5zaW9ucz86IChsb2FkZXI6IEdMVEZMb2FkZXIpID0+IHZvaWQ7XG5cdH0gPSB7fSxcbik6IFNpZ25hbDxOZ3RMb2FkZXJSZXN1bHRzPFRVcmwsIEdMVEYgJiBOZ3RPYmplY3RNYXA+IHwgbnVsbD4ge1xuXHRyZXR1cm4gaW5qZWN0Tmd0TG9hZGVyKCgpID0+IEdMVEZMb2FkZXIsIHBhdGgsIHtcblx0XHQvLyBUT0RPOiBmaXggXCJhcyBhbnlcIiB3aGVuIHRocmVlLXN0ZGxpYiBpcyB1cGRhdGVkIHdpdGggVEhSRUUgMC4xNTZcblx0XHRleHRlbnNpb25zOiBfZXh0ZW5zaW9ucyh1c2VEcmFjbywgdXNlTWVzaE9wdCwgZXh0ZW5zaW9ucykgYXMgYW55LFxuXHRcdGluamVjdG9yLFxuXHR9KTtcbn1cblxuaW5qZWN0Tmd0c0dMVEZMb2FkZXJbJ3ByZWxvYWQnXSA9IDxUVXJsIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pihcblx0cGF0aDogKCkgPT4gVFVybCxcblx0e1xuXHRcdHVzZURyYWNvID0gdHJ1ZSxcblx0XHR1c2VNZXNoT3B0ID0gdHJ1ZSxcblx0XHRleHRlbnNpb25zLFxuXHR9OiB7XG5cdFx0dXNlRHJhY28/OiBib29sZWFuIHwgc3RyaW5nO1xuXHRcdHVzZU1lc2hPcHQ/OiBib29sZWFuO1xuXHRcdGV4dGVuc2lvbnM/OiAobG9hZGVyOiBHTFRGTG9hZGVyKSA9PiB2b2lkO1xuXHR9ID0ge30sXG4pID0+IHtcblx0KGluamVjdE5ndExvYWRlciBhcyBhbnkpWydwcmVsb2FkJ10oKCkgPT4gR0xURkxvYWRlciwgcGF0aCwgX2V4dGVuc2lvbnModXNlRHJhY28sIHVzZU1lc2hPcHQsIGV4dGVuc2lvbnMpKTtcbn07XG5pbmplY3ROZ3RzR0xURkxvYWRlclsnc2V0RGVjb2RlclBhdGgnXSA9IChwYXRoOiBzdHJpbmcpID0+IHtcblx0ZGVjb2RlclBhdGggPSBwYXRoO1xufTtcbiJdfQ==
@@ -1,61 +1,61 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, computed, effect, signal, untracked, } from '@angular/core';
3
- import { NgtSignalStore } from 'angular-three';
3
+ import { signalStore } from 'angular-three';
4
4
  import { injectNgtsProgress } from '../progress/progress';
5
5
  import * as i0 from "@angular/core";
6
6
  const defaultDataInterpolation = (p) => `Loading ${p.toFixed(2)}%`;
7
- class NgtsLoader extends NgtSignalStore {
8
- #progress;
9
- set containerClass(containerClass) {
10
- this.set({ containerClass });
7
+ export class NgtsLoader {
8
+ set _containerClass(containerClass) {
9
+ this.inputs.set({ containerClass });
11
10
  }
12
- set innerClass(innerClass) {
13
- this.set({ innerClass });
11
+ set _innerClass(innerClass) {
12
+ this.inputs.set({ innerClass });
14
13
  }
15
- set barClass(barClass) {
16
- this.set({ barClass });
14
+ set _barClass(barClass) {
15
+ this.inputs.set({ barClass });
17
16
  }
18
- set dataClass(dataClass) {
19
- this.set({ dataClass });
17
+ set _dataClass(dataClass) {
18
+ this.inputs.set({ dataClass });
20
19
  }
21
- set dataInterpolation(dataInterpolation) {
22
- this.set({ dataInterpolation });
20
+ set _dataInterpolation(dataInterpolation) {
21
+ this.inputs.set({ dataInterpolation });
23
22
  }
24
- set initialState(initialState) {
25
- this.set({ initialState });
23
+ set _initialState(initialState) {
24
+ this.inputs.set({ initialState });
26
25
  }
27
26
  constructor() {
28
- super({ dataInterpolation: defaultDataInterpolation, initialState: (active) => active });
29
- this.#progress = injectNgtsProgress();
30
- this.active = computed(() => this.#progress().active);
31
- this.progress = computed(() => this.#progress().progress);
32
- this.container = this.select('containerClass');
33
- this.inner = this.select('innerClass');
34
- this.bar = this.select('barClass');
35
- this.data = this.select('dataClass');
36
- this.shown = signal(this.get('initialState')(this.active()));
37
- this.#setShown();
38
- this.#updateProgress();
27
+ this.inputs = signalStore({
28
+ dataInterpolation: defaultDataInterpolation,
29
+ initialState: (active) => active,
30
+ });
31
+ this.progressState = injectNgtsProgress();
32
+ this.active = computed(() => this.progressState().active);
33
+ this.progress = computed(() => this.progressState().progress);
34
+ this.container = this.inputs.select('containerClass');
35
+ this.inner = this.inputs.select('innerClass');
36
+ this.bar = this.inputs.select('barClass');
37
+ this.data = this.inputs.select('dataClass');
38
+ this.shown = signal(this.inputs.get('initialState')(this.active()));
39
+ this.setShown();
40
+ this.updateProgress();
39
41
  }
40
- #setShown() {
42
+ setShown() {
41
43
  effect((onCleanup) => {
42
- const active = this.active();
43
- const lastShown = untracked(this.shown);
44
+ const [active, lastShown] = [this.active(), untracked(this.shown)];
44
45
  if (lastShown !== active) {
45
46
  const timeoutId = setTimeout(() => {
46
47
  this.shown.set(active);
47
48
  }, 300);
48
49
  onCleanup(() => clearTimeout(timeoutId));
49
50
  }
50
- }, { allowSignalWrites: true });
51
+ });
51
52
  }
52
- #updateProgress() {
53
+ updateProgress() {
53
54
  let progressRef = 0;
54
55
  let rafId;
55
- const dataInterpolation = this.select('dataInterpolation');
56
- const trigger = computed(() => ({ dataInterpolation: dataInterpolation(), progress: this.progress() }));
56
+ const _dataInterpolation = this.inputs.select('dataInterpolation');
57
57
  effect((onCleanup) => {
58
- const { dataInterpolation, progress } = trigger();
58
+ const [dataInterpolation, progress] = [_dataInterpolation(), this.progress()];
59
59
  const updateProgress = () => {
60
60
  if (!this.progressSpanRef?.nativeElement)
61
61
  return;
@@ -71,63 +71,68 @@ class NgtsLoader extends NgtSignalStore {
71
71
  onCleanup(() => cancelAnimationFrame(rafId));
72
72
  });
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { containerClass: "containerClass", innerClass: "innerClass", barClass: "barClass", dataClass: "dataClass", dataInterpolation: "dataInterpolation", initialState: "initialState" }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
76
- <div
77
- *ngIf="shown()"
78
- class="ngts-loader-container"
79
- [class]="container() || ''"
80
- [style.--ngts-loader-container-opacity]="active() ? 1 : 0"
81
- >
82
- <div>
83
- <div class="ngts-loader-inner" [class]="inner() || ''">
84
- <div
85
- class="ngts-loader-bar"
86
- [class]="bar() || ''"
87
- [style.--ngts-loader-bar-scale]="progress() / 100"
88
- ></div>
89
- <span #progressSpanRef class="ngts-loader-data" [class]="data() || ''"></span>
90
- </div>
91
- </div>
92
- </div>
93
- `, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { _containerClass: ["containerClass", "_containerClass"], _innerClass: ["innerClass", "_innerClass"], _barClass: ["barClass", "_barClass"], _dataClass: ["dataClass", "_dataClass"], _dataInterpolation: ["dataInterpolation", "_dataInterpolation"], _initialState: ["initialState", "_initialState"] }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true }], ngImport: i0, template: `
76
+ <div
77
+ *ngIf="shown()"
78
+ class="ngts-loader-container"
79
+ [class]="container() || ''"
80
+ [style.--ngts-loader-container-opacity]="active() ? 1 : 0"
81
+ >
82
+ <div>
83
+ <div class="ngts-loader-inner" [class]="inner() || ''">
84
+ <div
85
+ class="ngts-loader-bar"
86
+ [class]="bar() || ''"
87
+ [style.--ngts-loader-bar-scale]="progress() / 100"
88
+ ></div>
89
+ <span #progressSpanRef class="ngts-loader-data" [class]="data() || ''"></span>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ `, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
94
  }
95
- export { NgtsLoader };
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLoader, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsLoader, decorators: [{
97
96
  type: Component,
98
97
  args: [{ selector: 'ngts-loader', standalone: true, template: `
99
- <div
100
- *ngIf="shown()"
101
- class="ngts-loader-container"
102
- [class]="container() || ''"
103
- [style.--ngts-loader-container-opacity]="active() ? 1 : 0"
104
- >
105
- <div>
106
- <div class="ngts-loader-inner" [class]="inner() || ''">
107
- <div
108
- class="ngts-loader-bar"
109
- [class]="bar() || ''"
110
- [style.--ngts-loader-bar-scale]="progress() / 100"
111
- ></div>
112
- <span #progressSpanRef class="ngts-loader-data" [class]="data() || ''"></span>
113
- </div>
114
- </div>
115
- </div>
116
- `, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"] }]
117
- }], ctorParameters: function () { return []; }, propDecorators: { containerClass: [{
118
- type: Input
119
- }], innerClass: [{
120
- type: Input
121
- }], barClass: [{
122
- type: Input
123
- }], dataClass: [{
124
- type: Input
125
- }], dataInterpolation: [{
126
- type: Input
127
- }], initialState: [{
128
- type: Input
98
+ <div
99
+ *ngIf="shown()"
100
+ class="ngts-loader-container"
101
+ [class]="container() || ''"
102
+ [style.--ngts-loader-container-opacity]="active() ? 1 : 0"
103
+ >
104
+ <div>
105
+ <div class="ngts-loader-inner" [class]="inner() || ''">
106
+ <div
107
+ class="ngts-loader-bar"
108
+ [class]="bar() || ''"
109
+ [style.--ngts-loader-bar-scale]="progress() / 100"
110
+ ></div>
111
+ <span #progressSpanRef class="ngts-loader-data" [class]="data() || ''"></span>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ `, imports: [NgIf], changeDetection: ChangeDetectionStrategy.OnPush, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"] }]
116
+ }], ctorParameters: function () { return []; }, propDecorators: { _containerClass: [{
117
+ type: Input,
118
+ args: [{ alias: 'containerClass' }]
119
+ }], _innerClass: [{
120
+ type: Input,
121
+ args: [{ alias: 'innerClass' }]
122
+ }], _barClass: [{
123
+ type: Input,
124
+ args: [{ alias: 'barClass' }]
125
+ }], _dataClass: [{
126
+ type: Input,
127
+ args: [{ alias: 'dataClass' }]
128
+ }], _dataInterpolation: [{
129
+ type: Input,
130
+ args: [{ alias: 'dataInterpolation' }]
131
+ }], _initialState: [{
132
+ type: Input,
133
+ args: [{ alias: 'initialState' }]
129
134
  }], progressSpanRef: [{
130
135
  type: ViewChild,
131
136
  args: ['progressSpanRef']
132
137
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2xvYWRlcnMvc3JjL2xvYWRlci9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUxRCxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQVczRSxNQTBCYSxVQUFXLFNBQVEsY0FBK0I7SUFDbEQsU0FBUyxDQUF3QjtJQVUxQyxJQUFhLGNBQWMsQ0FBQyxjQUFzQjtRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsVUFBa0I7UUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFhLFNBQVMsQ0FBQyxTQUFpQjtRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBYSxpQkFB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UUFBUSxJQUFJLFFBQVEsS0FBSyxHQUFHO29CQUFFLFdBQVcsR0FBRyxRQUFRLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUUsSUFBSSxXQUFXLEdBQUcsUUFBUSxFQUFFO29CQUN4QixLQUFLLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ2pEO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQW5GUSxVQUFVO2tHQUFWLFVBQVUsOFlBdkJUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQsMjhCQUVTLElBQUk7O1NBR0wsVUFBVTsyRkFBVixVQUFVO2tCQTFCdEIsU0FBUzsrQkFDSSxhQUFhLGNBQ1gsSUFBSSxZQUNOOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQsV0FFUSxDQUFDLElBQUksQ0FBQyxtQkFDRSx1QkFBdUIsQ0FBQyxNQUFNOzBFQWFsQyxjQUFjO3NCQUExQixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLGlCQUFpQjtzQkFBN0IsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUl3QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgY29tcHV0ZWQsXG4gICAgZWZmZWN0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0U2lnbmFsU3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdE5ndHNQcm9ncmVzcyB9IGZyb20gJy4uL3Byb2dyZXNzL3Byb2dyZXNzJztcblxuY29uc3QgZGVmYXVsdERhdGFJbnRlcnBvbGF0aW9uID0gKHA6IG51bWJlcikgPT4gYExvYWRpbmcgJHtwLnRvRml4ZWQoMil9JWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0xvYWRlclN0YXRlIHtcbiAgICBjb250YWluZXJDbGFzcz86IHN0cmluZztcbiAgICBpbm5lckNsYXNzPzogc3RyaW5nO1xuICAgIGJhckNsYXNzPzogc3RyaW5nO1xuICAgIGRhdGFDbGFzcz86IHN0cmluZztcbiAgICBkYXRhSW50ZXJwb2xhdGlvbjogKHZhbHVlOiBudW1iZXIpID0+IHN0cmluZztcbiAgICBpbml0aWFsU3RhdGU6ICh2YWx1ZTogYm9vbGVhbikgPT4gYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWxvYWRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNob3duKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJuZ3RzLWxvYWRlci1jb250YWluZXJcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImNvbnRhaW5lcigpIHx8ICcnXCJcbiAgICAgICAgICAgIFtzdHlsZS4tLW5ndHMtbG9hZGVyLWNvbnRhaW5lci1vcGFjaXR5XT1cImFjdGl2ZSgpID8gMSA6IDBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZ3RzLWxvYWRlci1pbm5lclwiIFtjbGFzc109XCJpbm5lcigpIHx8ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmd0cy1sb2FkZXItYmFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJiYXIoKSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuLS1uZ3RzLWxvYWRlci1iYXItc2NhbGVdPVwicHJvZ3Jlc3MoKSAvIDEwMFwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gI3Byb2dyZXNzU3BhblJlZiBjbGFzcz1cIm5ndHMtbG9hZGVyLWRhdGFcIiBbY2xhc3NdPVwiZGF0YSgpIHx8ICcnXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLmNzcyddLFxuICAgIGltcG9ydHM6IFtOZ0lmXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0xvYWRlciBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndHNMb2FkZXJTdGF0ZT4ge1xuICAgIHJlYWRvbmx5ICNwcm9ncmVzcyA9IGluamVjdE5ndHNQcm9ncmVzcygpO1xuXG4gICAgcmVhZG9ubHkgYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jcHJvZ3Jlc3MoKS5hY3RpdmUpO1xuICAgIHJlYWRvbmx5IHByb2dyZXNzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jcHJvZ3Jlc3MoKS5wcm9ncmVzcyk7XG5cbiAgICByZWFkb25seSBjb250YWluZXIgPSB0aGlzLnNlbGVjdCgnY29udGFpbmVyQ2xhc3MnKTtcbiAgICByZWFkb25seSBpbm5lciA9IHRoaXMuc2VsZWN0KCdpbm5lckNsYXNzJyk7XG4gICAgcmVhZG9ubHkgYmFyID0gdGhpcy5zZWxlY3QoJ2JhckNsYXNzJyk7XG4gICAgcmVhZG9ubHkgZGF0YSA9IHRoaXMuc2VsZWN0KCdkYXRhQ2xhc3MnKTtcblxuICAgIEBJbnB1dCgpIHNldCBjb250YWluZXJDbGFzcyhjb250YWluZXJDbGFzczogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY29udGFpbmVyQ2xhc3MgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGlubmVyQ2xhc3MoaW5uZXJDbGFzczogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgaW5uZXJDbGFzcyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYmFyQ2xhc3MoYmFyQ2xhc3M6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldCh7IGJhckNsYXNzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkYXRhQ2xhc3MoZGF0YUNsYXNzOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkYXRhQ2xhc3MgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRhdGFJbnRlcnBvbGF0aW9uKGRhdGFJbnRlcnBvbGF0aW9uOiAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGF0YUludGVycG9sYXRpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGluaXRpYWxTdGF0ZShpbml0aWFsU3RhdGU6ICh2YWx1ZTogYm9vbGVhbikgPT4gYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGluaXRpYWxTdGF0ZSB9KTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzc1NwYW5SZWYnKSBwcm9ncmVzc1NwYW5SZWY/OiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD47XG5cbiAgICByZWFkb25seSBzaG93biA9IHNpZ25hbCh0aGlzLmdldCgnaW5pdGlhbFN0YXRlJykodGhpcy5hY3RpdmUoKSkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHsgZGF0YUludGVycG9sYXRpb246IGRlZmF1bHREYXRhSW50ZXJwb2xhdGlvbiwgaW5pdGlhbFN0YXRlOiAoYWN0aXZlOiBib29sZWFuKSA9PiBhY3RpdmUgfSk7XG4gICAgICAgIHRoaXMuI3NldFNob3duKCk7XG4gICAgICAgIHRoaXMuI3VwZGF0ZVByb2dyZXNzKCk7XG4gICAgfVxuXG4gICAgI3NldFNob3duKCkge1xuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAob25DbGVhbnVwKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gdGhpcy5hY3RpdmUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0U2hvd24gPSB1bnRyYWNrZWQodGhpcy5zaG93bik7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RTaG93biAhPT0gYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93bi5zZXQoYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgICAgICAgICAgb25DbGVhbnVwKCgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0SWQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgI3VwZGF0ZVByb2dyZXNzKCkge1xuICAgICAgICBsZXQgcHJvZ3Jlc3NSZWYgPSAwO1xuICAgICAgICBsZXQgcmFmSWQ6IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT47XG5cbiAgICAgICAgY29uc3QgZGF0YUludGVycG9sYXRpb24gPSB0aGlzLnNlbGVjdCgnZGF0YUludGVycG9sYXRpb24nKTtcbiAgICAgICAgY29uc3QgdHJpZ2dlciA9IGNvbXB1dGVkKCgpID0+ICh7IGRhdGFJbnRlcnBvbGF0aW9uOiBkYXRhSW50ZXJwb2xhdGlvbigpLCBwcm9ncmVzczogdGhpcy5wcm9ncmVzcygpIH0pKTtcblxuICAgICAgICBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBkYXRhSW50ZXJwb2xhdGlvbiwgcHJvZ3Jlc3MgfSA9IHRyaWdnZXIoKTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlUHJvZ3Jlc3MgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnByb2dyZXNzU3BhblJlZj8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHByb2dyZXNzUmVmICs9IChwcm9ncmVzcyAtIHByb2dyZXNzUmVmKSAvIDI7XG4gICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzUmVmID4gMC45NSAqIHByb2dyZXNzIHx8IHByb2dyZXNzID09PSAxMDApIHByb2dyZXNzUmVmID0gcHJvZ3Jlc3M7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc1NwYW5SZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSBkYXRhSW50ZXJwb2xhdGlvbihwcm9ncmVzc1JlZik7XG4gICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzUmVmIDwgcHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB1cGRhdGVQcm9ncmVzcygpO1xuICAgICAgICAgICAgb25DbGVhbnVwKCgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZklkKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2xvYWRlcnMvc3JjL2xvYWRlci9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUxRCxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQXFDM0UsTUFBTSxPQUFPLFVBQVU7SUFnQnRCLElBQXdDLGVBQWUsQ0FBQyxjQUFzQjtRQUM3RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQW9DLFdBQVcsQ0FBQyxVQUFrQjtRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWtDLFNBQVMsQ0FBQyxRQUFnQjtRQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQW1DLFVBQVUsQ0FBQyxTQUFpQjtRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFD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IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SW5wdXQsXG5cdFZpZXdDaGlsZCxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2lnbmFsU3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdE5ndHNQcm9ncmVzcyB9IGZyb20gJy4uL3Byb2dyZXNzL3Byb2dyZXNzJztcblxuY29uc3QgZGVmYXVsdERhdGFJbnRlcnBvbGF0aW9uID0gKHA6IG51bWJlcikgPT4gYExvYWRpbmcgJHtwLnRvRml4ZWQoMil9JWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0xvYWRlclN0YXRlIHtcblx0Y29udGFpbmVyQ2xhc3M/OiBzdHJpbmc7XG5cdGlubmVyQ2xhc3M/OiBzdHJpbmc7XG5cdGJhckNsYXNzPzogc3RyaW5nO1xuXHRkYXRhQ2xhc3M/OiBzdHJpbmc7XG5cdGRhdGFJbnRlcnBvbGF0aW9uOiAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuXHRpbml0aWFsU3RhdGU6ICh2YWx1ZTogYm9vbGVhbikgPT4gYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1sb2FkZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxkaXZcblx0XHRcdCpuZ0lmPVwic2hvd24oKVwiXG5cdFx0XHRjbGFzcz1cIm5ndHMtbG9hZGVyLWNvbnRhaW5lclwiXG5cdFx0XHRbY2xhc3NdPVwiY29udGFpbmVyKCkgfHwgJydcIlxuXHRcdFx0W3N0eWxlLi0tbmd0cy1sb2FkZXItY29udGFpbmVyLW9wYWNpdHldPVwiYWN0aXZlKCkgPyAxIDogMFwiXG5cdFx0PlxuXHRcdFx0PGRpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm5ndHMtbG9hZGVyLWlubmVyXCIgW2NsYXNzXT1cImlubmVyKCkgfHwgJydcIj5cblx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRjbGFzcz1cIm5ndHMtbG9hZGVyLWJhclwiXG5cdFx0XHRcdFx0XHRbY2xhc3NdPVwiYmFyKCkgfHwgJydcIlxuXHRcdFx0XHRcdFx0W3N0eWxlLi0tbmd0cy1sb2FkZXItYmFyLXNjYWxlXT1cInByb2dyZXNzKCkgLyAxMDBcIlxuXHRcdFx0XHRcdD48L2Rpdj5cblx0XHRcdFx0XHQ8c3BhbiAjcHJvZ3Jlc3NTcGFuUmVmIGNsYXNzPVwibmd0cy1sb2FkZXItZGF0YVwiIFtjbGFzc109XCJkYXRhKCkgfHwgJydcIj48L3NwYW4+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHN0eWxlVXJsczogWycuL2xvYWRlci5jc3MnXSxcblx0aW1wb3J0czogW05nSWZdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0xvYWRlciB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c0xvYWRlclN0YXRlPih7XG5cdFx0ZGF0YUludGVycG9sYXRpb246IGRlZmF1bHREYXRhSW50ZXJwb2xhdGlvbixcblx0XHRpbml0aWFsU3RhdGU6IChhY3RpdmUpID0+IGFjdGl2ZSxcblx0fSk7XG5cblx0cHJpdmF0ZSBwcm9ncmVzc1N0YXRlID0gaW5qZWN0Tmd0c1Byb2dyZXNzKCk7XG5cblx0YWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9ncmVzc1N0YXRlKCkuYWN0aXZlKTtcblx0cHJvZ3Jlc3MgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb2dyZXNzU3RhdGUoKS5wcm9ncmVzcyk7XG5cblx0Y29udGFpbmVyID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdjb250YWluZXJDbGFzcycpO1xuXHRpbm5lciA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnaW5uZXJDbGFzcycpO1xuXHRiYXIgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2JhckNsYXNzJyk7XG5cdGRhdGEgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2RhdGFDbGFzcycpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY29udGFpbmVyQ2xhc3MnIH0pIHNldCBfY29udGFpbmVyQ2xhc3MoY29udGFpbmVyQ2xhc3M6IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGNvbnRhaW5lckNsYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdpbm5lckNsYXNzJyB9KSBzZXQgX2lubmVyQ2xhc3MoaW5uZXJDbGFzczogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaW5uZXJDbGFzcyB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYmFyQ2xhc3MnIH0pIHNldCBfYmFyQ2xhc3MoYmFyQ2xhc3M6IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGJhckNsYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkYXRhQ2xhc3MnIH0pIHNldCBfZGF0YUNsYXNzKGRhdGFDbGFzczogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZGF0YUNsYXNzIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdkYXRhSW50ZXJwb2xhdGlvbicgfSkgc2V0IF9kYXRhSW50ZXJwb2xhdGlvbihkYXRhSW50ZXJwb2xhdGlvbjogKHZhbHVlOiBudW1iZXIpID0+IHN0cmluZykge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGRhdGFJbnRlcnBvbGF0aW9uIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdpbml0aWFsU3RhdGUnIH0pIHNldCBfaW5pdGlhbFN0YXRlKGluaXRpYWxTdGF0ZTogKHZhbHVlOiBib29sZWFuKSA9PiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaW5pdGlhbFN0YXRlIH0pO1xuXHR9XG5cblx0QFZpZXdDaGlsZCgncHJvZ3Jlc3NTcGFuUmVmJykgcHJvZ3Jlc3NTcGFuUmVmPzogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+O1xuXG5cdHNob3duID0gc2lnbmFsKHRoaXMuaW5wdXRzLmdldCgnaW5pdGlhbFN0YXRlJykodGhpcy5hY3RpdmUoKSkpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuc2V0U2hvd24oKTtcblx0XHR0aGlzLnVwZGF0ZVByb2dyZXNzKCk7XG5cdH1cblxuXHRwcml2YXRlIHNldFNob3duKCkge1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBbYWN0aXZlLCBsYXN0U2hvd25dID0gW3RoaXMuYWN0aXZlKCksIHVudHJhY2tlZCh0aGlzLnNob3duKV07XG5cdFx0XHRpZiAobGFzdFNob3duICE9PSBhY3RpdmUpIHtcblx0XHRcdFx0Y29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93bi5zZXQoYWN0aXZlKTtcblx0XHRcdFx0fSwgMzAwKTtcblx0XHRcdFx0b25DbGVhbnVwKCgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0SWQpKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlUHJvZ3Jlc3MoKSB7XG5cdFx0bGV0IHByb2dyZXNzUmVmID0gMDtcblx0XHRsZXQgcmFmSWQ6IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT47XG5cblx0XHRjb25zdCBfZGF0YUludGVycG9sYXRpb24gPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2RhdGFJbnRlcnBvbGF0aW9uJyk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgW2RhdGFJbnRlcnBvbGF0aW9uLCBwcm9ncmVzc10gPSBbX2RhdGFJbnRlcnBvbGF0aW9uKCksIHRoaXMucHJvZ3Jlc3MoKV07XG5cdFx0XHRjb25zdCB1cGRhdGVQcm9ncmVzcyA9ICgpID0+IHtcblx0XHRcdFx0aWYgKCF0aGlzLnByb2dyZXNzU3BhblJlZj8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuXHRcdFx0XHRwcm9ncmVzc1JlZiArPSAocHJvZ3Jlc3MgLSBwcm9ncmVzc1JlZikgLyAyO1xuXHRcdFx0XHRpZiAocHJvZ3Jlc3NSZWYgPiAwLjk1ICogcHJvZ3Jlc3MgfHwgcHJvZ3Jlc3MgPT09IDEwMCkgcHJvZ3Jlc3NSZWYgPSBwcm9ncmVzcztcblx0XHRcdFx0dGhpcy5wcm9ncmVzc1NwYW5SZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSBkYXRhSW50ZXJwb2xhdGlvbihwcm9ncmVzc1JlZik7XG5cdFx0XHRcdGlmIChwcm9ncmVzc1JlZiA8IHByb2dyZXNzKSB7XG5cdFx0XHRcdFx0cmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlUHJvZ3Jlc3MpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdFx0dXBkYXRlUHJvZ3Jlc3MoKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZJZCkpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=