@babylonjs/gui 5.0.0-beta.9 → 5.0.0-rc.10

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 (305) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -412
  5. package/2D/advancedDynamicTexture.js +1318 -1239
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -180
  47. package/2D/controls/inputText.js +1119 -1095
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -171
  92. package/2D/controls/textBlock.js +603 -588
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -341
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -118
  155. package/3D/controls/holographicSlate.js +431 -369
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -80
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -64
  182. package/3D/controls/touchButton3D.js +233 -188
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -104
  185. package/3D/controls/touchHolographicButton.js +445 -432
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -59
  203. package/3D/gizmos/slateGizmo.js +369 -363
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/package.json +21 -328
  305. package/readme.md +2 -2
@@ -1,127 +1,127 @@
1
- import { __extends } from "tslib";
2
- import { ShaderMaterial } from "@babylonjs/core/Materials/shaderMaterial.js";
3
- import { Color3, TmpColors } from "@babylonjs/core/Maths/math.color.js";
4
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
5
- import "./shaders/handle.vertex.js";
6
- import "./shaders/handle.fragment.js";
7
- /**
8
- * Class used to render gizmo handles with fluent design
9
- */
10
- var HandleMaterial = /** @class */ (function (_super) {
11
- __extends(HandleMaterial, _super);
12
- /**
13
- * Creates a handle material
14
- * @param name Name of the material
15
- * @param scene Scene
16
- */
17
- function HandleMaterial(name, scene) {
18
- var _this = _super.call(this, name, scene, "handle", {
19
- attributes: ["position"],
20
- uniforms: ["worldViewProjection", "color", "scale", "positionOffset"],
21
- needAlphaBlending: false,
22
- needAlphaTesting: false,
23
- }) || this;
24
- _this._hover = false;
25
- _this._drag = false;
26
- _this._color = new Color3();
27
- _this._scale = 1;
28
- _this._lastTick = -1;
29
- /**
30
- * Length of animation
31
- */
32
- _this.animationLength = 100;
33
- /**
34
- * Color of the handle when hovered
35
- */
36
- _this.hoverColor = new Color3(0, 0.467, 0.84);
37
- /**
38
- * Color of the handle when idle
39
- */
40
- _this.baseColor = new Color3(1, 1, 1);
41
- /**
42
- * Scale of the handle when hovered
43
- */
44
- _this.hoverScale = 0.75;
45
- /**
46
- * Scale of the handle when idle
47
- */
48
- _this.baseScale = 0.35;
49
- /**
50
- * Scale of the handle when dragged
51
- */
52
- _this.dragScale = 0.55;
53
- /**
54
- * @hidden
55
- */
56
- _this._positionOffset = Vector3.Zero();
57
- _this._updateInterpolationTarget();
58
- // Register callback for scene after render
59
- _this._lastTick = Date.now();
60
- _this._onBeforeRender = _this.getScene().onBeforeRenderObservable.add(function () {
61
- var tick = Date.now();
62
- var delta = tick - _this._lastTick;
63
- var scaleDiff = _this._targetScale - _this._scale;
64
- var colorDiff = TmpColors.Color3[0].copyFrom(_this._targetColor).subtractToRef(_this._color, TmpColors.Color3[0]);
65
- _this._scale = _this._scale + (scaleDiff * delta) / _this.animationLength;
66
- colorDiff.scaleToRef(delta / _this.animationLength, colorDiff);
67
- _this._color.addToRef(colorDiff, _this._color);
68
- _this.setColor3("color", _this._color);
69
- _this.setFloat("scale", _this._scale);
70
- _this.setVector3("positionOffset", _this._positionOffset);
71
- _this._lastTick = tick;
72
- });
73
- return _this;
74
- }
75
- Object.defineProperty(HandleMaterial.prototype, "hover", {
76
- /**
77
- * Is the material indicating hovering state
78
- */
79
- get: function () {
80
- return this._hover;
81
- },
82
- set: function (b) {
83
- this._hover = b;
84
- this._updateInterpolationTarget();
85
- },
86
- enumerable: false,
87
- configurable: true
88
- });
89
- Object.defineProperty(HandleMaterial.prototype, "drag", {
90
- /**
91
- * Is the material indicating drag state
92
- */
93
- get: function () {
94
- return this._drag;
95
- },
96
- set: function (b) {
97
- this._drag = b;
98
- this._updateInterpolationTarget();
99
- },
100
- enumerable: false,
101
- configurable: true
102
- });
103
- HandleMaterial.prototype._updateInterpolationTarget = function () {
104
- if (this.drag) {
105
- this._targetColor = this.hoverColor;
106
- this._targetScale = this.dragScale;
107
- }
108
- else if (this.hover) {
109
- this._targetColor = this.hoverColor;
110
- this._targetScale = this.hoverScale;
111
- }
112
- else {
113
- this._targetColor = this.baseColor;
114
- this._targetScale = this.baseScale;
115
- }
116
- };
117
- /**
118
- * Disposes the handle material
119
- */
120
- HandleMaterial.prototype.dispose = function () {
121
- _super.prototype.dispose.call(this);
122
- this.getScene().onBeforeRenderObservable.remove(this._onBeforeRender);
123
- };
124
- return HandleMaterial;
125
- }(ShaderMaterial));
126
- export { HandleMaterial };
1
+ import { __extends } from "tslib";
2
+ import { ShaderMaterial } from "@babylonjs/core/Materials/shaderMaterial.js";
3
+ import { Color3, TmpColors } from "@babylonjs/core/Maths/math.color.js";
4
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
5
+ import "./shaders/handle.vertex";
6
+ import "./shaders/handle.fragment";
7
+ /**
8
+ * Class used to render gizmo handles with fluent design
9
+ */
10
+ var HandleMaterial = /** @class */ (function (_super) {
11
+ __extends(HandleMaterial, _super);
12
+ /**
13
+ * Creates a handle material
14
+ * @param name Name of the material
15
+ * @param scene Scene
16
+ */
17
+ function HandleMaterial(name, scene) {
18
+ var _this = _super.call(this, name, scene, "handle", {
19
+ attributes: ["position"],
20
+ uniforms: ["worldViewProjection", "color", "scale", "positionOffset"],
21
+ needAlphaBlending: false,
22
+ needAlphaTesting: false,
23
+ }) || this;
24
+ _this._hover = false;
25
+ _this._drag = false;
26
+ _this._color = new Color3();
27
+ _this._scale = 1;
28
+ _this._lastTick = -1;
29
+ /**
30
+ * Length of animation
31
+ */
32
+ _this.animationLength = 100;
33
+ /**
34
+ * Color of the handle when hovered
35
+ */
36
+ _this.hoverColor = new Color3(0, 0.467, 0.84);
37
+ /**
38
+ * Color of the handle when idle
39
+ */
40
+ _this.baseColor = new Color3(1, 1, 1);
41
+ /**
42
+ * Scale of the handle when hovered
43
+ */
44
+ _this.hoverScale = 0.75;
45
+ /**
46
+ * Scale of the handle when idle
47
+ */
48
+ _this.baseScale = 0.35;
49
+ /**
50
+ * Scale of the handle when dragged
51
+ */
52
+ _this.dragScale = 0.55;
53
+ /**
54
+ * @hidden
55
+ */
56
+ _this._positionOffset = Vector3.Zero();
57
+ _this._updateInterpolationTarget();
58
+ // Register callback for scene after render
59
+ _this._lastTick = Date.now();
60
+ _this._onBeforeRender = _this.getScene().onBeforeRenderObservable.add(function () {
61
+ var tick = Date.now();
62
+ var delta = tick - _this._lastTick;
63
+ var scaleDiff = _this._targetScale - _this._scale;
64
+ var colorDiff = TmpColors.Color3[0].copyFrom(_this._targetColor).subtractToRef(_this._color, TmpColors.Color3[0]);
65
+ _this._scale = _this._scale + (scaleDiff * delta) / _this.animationLength;
66
+ colorDiff.scaleToRef(delta / _this.animationLength, colorDiff);
67
+ _this._color.addToRef(colorDiff, _this._color);
68
+ _this.setColor3("color", _this._color);
69
+ _this.setFloat("scale", _this._scale);
70
+ _this.setVector3("positionOffset", _this._positionOffset);
71
+ _this._lastTick = tick;
72
+ });
73
+ return _this;
74
+ }
75
+ Object.defineProperty(HandleMaterial.prototype, "hover", {
76
+ /**
77
+ * Is the material indicating hovering state
78
+ */
79
+ get: function () {
80
+ return this._hover;
81
+ },
82
+ set: function (b) {
83
+ this._hover = b;
84
+ this._updateInterpolationTarget();
85
+ },
86
+ enumerable: false,
87
+ configurable: true
88
+ });
89
+ Object.defineProperty(HandleMaterial.prototype, "drag", {
90
+ /**
91
+ * Is the material indicating drag state
92
+ */
93
+ get: function () {
94
+ return this._drag;
95
+ },
96
+ set: function (b) {
97
+ this._drag = b;
98
+ this._updateInterpolationTarget();
99
+ },
100
+ enumerable: false,
101
+ configurable: true
102
+ });
103
+ HandleMaterial.prototype._updateInterpolationTarget = function () {
104
+ if (this.drag) {
105
+ this._targetColor = this.hoverColor;
106
+ this._targetScale = this.dragScale;
107
+ }
108
+ else if (this.hover) {
109
+ this._targetColor = this.hoverColor;
110
+ this._targetScale = this.hoverScale;
111
+ }
112
+ else {
113
+ this._targetColor = this.baseColor;
114
+ this._targetScale = this.baseScale;
115
+ }
116
+ };
117
+ /**
118
+ * Disposes the handle material
119
+ */
120
+ HandleMaterial.prototype.dispose = function () {
121
+ _super.prototype.dispose.call(this);
122
+ this.getScene().onBeforeRenderObservable.remove(this._onBeforeRender);
123
+ };
124
+ return HandleMaterial;
125
+ }(ShaderMaterial));
126
+ export { HandleMaterial };
127
127
  //# sourceMappingURL=handleMaterial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleMaterial.js","sourceRoot":"","sources":["../../../../../sourceES6/gui/src/3D/materials/handle/handleMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShaderMaterial } from \"@babylonjs/core/Materials/shaderMaterial\";\r\nimport { Scene } from \"@babylonjs/core/scene\";\r\nimport { Nullable } from \"@babylonjs/core/types\";\r\nimport { Observer } from \"@babylonjs/core/Misc/observable\";\r\nimport { Color3, TmpColors } from \"@babylonjs/core/Maths/math.color\";\r\nimport { Vector3 } from \"@babylonjs/core/Maths/math.vector\";\r\n\r\nimport \"./shaders/handle.vertex\";\r\nimport \"./shaders/handle.fragment\";\r\n\r\n/**\r\n * Class used to render gizmo handles with fluent design\r\n */\r\nexport class HandleMaterial extends ShaderMaterial {\r\n private _hover: boolean = false;\r\n private _drag: boolean = false;\r\n private _onBeforeRender: Nullable<Observer<Scene>>;\r\n private _color: Color3 = new Color3();\r\n private _scale: number = 1;\r\n private _targetColor: Color3;\r\n private _targetScale: number;\r\n private _lastTick = -1;\r\n\r\n /**\r\n * Is the material indicating hovering state\r\n */\r\n public get hover(): boolean {\r\n return this._hover;\r\n }\r\n\r\n public set hover(b: boolean) {\r\n this._hover = b;\r\n\r\n this._updateInterpolationTarget();\r\n }\r\n\r\n /**\r\n * Is the material indicating drag state\r\n */\r\n public get drag(): boolean {\r\n return this._drag;\r\n }\r\n\r\n public set drag(b: boolean) {\r\n this._drag = b;\r\n\r\n this._updateInterpolationTarget();\r\n }\r\n\r\n /**\r\n * Length of animation\r\n */\r\n public animationLength: number = 100;\r\n\r\n /**\r\n * Color of the handle when hovered\r\n */\r\n public hoverColor: Color3 = new Color3(0, 0.467, 0.84);\r\n\r\n /**\r\n * Color of the handle when idle\r\n */\r\n public baseColor: Color3 = new Color3(1, 1, 1);\r\n\r\n /**\r\n * Scale of the handle when hovered\r\n */\r\n public hoverScale: number = 0.75;\r\n\r\n /**\r\n * Scale of the handle when idle\r\n */\r\n public baseScale: number = 0.35;\r\n\r\n /**\r\n * Scale of the handle when dragged\r\n */\r\n public dragScale: number = 0.55;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _positionOffset: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * Creates a handle material\r\n * @param name Name of the material\r\n * @param scene Scene\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene, \"handle\", {\r\n attributes: [\"position\"],\r\n uniforms: [\"worldViewProjection\", \"color\", \"scale\", \"positionOffset\"],\r\n needAlphaBlending: false,\r\n needAlphaTesting: false,\r\n });\r\n\r\n this._updateInterpolationTarget();\r\n\r\n // Register callback for scene after render\r\n this._lastTick = Date.now();\r\n this._onBeforeRender = this.getScene().onBeforeRenderObservable.add(() => {\r\n const tick = Date.now();\r\n const delta = tick - this._lastTick;\r\n\r\n const scaleDiff = this._targetScale - this._scale;\r\n const colorDiff = TmpColors.Color3[0].copyFrom(this._targetColor).subtractToRef(this._color, TmpColors.Color3[0]);\r\n\r\n this._scale = this._scale + (scaleDiff * delta) / this.animationLength;\r\n colorDiff.scaleToRef(delta / this.animationLength, colorDiff);\r\n this._color.addToRef(colorDiff, this._color);\r\n\r\n this.setColor3(\"color\", this._color);\r\n this.setFloat(\"scale\", this._scale);\r\n this.setVector3(\"positionOffset\", this._positionOffset);\r\n\r\n this._lastTick = tick;\r\n });\r\n }\r\n\r\n private _updateInterpolationTarget() {\r\n if (this.drag) {\r\n this._targetColor = this.hoverColor;\r\n this._targetScale = this.dragScale;\r\n } else if (this.hover) {\r\n this._targetColor = this.hoverColor;\r\n this._targetScale = this.hoverScale;\r\n } else {\r\n this._targetColor = this.baseColor;\r\n this._targetScale = this.baseScale;\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the handle material\r\n */\r\n public dispose() {\r\n super.dispose();\r\n this.getScene().onBeforeRenderObservable.remove(this._onBeforeRender);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"handleMaterial.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/handle/handleMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShaderMaterial } from \"core/Materials/shaderMaterial\";\r\nimport type { Scene } from \"core/scene\";\r\nimport type { Nullable } from \"core/types\";\r\nimport type { Observer } from \"core/Misc/observable\";\r\nimport { Color3, TmpColors } from \"core/Maths/math.color\";\r\nimport { Vector3 } from \"core/Maths/math.vector\";\r\n\r\nimport \"./shaders/handle.vertex\";\r\nimport \"./shaders/handle.fragment\";\r\n\r\n/**\r\n * Class used to render gizmo handles with fluent design\r\n */\r\nexport class HandleMaterial extends ShaderMaterial {\r\n private _hover: boolean = false;\r\n private _drag: boolean = false;\r\n private _onBeforeRender: Nullable<Observer<Scene>>;\r\n private _color: Color3 = new Color3();\r\n private _scale: number = 1;\r\n private _targetColor: Color3;\r\n private _targetScale: number;\r\n private _lastTick = -1;\r\n\r\n /**\r\n * Is the material indicating hovering state\r\n */\r\n public get hover(): boolean {\r\n return this._hover;\r\n }\r\n\r\n public set hover(b: boolean) {\r\n this._hover = b;\r\n\r\n this._updateInterpolationTarget();\r\n }\r\n\r\n /**\r\n * Is the material indicating drag state\r\n */\r\n public get drag(): boolean {\r\n return this._drag;\r\n }\r\n\r\n public set drag(b: boolean) {\r\n this._drag = b;\r\n\r\n this._updateInterpolationTarget();\r\n }\r\n\r\n /**\r\n * Length of animation\r\n */\r\n public animationLength: number = 100;\r\n\r\n /**\r\n * Color of the handle when hovered\r\n */\r\n public hoverColor: Color3 = new Color3(0, 0.467, 0.84);\r\n\r\n /**\r\n * Color of the handle when idle\r\n */\r\n public baseColor: Color3 = new Color3(1, 1, 1);\r\n\r\n /**\r\n * Scale of the handle when hovered\r\n */\r\n public hoverScale: number = 0.75;\r\n\r\n /**\r\n * Scale of the handle when idle\r\n */\r\n public baseScale: number = 0.35;\r\n\r\n /**\r\n * Scale of the handle when dragged\r\n */\r\n public dragScale: number = 0.55;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _positionOffset: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * Creates a handle material\r\n * @param name Name of the material\r\n * @param scene Scene\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene, \"handle\", {\r\n attributes: [\"position\"],\r\n uniforms: [\"worldViewProjection\", \"color\", \"scale\", \"positionOffset\"],\r\n needAlphaBlending: false,\r\n needAlphaTesting: false,\r\n });\r\n\r\n this._updateInterpolationTarget();\r\n\r\n // Register callback for scene after render\r\n this._lastTick = Date.now();\r\n this._onBeforeRender = this.getScene().onBeforeRenderObservable.add(() => {\r\n const tick = Date.now();\r\n const delta = tick - this._lastTick;\r\n\r\n const scaleDiff = this._targetScale - this._scale;\r\n const colorDiff = TmpColors.Color3[0].copyFrom(this._targetColor).subtractToRef(this._color, TmpColors.Color3[0]);\r\n\r\n this._scale = this._scale + (scaleDiff * delta) / this.animationLength;\r\n colorDiff.scaleToRef(delta / this.animationLength, colorDiff);\r\n this._color.addToRef(colorDiff, this._color);\r\n\r\n this.setColor3(\"color\", this._color);\r\n this.setFloat(\"scale\", this._scale);\r\n this.setVector3(\"positionOffset\", this._positionOffset);\r\n\r\n this._lastTick = tick;\r\n });\r\n }\r\n\r\n private _updateInterpolationTarget() {\r\n if (this.drag) {\r\n this._targetColor = this.hoverColor;\r\n this._targetScale = this.dragScale;\r\n } else if (this.hover) {\r\n this._targetColor = this.hoverColor;\r\n this._targetScale = this.hoverScale;\r\n } else {\r\n this._targetColor = this.baseColor;\r\n this._targetScale = this.baseScale;\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the handle material\r\n */\r\n public dispose() {\r\n super.dispose();\r\n this.getScene().onBeforeRenderObservable.remove(this._onBeforeRender);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- export * from "./handleMaterial";
