@reactvision/react-viro 2.42.0 → 2.43.1

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 (475) hide show
  1. package/README.md +12 -6
  2. package/android/react_viro/react_viro-release.aar +0 -0
  3. package/components/AR/ViroARPlaneSelector.tsx +76 -37
  4. package/components/Utilities/ViroVersion.ts +1 -1
  5. package/dist/components/AR/ViroARPlaneSelector.d.ts +1 -1
  6. package/dist/components/AR/ViroARPlaneSelector.js +46 -18
  7. package/dist/components/Utilities/ViroVersion.d.ts +1 -1
  8. package/dist/components/Utilities/ViroVersion.js +1 -1
  9. package/dist/dynamic-index.d.ts +11 -0
  10. package/dist/dynamic-index.js +28 -0
  11. package/dist/examples/AutoDetectionExample.d.ts +10 -0
  12. package/dist/examples/AutoDetectionExample.js +91 -0
  13. package/dist/fabric-interop/NativeViro.d.ts +42 -0
  14. package/dist/fabric-interop/NativeViro.js +262 -0
  15. package/dist/fabric-interop/ViroEventsManager.d.ts +83 -0
  16. package/dist/fabric-interop/ViroEventsManager.js +222 -0
  17. package/dist/fabric-interop/ViroFabricContainer.d.ts +34 -0
  18. package/dist/fabric-interop/ViroFabricContainer.js +200 -0
  19. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +35 -0
  20. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +20 -0
  21. package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +22 -0
  22. package/dist/fabric-interop/components/AR/ViroARPlane.js +95 -0
  23. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +43 -0
  24. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +152 -0
  25. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +55 -0
  26. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +85 -0
  27. package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +91 -0
  28. package/dist/fabric-interop/components/AR/ViroCommonProps.js +7 -0
  29. package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +48 -0
  30. package/dist/fabric-interop/components/Animation/ViroAnimations.js +64 -0
  31. package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +66 -0
  32. package/dist/fabric-interop/components/Material/ViroMaterials.js +85 -0
  33. package/dist/fabric-interop/components/Types/ViroEvents.d.ts +202 -0
  34. package/dist/fabric-interop/components/Types/ViroEvents.js +53 -0
  35. package/dist/fabric-interop/components/Types/ViroUtils.d.ts +137 -0
  36. package/dist/fabric-interop/components/Types/ViroUtils.js +7 -0
  37. package/dist/fabric-interop/components/Viro360Image.d.ts +23 -0
  38. package/dist/fabric-interop/components/Viro360Image.js +45 -0
  39. package/dist/fabric-interop/components/Viro360Video.d.ts +29 -0
  40. package/dist/fabric-interop/components/Viro360Video.js +47 -0
  41. package/dist/fabric-interop/components/Viro3DObject.d.ts +60 -0
  42. package/dist/fabric-interop/components/Viro3DObject.js +49 -0
  43. package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +49 -0
  44. package/dist/fabric-interop/components/Viro3DSceneNavigator.js +388 -0
  45. package/dist/fabric-interop/components/ViroARCamera.d.ts +29 -0
  46. package/dist/fabric-interop/components/ViroARCamera.js +64 -0
  47. package/dist/fabric-interop/components/ViroARImageMarker.d.ts +21 -0
  48. package/dist/fabric-interop/components/ViroARImageMarker.js +71 -0
  49. package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +21 -0
  50. package/dist/fabric-interop/components/ViroARObjectMarker.js +71 -0
  51. package/dist/fabric-interop/components/ViroARPlane.d.ts +24 -0
  52. package/dist/fabric-interop/components/ViroARPlane.js +88 -0
  53. package/dist/fabric-interop/components/ViroARScene.d.ts +29 -0
  54. package/dist/fabric-interop/components/ViroARScene.js +89 -0
  55. package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +29 -0
  56. package/dist/fabric-interop/components/ViroARSceneNavigator.js +76 -0
  57. package/dist/fabric-interop/components/ViroAmbientLight.d.ts +19 -0
  58. package/dist/fabric-interop/components/ViroAmbientLight.js +46 -0
  59. package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +24 -0
  60. package/dist/fabric-interop/components/ViroAnimatedComponent.js +63 -0
  61. package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +28 -0
  62. package/dist/fabric-interop/components/ViroAnimatedImage.js +49 -0
  63. package/dist/fabric-interop/components/ViroBox.d.ts +20 -0
  64. package/dist/fabric-interop/components/ViroBox.js +47 -0
  65. package/dist/fabric-interop/components/ViroButton.d.ts +32 -0
  66. package/dist/fabric-interop/components/ViroButton.js +92 -0
  67. package/dist/fabric-interop/components/ViroCamera.d.ts +17 -0
  68. package/dist/fabric-interop/components/ViroCamera.js +30 -0
  69. package/dist/fabric-interop/components/ViroController.d.ts +19 -0
  70. package/dist/fabric-interop/components/ViroController.js +64 -0
  71. package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +28 -0
  72. package/dist/fabric-interop/components/ViroDirectionalLight.js +55 -0
  73. package/dist/fabric-interop/components/ViroFlexView.d.ts +36 -0
  74. package/dist/fabric-interop/components/ViroFlexView.js +97 -0
  75. package/dist/fabric-interop/components/ViroGeometry.d.ts +23 -0
  76. package/dist/fabric-interop/components/ViroGeometry.js +50 -0
  77. package/dist/fabric-interop/components/ViroGlobal.d.ts +45 -0
  78. package/dist/fabric-interop/components/ViroGlobal.js +20 -0
  79. package/dist/fabric-interop/components/ViroImage.d.ts +29 -0
  80. package/dist/fabric-interop/components/ViroImage.js +52 -0
  81. package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +19 -0
  82. package/dist/fabric-interop/components/ViroLightingEnvironment.js +44 -0
  83. package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +30 -0
  84. package/dist/fabric-interop/components/ViroMaterialVideo.js +48 -0
  85. package/dist/fabric-interop/components/ViroNode.d.ts +36 -0
  86. package/dist/fabric-interop/components/ViroNode.js +28 -0
  87. package/dist/fabric-interop/components/ViroOmniLight.d.ts +21 -0
  88. package/dist/fabric-interop/components/ViroOmniLight.js +48 -0
  89. package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +17 -0
  90. package/dist/fabric-interop/components/ViroOrbitCamera.js +30 -0
  91. package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +51 -0
  92. package/dist/fabric-interop/components/ViroParticleEmitter.js +50 -0
  93. package/dist/fabric-interop/components/ViroPolygon.d.ts +20 -0
  94. package/dist/fabric-interop/components/ViroPolygon.js +47 -0
  95. package/dist/fabric-interop/components/ViroPolyline.d.ts +19 -0
  96. package/dist/fabric-interop/components/ViroPolyline.js +46 -0
  97. package/dist/fabric-interop/components/ViroPortal.d.ts +16 -0
  98. package/dist/fabric-interop/components/ViroPortal.js +73 -0
  99. package/dist/fabric-interop/components/ViroPortalScene.d.ts +16 -0
  100. package/dist/fabric-interop/components/ViroPortalScene.js +29 -0
  101. package/dist/fabric-interop/components/ViroQuad.d.ts +39 -0
  102. package/dist/fabric-interop/components/ViroQuad.js +49 -0
  103. package/dist/fabric-interop/components/ViroScene.d.ts +29 -0
  104. package/dist/fabric-interop/components/ViroScene.js +103 -0
  105. package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +23 -0
  106. package/dist/fabric-interop/components/ViroSceneNavigator.js +73 -0
  107. package/dist/fabric-interop/components/ViroSkyBox.d.ts +39 -0
  108. package/dist/fabric-interop/components/ViroSkyBox.js +44 -0
  109. package/dist/fabric-interop/components/ViroSound.d.ts +23 -0
  110. package/dist/fabric-interop/components/ViroSound.js +46 -0
  111. package/dist/fabric-interop/components/ViroSoundField.d.ts +24 -0
  112. package/dist/fabric-interop/components/ViroSoundField.js +47 -0
  113. package/dist/fabric-interop/components/ViroSpatialSound.d.ts +27 -0
  114. package/dist/fabric-interop/components/ViroSpatialSound.js +50 -0
  115. package/dist/fabric-interop/components/ViroSphere.d.ts +22 -0
  116. package/dist/fabric-interop/components/ViroSphere.js +49 -0
  117. package/dist/fabric-interop/components/ViroSpinner.d.ts +18 -0
  118. package/dist/fabric-interop/components/ViroSpinner.js +45 -0
  119. package/dist/fabric-interop/components/ViroSpotLight.d.ts +30 -0
  120. package/dist/fabric-interop/components/ViroSpotLight.js +57 -0
  121. package/dist/fabric-interop/components/ViroSurface.d.ts +38 -0
  122. package/dist/fabric-interop/components/ViroSurface.js +48 -0
  123. package/dist/fabric-interop/components/ViroText.d.ts +36 -0
  124. package/dist/fabric-interop/components/ViroText.js +59 -0
  125. package/dist/fabric-interop/components/ViroUtils.d.ts +63 -0
  126. package/dist/fabric-interop/components/ViroUtils.js +140 -0
  127. package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +25 -0
  128. package/dist/fabric-interop/components/ViroVRSceneNavigator.js +73 -0
  129. package/dist/fabric-interop/components/ViroVideo.d.ts +32 -0
  130. package/dist/fabric-interop/components/ViroVideo.js +52 -0
  131. package/dist/fabric-interop/components/index.d.ts +62 -0
  132. package/dist/fabric-interop/components/index.js +144 -0
  133. package/dist/fabric-interop/examples/BasicSceneExample.d.ts +11 -0
  134. package/dist/fabric-interop/examples/BasicSceneExample.js +244 -0
  135. package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +13 -0
  136. package/dist/fabric-interop/examples/ComprehensiveExample.js +327 -0
  137. package/dist/fabric-interop/examples/SimpleARExample.d.ts +8 -0
  138. package/dist/fabric-interop/examples/SimpleARExample.js +62 -0
  139. package/dist/fabric-interop/index.d.ts +14 -0
  140. package/dist/fabric-interop/index.js +117 -0
  141. package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +19 -0
  142. package/dist/fabric-interop/specs/ViroEventsTurboModule.js +11 -0
  143. package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +9 -0
  144. package/dist/fabric-interop/test/BasicFunctionalityTest.js +222 -0
  145. package/dist/fabric.d.ts +13 -0
  146. package/dist/fabric.js +29 -0
  147. package/dist/plugins/withViro.d.ts +3 -0
  148. package/dist/plugins/withViro.js +19 -0
  149. package/dist/plugins/withViroAndroid.js +24 -20
  150. package/dist/plugins/withViroIos.js +20 -2
  151. package/dynamic-index-source.d.ts +77 -0
  152. package/dynamic-index.ts +41 -0
  153. package/fabric-interop/NativeViro.ts +335 -0
  154. package/fabric-interop/README.md +282 -0
  155. package/fabric-interop/ViroEventsManager.js +257 -0
  156. package/fabric-interop/ViroFabricContainer.tsx +273 -0
  157. package/fabric-interop/components/AR/ViroARPlane.tsx +108 -0
  158. package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +185 -0
  159. package/fabric-interop/components/AR/ViroARTrackingTargets.ts +108 -0
  160. package/fabric-interop/components/AR/ViroCommonProps.ts +140 -0
  161. package/fabric-interop/components/Animation/ViroAnimations.ts +96 -0
  162. package/fabric-interop/components/Material/ViroMaterials.ts +127 -0
  163. package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
  164. package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
  165. package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
  166. package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
  167. package/fabric-interop/components/Types/ViroEvents.ts +285 -0
  168. package/fabric-interop/components/Types/ViroUtils.ts +160 -0
  169. package/fabric-interop/components/Viro360Image.tsx +70 -0
  170. package/fabric-interop/components/Viro360Video.tsx +78 -0
  171. package/fabric-interop/components/Viro3DObject.tsx +122 -0
  172. package/fabric-interop/components/Viro3DSceneNavigator.tsx +503 -0
  173. package/fabric-interop/components/ViroARCamera.tsx +105 -0
  174. package/fabric-interop/components/ViroARImageMarker.tsx +98 -0
  175. package/fabric-interop/components/ViroARObjectMarker.tsx +100 -0
  176. package/fabric-interop/components/ViroARPlane.tsx +120 -0
  177. package/fabric-interop/components/ViroARScene.tsx +127 -0
  178. package/fabric-interop/components/ViroARSceneNavigator.tsx +82 -0
  179. package/fabric-interop/components/ViroAmbientLight.tsx +62 -0
  180. package/fabric-interop/components/ViroAnimatedComponent.tsx +91 -0
  181. package/fabric-interop/components/ViroAnimatedImage.tsx +81 -0
  182. package/fabric-interop/components/ViroBox.tsx +72 -0
  183. package/fabric-interop/components/ViroButton.tsx +125 -0
  184. package/fabric-interop/components/ViroCamera.tsx +45 -0
  185. package/fabric-interop/components/ViroController.tsx +87 -0
  186. package/fabric-interop/components/ViroDirectionalLight.tsx +84 -0
  187. package/fabric-interop/components/ViroFlexView.tsx +146 -0
  188. package/fabric-interop/components/ViroGeometry.tsx +78 -0
  189. package/fabric-interop/components/ViroGlobal.ts +114 -0
  190. package/fabric-interop/components/ViroImage.tsx +85 -0
  191. package/fabric-interop/components/ViroLightingEnvironment.tsx +63 -0
  192. package/fabric-interop/components/ViroMaterialVideo.tsx +82 -0
  193. package/fabric-interop/components/ViroNode.tsx +62 -0
  194. package/fabric-interop/components/ViroOmniLight.tsx +66 -0
  195. package/fabric-interop/components/ViroOrbitCamera.tsx +45 -0
  196. package/fabric-interop/components/ViroParticleEmitter.tsx +111 -0
  197. package/fabric-interop/components/ViroPolygon.tsx +72 -0
  198. package/fabric-interop/components/ViroPolyline.tsx +71 -0
  199. package/fabric-interop/components/ViroPortal.tsx +91 -0
  200. package/fabric-interop/components/ViroPortalScene.tsx +43 -0
  201. package/fabric-interop/components/ViroQuad.tsx +82 -0
  202. package/fabric-interop/components/ViroScene.tsx +117 -0
  203. package/fabric-interop/components/ViroSceneNavigator.tsx +71 -0
  204. package/fabric-interop/components/ViroSkyBox.tsx +75 -0
  205. package/fabric-interop/components/ViroSound.tsx +71 -0
  206. package/fabric-interop/components/ViroSoundField.tsx +75 -0
  207. package/fabric-interop/components/ViroSpatialSound.tsx +81 -0
  208. package/fabric-interop/components/ViroSphere.tsx +75 -0
  209. package/fabric-interop/components/ViroSpinner.tsx +63 -0
  210. package/fabric-interop/components/ViroSpotLight.tsx +86 -0
  211. package/fabric-interop/components/ViroSurface.tsx +80 -0
  212. package/fabric-interop/components/ViroText.tsx +114 -0
  213. package/fabric-interop/components/ViroUtils.ts +208 -0
  214. package/fabric-interop/components/ViroVRSceneNavigator.tsx +75 -0
  215. package/fabric-interop/components/ViroVideo.tsx +91 -0
  216. package/fabric-interop/components/index.ts +94 -0
  217. package/fabric-interop/dist/NativeViro.d.ts +43 -0
  218. package/fabric-interop/dist/NativeViro.d.ts.map +1 -0
  219. package/fabric-interop/dist/NativeViro.js +263 -0
  220. package/fabric-interop/dist/NativeViro.js.map +1 -0
  221. package/fabric-interop/dist/ViroFabricContainer.d.ts +35 -0
  222. package/fabric-interop/dist/ViroFabricContainer.d.ts.map +1 -0
  223. package/fabric-interop/dist/ViroFabricContainer.js +201 -0
  224. package/fabric-interop/dist/ViroFabricContainer.js.map +1 -0
  225. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +23 -0
  226. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +1 -0
  227. package/fabric-interop/dist/components/AR/ViroARPlane.js +96 -0
  228. package/fabric-interop/dist/components/AR/ViroARPlane.js.map +1 -0
  229. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +44 -0
  230. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +1 -0
  231. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +156 -0
  232. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +1 -0
  233. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +56 -0
  234. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +1 -0
  235. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +86 -0
  236. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +1 -0
  237. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +92 -0
  238. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +1 -0
  239. package/fabric-interop/dist/components/AR/ViroCommonProps.js +8 -0
  240. package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +1 -0
  241. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +49 -0
  242. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +1 -0
  243. package/fabric-interop/dist/components/Animation/ViroAnimations.js +65 -0
  244. package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +1 -0
  245. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +67 -0
  246. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +1 -0
  247. package/fabric-interop/dist/components/Material/ViroMaterials.js +86 -0
  248. package/fabric-interop/dist/components/Material/ViroMaterials.js.map +1 -0
  249. package/fabric-interop/dist/components/Types/ViroEvents.d.ts +203 -0
  250. package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +1 -0
  251. package/fabric-interop/dist/components/Types/ViroEvents.js +54 -0
  252. package/fabric-interop/dist/components/Types/ViroEvents.js.map +1 -0
  253. package/fabric-interop/dist/components/Types/ViroUtils.d.ts +138 -0
  254. package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +1 -0
  255. package/fabric-interop/dist/components/Types/ViroUtils.js +8 -0
  256. package/fabric-interop/dist/components/Types/ViroUtils.js.map +1 -0
  257. package/fabric-interop/dist/components/Viro360Image.d.ts +24 -0
  258. package/fabric-interop/dist/components/Viro360Image.d.ts.map +1 -0
  259. package/fabric-interop/dist/components/Viro360Image.js +47 -0
  260. package/fabric-interop/dist/components/Viro360Image.js.map +1 -0
  261. package/fabric-interop/dist/components/Viro360Video.d.ts +30 -0
  262. package/fabric-interop/dist/components/Viro360Video.d.ts.map +1 -0
  263. package/fabric-interop/dist/components/Viro360Video.js +49 -0
  264. package/fabric-interop/dist/components/Viro360Video.js.map +1 -0
  265. package/fabric-interop/dist/components/Viro3DObject.d.ts +61 -0
  266. package/fabric-interop/dist/components/Viro3DObject.d.ts.map +1 -0
  267. package/fabric-interop/dist/components/Viro3DObject.js +51 -0
  268. package/fabric-interop/dist/components/Viro3DObject.js.map +1 -0
  269. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +50 -0
  270. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +1 -0
  271. package/fabric-interop/dist/components/Viro3DSceneNavigator.js +389 -0
  272. package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +1 -0
  273. package/fabric-interop/dist/components/ViroARCamera.d.ts +30 -0
  274. package/fabric-interop/dist/components/ViroARCamera.d.ts.map +1 -0
  275. package/fabric-interop/dist/components/ViroARCamera.js +65 -0
  276. package/fabric-interop/dist/components/ViroARCamera.js.map +1 -0
  277. package/fabric-interop/dist/components/ViroARImageMarker.d.ts +22 -0
  278. package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +1 -0
  279. package/fabric-interop/dist/components/ViroARImageMarker.js +72 -0
  280. package/fabric-interop/dist/components/ViroARImageMarker.js.map +1 -0
  281. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +22 -0
  282. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +1 -0
  283. package/fabric-interop/dist/components/ViroARObjectMarker.js +72 -0
  284. package/fabric-interop/dist/components/ViroARObjectMarker.js.map +1 -0
  285. package/fabric-interop/dist/components/ViroARPlane.d.ts +25 -0
  286. package/fabric-interop/dist/components/ViroARPlane.d.ts.map +1 -0
  287. package/fabric-interop/dist/components/ViroARPlane.js +89 -0
  288. package/fabric-interop/dist/components/ViroARPlane.js.map +1 -0
  289. package/fabric-interop/dist/components/ViroARScene.d.ts +30 -0
  290. package/fabric-interop/dist/components/ViroARScene.d.ts.map +1 -0
  291. package/fabric-interop/dist/components/ViroARScene.js +90 -0
  292. package/fabric-interop/dist/components/ViroARScene.js.map +1 -0
  293. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +30 -0
  294. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +1 -0
  295. package/fabric-interop/dist/components/ViroARSceneNavigator.js +78 -0
  296. package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +1 -0
  297. package/fabric-interop/dist/components/ViroAmbientLight.d.ts +20 -0
  298. package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +1 -0
  299. package/fabric-interop/dist/components/ViroAmbientLight.js +48 -0
  300. package/fabric-interop/dist/components/ViroAmbientLight.js.map +1 -0
  301. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +25 -0
  302. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +1 -0
  303. package/fabric-interop/dist/components/ViroAnimatedComponent.js +65 -0
  304. package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +1 -0
  305. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +29 -0
  306. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +1 -0
  307. package/fabric-interop/dist/components/ViroAnimatedImage.js +51 -0
  308. package/fabric-interop/dist/components/ViroAnimatedImage.js.map +1 -0
  309. package/fabric-interop/dist/components/ViroBox.d.ts +21 -0
  310. package/fabric-interop/dist/components/ViroBox.d.ts.map +1 -0
  311. package/fabric-interop/dist/components/ViroBox.js +49 -0
  312. package/fabric-interop/dist/components/ViroBox.js.map +1 -0
  313. package/fabric-interop/dist/components/ViroButton.d.ts +33 -0
  314. package/fabric-interop/dist/components/ViroButton.d.ts.map +1 -0
  315. package/fabric-interop/dist/components/ViroButton.js +94 -0
  316. package/fabric-interop/dist/components/ViroButton.js.map +1 -0
  317. package/fabric-interop/dist/components/ViroCamera.d.ts +18 -0
  318. package/fabric-interop/dist/components/ViroCamera.d.ts.map +1 -0
  319. package/fabric-interop/dist/components/ViroCamera.js +31 -0
  320. package/fabric-interop/dist/components/ViroCamera.js.map +1 -0
  321. package/fabric-interop/dist/components/ViroController.d.ts +20 -0
  322. package/fabric-interop/dist/components/ViroController.d.ts.map +1 -0
  323. package/fabric-interop/dist/components/ViroController.js +65 -0
  324. package/fabric-interop/dist/components/ViroController.js.map +1 -0
  325. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +29 -0
  326. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +1 -0
  327. package/fabric-interop/dist/components/ViroDirectionalLight.js +57 -0
  328. package/fabric-interop/dist/components/ViroDirectionalLight.js.map +1 -0
  329. package/fabric-interop/dist/components/ViroFlexView.d.ts +37 -0
  330. package/fabric-interop/dist/components/ViroFlexView.d.ts.map +1 -0
  331. package/fabric-interop/dist/components/ViroFlexView.js +98 -0
  332. package/fabric-interop/dist/components/ViroFlexView.js.map +1 -0
  333. package/fabric-interop/dist/components/ViroGeometry.d.ts +24 -0
  334. package/fabric-interop/dist/components/ViroGeometry.d.ts.map +1 -0
  335. package/fabric-interop/dist/components/ViroGeometry.js +52 -0
  336. package/fabric-interop/dist/components/ViroGeometry.js.map +1 -0
  337. package/fabric-interop/dist/components/ViroGlobal.d.ts +46 -0
  338. package/fabric-interop/dist/components/ViroGlobal.d.ts.map +1 -0
  339. package/fabric-interop/dist/components/ViroGlobal.js +21 -0
  340. package/fabric-interop/dist/components/ViroGlobal.js.map +1 -0
  341. package/fabric-interop/dist/components/ViroImage.d.ts +30 -0
  342. package/fabric-interop/dist/components/ViroImage.d.ts.map +1 -0
  343. package/fabric-interop/dist/components/ViroImage.js +54 -0
  344. package/fabric-interop/dist/components/ViroImage.js.map +1 -0
  345. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +20 -0
  346. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +1 -0
  347. package/fabric-interop/dist/components/ViroLightingEnvironment.js +46 -0
  348. package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +1 -0
  349. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +31 -0
  350. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +1 -0
  351. package/fabric-interop/dist/components/ViroMaterialVideo.js +50 -0
  352. package/fabric-interop/dist/components/ViroMaterialVideo.js.map +1 -0
  353. package/fabric-interop/dist/components/ViroNode.d.ts +37 -0
  354. package/fabric-interop/dist/components/ViroNode.d.ts.map +1 -0
  355. package/fabric-interop/dist/components/ViroNode.js +29 -0
  356. package/fabric-interop/dist/components/ViroNode.js.map +1 -0
  357. package/fabric-interop/dist/components/ViroOmniLight.d.ts +22 -0
  358. package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +1 -0
  359. package/fabric-interop/dist/components/ViroOmniLight.js +50 -0
  360. package/fabric-interop/dist/components/ViroOmniLight.js.map +1 -0
  361. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +18 -0
  362. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +1 -0
  363. package/fabric-interop/dist/components/ViroOrbitCamera.js +31 -0
  364. package/fabric-interop/dist/components/ViroOrbitCamera.js.map +1 -0
  365. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +52 -0
  366. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +1 -0
  367. package/fabric-interop/dist/components/ViroParticleEmitter.js +52 -0
  368. package/fabric-interop/dist/components/ViroParticleEmitter.js.map +1 -0
  369. package/fabric-interop/dist/components/ViroPolygon.d.ts +21 -0
  370. package/fabric-interop/dist/components/ViroPolygon.d.ts.map +1 -0
  371. package/fabric-interop/dist/components/ViroPolygon.js +49 -0
  372. package/fabric-interop/dist/components/ViroPolygon.js.map +1 -0
  373. package/fabric-interop/dist/components/ViroPolyline.d.ts +20 -0
  374. package/fabric-interop/dist/components/ViroPolyline.d.ts.map +1 -0
  375. package/fabric-interop/dist/components/ViroPolyline.js +48 -0
  376. package/fabric-interop/dist/components/ViroPolyline.js.map +1 -0
  377. package/fabric-interop/dist/components/ViroPortal.d.ts +17 -0
  378. package/fabric-interop/dist/components/ViroPortal.d.ts.map +1 -0
  379. package/fabric-interop/dist/components/ViroPortal.js +74 -0
  380. package/fabric-interop/dist/components/ViroPortal.js.map +1 -0
  381. package/fabric-interop/dist/components/ViroPortalScene.d.ts +17 -0
  382. package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +1 -0
  383. package/fabric-interop/dist/components/ViroPortalScene.js +30 -0
  384. package/fabric-interop/dist/components/ViroPortalScene.js.map +1 -0
  385. package/fabric-interop/dist/components/ViroQuad.d.ts +40 -0
  386. package/fabric-interop/dist/components/ViroQuad.d.ts.map +1 -0
  387. package/fabric-interop/dist/components/ViroQuad.js +51 -0
  388. package/fabric-interop/dist/components/ViroQuad.js.map +1 -0
  389. package/fabric-interop/dist/components/ViroScene.d.ts +30 -0
  390. package/fabric-interop/dist/components/ViroScene.d.ts.map +1 -0
  391. package/fabric-interop/dist/components/ViroScene.js +105 -0
  392. package/fabric-interop/dist/components/ViroScene.js.map +1 -0
  393. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +24 -0
  394. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +1 -0
  395. package/fabric-interop/dist/components/ViroSceneNavigator.js +74 -0
  396. package/fabric-interop/dist/components/ViroSceneNavigator.js.map +1 -0
  397. package/fabric-interop/dist/components/ViroSkyBox.d.ts +40 -0
  398. package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +1 -0
  399. package/fabric-interop/dist/components/ViroSkyBox.js +46 -0
  400. package/fabric-interop/dist/components/ViroSkyBox.js.map +1 -0
  401. package/fabric-interop/dist/components/ViroSound.d.ts +24 -0
  402. package/fabric-interop/dist/components/ViroSound.d.ts.map +1 -0
  403. package/fabric-interop/dist/components/ViroSound.js +48 -0
  404. package/fabric-interop/dist/components/ViroSound.js.map +1 -0
  405. package/fabric-interop/dist/components/ViroSoundField.d.ts +25 -0
  406. package/fabric-interop/dist/components/ViroSoundField.d.ts.map +1 -0
  407. package/fabric-interop/dist/components/ViroSoundField.js +49 -0
  408. package/fabric-interop/dist/components/ViroSoundField.js.map +1 -0
  409. package/fabric-interop/dist/components/ViroSpatialSound.d.ts +28 -0
  410. package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +1 -0
  411. package/fabric-interop/dist/components/ViroSpatialSound.js +52 -0
  412. package/fabric-interop/dist/components/ViroSpatialSound.js.map +1 -0
  413. package/fabric-interop/dist/components/ViroSphere.d.ts +23 -0
  414. package/fabric-interop/dist/components/ViroSphere.d.ts.map +1 -0
  415. package/fabric-interop/dist/components/ViroSphere.js +51 -0
  416. package/fabric-interop/dist/components/ViroSphere.js.map +1 -0
  417. package/fabric-interop/dist/components/ViroSpinner.d.ts +19 -0
  418. package/fabric-interop/dist/components/ViroSpinner.d.ts.map +1 -0
  419. package/fabric-interop/dist/components/ViroSpinner.js +47 -0
  420. package/fabric-interop/dist/components/ViroSpinner.js.map +1 -0
  421. package/fabric-interop/dist/components/ViroSpotLight.d.ts +31 -0
  422. package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +1 -0
  423. package/fabric-interop/dist/components/ViroSpotLight.js +59 -0
  424. package/fabric-interop/dist/components/ViroSpotLight.js.map +1 -0
  425. package/fabric-interop/dist/components/ViroSurface.d.ts +39 -0
  426. package/fabric-interop/dist/components/ViroSurface.d.ts.map +1 -0
  427. package/fabric-interop/dist/components/ViroSurface.js +50 -0
  428. package/fabric-interop/dist/components/ViroSurface.js.map +1 -0
  429. package/fabric-interop/dist/components/ViroText.d.ts +37 -0
  430. package/fabric-interop/dist/components/ViroText.d.ts.map +1 -0
  431. package/fabric-interop/dist/components/ViroText.js +61 -0
  432. package/fabric-interop/dist/components/ViroText.js.map +1 -0
  433. package/fabric-interop/dist/components/ViroUtils.d.ts +64 -0
  434. package/fabric-interop/dist/components/ViroUtils.d.ts.map +1 -0
  435. package/fabric-interop/dist/components/ViroUtils.js +141 -0
  436. package/fabric-interop/dist/components/ViroUtils.js.map +1 -0
  437. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +26 -0
  438. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +1 -0
  439. package/fabric-interop/dist/components/ViroVRSceneNavigator.js +74 -0
  440. package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +1 -0
  441. package/fabric-interop/dist/components/ViroVideo.d.ts +33 -0
  442. package/fabric-interop/dist/components/ViroVideo.d.ts.map +1 -0
  443. package/fabric-interop/dist/components/ViroVideo.js +54 -0
  444. package/fabric-interop/dist/components/ViroVideo.js.map +1 -0
  445. package/fabric-interop/dist/components/index.d.ts +63 -0
  446. package/fabric-interop/dist/components/index.d.ts.map +1 -0
  447. package/fabric-interop/dist/components/index.js +145 -0
  448. package/fabric-interop/dist/components/index.js.map +1 -0
  449. package/fabric-interop/dist/index.d.ts +15 -0
  450. package/fabric-interop/dist/index.d.ts.map +1 -0
  451. package/fabric-interop/dist/index.js +118 -0
  452. package/fabric-interop/dist/index.js.map +1 -0
  453. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +20 -0
  454. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +1 -0
  455. package/fabric-interop/dist/specs/ViroEventsTurboModule.js +12 -0
  456. package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +1 -0
  457. package/fabric-interop/examples/BasicSceneExample.tsx +287 -0
  458. package/fabric-interop/examples/ComprehensiveExample.tsx +441 -0
  459. package/fabric-interop/examples/SimpleARExample.tsx +95 -0
  460. package/fabric-interop/global.d.ts +14 -0
  461. package/fabric-interop/index.ts +107 -0
  462. package/fabric-interop/metro.config.js +12 -0
  463. package/fabric-interop/package.json +40 -0
  464. package/fabric-interop/react-native.config.js +22 -0
  465. package/fabric-interop/scripts/validate-build.js +393 -0
  466. package/fabric-interop/scripts/validate-implementation.js +272 -0
  467. package/fabric-interop/specs/README.md +22 -0
  468. package/fabric-interop/specs/ViroEventsTurboModule.ts +27 -0
  469. package/fabric-interop/test/BasicFunctionalityTest.tsx +243 -0
  470. package/fabric-interop/tsconfig.json +38 -0
  471. package/fabric.d.ts +5 -0
  472. package/fabric.ts +14 -0
  473. package/ios/ViroReact.podspec +51 -11
  474. package/package.json +33 -20
  475. package/scripts/copy-types.js +46 -0
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ViroSphere
3
+ *
4
+ * A 3D sphere component with customizable radius and materials.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroSphereProps extends ViroCommonProps {
9
+ radius?: number;
10
+ facesCount?: number;
11
+ segmentCount?: number;
12
+ widthSegmentCount?: number;
13
+ heightSegmentCount?: number;
14
+ materials?: string | string[];
15
+ lightReceivingBitMask?: number;
16
+ shadowCastingBitMask?: number;
17
+ highAccuracyEvents?: boolean;
18
+ }
19
+ /**
20
+ * ViroSphere is a 3D sphere component with customizable radius and materials.
21
+ */
22
+ export declare const ViroSphere: React.FC<ViroSphereProps>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * ViroSphere
4
+ *
5
+ * A 3D sphere component with customizable radius and materials.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroSphere = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroSphere is a 3D sphere component with customizable radius and materials.
12
+ */
13
+ const ViroSphere = (props) => {
14
+ // Convert common props to the format expected by the native code
15
+ const nativeProps = {
16
+ ...(0, ViroUtils_1.convertCommonProps)(props),
17
+ radius: props.radius ?? 1,
18
+ facesCount: props.facesCount,
19
+ segmentCount: props.segmentCount,
20
+ widthSegmentCount: props.widthSegmentCount,
21
+ heightSegmentCount: props.heightSegmentCount,
22
+ materials: props.materials,
23
+ lightReceivingBitMask: props.lightReceivingBitMask,
24
+ shadowCastingBitMask: props.shadowCastingBitMask,
25
+ highAccuracyEvents: props.highAccuracyEvents,
26
+ };
27
+ // Create the node (parent will be determined by context)
28
+ const nodeId = (0, ViroUtils_1.useViroNode)("sphere", nativeProps);
29
+ // Register event handlers using our new event system
30
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
31
+ onHover: props.onHover,
32
+ onClick: props.onClick,
33
+ onClickState: props.onClickState,
34
+ onTouch: props.onTouch,
35
+ onScroll: props.onScroll,
36
+ onSwipe: props.onSwipe,
37
+ onDrag: props.onDrag,
38
+ onPinch: props.onPinch,
39
+ onRotate: props.onRotate,
40
+ onFuse: typeof props.onFuse === "function"
41
+ ? props.onFuse
42
+ : props.onFuse?.callback,
43
+ onCollision: props.onCollision,
44
+ onTransformUpdate: props.onTransformUpdate,
45
+ });
46
+ // Sphere doesn't have children, so just return null
47
+ return null;
48
+ };
49
+ exports.ViroSphere = ViroSphere;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * ViroSpinner
3
+ *
4
+ * A component for displaying loading spinners in 3D space.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroSpinnerProps extends ViroCommonProps {
9
+ type?: "light" | "dark";
10
+ size?: "small" | "large";
11
+ lightReceivingBitMask?: number;
12
+ shadowCastingBitMask?: number;
13
+ }
14
+ /**
15
+ * ViroSpinner is a component for displaying loading spinners in 3D space.
16
+ * It provides visual feedback during loading operations.
17
+ */
18
+ export declare const ViroSpinner: React.FC<ViroSpinnerProps>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * ViroSpinner
4
+ *
5
+ * A component for displaying loading spinners in 3D space.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroSpinner = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroSpinner is a component for displaying loading spinners in 3D space.
12
+ * It provides visual feedback during loading operations.
13
+ */
14
+ const ViroSpinner = (props) => {
15
+ // Convert common props to the format expected by the native code
16
+ const nativeProps = {
17
+ ...(0, ViroUtils_1.convertCommonProps)(props),
18
+ type: props.type,
19
+ size: props.size,
20
+ lightReceivingBitMask: props.lightReceivingBitMask,
21
+ shadowCastingBitMask: props.shadowCastingBitMask,
22
+ };
23
+ // Create the node (parent will be determined by context)
24
+ const nodeId = (0, ViroUtils_1.useViroNode)("image", nativeProps);
25
+ // Register event handlers using our new event system
26
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
27
+ onHover: props.onHover,
28
+ onClick: props.onClick,
29
+ onClickState: props.onClickState,
30
+ onTouch: props.onTouch,
31
+ onScroll: props.onScroll,
32
+ onSwipe: props.onSwipe,
33
+ onDrag: props.onDrag,
34
+ onPinch: props.onPinch,
35
+ onRotate: props.onRotate,
36
+ onFuse: typeof props.onFuse === "function"
37
+ ? props.onFuse
38
+ : props.onFuse?.callback,
39
+ onCollision: props.onCollision,
40
+ onTransformUpdate: props.onTransformUpdate,
41
+ });
42
+ // Component doesn't have children, so just return null
43
+ return null;
44
+ };
45
+ exports.ViroSpinner = ViroSpinner;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * ViroSpotLight
3
+ *
4
+ * A component for adding spot lighting to a scene.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroSpotLightProps extends ViroCommonProps {
9
+ color?: string;
10
+ intensity?: number;
11
+ temperature?: number;
12
+ direction?: [number, number, number];
13
+ innerAngle?: number;
14
+ outerAngle?: number;
15
+ attenuationStartDistance?: number;
16
+ attenuationEndDistance?: number;
17
+ influenceBitMask?: number;
18
+ castsShadow?: boolean;
19
+ shadowOpacity?: number;
20
+ shadowMapSize?: number;
21
+ shadowBias?: number;
22
+ shadowNearZ?: number;
23
+ shadowFarZ?: number;
24
+ }
25
+ /**
26
+ * ViroSpotLight is a component for adding spot lighting to a scene.
27
+ * Spot light is a type of light that illuminates objects in a cone-shaped area,
28
+ * similar to a flashlight or stage spotlight.
29
+ */
30
+ export declare const ViroSpotLight: React.FC<ViroSpotLightProps>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * ViroSpotLight
4
+ *
5
+ * A component for adding spot lighting to a scene.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroSpotLight = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroSpotLight is a component for adding spot lighting to a scene.
12
+ * Spot light is a type of light that illuminates objects in a cone-shaped area,
13
+ * similar to a flashlight or stage spotlight.
14
+ */
15
+ const ViroSpotLight = (props) => {
16
+ // Convert common props to the format expected by the native code
17
+ const nativeProps = {
18
+ ...(0, ViroUtils_1.convertCommonProps)(props),
19
+ color: props.color,
20
+ intensity: props.intensity,
21
+ temperature: props.temperature,
22
+ direction: props.direction,
23
+ innerAngle: props.innerAngle,
24
+ outerAngle: props.outerAngle,
25
+ attenuationStartDistance: props.attenuationStartDistance,
26
+ attenuationEndDistance: props.attenuationEndDistance,
27
+ influenceBitMask: props.influenceBitMask,
28
+ castsShadow: props.castsShadow,
29
+ shadowOpacity: props.shadowOpacity,
30
+ shadowMapSize: props.shadowMapSize,
31
+ shadowBias: props.shadowBias,
32
+ shadowNearZ: props.shadowNearZ,
33
+ shadowFarZ: props.shadowFarZ,
34
+ };
35
+ // Create the node (parent will be determined by context)
36
+ const nodeId = (0, ViroUtils_1.useViroNode)("spotLight", nativeProps);
37
+ // Register event handlers using our new event system
38
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
39
+ onHover: props.onHover,
40
+ onClick: props.onClick,
41
+ onClickState: props.onClickState,
42
+ onTouch: props.onTouch,
43
+ onScroll: props.onScroll,
44
+ onSwipe: props.onSwipe,
45
+ onDrag: props.onDrag,
46
+ onPinch: props.onPinch,
47
+ onRotate: props.onRotate,
48
+ onFuse: typeof props.onFuse === "function"
49
+ ? props.onFuse
50
+ : props.onFuse?.callback,
51
+ onCollision: props.onCollision,
52
+ onTransformUpdate: props.onTransformUpdate,
53
+ });
54
+ // Component doesn't have children, so just return null
55
+ return null;
56
+ };
57
+ exports.ViroSpotLight = ViroSpotLight;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * ViroSurface
3
+ *
4
+ * A component for rendering a flat surface in 3D space.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroSurfaceProps extends ViroCommonProps {
9
+ width?: number;
10
+ height?: number;
11
+ uvCoordinates?: [
12
+ [
13
+ number,
14
+ number
15
+ ],
16
+ [
17
+ number,
18
+ number
19
+ ],
20
+ [
21
+ number,
22
+ number
23
+ ],
24
+ [
25
+ number,
26
+ number
27
+ ]
28
+ ];
29
+ materials?: string | string[];
30
+ lightReceivingBitMask?: number;
31
+ shadowCastingBitMask?: number;
32
+ arShadowReceiver?: boolean;
33
+ }
34
+ /**
35
+ * ViroSurface is a component for rendering a flat surface in 3D space.
36
+ * It's similar to ViroQuad but with additional properties for more flexibility.
37
+ */
38
+ export declare const ViroSurface: React.FC<ViroSurfaceProps>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /**
3
+ * ViroSurface
4
+ *
5
+ * A component for rendering a flat surface in 3D space.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroSurface = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroSurface is a component for rendering a flat surface in 3D space.
12
+ * It's similar to ViroQuad but with additional properties for more flexibility.
13
+ */
14
+ const ViroSurface = (props) => {
15
+ // Convert common props to the format expected by the native code
16
+ const nativeProps = {
17
+ ...(0, ViroUtils_1.convertCommonProps)(props),
18
+ width: props.width ?? 1,
19
+ height: props.height ?? 1,
20
+ uvCoordinates: props.uvCoordinates,
21
+ materials: props.materials,
22
+ lightReceivingBitMask: props.lightReceivingBitMask,
23
+ shadowCastingBitMask: props.shadowCastingBitMask,
24
+ arShadowReceiver: props.arShadowReceiver,
25
+ };
26
+ // Create the node (parent will be determined by context)
27
+ const nodeId = (0, ViroUtils_1.useViroNode)("surface", nativeProps);
28
+ // Register event handlers using our new event system
29
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
30
+ onHover: props.onHover,
31
+ onClick: props.onClick,
32
+ onClickState: props.onClickState,
33
+ onTouch: props.onTouch,
34
+ onScroll: props.onScroll,
35
+ onSwipe: props.onSwipe,
36
+ onDrag: props.onDrag,
37
+ onPinch: props.onPinch,
38
+ onRotate: props.onRotate,
39
+ onFuse: typeof props.onFuse === "function"
40
+ ? props.onFuse
41
+ : props.onFuse?.callback,
42
+ onCollision: props.onCollision,
43
+ onTransformUpdate: props.onTransformUpdate,
44
+ });
45
+ // Component doesn't have children, so just return null
46
+ return null;
47
+ };
48
+ exports.ViroSurface = ViroSurface;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ViroText
3
+ *
4
+ * A component for rendering 3D text in the Viro scene.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroTextProps extends ViroCommonProps {
9
+ text: string;
10
+ color?: string;
11
+ fontFamily?: string;
12
+ fontSize?: number;
13
+ fontWeight?: "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "normal" | "bold";
14
+ fontStyle?: "normal" | "italic";
15
+ textAlign?: "left" | "center" | "right";
16
+ textAlignVertical?: "top" | "center" | "bottom";
17
+ textLineBreakMode?: "wordwrap" | "charwrap" | "justify" | "none";
18
+ textClipMode?: "none" | "clipToBounds";
19
+ width?: number;
20
+ height?: number;
21
+ maxWidth?: number;
22
+ maxHeight?: number;
23
+ materials?: string | string[];
24
+ extrusionDepth?: number;
25
+ outerStroke?: {
26
+ type?: string;
27
+ width?: number;
28
+ color?: string;
29
+ };
30
+ lightReceivingBitMask?: number;
31
+ shadowCastingBitMask?: number;
32
+ }
33
+ /**
34
+ * ViroText is a component for rendering 3D text in the Viro scene.
35
+ */
36
+ export declare const ViroText: React.FC<ViroTextProps>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * ViroText
4
+ *
5
+ * A component for rendering 3D text in the Viro scene.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroText = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroText is a component for rendering 3D text in the Viro scene.
12
+ */
13
+ const ViroText = (props) => {
14
+ // Convert common props to the format expected by the native code
15
+ const nativeProps = {
16
+ ...(0, ViroUtils_1.convertCommonProps)(props),
17
+ text: props.text,
18
+ color: props.color,
19
+ fontFamily: props.fontFamily,
20
+ fontSize: props.fontSize,
21
+ fontWeight: props.fontWeight,
22
+ fontStyle: props.fontStyle,
23
+ textAlign: props.textAlign,
24
+ textAlignVertical: props.textAlignVertical,
25
+ textLineBreakMode: props.textLineBreakMode,
26
+ textClipMode: props.textClipMode,
27
+ width: props.width,
28
+ height: props.height,
29
+ maxWidth: props.maxWidth,
30
+ maxHeight: props.maxHeight,
31
+ materials: props.materials,
32
+ extrusionDepth: props.extrusionDepth,
33
+ outerStroke: props.outerStroke,
34
+ lightReceivingBitMask: props.lightReceivingBitMask,
35
+ shadowCastingBitMask: props.shadowCastingBitMask,
36
+ };
37
+ // Create the node (parent will be determined by context)
38
+ const nodeId = (0, ViroUtils_1.useViroNode)("text", nativeProps);
39
+ // Register event handlers using our new event system
40
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
41
+ onHover: props.onHover,
42
+ onClick: props.onClick,
43
+ onClickState: props.onClickState,
44
+ onTouch: props.onTouch,
45
+ onScroll: props.onScroll,
46
+ onSwipe: props.onSwipe,
47
+ onDrag: props.onDrag,
48
+ onPinch: props.onPinch,
49
+ onRotate: props.onRotate,
50
+ onFuse: typeof props.onFuse === "function"
51
+ ? props.onFuse
52
+ : props.onFuse?.callback,
53
+ onCollision: props.onCollision,
54
+ onTransformUpdate: props.onTransformUpdate,
55
+ });
56
+ // Text doesn't have children, so just return null
57
+ return null;
58
+ };
59
+ exports.ViroText = ViroText;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * ViroUtils
3
+ *
4
+ * Common utility functions and hooks for Viro components.
5
+ */
6
+ import React from "react";
7
+ import { ViroNodeProps, ViroNodeType } from "../NativeViro";
8
+ export declare const ViroContext: React.Context<string>;
9
+ export declare const useViroParent: () => string;
10
+ export declare function useViroNode(nodeType: ViroNodeType, props: ViroNodeProps, explicitParentId?: string): string;
11
+ export declare function useViroChildren(nodeId: string, children: React.ReactNode): React.ReactNode;
12
+ export type ViroEventHandler = (event: any, ...args: any[]) => void;
13
+ export type ViroPosition = [number, number, number];
14
+ export type ViroRotation = [number, number, number];
15
+ export type ViroScale = [number, number, number] | number;
16
+ export interface ViroCommonProps {
17
+ position?: ViroPosition;
18
+ rotation?: ViroRotation;
19
+ scale?: ViroScale;
20
+ transformBehaviors?: string[];
21
+ opacity?: number;
22
+ visible?: boolean;
23
+ animation?: {
24
+ name?: string;
25
+ delay?: number;
26
+ loop?: boolean;
27
+ onStart?: () => void;
28
+ onFinish?: () => void;
29
+ run?: boolean;
30
+ interruptible?: boolean;
31
+ };
32
+ canClick?: boolean;
33
+ canHover?: boolean;
34
+ canTouch?: boolean;
35
+ canScroll?: boolean;
36
+ canSwipe?: boolean;
37
+ canDrag?: boolean;
38
+ canFuse?: boolean;
39
+ canPinch?: boolean;
40
+ canRotate?: boolean;
41
+ timeToFuse?: number;
42
+ onHover?: ViroEventHandler;
43
+ onClick?: ViroEventHandler;
44
+ onClickState?: ViroEventHandler;
45
+ onTouch?: ViroEventHandler;
46
+ onScroll?: ViroEventHandler;
47
+ onSwipe?: ViroEventHandler;
48
+ onDrag?: ViroEventHandler;
49
+ onPinch?: ViroEventHandler;
50
+ onRotate?: ViroEventHandler;
51
+ onFuse?: ViroEventHandler | {
52
+ callback: ViroEventHandler;
53
+ timeToFuse?: number;
54
+ };
55
+ onCollision?: ViroEventHandler;
56
+ onTransformUpdate?: ViroEventHandler;
57
+ }
58
+ export declare function convertCommonProps(props: ViroCommonProps): ViroNodeProps;
59
+ export declare function useViroEventListeners(nodeId: string, eventHandlers: Record<string, ViroEventHandler | undefined>): void;
60
+ export declare const ViroContextProvider: ({ value, children, }: {
61
+ value: string;
62
+ children: React.ReactNode;
63
+ }) => React.FunctionComponentElement<React.ProviderProps<string>>;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /**
3
+ * ViroUtils
4
+ *
5
+ * Common utility functions and hooks for Viro components.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.ViroContextProvider = exports.useViroParent = exports.ViroContext = void 0;
42
+ exports.useViroNode = useViroNode;
43
+ exports.useViroChildren = useViroChildren;
44
+ exports.convertCommonProps = convertCommonProps;
45
+ exports.useViroEventListeners = useViroEventListeners;
46
+ const react_1 = __importStar(require("react"));
47
+ const NativeViro_1 = require("../NativeViro");
48
+ // Create a proper React Context to pass parent node IDs down the component tree
49
+ exports.ViroContext = react_1.default.createContext("viro_root_scene");
50
+ // Hook to get the current parent node ID
51
+ const useViroParent = () => {
52
+ return react_1.default.useContext(exports.ViroContext);
53
+ };
54
+ exports.useViroParent = useViroParent;
55
+ // Hook to manage a node's lifecycle
56
+ function useViroNode(nodeType, props, explicitParentId) {
57
+ const nodeId = (0, react_1.useRef)((0, NativeViro_1.generateNodeId)());
58
+ const contextParentId = (0, exports.useViroParent)();
59
+ // Use explicit parent ID if provided, otherwise use context
60
+ const parentId = explicitParentId || contextParentId;
61
+ (0, react_1.useEffect)(() => {
62
+ // Create the node when the component mounts using our enhanced functions
63
+ (0, NativeViro_1.createNode)(nodeId.current, nodeType, props);
64
+ // Add to parent if specified
65
+ if (parentId) {
66
+ (0, NativeViro_1.addChild)(parentId, nodeId.current);
67
+ }
68
+ // Clean up when the component unmounts
69
+ return () => {
70
+ // Remove from parent if specified
71
+ if (parentId) {
72
+ (0, NativeViro_1.removeChild)(parentId, nodeId.current);
73
+ }
74
+ // Delete the node
75
+ (0, NativeViro_1.deleteNode)(nodeId.current);
76
+ };
77
+ }, [nodeType, parentId]);
78
+ // Update props when they change
79
+ (0, react_1.useEffect)(() => {
80
+ (0, NativeViro_1.updateNode)(nodeId.current, props);
81
+ }, [props]);
82
+ return nodeId.current;
83
+ }
84
+ // Hook to manage a node's children
85
+ function useViroChildren(nodeId, children) {
86
+ // Create a context provider to pass the parent ID to children
87
+ return children;
88
+ }
89
+ // Helper to convert common props to the format expected by the native code
90
+ function convertCommonProps(props) {
91
+ const { position, rotation, scale, transformBehaviors, opacity, visible, animation, ...rest } = props;
92
+ const convertedProps = {
93
+ ...rest,
94
+ };
95
+ if (position)
96
+ convertedProps.position = position;
97
+ if (rotation)
98
+ convertedProps.rotation = rotation;
99
+ if (scale !== undefined) {
100
+ if (typeof scale === "number") {
101
+ convertedProps.scale = [scale, scale, scale];
102
+ }
103
+ else {
104
+ convertedProps.scale = scale;
105
+ }
106
+ }
107
+ if (transformBehaviors)
108
+ convertedProps.transformBehaviors = transformBehaviors;
109
+ if (opacity !== undefined)
110
+ convertedProps.opacity = opacity;
111
+ if (visible !== undefined)
112
+ convertedProps.visible = visible;
113
+ if (animation)
114
+ convertedProps.animation = animation;
115
+ return convertedProps;
116
+ }
117
+ // Hook to manage event listeners for a node
118
+ function useViroEventListeners(nodeId, eventHandlers) {
119
+ (0, react_1.useEffect)(() => {
120
+ // Register all event handlers and store callback IDs for cleanup
121
+ const registeredCallbacks = [];
122
+ Object.entries(eventHandlers).forEach(([eventName, handler]) => {
123
+ if (handler) {
124
+ const callbackId = (0, NativeViro_1.registerEventListener)(nodeId, eventName, handler);
125
+ registeredCallbacks.push({ name: eventName, callbackId });
126
+ }
127
+ });
128
+ // Cleanup when unmounting or dependencies change
129
+ return () => {
130
+ registeredCallbacks.forEach(({ name, callbackId }) => {
131
+ (0, NativeViro_1.unregisterEventListener)(nodeId, name, callbackId);
132
+ });
133
+ };
134
+ }, [nodeId, ...Object.values(eventHandlers)]);
135
+ }
136
+ // Provider component for ViroContext
137
+ const ViroContextProvider = ({ value, children, }) => {
138
+ return react_1.default.createElement(exports.ViroContext.Provider, { value }, children);
139
+ };
140
+ exports.ViroContextProvider = ViroContextProvider;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ViroVRSceneNavigator
3
+ *
4
+ * A component for rendering VR scenes.
5
+ */
6
+ import React from "react";
7
+ export interface ViroVRSceneNavigatorProps {
8
+ initialScene: {
9
+ scene: React.ComponentType<any>;
10
+ };
11
+ vrModeEnabled?: boolean;
12
+ hdrEnabled?: boolean;
13
+ pbrEnabled?: boolean;
14
+ bloomEnabled?: boolean;
15
+ shadowsEnabled?: boolean;
16
+ multisamplingEnabled?: boolean;
17
+ onCameraTransformUpdate?: (transform: any) => void;
18
+ onExitViro?: () => void;
19
+ style?: React.CSSProperties;
20
+ }
21
+ /**
22
+ * ViroVRSceneNavigator is a component for rendering VR scenes.
23
+ * It provides a container for VR scenes and handles the VR session lifecycle.
24
+ */
25
+ export declare const ViroVRSceneNavigator: React.FC<ViroVRSceneNavigatorProps>;