1
+ export * from "./handleMaterial";
@@ -1,2 +1,2 @@
1
- export * from "./handleMaterial.js";
1
+ export * from "./handleMaterial";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../sourceES6/gui/src/3D/materials/handle/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC","sourcesContent":["export * from \"./handleMaterial\";"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/handle/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC","sourcesContent":["export * from \"./handleMaterial\";\r\n"]}
@@ -1,5 +1,5 @@
1
- /** @hidden */
2
- export declare var handlePixelShader: {
3
- name: string;
4
- shader: string;
5
- };
1
+ /** @hidden */
2
+ export declare const handlePixelShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -1,7 +1,9 @@
1
- import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
2
- var name = 'handlePixelShader';
3
- var shader = "uniform vec3 color;\nvoid main(void) {\ngl_FragColor=vec4(color,1.0);\n}";
4
- ShaderStore.ShadersStore[name] = shader;
5
- /** @hidden */
6
- export var handlePixelShader = { name: name, shader: shader };
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ var name = "handlePixelShader";
4
+ var shader = "uniform vec3 color;\nvoid main(void) {\ngl_FragColor=vec4(color,1.0);\n}";
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @hidden */
8
+ export var handlePixelShader = { name: name, shader: shader };
7
9
  //# sourceMappingURL=handle.fragment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle.fragment.js","sourceRoot":"","sources":["../../../../../../sourceES6/gui/src/3D/materials/handle/shaders/handle.fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,IAAI,IAAI,GAAG,mBAAmB,CAAC;AAC/B,IAAI,MAAM,GAAG,0EAGX,CAAC;AAEH,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAI,iBAAiB,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["import { ShaderStore } from \"@babylonjs/core/Engines/shaderStore\";\n\nlet name = 'handlePixelShader';\nlet shader = `uniform vec3 color;\nvoid main(void) {\ngl_FragColor=vec4(color,1.0);\n}`;\n\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport var handlePixelShader = { name, shader };\n"]}
1
+ {"version":3,"file":"handle.fragment.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/handle/shaders/handle.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,IAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,IAAM,MAAM,GAAG,0EAGb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAM,iBAAiB,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"handlePixelShader\";\nconst shader = `uniform vec3 color;\rvoid main(void) {\rgl_FragColor=vec4(color,1.0);\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport const handlePixelShader = { name, shader };\n"]}
@@ -1,5 +1,5 @@
1
- /** @hidden */
2
- export declare var handleVertexShader: {
3
- name: string;
4
- shader: string;
5
- };
1
+ /** @hidden */
2
+ export declare const handleVertexShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -1,7 +1,9 @@
1
- import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
2
- var name = 'handleVertexShader';
3
- var shader = "precision highp float;\n\nattribute vec3 position;\n\nuniform vec3 positionOffset;\nuniform mat4 worldViewProjection;\nuniform float scale;\nvoid main(void) {\nvec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);\ngl_Position=worldViewProjection*vPos;\n}";
4
- ShaderStore.ShadersStore[name] = shader;
5
- /** @hidden */
6
- export var handleVertexShader = { name: name, shader: shader };
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ var name = "handleVertexShader";
4
+ var shader = "precision highp float;\nattribute vec3 position;\nuniform vec3 positionOffset;\nuniform mat4 worldViewProjection;\nuniform float scale;\nvoid main(void) {\nvec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);\ngl_Position=worldViewProjection*vPos;\n}";
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @hidden */
8
+ export var handleVertexShader = { name: name, shader: shader };
7
9
  //# sourceMappingURL=handle.vertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle.vertex.js","sourceRoot":"","sources":["../../../../../../sourceES6/gui/src/3D/materials/handle/shaders/handle.vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,IAAI,IAAI,GAAG,oBAAoB,CAAC;AAChC,IAAI,MAAM,GAAG,sQAUX,CAAC;AAEH,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAI,kBAAkB,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["import { ShaderStore } from \"@babylonjs/core/Engines/shaderStore\";\n\nlet name = 'handleVertexShader';\nlet shader = `precision highp float;\n\nattribute vec3 position;\n\nuniform vec3 positionOffset;\nuniform mat4 worldViewProjection;\nuniform float scale;\nvoid main(void) {\nvec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);\ngl_Position=worldViewProjection*vPos;\n}`;\n\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport var handleVertexShader = { name, shader };\n"]}
1
+ {"version":3,"file":"handle.vertex.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/handle/shaders/handle.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,IAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,IAAM,MAAM,GAAG,kQAQb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAM,kBAAkB,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"handleVertexShader\";\nconst shader = `precision highp float;\rattribute vec3 position;\runiform vec3 positionOffset;\runiform mat4 worldViewProjection;\runiform float scale;\rvoid main(void) {\rvec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);\rgl_Position=worldViewProjection*vPos;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport const handleVertexShader = { name, shader };\n"]}
@@ -1,5 +1,5 @@
1
- export * from "./fluent/index";
2
- export * from "./fluentButton/index";
3
- export * from "./fluentBackplate/index";
4
- export * from "./handle/index";
5
- export * from "./mrdl/index";
1
+ export * from "./fluent/index";
2
+ export * from "./fluentButton/index";
3
+ export * from "./fluentBackplate/index";
4
+ export * from "./handle/index";
5
+ export * from "./mrdl/index";
@@ -1,6 +1,7 @@
1
- export * from "./fluent/index.js";
2
- export * from "./fluentButton/index.js";
3
- export * from "./fluentBackplate/index.js";
4
- export * from "./handle/index.js";
5
- export * from "./mrdl/index.js";
1
+ /* eslint-disable import/no-internal-modules */
2
+ export * from "./fluent/index";
3
+ export * from "./fluentButton/index";
4
+ export * from "./fluentBackplate/index";
5
+ export * from "./handle/index";
6
+ export * from "./mrdl/index";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/3D/materials/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./fluent/index\";\nexport * from \"./fluentButton/index\";\nexport * from \"./fluentBackplate/index\";\nexport * from \"./handle/index\";\nexport * from \"./mrdl/index\";"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/materials/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nexport * from \"./fluent/index\";\r\nexport * from \"./fluentButton/index\";\r\nexport * from \"./fluentBackplate/index\";\r\nexport * from \"./handle/index\";\r\nexport * from \"./mrdl/index\";\r\n"]}
@@ -1,3 +1,3 @@
1
- export * from "./mrdlSliderBarMaterial";
2
- export * from "./mrdlSliderThumbMaterial";
3
- export * from "./mrdlBackplateMaterial";
1
+ export * from "./mrdlSliderBarMaterial";
2
+ export * from "./mrdlSliderThumbMaterial";
3
+ export * from "./mrdlBackplateMaterial";
@@ -1,4 +1,4 @@
1
- export * from "./mrdlSliderBarMaterial.js";
2
- export * from "./mrdlSliderThumbMaterial.js";
3
- export * from "./mrdlBackplateMaterial.js";
1
+ export * from "./mrdlSliderBarMaterial";
2
+ export * from "./mrdlSliderThumbMaterial";
3
+ export * from "./mrdlBackplateMaterial";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../sourceES6/gui/src/3D/materials/mrdl/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC","sourcesContent":["export * from \"./mrdlSliderBarMaterial\";\r\nexport * from \"./mrdlSliderThumbMaterial\";\r\nexport * from \"./mrdlBackplateMaterial\";"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/mrdl/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC","sourcesContent":["export * from \"./mrdlSliderBarMaterial\";\r\nexport * from \"./mrdlSliderThumbMaterial\";\r\nexport * from \"./mrdlBackplateMaterial\";\r\n"]}