@shopify/react-native-skia 1.7.6 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (852) hide show
  1. package/android/cpp/rnskia-android/OpenGLWindowContext.h +8 -1
  2. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +4 -4
  3. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +2 -2
  4. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +13 -0
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaTextureView.java +24 -1
  6. package/cpp/rnskia/RNSkJsiViewApi.h +0 -3
  7. package/cpp/rnskia/RNSkView.h +6 -6
  8. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +2 -2
  9. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +2 -2
  10. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +3 -7
  11. package/lib/commonjs/dom/nodes/JsiSkDOM.js +58 -70
  12. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  13. package/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +2 -3
  14. package/lib/commonjs/dom/nodes/datatypes/Circle.js +14 -6
  15. package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
  16. package/lib/commonjs/dom/nodes/datatypes/Enum.js +5 -1
  17. package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/datatypes/Gradient.js +19 -11
  19. package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
  20. package/lib/commonjs/dom/nodes/datatypes/Path.js +7 -1
  21. package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
  22. package/lib/commonjs/dom/nodes/datatypes/Radius.js +2 -0
  23. package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
  24. package/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +3 -1
  25. package/lib/commonjs/dom/nodes/datatypes/Rect.js +27 -3
  26. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
  27. package/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +2 -1
  28. package/lib/commonjs/dom/nodes/datatypes/Transform.js +35 -1
  29. package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
  30. package/lib/commonjs/dom/types/Node.d.ts +2 -5
  31. package/lib/commonjs/dom/types/Node.js.map +1 -1
  32. package/lib/commonjs/dom/types/index.d.ts +0 -2
  33. package/lib/commonjs/dom/types/index.js +0 -22
  34. package/lib/commonjs/dom/types/index.js.map +1 -1
  35. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  36. package/lib/commonjs/external/reanimated/renderHelpers.js +11 -6
  37. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  38. package/lib/commonjs/headless/index.js +3 -5
  39. package/lib/commonjs/headless/index.js.map +1 -1
  40. package/lib/commonjs/index.d.ts +1 -0
  41. package/lib/commonjs/index.js +12 -0
  42. package/lib/commonjs/index.js.map +1 -1
  43. package/lib/commonjs/renderer/Canvas.js +9 -26
  44. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  45. package/lib/commonjs/renderer/Canvas.web.d.ts +10 -0
  46. package/lib/commonjs/renderer/Canvas.web.js +110 -0
  47. package/lib/commonjs/renderer/Canvas.web.js.map +1 -0
  48. package/lib/commonjs/renderer/Canvas2.d.ts +10 -0
  49. package/lib/commonjs/renderer/Canvas2.js +104 -0
  50. package/lib/commonjs/renderer/Canvas2.js.map +1 -0
  51. package/lib/commonjs/renderer/Canvas2.web.d.ts +3 -0
  52. package/lib/commonjs/renderer/Canvas2.web.js +9 -0
  53. package/lib/commonjs/renderer/Canvas2.web.js.map +1 -0
  54. package/lib/commonjs/renderer/Container.d.ts +3 -5
  55. package/lib/commonjs/renderer/Container.js +2 -7
  56. package/lib/commonjs/renderer/Container.js.map +1 -1
  57. package/lib/commonjs/renderer/HostComponents.d.ts +3 -6
  58. package/lib/commonjs/renderer/HostComponents.js +1 -4
  59. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  60. package/lib/commonjs/renderer/HostConfig.js +8 -4
  61. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  62. package/lib/commonjs/renderer/Offscreen.js +3 -5
  63. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  64. package/lib/commonjs/renderer/Reconciler.d.ts +2 -3
  65. package/lib/commonjs/renderer/Reconciler.js +2 -2
  66. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  67. package/lib/commonjs/renderer/__tests__/setup.d.ts +2 -3
  68. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -2
  69. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  70. package/lib/commonjs/renderer/typeddash.js +5 -1
  71. package/lib/commonjs/renderer/typeddash.js.map +1 -1
  72. package/lib/commonjs/skia/__tests__/setup.d.ts +0 -3
  73. package/lib/commonjs/skia/types/Path/Path.js +5 -1
  74. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  75. package/lib/commonjs/skia/types/Shader/Shader.js +13 -6
  76. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  77. package/lib/commonjs/sksg/Container.d.ts +19 -0
  78. package/lib/commonjs/sksg/Container.js +102 -0
  79. package/lib/commonjs/sksg/Container.js.map +1 -0
  80. package/lib/commonjs/sksg/DeclarationContext.d.ts +56 -0
  81. package/lib/commonjs/sksg/DeclarationContext.js +77 -0
  82. package/lib/commonjs/sksg/DeclarationContext.js.map +1 -0
  83. package/lib/commonjs/sksg/DrawingContext.d.ts +13 -0
  84. package/lib/commonjs/sksg/DrawingContext.js +172 -0
  85. package/lib/commonjs/sksg/DrawingContext.js.map +1 -0
  86. package/lib/commonjs/sksg/HostConfig.d.ts +19 -0
  87. package/lib/commonjs/sksg/HostConfig.js +168 -0
  88. package/lib/commonjs/sksg/HostConfig.js.map +1 -0
  89. package/lib/commonjs/sksg/Reconciler.d.ts +19 -0
  90. package/lib/commonjs/sksg/Reconciler.js +61 -0
  91. package/lib/commonjs/sksg/Reconciler.js.map +1 -0
  92. package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +57 -0
  93. package/lib/commonjs/sksg/nodes/Node.d.ts +7 -0
  94. package/lib/commonjs/{renderer/DrawingContext.js → sksg/nodes/Node.js} +1 -1
  95. package/lib/commonjs/sksg/nodes/Node.js.map +1 -0
  96. package/lib/commonjs/sksg/nodes/colorFilters.d.ts +10 -0
  97. package/lib/commonjs/sksg/nodes/colorFilters.js +79 -0
  98. package/lib/commonjs/sksg/nodes/colorFilters.js.map +1 -0
  99. package/lib/commonjs/sksg/nodes/context.d.ts +3 -0
  100. package/lib/commonjs/sksg/nodes/context.js +394 -0
  101. package/lib/commonjs/sksg/nodes/context.js.map +1 -0
  102. package/lib/commonjs/sksg/nodes/drawings.d.ts +30 -0
  103. package/lib/commonjs/sksg/nodes/drawings.js +398 -0
  104. package/lib/commonjs/sksg/nodes/drawings.js.map +1 -0
  105. package/lib/commonjs/sksg/nodes/imageFilters.d.ts +17 -0
  106. package/lib/commonjs/sksg/nodes/imageFilters.js +197 -0
  107. package/lib/commonjs/sksg/nodes/imageFilters.js.map +1 -0
  108. package/lib/commonjs/sksg/nodes/index.d.ts +3 -0
  109. package/lib/commonjs/sksg/nodes/index.js +39 -0
  110. package/lib/commonjs/sksg/nodes/index.js.map +1 -0
  111. package/lib/commonjs/sksg/nodes/paint.d.ts +3 -0
  112. package/lib/commonjs/sksg/nodes/paint.js +81 -0
  113. package/lib/commonjs/sksg/nodes/paint.js.map +1 -0
  114. package/lib/commonjs/sksg/nodes/pathEffects.d.ts +11 -0
  115. package/lib/commonjs/sksg/nodes/pathEffects.js +111 -0
  116. package/lib/commonjs/sksg/nodes/pathEffects.js.map +1 -0
  117. package/lib/commonjs/sksg/nodes/shaders.d.ts +11 -0
  118. package/lib/commonjs/sksg/nodes/shaders.js +173 -0
  119. package/lib/commonjs/sksg/nodes/shaders.js.map +1 -0
  120. package/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  121. package/lib/commonjs/sksg/nodes/utils.js +28 -0
  122. package/lib/commonjs/sksg/nodes/utils.js.map +1 -0
  123. package/lib/commonjs/views/SkiaDomView.web.d.ts +0 -7
  124. package/lib/commonjs/views/SkiaDomView.web.js +0 -30
  125. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  126. package/lib/commonjs/views/SkiaPictureView.js +0 -2
  127. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  128. package/lib/commonjs/views/SkiaPictureView.web.d.ts +3 -1
  129. package/lib/commonjs/views/SkiaPictureView.web.js +10 -0
  130. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  131. package/lib/commonjs/views/types.d.ts +4 -9
  132. package/lib/commonjs/views/types.js.map +1 -1
  133. package/lib/module/dom/nodes/JsiSkDOM.d.ts +3 -7
  134. package/lib/module/dom/nodes/JsiSkDOM.js +58 -70
  135. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  136. package/lib/module/dom/nodes/datatypes/Circle.d.ts +2 -3
  137. package/lib/module/dom/nodes/datatypes/Circle.js +14 -6
  138. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
  139. package/lib/module/dom/nodes/datatypes/Enum.js +5 -1
  140. package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
  141. package/lib/module/dom/nodes/datatypes/Gradient.js +19 -11
  142. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  143. package/lib/module/dom/nodes/datatypes/Path.js +7 -1
  144. package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
  145. package/lib/module/dom/nodes/datatypes/Radius.js +2 -0
  146. package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
  147. package/lib/module/dom/nodes/datatypes/Rect.d.ts +3 -1
  148. package/lib/module/dom/nodes/datatypes/Rect.js +24 -2
  149. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  150. package/lib/module/dom/nodes/datatypes/Transform.d.ts +2 -1
  151. package/lib/module/dom/nodes/datatypes/Transform.js +33 -0
  152. package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
  153. package/lib/module/dom/types/Node.d.ts +2 -5
  154. package/lib/module/dom/types/Node.js.map +1 -1
  155. package/lib/module/dom/types/index.d.ts +0 -2
  156. package/lib/module/dom/types/index.js +0 -2
  157. package/lib/module/dom/types/index.js.map +1 -1
  158. package/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  159. package/lib/module/external/reanimated/renderHelpers.js +8 -4
  160. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  161. package/lib/module/headless/index.js +3 -5
  162. package/lib/module/headless/index.js.map +1 -1
  163. package/lib/module/index.d.ts +1 -0
  164. package/lib/module/index.js +1 -0
  165. package/lib/module/index.js.map +1 -1
  166. package/lib/module/renderer/Canvas.js +9 -26
  167. package/lib/module/renderer/Canvas.js.map +1 -1
  168. package/lib/module/renderer/Canvas.web.d.ts +10 -0
  169. package/lib/module/renderer/Canvas.web.js +105 -0
  170. package/lib/module/renderer/Canvas.web.js.map +1 -0
  171. package/lib/module/renderer/Canvas2.d.ts +10 -0
  172. package/lib/module/renderer/Canvas2.js +97 -0
  173. package/lib/module/renderer/Canvas2.js.map +1 -0
  174. package/lib/module/renderer/Canvas2.web.d.ts +3 -0
  175. package/lib/module/renderer/Canvas2.web.js +3 -0
  176. package/lib/module/renderer/Canvas2.web.js.map +1 -0
  177. package/lib/module/renderer/Container.d.ts +3 -5
  178. package/lib/module/renderer/Container.js +2 -7
  179. package/lib/module/renderer/Container.js.map +1 -1
  180. package/lib/module/renderer/HostComponents.d.ts +3 -6
  181. package/lib/module/renderer/HostComponents.js +0 -3
  182. package/lib/module/renderer/HostComponents.js.map +1 -1
  183. package/lib/module/renderer/HostConfig.js +8 -4
  184. package/lib/module/renderer/HostConfig.js.map +1 -1
  185. package/lib/module/renderer/Offscreen.js +3 -5
  186. package/lib/module/renderer/Offscreen.js.map +1 -1
  187. package/lib/module/renderer/Reconciler.d.ts +2 -3
  188. package/lib/module/renderer/Reconciler.js +2 -2
  189. package/lib/module/renderer/Reconciler.js.map +1 -1
  190. package/lib/module/renderer/__tests__/setup.d.ts +2 -3
  191. package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -2
  192. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  193. package/lib/module/renderer/typeddash.js +5 -1
  194. package/lib/module/renderer/typeddash.js.map +1 -1
  195. package/lib/module/skia/__tests__/setup.d.ts +0 -3
  196. package/lib/module/skia/types/Path/Path.js +5 -1
  197. package/lib/module/skia/types/Path/Path.js.map +1 -1
  198. package/lib/module/skia/types/Shader/Shader.js +13 -6
  199. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  200. package/lib/module/sksg/Container.d.ts +19 -0
  201. package/lib/module/sksg/Container.js +94 -0
  202. package/lib/module/sksg/Container.js.map +1 -0
  203. package/lib/module/sksg/DeclarationContext.d.ts +56 -0
  204. package/lib/module/sksg/DeclarationContext.js +69 -0
  205. package/lib/module/sksg/DeclarationContext.js.map +1 -0
  206. package/lib/module/sksg/DrawingContext.d.ts +13 -0
  207. package/lib/module/sksg/DrawingContext.js +165 -0
  208. package/lib/module/sksg/DrawingContext.js.map +1 -0
  209. package/lib/module/sksg/HostConfig.d.ts +19 -0
  210. package/lib/module/sksg/HostConfig.js +161 -0
  211. package/lib/module/sksg/HostConfig.js.map +1 -0
  212. package/lib/module/sksg/Reconciler.d.ts +19 -0
  213. package/lib/module/sksg/Reconciler.js +53 -0
  214. package/lib/module/sksg/Reconciler.js.map +1 -0
  215. package/lib/module/sksg/__tests__/MockDeclaration.d.ts +57 -0
  216. package/lib/module/sksg/nodes/Node.d.ts +7 -0
  217. package/lib/module/sksg/nodes/Node.js +2 -0
  218. package/lib/module/sksg/nodes/Node.js.map +1 -0
  219. package/lib/module/sksg/nodes/colorFilters.d.ts +10 -0
  220. package/lib/module/sksg/nodes/colorFilters.js +66 -0
  221. package/lib/module/sksg/nodes/colorFilters.js.map +1 -0
  222. package/lib/module/sksg/nodes/context.d.ts +3 -0
  223. package/lib/module/sksg/nodes/context.js +387 -0
  224. package/lib/module/sksg/nodes/context.js.map +1 -0
  225. package/lib/module/sksg/nodes/drawings.d.ts +30 -0
  226. package/lib/module/sksg/nodes/drawings.js +371 -0
  227. package/lib/module/sksg/nodes/drawings.js.map +1 -0
  228. package/lib/module/sksg/nodes/imageFilters.d.ts +17 -0
  229. package/lib/module/sksg/nodes/imageFilters.js +181 -0
  230. package/lib/module/sksg/nodes/imageFilters.js.map +1 -0
  231. package/lib/module/sksg/nodes/index.d.ts +3 -0
  232. package/lib/module/sksg/nodes/index.js +4 -0
  233. package/lib/module/sksg/nodes/index.js.map +1 -0
  234. package/lib/module/sksg/nodes/paint.d.ts +3 -0
  235. package/lib/module/sksg/nodes/paint.js +74 -0
  236. package/lib/module/sksg/nodes/paint.js.map +1 -0
  237. package/lib/module/sksg/nodes/pathEffects.d.ts +11 -0
  238. package/lib/module/sksg/nodes/pathEffects.js +97 -0
  239. package/lib/module/sksg/nodes/pathEffects.js.map +1 -0
  240. package/lib/module/sksg/nodes/shaders.d.ts +11 -0
  241. package/lib/module/sksg/nodes/shaders.js +158 -0
  242. package/lib/module/sksg/nodes/shaders.js.map +1 -0
  243. package/lib/module/sksg/nodes/utils.d.ts +3 -0
  244. package/lib/module/sksg/nodes/utils.js +20 -0
  245. package/lib/module/sksg/nodes/utils.js.map +1 -0
  246. package/lib/module/views/SkiaDomView.web.d.ts +0 -7
  247. package/lib/module/views/SkiaDomView.web.js +1 -24
  248. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  249. package/lib/module/views/SkiaPictureView.js +0 -2
  250. package/lib/module/views/SkiaPictureView.js.map +1 -1
  251. package/lib/module/views/SkiaPictureView.web.d.ts +3 -1
  252. package/lib/module/views/SkiaPictureView.web.js +10 -0
  253. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  254. package/lib/module/views/types.d.ts +4 -9
  255. package/lib/module/views/types.js.map +1 -1
  256. package/lib/typescript/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +57 -67
  257. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +1 -1
  258. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +2 -0
  259. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +1 -0
  260. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  261. package/lib/typescript/lib/commonjs/renderer/Canvas.web.d.ts +3 -0
  262. package/lib/typescript/lib/commonjs/renderer/Canvas2.d.ts +3 -0
  263. package/lib/typescript/lib/commonjs/renderer/{DrawingContext.d.ts → Canvas2.web.d.ts} +1 -0
  264. package/lib/typescript/lib/commonjs/renderer/Container.d.ts +1 -2
  265. package/lib/typescript/lib/commonjs/renderer/HostComponents.d.ts +0 -1
  266. package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +3 -1
  267. package/lib/typescript/lib/commonjs/renderer/Reconciler.d.ts +1 -1
  268. package/lib/typescript/lib/commonjs/sksg/Container.d.ts +16 -0
  269. package/lib/typescript/lib/commonjs/sksg/DeclarationContext.d.ts +53 -0
  270. package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +22 -0
  271. package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +50 -0
  272. package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +18 -0
  273. package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +8 -0
  274. package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +2 -0
  275. package/lib/typescript/lib/commonjs/sksg/nodes/drawings.d.ts +22 -0
  276. package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +12 -0
  277. package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
  278. package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +9 -0
  279. package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
  280. package/lib/typescript/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  281. package/lib/typescript/lib/commonjs/views/SkiaDomView.web.d.ts +0 -5
  282. package/lib/typescript/lib/commonjs/views/SkiaPictureView.web.d.ts +2 -0
  283. package/lib/typescript/lib/module/dom/nodes/JsiSkDOM.d.ts +57 -117
  284. package/lib/typescript/lib/module/dom/nodes/datatypes/Circle.d.ts +1 -1
  285. package/lib/typescript/lib/module/dom/nodes/datatypes/Rect.d.ts +2 -0
  286. package/lib/typescript/lib/module/dom/nodes/datatypes/Transform.d.ts +1 -0
  287. package/lib/typescript/lib/module/dom/types/index.d.ts +0 -2
  288. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  289. package/lib/typescript/lib/module/index.d.ts +1 -0
  290. package/lib/typescript/lib/module/mock/index.d.ts +4 -4
  291. package/lib/typescript/lib/module/renderer/Canvas.web.d.ts +1 -0
  292. package/lib/typescript/lib/module/renderer/Canvas2.d.ts +1 -0
  293. package/lib/typescript/lib/module/renderer/Canvas2.web.d.ts +1 -0
  294. package/lib/typescript/lib/module/renderer/Container.d.ts +3 -4
  295. package/lib/typescript/lib/module/renderer/HostComponents.d.ts +0 -1
  296. package/lib/typescript/lib/module/renderer/HostConfig.d.ts +3 -1
  297. package/lib/typescript/lib/module/renderer/Reconciler.d.ts +2 -2
  298. package/lib/typescript/lib/module/sksg/Container.d.ts +15 -0
  299. package/lib/typescript/lib/module/sksg/DeclarationContext.d.ts +52 -0
  300. package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +21 -0
  301. package/lib/typescript/lib/module/sksg/HostConfig.d.ts +49 -0
  302. package/lib/typescript/lib/module/sksg/Reconciler.d.ts +17 -0
  303. package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +7 -0
  304. package/lib/typescript/lib/module/sksg/nodes/context.d.ts +1 -0
  305. package/lib/typescript/lib/module/sksg/nodes/drawings.d.ts +21 -0
  306. package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +11 -0
  307. package/lib/typescript/lib/module/sksg/nodes/index.d.ts +3 -0
  308. package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +1 -0
  309. package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +8 -0
  310. package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +9 -0
  311. package/lib/typescript/lib/module/sksg/nodes/utils.d.ts +2 -0
  312. package/lib/typescript/lib/module/views/SkiaDomView.web.d.ts +0 -4
  313. package/lib/typescript/lib/module/views/SkiaPictureView.web.d.ts +2 -0
  314. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +3 -7
  315. package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +2 -3
  316. package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +3 -1
  317. package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +2 -1
  318. package/lib/typescript/src/dom/types/Node.d.ts +2 -5
  319. package/lib/typescript/src/dom/types/index.d.ts +0 -2
  320. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +2 -0
  321. package/lib/typescript/src/index.d.ts +1 -0
  322. package/lib/typescript/src/renderer/Canvas.web.d.ts +10 -0
  323. package/lib/typescript/src/renderer/Canvas2.d.ts +10 -0
  324. package/lib/typescript/src/renderer/Canvas2.web.d.ts +3 -0
  325. package/lib/typescript/src/renderer/Container.d.ts +3 -5
  326. package/lib/typescript/src/renderer/HostComponents.d.ts +3 -6
  327. package/lib/typescript/src/renderer/Reconciler.d.ts +2 -3
  328. package/lib/typescript/src/renderer/__tests__/setup.d.ts +2 -3
  329. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -2
  330. package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -3
  331. package/lib/typescript/src/sksg/Container.d.ts +19 -0
  332. package/lib/typescript/src/sksg/DeclarationContext.d.ts +56 -0
  333. package/lib/typescript/src/sksg/DrawingContext.d.ts +13 -0
  334. package/lib/typescript/src/sksg/HostConfig.d.ts +19 -0
  335. package/lib/typescript/src/sksg/Reconciler.d.ts +19 -0
  336. package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +57 -0
  337. package/lib/typescript/src/sksg/nodes/Node.d.ts +7 -0
  338. package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +10 -0
  339. package/lib/typescript/src/sksg/nodes/context.d.ts +3 -0
  340. package/lib/typescript/src/sksg/nodes/drawings.d.ts +30 -0
  341. package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +17 -0
  342. package/lib/typescript/src/sksg/nodes/index.d.ts +3 -0
  343. package/lib/typescript/src/sksg/nodes/paint.d.ts +3 -0
  344. package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +11 -0
  345. package/lib/typescript/src/sksg/nodes/shaders.d.ts +11 -0
  346. package/lib/typescript/src/sksg/nodes/utils.d.ts +3 -0
  347. package/lib/typescript/src/views/SkiaDomView.web.d.ts +0 -7
  348. package/lib/typescript/src/views/SkiaPictureView.web.d.ts +3 -1
  349. package/lib/typescript/src/views/types.d.ts +4 -9
  350. package/libs/{ios → apple}/libskia.xcframework/Info.plist +15 -0
  351. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  352. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  353. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  354. package/libs/{ios → apple}/libskottie.xcframework/Info.plist +20 -5
  355. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  356. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  357. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  358. package/libs/{ios → apple}/libskparagraph.xcframework/Info.plist +20 -5
  359. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  360. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  361. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  362. package/libs/{ios → apple}/libsksg.xcframework/Info.plist +15 -0
  363. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  364. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  365. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  366. package/libs/{ios → apple}/libskshaper.xcframework/Info.plist +20 -5
  367. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  368. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  369. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  370. package/libs/{ios → apple}/libskunicode_core.xcframework/Info.plist +18 -3
  371. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  372. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  373. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  374. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/Info.plist +15 -0
  375. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  376. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  377. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  378. package/libs/{ios → apple}/libsvg.xcframework/Info.plist +15 -0
  379. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  380. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  381. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  382. package/package.json +3 -3
  383. package/react-native-skia.podspec +9 -9
  384. package/src/__tests__/setup.ts +1 -1
  385. package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
  386. package/src/__tests__/snapshots/sksg/breathe.png +0 -0
  387. package/src/__tests__/snapshots/sksg/simple.png +0 -0
  388. package/src/__tests__/snapshots/sksg/simple2.png +0 -0
  389. package/src/dom/nodes/JsiSkDOM.ts +58 -238
  390. package/src/dom/nodes/datatypes/Circle.ts +7 -5
  391. package/src/dom/nodes/datatypes/Enum.ts +4 -2
  392. package/src/dom/nodes/datatypes/Gradient.ts +14 -14
  393. package/src/dom/nodes/datatypes/Path.ts +5 -2
  394. package/src/dom/nodes/datatypes/Radius.ts +1 -0
  395. package/src/dom/nodes/datatypes/Rect.ts +44 -5
  396. package/src/dom/nodes/datatypes/Transform.ts +31 -1
  397. package/src/dom/types/Node.ts +2 -5
  398. package/src/dom/types/index.ts +0 -2
  399. package/src/external/reanimated/renderHelpers.ts +8 -4
  400. package/src/headless/index.ts +3 -5
  401. package/src/index.ts +1 -0
  402. package/src/renderer/Canvas.tsx +12 -31
  403. package/src/renderer/Canvas.web.tsx +134 -0
  404. package/src/renderer/Canvas2.tsx +128 -0
  405. package/src/renderer/Canvas2.web.tsx +6 -0
  406. package/src/renderer/Container.tsx +4 -16
  407. package/src/renderer/HostComponents.ts +2 -10
  408. package/src/renderer/HostConfig.ts +10 -4
  409. package/src/renderer/Offscreen.tsx +3 -6
  410. package/src/renderer/Reconciler.tsx +1 -5
  411. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +2 -2
  412. package/src/renderer/__tests__/setup.tsx +17 -15
  413. package/src/renderer/processors/Animations/Animations.ts +1 -5
  414. package/src/renderer/typeddash.ts +4 -2
  415. package/src/skia/__tests__/setup.ts +1 -51
  416. package/src/skia/types/Path/Path.ts +4 -2
  417. package/src/skia/types/Shader/Shader.ts +8 -4
  418. package/src/sksg/Container.ts +102 -0
  419. package/src/sksg/DeclarationContext.ts +85 -0
  420. package/src/sksg/DrawingContext.ts +226 -0
  421. package/src/sksg/HostConfig.ts +287 -0
  422. package/src/sksg/Reconciler.ts +66 -0
  423. package/src/sksg/__tests__/Declarations.spec.tsx +235 -0
  424. package/src/{dom/types/DeclarationContext.ts → sksg/__tests__/MockDeclaration.ts} +54 -21
  425. package/src/sksg/__tests__/Simple.spec.tsx +148 -0
  426. package/src/sksg/nodes/Node.ts +8 -0
  427. package/src/sksg/nodes/colorFilters.ts +79 -0
  428. package/src/sksg/nodes/context.ts +412 -0
  429. package/src/sksg/nodes/drawings.ts +405 -0
  430. package/src/sksg/nodes/imageFilters.ts +235 -0
  431. package/src/sksg/nodes/index.ts +3 -0
  432. package/src/sksg/nodes/paint.ts +75 -0
  433. package/src/sksg/nodes/pathEffects.ts +118 -0
  434. package/src/sksg/nodes/shaders.ts +210 -0
  435. package/src/sksg/nodes/utils.ts +23 -0
  436. package/src/views/SkiaDomView.web.tsx +0 -23
  437. package/src/views/SkiaPictureView.tsx +0 -2
  438. package/src/views/SkiaPictureView.web.tsx +10 -1
  439. package/src/views/types.ts +4 -10
  440. package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +0 -1
  441. package/lib/commonjs/dom/nodes/DrawingNode.d.ts +0 -14
  442. package/lib/commonjs/dom/nodes/DrawingNode.js +0 -69
  443. package/lib/commonjs/dom/nodes/DrawingNode.js.map +0 -1
  444. package/lib/commonjs/dom/nodes/GroupNode.d.ts +0 -7
  445. package/lib/commonjs/dom/nodes/GroupNode.js +0 -22
  446. package/lib/commonjs/dom/nodes/GroupNode.js.map +0 -1
  447. package/lib/commonjs/dom/nodes/LayerNode.d.ts +0 -8
  448. package/lib/commonjs/dom/nodes/LayerNode.js +0 -39
  449. package/lib/commonjs/dom/nodes/LayerNode.js.map +0 -1
  450. package/lib/commonjs/dom/nodes/Node.d.ts +0 -34
  451. package/lib/commonjs/dom/nodes/Node.js +0 -102
  452. package/lib/commonjs/dom/nodes/Node.js.map +0 -1
  453. package/lib/commonjs/dom/nodes/PaintNode.d.ts +0 -8
  454. package/lib/commonjs/dom/nodes/PaintNode.js +0 -90
  455. package/lib/commonjs/dom/nodes/PaintNode.js.map +0 -1
  456. package/lib/commonjs/dom/nodes/RenderNode.d.ts +0 -26
  457. package/lib/commonjs/dom/nodes/RenderNode.js +0 -132
  458. package/lib/commonjs/dom/nodes/RenderNode.js.map +0 -1
  459. package/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +0 -8
  460. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js +0 -36
  461. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js.map +0 -1
  462. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
  463. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js +0 -42
  464. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +0 -1
  465. package/lib/commonjs/dom/nodes/drawings/Box.d.ts +0 -15
  466. package/lib/commonjs/dom/nodes/drawings/Box.js +0 -82
  467. package/lib/commonjs/dom/nodes/drawings/Box.js.map +0 -1
  468. package/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +0 -9
  469. package/lib/commonjs/dom/nodes/drawings/CircleNode.js +0 -32
  470. package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +0 -1
  471. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
  472. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js +0 -28
  473. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js.map +0 -1
  474. package/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +0 -8
  475. package/lib/commonjs/dom/nodes/drawings/FillNode.js +0 -24
  476. package/lib/commonjs/dom/nodes/drawings/FillNode.js.map +0 -1
  477. package/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +0 -25
  478. package/lib/commonjs/dom/nodes/drawings/ImageNode.js +0 -71
  479. package/lib/commonjs/dom/nodes/drawings/ImageNode.js.map +0 -1
  480. package/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +0 -13
  481. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js +0 -57
  482. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js.map +0 -1
  483. package/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +0 -8
  484. package/lib/commonjs/dom/nodes/drawings/LineNode.js +0 -28
  485. package/lib/commonjs/dom/nodes/drawings/LineNode.js.map +0 -1
  486. package/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +0 -9
  487. package/lib/commonjs/dom/nodes/drawings/OvalNode.js +0 -28
  488. package/lib/commonjs/dom/nodes/drawings/OvalNode.js.map +0 -1
  489. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  490. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js +0 -32
  491. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js.map +0 -1
  492. package/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +0 -18
  493. package/lib/commonjs/dom/nodes/drawings/PatchNode.js +0 -53
  494. package/lib/commonjs/dom/nodes/drawings/PatchNode.js.map +0 -1
  495. package/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +0 -9
  496. package/lib/commonjs/dom/nodes/drawings/PathNode.js +0 -55
  497. package/lib/commonjs/dom/nodes/drawings/PathNode.js.map +0 -1
  498. package/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +0 -8
  499. package/lib/commonjs/dom/nodes/drawings/PictureNode.js +0 -26
  500. package/lib/commonjs/dom/nodes/drawings/PictureNode.js.map +0 -1
  501. package/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +0 -8
  502. package/lib/commonjs/dom/nodes/drawings/PointsNode.js +0 -30
  503. package/lib/commonjs/dom/nodes/drawings/PointsNode.js.map +0 -1
  504. package/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +0 -10
  505. package/lib/commonjs/dom/nodes/drawings/RRectNode.js +0 -32
  506. package/lib/commonjs/dom/nodes/drawings/RRectNode.js.map +0 -1
  507. package/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +0 -9
  508. package/lib/commonjs/dom/nodes/drawings/RectNode.js +0 -28
  509. package/lib/commonjs/dom/nodes/drawings/RectNode.js.map +0 -1
  510. package/lib/commonjs/dom/nodes/drawings/Text.d.ts +0 -30
  511. package/lib/commonjs/dom/nodes/drawings/Text.js +0 -159
  512. package/lib/commonjs/dom/nodes/drawings/Text.js.map +0 -1
  513. package/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  514. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js +0 -43
  515. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js.map +0 -1
  516. package/lib/commonjs/dom/nodes/drawings/index.d.ts +0 -18
  517. package/lib/commonjs/dom/nodes/drawings/index.js +0 -204
  518. package/lib/commonjs/dom/nodes/drawings/index.js.map +0 -1
  519. package/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +0 -8
  520. package/lib/commonjs/dom/nodes/paint/BlendNode.js +0 -37
  521. package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +0 -1
  522. package/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +0 -35
  523. package/lib/commonjs/dom/nodes/paint/ColorFilters.js +0 -102
  524. package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +0 -1
  525. package/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +0 -42
  526. package/lib/commonjs/dom/nodes/paint/ImageFilters.js +0 -183
  527. package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +0 -1
  528. package/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +0 -8
  529. package/lib/commonjs/dom/nodes/paint/MaskFilters.js +0 -26
  530. package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +0 -1
  531. package/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +0 -39
  532. package/lib/commonjs/dom/nodes/paint/PathEffects.js +0 -136
  533. package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +0 -1
  534. package/lib/commonjs/dom/nodes/paint/Shaders.d.ts +0 -43
  535. package/lib/commonjs/dom/nodes/paint/Shaders.js +0 -209
  536. package/lib/commonjs/dom/nodes/paint/Shaders.js.map +0 -1
  537. package/lib/commonjs/dom/nodes/paint/index.d.ts +0 -6
  538. package/lib/commonjs/dom/nodes/paint/index.js +0 -72
  539. package/lib/commonjs/dom/nodes/paint/index.js.map +0 -1
  540. package/lib/commonjs/dom/types/DeclarationContext.d.ts +0 -29
  541. package/lib/commonjs/dom/types/DeclarationContext.js +0 -91
  542. package/lib/commonjs/dom/types/DeclarationContext.js.map +0 -1
  543. package/lib/commonjs/dom/types/DrawingContext.d.ts +0 -22
  544. package/lib/commonjs/dom/types/DrawingContext.js +0 -263
  545. package/lib/commonjs/dom/types/DrawingContext.js.map +0 -1
  546. package/lib/commonjs/renderer/DrawingContext.d.ts +0 -7
  547. package/lib/commonjs/renderer/DrawingContext.js.map +0 -1
  548. package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  549. package/lib/commonjs/views/SkiaJSDomView.d.ts +0 -38
  550. package/lib/commonjs/views/SkiaJSDomView.js +0 -131
  551. package/lib/commonjs/views/SkiaJSDomView.js.map +0 -1
  552. package/lib/commonjs/views/SkiaJSDomView.web.d.ts +0 -1
  553. package/lib/commonjs/views/SkiaJSDomView.web.js +0 -13
  554. package/lib/commonjs/views/SkiaJSDomView.web.js.map +0 -1
  555. package/lib/module/dom/__tests__/Compose.spec.d.ts +0 -1
  556. package/lib/module/dom/__tests__/Demos.spec.d.ts +0 -1
  557. package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  558. package/lib/module/dom/__tests__/Drawings.spec.d.ts +0 -1
  559. package/lib/module/dom/__tests__/Group.spec.d.ts +0 -1
  560. package/lib/module/dom/__tests__/Paint.spec.d.ts +0 -1
  561. package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  562. package/lib/module/dom/__tests__/Shaders.spec.d.ts +0 -1
  563. package/lib/module/dom/nodes/DrawingNode.d.ts +0 -14
  564. package/lib/module/dom/nodes/DrawingNode.js +0 -62
  565. package/lib/module/dom/nodes/DrawingNode.js.map +0 -1
  566. package/lib/module/dom/nodes/GroupNode.d.ts +0 -7
  567. package/lib/module/dom/nodes/GroupNode.js +0 -15
  568. package/lib/module/dom/nodes/GroupNode.js.map +0 -1
  569. package/lib/module/dom/nodes/LayerNode.d.ts +0 -8
  570. package/lib/module/dom/nodes/LayerNode.js +0 -32
  571. package/lib/module/dom/nodes/LayerNode.js.map +0 -1
  572. package/lib/module/dom/nodes/Node.d.ts +0 -34
  573. package/lib/module/dom/nodes/Node.js +0 -94
  574. package/lib/module/dom/nodes/Node.js.map +0 -1
  575. package/lib/module/dom/nodes/PaintNode.d.ts +0 -8
  576. package/lib/module/dom/nodes/PaintNode.js +0 -83
  577. package/lib/module/dom/nodes/PaintNode.js.map +0 -1
  578. package/lib/module/dom/nodes/RenderNode.d.ts +0 -26
  579. package/lib/module/dom/nodes/RenderNode.js +0 -125
  580. package/lib/module/dom/nodes/RenderNode.js.map +0 -1
  581. package/lib/module/dom/nodes/drawings/AtlasNode.d.ts +0 -8
  582. package/lib/module/dom/nodes/drawings/AtlasNode.js +0 -29
  583. package/lib/module/dom/nodes/drawings/AtlasNode.js.map +0 -1
  584. package/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
  585. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js +0 -35
  586. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +0 -1
  587. package/lib/module/dom/nodes/drawings/Box.d.ts +0 -15
  588. package/lib/module/dom/nodes/drawings/Box.js +0 -74
  589. package/lib/module/dom/nodes/drawings/Box.js.map +0 -1
  590. package/lib/module/dom/nodes/drawings/CircleNode.d.ts +0 -9
  591. package/lib/module/dom/nodes/drawings/CircleNode.js +0 -25
  592. package/lib/module/dom/nodes/drawings/CircleNode.js.map +0 -1
  593. package/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
  594. package/lib/module/dom/nodes/drawings/DiffRectNode.js +0 -21
  595. package/lib/module/dom/nodes/drawings/DiffRectNode.js.map +0 -1
  596. package/lib/module/dom/nodes/drawings/FillNode.d.ts +0 -8
  597. package/lib/module/dom/nodes/drawings/FillNode.js +0 -17
  598. package/lib/module/dom/nodes/drawings/FillNode.js.map +0 -1
  599. package/lib/module/dom/nodes/drawings/ImageNode.d.ts +0 -25
  600. package/lib/module/dom/nodes/drawings/ImageNode.js +0 -64
  601. package/lib/module/dom/nodes/drawings/ImageNode.js.map +0 -1
  602. package/lib/module/dom/nodes/drawings/ImageSVG.d.ts +0 -13
  603. package/lib/module/dom/nodes/drawings/ImageSVG.js +0 -50
  604. package/lib/module/dom/nodes/drawings/ImageSVG.js.map +0 -1
  605. package/lib/module/dom/nodes/drawings/LineNode.d.ts +0 -8
  606. package/lib/module/dom/nodes/drawings/LineNode.js +0 -21
  607. package/lib/module/dom/nodes/drawings/LineNode.js.map +0 -1
  608. package/lib/module/dom/nodes/drawings/OvalNode.d.ts +0 -9
  609. package/lib/module/dom/nodes/drawings/OvalNode.js +0 -21
  610. package/lib/module/dom/nodes/drawings/OvalNode.js.map +0 -1
  611. package/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  612. package/lib/module/dom/nodes/drawings/ParagraphNode.js +0 -25
  613. package/lib/module/dom/nodes/drawings/ParagraphNode.js.map +0 -1
  614. package/lib/module/dom/nodes/drawings/PatchNode.d.ts +0 -18
  615. package/lib/module/dom/nodes/drawings/PatchNode.js +0 -46
  616. package/lib/module/dom/nodes/drawings/PatchNode.js.map +0 -1
  617. package/lib/module/dom/nodes/drawings/PathNode.d.ts +0 -9
  618. package/lib/module/dom/nodes/drawings/PathNode.js +0 -48
  619. package/lib/module/dom/nodes/drawings/PathNode.js.map +0 -1
  620. package/lib/module/dom/nodes/drawings/PictureNode.d.ts +0 -8
  621. package/lib/module/dom/nodes/drawings/PictureNode.js +0 -19
  622. package/lib/module/dom/nodes/drawings/PictureNode.js.map +0 -1
  623. package/lib/module/dom/nodes/drawings/PointsNode.d.ts +0 -8
  624. package/lib/module/dom/nodes/drawings/PointsNode.js +0 -23
  625. package/lib/module/dom/nodes/drawings/PointsNode.js.map +0 -1
  626. package/lib/module/dom/nodes/drawings/RRectNode.d.ts +0 -10
  627. package/lib/module/dom/nodes/drawings/RRectNode.js +0 -25
  628. package/lib/module/dom/nodes/drawings/RRectNode.js.map +0 -1
  629. package/lib/module/dom/nodes/drawings/RectNode.d.ts +0 -9
  630. package/lib/module/dom/nodes/drawings/RectNode.js +0 -21
  631. package/lib/module/dom/nodes/drawings/RectNode.js.map +0 -1
  632. package/lib/module/dom/nodes/drawings/Text.d.ts +0 -30
  633. package/lib/module/dom/nodes/drawings/Text.js +0 -149
  634. package/lib/module/dom/nodes/drawings/Text.js.map +0 -1
  635. package/lib/module/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  636. package/lib/module/dom/nodes/drawings/VerticesNode.js +0 -36
  637. package/lib/module/dom/nodes/drawings/VerticesNode.js.map +0 -1
  638. package/lib/module/dom/nodes/drawings/index.d.ts +0 -18
  639. package/lib/module/dom/nodes/drawings/index.js +0 -19
  640. package/lib/module/dom/nodes/drawings/index.js.map +0 -1
  641. package/lib/module/dom/nodes/paint/BlendNode.d.ts +0 -8
  642. package/lib/module/dom/nodes/paint/BlendNode.js +0 -30
  643. package/lib/module/dom/nodes/paint/BlendNode.js.map +0 -1
  644. package/lib/module/dom/nodes/paint/ColorFilters.d.ts +0 -35
  645. package/lib/module/dom/nodes/paint/ColorFilters.js +0 -89
  646. package/lib/module/dom/nodes/paint/ColorFilters.js.map +0 -1
  647. package/lib/module/dom/nodes/paint/ImageFilters.d.ts +0 -42
  648. package/lib/module/dom/nodes/paint/ImageFilters.js +0 -169
  649. package/lib/module/dom/nodes/paint/ImageFilters.js.map +0 -1
  650. package/lib/module/dom/nodes/paint/MaskFilters.d.ts +0 -8
  651. package/lib/module/dom/nodes/paint/MaskFilters.js +0 -19
  652. package/lib/module/dom/nodes/paint/MaskFilters.js.map +0 -1
  653. package/lib/module/dom/nodes/paint/PathEffects.d.ts +0 -39
  654. package/lib/module/dom/nodes/paint/PathEffects.js +0 -123
  655. package/lib/module/dom/nodes/paint/PathEffects.js.map +0 -1
  656. package/lib/module/dom/nodes/paint/Shaders.d.ts +0 -43
  657. package/lib/module/dom/nodes/paint/Shaders.js +0 -193
  658. package/lib/module/dom/nodes/paint/Shaders.js.map +0 -1
  659. package/lib/module/dom/nodes/paint/index.d.ts +0 -6
  660. package/lib/module/dom/nodes/paint/index.js +0 -7
  661. package/lib/module/dom/nodes/paint/index.js.map +0 -1
  662. package/lib/module/dom/types/DeclarationContext.d.ts +0 -29
  663. package/lib/module/dom/types/DeclarationContext.js +0 -83
  664. package/lib/module/dom/types/DeclarationContext.js.map +0 -1
  665. package/lib/module/dom/types/DrawingContext.d.ts +0 -22
  666. package/lib/module/dom/types/DrawingContext.js +0 -256
  667. package/lib/module/dom/types/DrawingContext.js.map +0 -1
  668. package/lib/module/renderer/DrawingContext.d.ts +0 -7
  669. package/lib/module/renderer/DrawingContext.js +0 -2
  670. package/lib/module/renderer/DrawingContext.js.map +0 -1
  671. package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  672. package/lib/module/views/SkiaJSDomView.d.ts +0 -38
  673. package/lib/module/views/SkiaJSDomView.js +0 -123
  674. package/lib/module/views/SkiaJSDomView.js.map +0 -1
  675. package/lib/module/views/SkiaJSDomView.web.d.ts +0 -1
  676. package/lib/module/views/SkiaJSDomView.web.js +0 -2
  677. package/lib/module/views/SkiaJSDomView.web.js.map +0 -1
  678. package/lib/typescript/lib/commonjs/dom/nodes/DrawingNode.d.ts +0 -6
  679. package/lib/typescript/lib/commonjs/dom/nodes/GroupNode.d.ts +0 -6
  680. package/lib/typescript/lib/commonjs/dom/nodes/LayerNode.d.ts +0 -6
  681. package/lib/typescript/lib/commonjs/dom/nodes/Node.d.ts +0 -20
  682. package/lib/typescript/lib/commonjs/dom/nodes/PaintNode.d.ts +0 -6
  683. package/lib/typescript/lib/commonjs/dom/nodes/RenderNode.d.ts +0 -16
  684. package/lib/typescript/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +0 -10
  685. package/lib/typescript/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -10
  686. package/lib/typescript/lib/commonjs/dom/nodes/drawings/Box.d.ts +0 -15
  687. package/lib/typescript/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +0 -10
  688. package/lib/typescript/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +0 -10
  689. package/lib/typescript/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +0 -10
  690. package/lib/typescript/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +0 -13
  691. package/lib/typescript/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +0 -9
  692. package/lib/typescript/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +0 -10
  693. package/lib/typescript/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +0 -10
  694. package/lib/typescript/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +0 -9
  695. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +0 -14
  696. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +0 -10
  697. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +0 -9
  698. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +0 -10
  699. package/lib/typescript/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +0 -10
  700. package/lib/typescript/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +0 -10
  701. package/lib/typescript/lib/commonjs/dom/nodes/drawings/Text.d.ts +0 -34
  702. package/lib/typescript/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +0 -10
  703. package/lib/typescript/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +0 -6
  704. package/lib/typescript/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +0 -29
  705. package/lib/typescript/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +0 -35
  706. package/lib/typescript/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +0 -6
  707. package/lib/typescript/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +0 -34
  708. package/lib/typescript/lib/commonjs/dom/nodes/paint/Shaders.d.ts +0 -40
  709. package/lib/typescript/lib/commonjs/dom/types/DeclarationContext.d.ts +0 -26
  710. package/lib/typescript/lib/commonjs/dom/types/DrawingContext.d.ts +0 -13
  711. package/lib/typescript/lib/commonjs/views/SkiaJSDomView.d.ts +0 -29
  712. package/lib/typescript/lib/commonjs/views/SkiaJSDomView.web.d.ts +0 -3
  713. package/lib/typescript/lib/module/dom/nodes/DrawingNode.d.ts +0 -5
  714. package/lib/typescript/lib/module/dom/nodes/GroupNode.d.ts +0 -5
  715. package/lib/typescript/lib/module/dom/nodes/LayerNode.d.ts +0 -5
  716. package/lib/typescript/lib/module/dom/nodes/Node.d.ts +0 -19
  717. package/lib/typescript/lib/module/dom/nodes/PaintNode.d.ts +0 -5
  718. package/lib/typescript/lib/module/dom/nodes/RenderNode.d.ts +0 -15
  719. package/lib/typescript/lib/module/dom/nodes/drawings/AtlasNode.d.ts +0 -9
  720. package/lib/typescript/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -9
  721. package/lib/typescript/lib/module/dom/nodes/drawings/Box.d.ts +0 -14
  722. package/lib/typescript/lib/module/dom/nodes/drawings/CircleNode.d.ts +0 -9
  723. package/lib/typescript/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +0 -9
  724. package/lib/typescript/lib/module/dom/nodes/drawings/FillNode.d.ts +0 -9
  725. package/lib/typescript/lib/module/dom/nodes/drawings/ImageNode.d.ts +0 -22
  726. package/lib/typescript/lib/module/dom/nodes/drawings/ImageSVG.d.ts +0 -8
  727. package/lib/typescript/lib/module/dom/nodes/drawings/LineNode.d.ts +0 -9
  728. package/lib/typescript/lib/module/dom/nodes/drawings/OvalNode.d.ts +0 -9
  729. package/lib/typescript/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  730. package/lib/typescript/lib/module/dom/nodes/drawings/PatchNode.d.ts +0 -13
  731. package/lib/typescript/lib/module/dom/nodes/drawings/PathNode.d.ts +0 -9
  732. package/lib/typescript/lib/module/dom/nodes/drawings/PictureNode.d.ts +0 -8
  733. package/lib/typescript/lib/module/dom/nodes/drawings/PointsNode.d.ts +0 -9
  734. package/lib/typescript/lib/module/dom/nodes/drawings/RRectNode.d.ts +0 -9
  735. package/lib/typescript/lib/module/dom/nodes/drawings/RectNode.d.ts +0 -9
  736. package/lib/typescript/lib/module/dom/nodes/drawings/Text.d.ts +0 -33
  737. package/lib/typescript/lib/module/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  738. package/lib/typescript/lib/module/dom/nodes/drawings/index.d.ts +0 -18
  739. package/lib/typescript/lib/module/dom/nodes/paint/BlendNode.d.ts +0 -5
  740. package/lib/typescript/lib/module/dom/nodes/paint/ColorFilters.d.ts +0 -28
  741. package/lib/typescript/lib/module/dom/nodes/paint/ImageFilters.d.ts +0 -34
  742. package/lib/typescript/lib/module/dom/nodes/paint/MaskFilters.d.ts +0 -5
  743. package/lib/typescript/lib/module/dom/nodes/paint/PathEffects.d.ts +0 -33
  744. package/lib/typescript/lib/module/dom/nodes/paint/Shaders.d.ts +0 -39
  745. package/lib/typescript/lib/module/dom/nodes/paint/index.d.ts +0 -6
  746. package/lib/typescript/lib/module/dom/types/DeclarationContext.d.ts +0 -25
  747. package/lib/typescript/lib/module/dom/types/DrawingContext.d.ts +0 -12
  748. package/lib/typescript/lib/module/renderer/DrawingContext.d.ts +0 -1
  749. package/lib/typescript/lib/module/views/SkiaJSDomView.d.ts +0 -26
  750. package/lib/typescript/lib/module/views/SkiaJSDomView.web.d.ts +0 -1
  751. package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +0 -1
  752. package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +0 -1
  753. package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  754. package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +0 -1
  755. package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +0 -1
  756. package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +0 -1
  757. package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  758. package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +0 -1
  759. package/lib/typescript/src/dom/nodes/DrawingNode.d.ts +0 -14
  760. package/lib/typescript/src/dom/nodes/GroupNode.d.ts +0 -7
  761. package/lib/typescript/src/dom/nodes/LayerNode.d.ts +0 -8
  762. package/lib/typescript/src/dom/nodes/Node.d.ts +0 -34
  763. package/lib/typescript/src/dom/nodes/PaintNode.d.ts +0 -8
  764. package/lib/typescript/src/dom/nodes/RenderNode.d.ts +0 -26
  765. package/lib/typescript/src/dom/nodes/drawings/AtlasNode.d.ts +0 -8
  766. package/lib/typescript/src/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
  767. package/lib/typescript/src/dom/nodes/drawings/Box.d.ts +0 -15
  768. package/lib/typescript/src/dom/nodes/drawings/CircleNode.d.ts +0 -9
  769. package/lib/typescript/src/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
  770. package/lib/typescript/src/dom/nodes/drawings/FillNode.d.ts +0 -8
  771. package/lib/typescript/src/dom/nodes/drawings/ImageNode.d.ts +0 -25
  772. package/lib/typescript/src/dom/nodes/drawings/ImageSVG.d.ts +0 -13
  773. package/lib/typescript/src/dom/nodes/drawings/LineNode.d.ts +0 -8
  774. package/lib/typescript/src/dom/nodes/drawings/OvalNode.d.ts +0 -9
  775. package/lib/typescript/src/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  776. package/lib/typescript/src/dom/nodes/drawings/PatchNode.d.ts +0 -18
  777. package/lib/typescript/src/dom/nodes/drawings/PathNode.d.ts +0 -9
  778. package/lib/typescript/src/dom/nodes/drawings/PictureNode.d.ts +0 -8
  779. package/lib/typescript/src/dom/nodes/drawings/PointsNode.d.ts +0 -8
  780. package/lib/typescript/src/dom/nodes/drawings/RRectNode.d.ts +0 -10
  781. package/lib/typescript/src/dom/nodes/drawings/RectNode.d.ts +0 -9
  782. package/lib/typescript/src/dom/nodes/drawings/Text.d.ts +0 -30
  783. package/lib/typescript/src/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  784. package/lib/typescript/src/dom/nodes/drawings/index.d.ts +0 -18
  785. package/lib/typescript/src/dom/nodes/paint/BlendNode.d.ts +0 -8
  786. package/lib/typescript/src/dom/nodes/paint/ColorFilters.d.ts +0 -35
  787. package/lib/typescript/src/dom/nodes/paint/ImageFilters.d.ts +0 -42
  788. package/lib/typescript/src/dom/nodes/paint/MaskFilters.d.ts +0 -8
  789. package/lib/typescript/src/dom/nodes/paint/PathEffects.d.ts +0 -39
  790. package/lib/typescript/src/dom/nodes/paint/Shaders.d.ts +0 -43
  791. package/lib/typescript/src/dom/nodes/paint/index.d.ts +0 -6
  792. package/lib/typescript/src/dom/types/DeclarationContext.d.ts +0 -29
  793. package/lib/typescript/src/dom/types/DrawingContext.d.ts +0 -22
  794. package/lib/typescript/src/renderer/DrawingContext.d.ts +0 -7
  795. package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  796. package/lib/typescript/src/views/SkiaJSDomView.d.ts +0 -38
  797. package/lib/typescript/src/views/SkiaJSDomView.web.d.ts +0 -1
  798. package/src/dom/__tests__/Compose.spec.tsx +0 -42
  799. package/src/dom/__tests__/Demos.spec.tsx +0 -145
  800. package/src/dom/__tests__/DrawingContext.spec.tsx +0 -99
  801. package/src/dom/__tests__/Drawings.spec.tsx +0 -95
  802. package/src/dom/__tests__/Group.spec.tsx +0 -132
  803. package/src/dom/__tests__/Paint.spec.tsx +0 -100
  804. package/src/dom/__tests__/RenderNodes.spec.tsx +0 -44
  805. package/src/dom/__tests__/Shaders.spec.tsx +0 -123
  806. package/src/dom/nodes/DrawingNode.ts +0 -74
  807. package/src/dom/nodes/GroupNode.ts +0 -19
  808. package/src/dom/nodes/LayerNode.ts +0 -37
  809. package/src/dom/nodes/Node.ts +0 -121
  810. package/src/dom/nodes/PaintNode.ts +0 -91
  811. package/src/dom/nodes/RenderNode.ts +0 -172
  812. package/src/dom/nodes/drawings/AtlasNode.ts +0 -24
  813. package/src/dom/nodes/drawings/BackdropFilterNode.ts +0 -37
  814. package/src/dom/nodes/drawings/Box.ts +0 -110
  815. package/src/dom/nodes/drawings/CircleNode.ts +0 -24
  816. package/src/dom/nodes/drawings/DiffRectNode.ts +0 -19
  817. package/src/dom/nodes/drawings/FillNode.ts +0 -18
  818. package/src/dom/nodes/drawings/ImageNode.ts +0 -49
  819. package/src/dom/nodes/drawings/ImageSVG.ts +0 -38
  820. package/src/dom/nodes/drawings/LineNode.ts +0 -19
  821. package/src/dom/nodes/drawings/OvalNode.ts +0 -23
  822. package/src/dom/nodes/drawings/ParagraphNode.ts +0 -22
  823. package/src/dom/nodes/drawings/PatchNode.ts +0 -54
  824. package/src/dom/nodes/drawings/PathNode.ts +0 -51
  825. package/src/dom/nodes/drawings/PictureNode.ts +0 -19
  826. package/src/dom/nodes/drawings/PointsNode.ts +0 -21
  827. package/src/dom/nodes/drawings/RRectNode.ts +0 -25
  828. package/src/dom/nodes/drawings/RectNode.ts +0 -23
  829. package/src/dom/nodes/drawings/Text.ts +0 -145
  830. package/src/dom/nodes/drawings/VerticesNode.ts +0 -35
  831. package/src/dom/nodes/drawings/index.ts +0 -18
  832. package/src/dom/nodes/paint/BlendNode.ts +0 -32
  833. package/src/dom/nodes/paint/ColorFilters.ts +0 -106
  834. package/src/dom/nodes/paint/ImageFilters.ts +0 -221
  835. package/src/dom/nodes/paint/MaskFilters.ts +0 -23
  836. package/src/dom/nodes/paint/PathEffects.ts +0 -139
  837. package/src/dom/nodes/paint/Shaders.ts +0 -233
  838. package/src/dom/nodes/paint/index.ts +0 -6
  839. package/src/dom/types/DrawingContext.ts +0 -322
  840. package/src/renderer/DrawingContext.ts +0 -8
  841. package/src/renderer/__tests__/SkiaDOM.spec.tsx +0 -46
  842. package/src/views/SkiaJSDomView.tsx +0 -143
  843. package/src/views/SkiaJSDomView.web.tsx +0 -1
  844. /package/lib/commonjs/{dom/__tests__/Compose.spec.d.ts → sksg/__tests__/Declarations.spec.d.ts} +0 -0
  845. /package/lib/commonjs/{dom/__tests__/Demos.spec.d.ts → sksg/__tests__/Simple.spec.d.ts} +0 -0
  846. /package/lib/{commonjs/dom/__tests__/DrawingContext.spec.d.ts → module/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  847. /package/lib/{commonjs/dom/__tests__/Drawings.spec.d.ts → module/sksg/__tests__/Simple.spec.d.ts} +0 -0
  848. /package/lib/typescript/lib/commonjs/{dom/nodes/drawings/index.d.ts → sksg/nodes/Node.d.ts} +0 -0
  849. /package/lib/typescript/lib/commonjs/{dom/nodes/paint → sksg/nodes}/index.d.ts +0 -0
  850. /package/lib/{commonjs/dom/__tests__/Group.spec.d.ts → typescript/lib/module/sksg/nodes/Node.d.ts} +0 -0
  851. /package/lib/{commonjs/dom/__tests__/Paint.spec.d.ts → typescript/src/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  852. /package/lib/{commonjs/dom/__tests__/RenderNodes.spec.d.ts → typescript/src/sksg/__tests__/Simple.spec.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["processRadius","isEdge","pos","b","x","y","width","height","isRRectCtor","def","rect","undefined","isRectCtor","processRect","Skia","_def$x","_def$y","XYWHRect","processRRect","_def$r","_def$x2","_def$y2","r","RRectXY"],"sources":["Rect.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Skia, SkRect, Vector } from \"../../../skia/types\";\nimport type { RectCtor, RectDef, RRectCtor, RRectDef } from \"../../types\";\n\nimport { processRadius } from \"./Radius\";\n\nexport const isEdge = (pos: Vector, b: SkRect) => {\n \"worklet\";\n return (\n pos.x === b.x || pos.y === b.y || pos.x === b.width || pos.y === b.height\n );\n};\n\n// We have an issue to check property existence on JSI backed instances\nconst isRRectCtor = (def: RRectDef): def is RRectCtor =>\n (def as any).rect === undefined;\n// We have an issue to check property existence on JSI backed instances\nconst isRectCtor = (def: RectDef): def is RectCtor =>\n (def as any).rect === undefined;\n\nexport const processRect = (Skia: Skia, def: RectDef) => {\n if (isRectCtor(def)) {\n return Skia.XYWHRect(def.x ?? 0, def.y ?? 0, def.width, def.height);\n } else {\n return def.rect;\n }\n};\n\nexport const processRRect = (Skia: Skia, def: RRectDef) => {\n if (isRRectCtor(def)) {\n const r = processRadius(Skia, def.r ?? 0);\n return Skia.RRectXY(\n Skia.XYWHRect(def.x ?? 0, def.y ?? 0, def.width, def.height),\n r.x,\n r.y\n );\n } else {\n return def.rect;\n }\n};\n"],"mappings":"AAAA;;AAIA,SAASA,aAAa,QAAQ,UAAU;AAExC,OAAO,MAAMC,MAAM,GAAGA,CAACC,GAAW,EAAEC,CAAS,KAAK;EAChD,SAAS;;EACT,OACED,GAAG,CAACE,CAAC,KAAKD,CAAC,CAACC,CAAC,IAAIF,GAAG,CAACG,CAAC,KAAKF,CAAC,CAACE,CAAC,IAAIH,GAAG,CAACE,CAAC,KAAKD,CAAC,CAACG,KAAK,IAAIJ,GAAG,CAACG,CAAC,KAAKF,CAAC,CAACI,MAAM;AAE7E,CAAC;;AAED;AACA,MAAMC,WAAW,GAAIC,GAAa,IAC/BA,GAAG,CAASC,IAAI,KAAKC,SAAS;AACjC;AACA,MAAMC,UAAU,GAAIH,GAAY,IAC7BA,GAAG,CAASC,IAAI,KAAKC,SAAS;AAEjC,OAAO,MAAME,WAAW,GAAGA,CAACC,IAAU,EAAEL,GAAY,KAAK;EACvD,IAAIG,UAAU,CAACH,GAAG,CAAC,EAAE;IAAA,IAAAM,MAAA,EAAAC,MAAA;IACnB,OAAOF,IAAI,CAACG,QAAQ,EAAAF,MAAA,GAACN,GAAG,CAACL,CAAC,cAAAW,MAAA,cAAAA,MAAA,GAAI,CAAC,GAAAC,MAAA,GAAEP,GAAG,CAACJ,CAAC,cAAAW,MAAA,cAAAA,MAAA,GAAI,CAAC,EAAEP,GAAG,CAACH,KAAK,EAAEG,GAAG,CAACF,MAAM,CAAC;EACrE,CAAC,MAAM;IACL,OAAOE,GAAG,CAACC,IAAI;EACjB;AACF,CAAC;AAED,OAAO,MAAMQ,YAAY,GAAGA,CAACJ,IAAU,EAAEL,GAAa,KAAK;EACzD,IAAID,WAAW,CAACC,GAAG,CAAC,EAAE;IAAA,IAAAU,MAAA,EAAAC,OAAA,EAAAC,OAAA;IACpB,MAAMC,CAAC,GAAGtB,aAAa,CAACc,IAAI,GAAAK,MAAA,GAAEV,GAAG,CAACa,CAAC,cAAAH,MAAA,cAAAA,MAAA,GAAI,CAAC,CAAC;IACzC,OAAOL,IAAI,CAACS,OAAO,CACjBT,IAAI,CAACG,QAAQ,EAAAG,OAAA,GAACX,GAAG,CAACL,CAAC,cAAAgB,OAAA,cAAAA,OAAA,GAAI,CAAC,GAAAC,OAAA,GAAEZ,GAAG,CAACJ,CAAC,cAAAgB,OAAA,cAAAA,OAAA,GAAI,CAAC,EAAEZ,GAAG,CAACH,KAAK,EAAEG,GAAG,CAACF,MAAM,CAAC,EAC5De,CAAC,CAAClB,CAAC,EACHkB,CAAC,CAACjB,CACJ,CAAC;EACH,CAAC,MAAM;IACL,OAAOI,GAAG,CAACC,IAAI;EACjB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["processRadius","isEdge","pos","b","x","y","width","height","isRRectCtor","def","rect","undefined","isRectCtor","processRect","Skia","_def$x","_def$y","XYWHRect","processRRect","_def$r","_def$x2","_def$y2","r","RRectXY","inflate","box","dx","dy","tx","ty","rx","ry","deflate"],"sources":["Rect.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Skia, SkRect, SkRRect, Vector } from \"../../../skia/types\";\nimport type { RectCtor, RectDef, RRectCtor, RRectDef } from \"../../types\";\n\nimport { processRadius } from \"./Radius\";\n\nexport const isEdge = (pos: Vector, b: SkRect) => {\n \"worklet\";\n return (\n pos.x === b.x || pos.y === b.y || pos.x === b.width || pos.y === b.height\n );\n};\n\n// We have an issue to check property existence on JSI backed instances\nconst isRRectCtor = (def: RRectDef): def is RRectCtor => {\n \"worklet\";\n return (def as any).rect === undefined;\n};\n// We have an issue to check property existence on JSI backed instances\nconst isRectCtor = (def: RectDef): def is RectCtor => {\n \"worklet\";\n return (def as any).rect === undefined;\n};\n\nexport const processRect = (Skia: Skia, def: RectDef) => {\n \"worklet\";\n if (isRectCtor(def)) {\n return Skia.XYWHRect(def.x ?? 0, def.y ?? 0, def.width, def.height);\n } else {\n return def.rect;\n }\n};\n\nexport const processRRect = (Skia: Skia, def: RRectDef) => {\n \"worklet\";\n if (isRRectCtor(def)) {\n const r = processRadius(Skia, def.r ?? 0);\n return Skia.RRectXY(\n Skia.XYWHRect(def.x ?? 0, def.y ?? 0, def.width, def.height),\n r.x,\n r.y\n );\n } else {\n return def.rect;\n }\n};\n\nexport const inflate = (\n Skia: Skia,\n box: SkRRect,\n dx: number,\n dy: number,\n tx = 0,\n ty = 0\n) => {\n \"worklet\";\n return Skia.RRectXY(\n Skia.XYWHRect(\n box.rect.x - dx + tx,\n box.rect.y - dy + ty,\n box.rect.width + 2 * dx,\n box.rect.height + 2 * dy\n ),\n box.rx + dx,\n box.ry + dy\n );\n};\n\nexport const deflate = (\n Skia: Skia,\n box: SkRRect,\n dx: number,\n dy: number,\n tx = 0,\n ty = 0\n) => {\n \"worklet\";\n return inflate(Skia, box, -dx, -dy, tx, ty);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  import type { TransformProps } from "../../types";
2
- import type { SkMatrix } from "../../../skia/types";
2
+ import type { Skia, SkMatrix } from "../../../skia/types";
3
3
  export declare const processTransformProps: (m3: SkMatrix, props: TransformProps) => void;
4
+ export declare const processTransformProps2: (Skia: Skia, props: TransformProps) => SkMatrix | null;
@@ -1,5 +1,7 @@
1
1
  import { processTransform } from "../../../skia/types";
2
2
  export const processTransformProps = (m3, props) => {
3
+ "worklet";
4
+
3
5
  const {
4
6
  transform,
5
7
  origin,
@@ -23,4 +25,35 @@ export const processTransformProps = (m3, props) => {
23
25
  }
24
26
  }
25
27
  };
28
+ export const processTransformProps2 = (Skia, props) => {
29
+ "worklet";
30
+
31
+ const {
32
+ transform,
33
+ origin,
34
+ matrix
35
+ } = props;
36
+ if (matrix) {
37
+ const m3 = Skia.Matrix();
38
+ if (origin) {
39
+ m3.translate(origin.x, origin.y);
40
+ m3.concat(matrix);
41
+ m3.translate(-origin.x, -origin.y);
42
+ } else {
43
+ m3.concat(matrix);
44
+ }
45
+ return m3;
46
+ } else if (transform) {
47
+ const m3 = Skia.Matrix();
48
+ if (origin) {
49
+ m3.translate(origin.x, origin.y);
50
+ }
51
+ processTransform(m3, transform);
52
+ if (origin) {
53
+ m3.translate(-origin.x, -origin.y);
54
+ }
55
+ return m3;
56
+ }
57
+ return null;
58
+ };
26
59
  //# sourceMappingURL=Transform.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["processTransform","processTransformProps","m3","props","transform","origin","matrix","translate","x","y","concat"],"sources":["Transform.ts"],"sourcesContent":["import type { TransformProps } from \"../../types\";\nimport type { SkMatrix } from \"../../../skia/types\";\nimport { processTransform } from \"../../../skia/types\";\n\nexport const processTransformProps = (m3: SkMatrix, props: TransformProps) => {\n const { transform, origin, matrix } = props;\n if (matrix) {\n if (origin) {\n m3.translate(origin.x, origin.y);\n m3.concat(matrix);\n m3.translate(-origin.x, -origin.y);\n } else {\n m3.concat(matrix);\n }\n } else if (transform) {\n if (origin) {\n m3.translate(origin.x, origin.y);\n }\n processTransform(m3, transform);\n if (origin) {\n m3.translate(-origin.x, -origin.y);\n }\n }\n};\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,qBAAqB;AAEtD,OAAO,MAAMC,qBAAqB,GAAGA,CAACC,EAAY,EAAEC,KAAqB,KAAK;EAC5E,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGH,KAAK;EAC3C,IAAIG,MAAM,EAAE;IACV,IAAID,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAACF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAAC;MAChCP,EAAE,CAACQ,MAAM,CAACJ,MAAM,CAAC;MACjBJ,EAAE,CAACK,SAAS,CAAC,CAACF,MAAM,CAACG,CAAC,EAAE,CAACH,MAAM,CAACI,CAAC,CAAC;IACpC,CAAC,MAAM;MACLP,EAAE,CAACQ,MAAM,CAACJ,MAAM,CAAC;IACnB;EACF,CAAC,MAAM,IAAIF,SAAS,EAAE;IACpB,IAAIC,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAACF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAAC;IAClC;IACAT,gBAAgB,CAACE,EAAE,EAAEE,SAAS,CAAC;IAC/B,IAAIC,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAAC,CAACF,MAAM,CAACG,CAAC,EAAE,CAACH,MAAM,CAACI,CAAC,CAAC;IACpC;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["processTransform","processTransformProps","m3","props","transform","origin","matrix","translate","x","y","concat","processTransformProps2","Skia","Matrix"],"sources":["Transform.ts"],"sourcesContent":["import type { TransformProps } from \"../../types\";\nimport type { Skia, SkMatrix } from \"../../../skia/types\";\nimport { processTransform } from \"../../../skia/types\";\n\nexport const processTransformProps = (m3: SkMatrix, props: TransformProps) => {\n \"worklet\";\n\n const { transform, origin, matrix } = props;\n if (matrix) {\n if (origin) {\n m3.translate(origin.x, origin.y);\n m3.concat(matrix);\n m3.translate(-origin.x, -origin.y);\n } else {\n m3.concat(matrix);\n }\n } else if (transform) {\n if (origin) {\n m3.translate(origin.x, origin.y);\n }\n processTransform(m3, transform);\n if (origin) {\n m3.translate(-origin.x, -origin.y);\n }\n }\n};\n\nexport const processTransformProps2 = (Skia: Skia, props: TransformProps) => {\n \"worklet\";\n\n const { transform, origin, matrix } = props;\n if (matrix) {\n const m3 = Skia.Matrix();\n if (origin) {\n m3.translate(origin.x, origin.y);\n m3.concat(matrix);\n m3.translate(-origin.x, -origin.y);\n } else {\n m3.concat(matrix);\n }\n return m3;\n } else if (transform) {\n const m3 = Skia.Matrix();\n if (origin) {\n m3.translate(origin.x, origin.y);\n }\n processTransform(m3, transform);\n if (origin) {\n m3.translate(-origin.x, -origin.y);\n }\n return m3;\n }\n return null;\n};\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,qBAAqB;AAEtD,OAAO,MAAMC,qBAAqB,GAAGA,CAACC,EAAY,EAAEC,KAAqB,KAAK;EAC5E,SAAS;;EAET,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGH,KAAK;EAC3C,IAAIG,MAAM,EAAE;IACV,IAAID,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAACF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAAC;MAChCP,EAAE,CAACQ,MAAM,CAACJ,MAAM,CAAC;MACjBJ,EAAE,CAACK,SAAS,CAAC,CAACF,MAAM,CAACG,CAAC,EAAE,CAACH,MAAM,CAACI,CAAC,CAAC;IACpC,CAAC,MAAM;MACLP,EAAE,CAACQ,MAAM,CAACJ,MAAM,CAAC;IACnB;EACF,CAAC,MAAM,IAAIF,SAAS,EAAE;IACpB,IAAIC,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAACF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAAC;IAClC;IACAT,gBAAgB,CAACE,EAAE,EAAEE,SAAS,CAAC;IAC/B,IAAIC,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAAC,CAACF,MAAM,CAACG,CAAC,EAAE,CAACH,MAAM,CAACI,CAAC,CAAC;IACpC;EACF;AACF,CAAC;AAED,OAAO,MAAME,sBAAsB,GAAGA,CAACC,IAAU,EAAET,KAAqB,KAAK;EAC3E,SAAS;;EAET,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGH,KAAK;EAC3C,IAAIG,MAAM,EAAE;IACV,MAAMJ,EAAE,GAAGU,IAAI,CAACC,MAAM,CAAC,CAAC;IACxB,IAAIR,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAACF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAAC;MAChCP,EAAE,CAACQ,MAAM,CAACJ,MAAM,CAAC;MACjBJ,EAAE,CAACK,SAAS,CAAC,CAACF,MAAM,CAACG,CAAC,EAAE,CAACH,MAAM,CAACI,CAAC,CAAC;IACpC,CAAC,MAAM;MACLP,EAAE,CAACQ,MAAM,CAACJ,MAAM,CAAC;IACnB;IACA,OAAOJ,EAAE;EACX,CAAC,MAAM,IAAIE,SAAS,EAAE;IACpB,MAAMF,EAAE,GAAGU,IAAI,CAACC,MAAM,CAAC,CAAC;IACxB,IAAIR,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAACF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAAC;IAClC;IACAT,gBAAgB,CAACE,EAAE,EAAEE,SAAS,CAAC;IAC/B,IAAIC,MAAM,EAAE;MACVH,EAAE,CAACK,SAAS,CAAC,CAACF,MAAM,CAACG,CAAC,EAAE,CAACH,MAAM,CAACI,CAAC,CAAC;IACpC;IACA,OAAOP,EAAE;EACX;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import type { GroupProps } from "./Common";
2
2
  import type { NodeType } from "./NodeType";
3
- import type { DeclarationContext } from "./DeclarationContext";
4
- import type { DrawingContext } from "./DrawingContext";
3
+ import type { DeclarationContext } from "../../sksg/DeclarationContext";
5
4
  export interface Node<P> {
6
5
  type: NodeType;
7
6
  setProps(props: P): void;
@@ -17,6 +16,4 @@ export interface DeclarationNode<P> extends Node<P> {
17
16
  decorate(ctx: DeclarationContext): void;
18
17
  setInvalidate(invalidate: Invalidate): void;
19
18
  }
20
- export interface RenderNode<P extends GroupProps> extends Node<P> {
21
- render(ctx: DrawingContext): void;
22
- }
19
+ export type RenderNode<P extends GroupProps> = Node<P>;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Node.ts"],"sourcesContent":["import type { GroupProps } from \"./Common\";\nimport type { NodeType } from \"./NodeType\";\nimport type { DeclarationContext } from \"./DeclarationContext\";\nimport type { DrawingContext } from \"./DrawingContext\";\n\nexport interface Node<P> {\n type: NodeType;\n\n setProps(props: P): void;\n setProp<K extends keyof P>(name: K, v: P[K]): boolean;\n getProps(): P;\n\n children(): Node<unknown>[];\n addChild(child: Node<unknown>): void;\n removeChild(child: Node<unknown>): void;\n insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;\n}\n\nexport type Invalidate = () => void;\n\nexport interface DeclarationNode<P> extends Node<P> {\n //declarationType: DeclarationType;\n decorate(ctx: DeclarationContext): void;\n\n setInvalidate(invalidate: Invalidate): void;\n}\n\nexport interface RenderNode<P extends GroupProps> extends Node<P> {\n render(ctx: DrawingContext): void;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["Node.ts"],"sourcesContent":["import type { GroupProps } from \"./Common\";\nimport type { NodeType } from \"./NodeType\";\nimport type { DeclarationContext } from \"../../sksg/DeclarationContext\";\n\nexport interface Node<P> {\n type: NodeType;\n\n setProps(props: P): void;\n setProp<K extends keyof P>(name: K, v: P[K]): boolean;\n getProps(): P;\n\n children(): Node<unknown>[];\n addChild(child: Node<unknown>): void;\n removeChild(child: Node<unknown>): void;\n insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;\n}\n\nexport type Invalidate = () => void;\n\nexport interface DeclarationNode<P> extends Node<P> {\n //declarationType: DeclarationType;\n decorate(ctx: DeclarationContext): void;\n\n setInvalidate(invalidate: Invalidate): void;\n}\n\nexport type RenderNode<P extends GroupProps> = Node<P>;\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,3 @@
1
- export * from "./DrawingContext";
2
- export * from "./DeclarationContext";
3
1
  export * from "./Node";
4
2
  export * from "./NodeType";
5
3
  export * from "./SkDOM";
@@ -1,5 +1,3 @@
1
- export * from "./DrawingContext";
2
- export * from "./DeclarationContext";
3
1
  export * from "./Node";
4
2
  export * from "./NodeType";
5
3
  export * from "./SkDOM";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./DrawingContext\";\nexport * from \"./DeclarationContext\";\nexport * from \"./Node\";\nexport * from \"./NodeType\";\nexport * from \"./SkDOM\";\nexport * from \"./Common\";\nexport * from \"./Drawings\";\nexport * from \"./ImageFilters\";\nexport * from \"./ColorFilters\";\nexport * from \"./MaskFilters\";\nexport * from \"./PathEffects\";\nexport * from \"./Shaders\";\nexport * from \"./Paragraph\";\n"],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,aAAa","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Node\";\nexport * from \"./NodeType\";\nexport * from \"./SkDOM\";\nexport * from \"./Common\";\nexport * from \"./Drawings\";\nexport * from \"./ImageFilters\";\nexport * from \"./ColorFilters\";\nexport * from \"./MaskFilters\";\nexport * from \"./PathEffects\";\nexport * from \"./Shaders\";\nexport * from \"./Paragraph\";\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,aAAa","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import type { Container } from "../../renderer/Container";
2
2
  import type { AnimatedProps } from "../../renderer/processors";
3
3
  import type { Node } from "../../dom/types";
4
+ export declare let HAS_REANIMATED: boolean;
5
+ export declare let HAS_REANIMATED_3: boolean;
4
6
  export declare const unbindReanimatedNode: (node: Node<unknown>) => void;
5
7
  export declare function extractReanimatedProps(props: AnimatedProps<any>): AnimatedProps<any, never>[];
6
8
  export declare function bindReanimatedProps(container: Container, node: Node<any>, reanimatedProps: AnimatedProps<any>): void;
@@ -1,12 +1,16 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
 
3
3
  import Rea from "./ReanimatedProxy";
4
- let HAS_REANIMATED = false;
5
- let HAS_REANIMATED_3 = false;
4
+ export let HAS_REANIMATED = false;
5
+ export let HAS_REANIMATED_3 = false;
6
6
  try {
7
- require("react-native-reanimated");
8
- HAS_REANIMATED = true;
7
+ // This logic is convoluted but necessary
8
+ // In most systems, `require("react-native-reanimated")` throws an error, all is well.
9
+ // In webpack, in some configuration it will return an empty object.
10
+ // So it will not throw an error and we need to check the version to know if it's there.
9
11
  const reanimatedVersion = require("react-native-reanimated/package.json").version;
12
+ require("react-native-reanimated");
13
+ HAS_REANIMATED = !!reanimatedVersion;
10
14
  if (reanimatedVersion && (reanimatedVersion >= "3.0.0" || reanimatedVersion.includes("3.0.0-"))) {
11
15
  HAS_REANIMATED_3 = true;
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Rea","HAS_REANIMATED","HAS_REANIMATED_3","require","reanimatedVersion","version","includes","e","_bindings","WeakMap","unbindReanimatedNode","node","previousMapperId","get","undefined","stopMapper","extractReanimatedProps","props","reanimatedProps","otherProps","propName","propValue","isSharedValue","value","bindReanimatedProps2","container","sharedValues","Object","values","length","viewId","getNativeId","SkiaViewApi","global","updateProps","setProp","requestRedraw","redraw","mapperId","startMapper","runOnJS","set","bindReanimatedProps"],"sources":["renderHelpers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { Container } from \"../../renderer/Container\";\nimport type { AnimatedProps } from \"../../renderer/processors\";\nimport type { Node } from \"../../dom/types\";\n\nimport Rea from \"./ReanimatedProxy\";\n\nlet HAS_REANIMATED = false;\nlet HAS_REANIMATED_3 = false;\ntry {\n require(\"react-native-reanimated\");\n HAS_REANIMATED = true;\n const reanimatedVersion =\n require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n HAS_REANIMATED_3 = true;\n }\n} catch (e) {\n HAS_REANIMATED = false;\n}\n\nconst _bindings = new WeakMap<Node<unknown>, unknown>();\n\nexport const unbindReanimatedNode = (node: Node<unknown>) => {\n if (!HAS_REANIMATED) {\n return;\n }\n const previousMapperId = _bindings.get(node);\n if (previousMapperId !== undefined) {\n Rea.stopMapper(previousMapperId as number);\n }\n};\n\nexport function extractReanimatedProps(props: AnimatedProps<any>) {\n if (!HAS_REANIMATED) {\n return [props, {}];\n }\n const reanimatedProps = {} as AnimatedProps<any>;\n const otherProps = {} as AnimatedProps<any>;\n for (const propName in props) {\n if (propName === \"children\") {\n continue;\n }\n const propValue = props[propName];\n if (Rea.isSharedValue(propValue)) {\n reanimatedProps[propName] = propValue;\n otherProps[propName] = propValue.value;\n } else {\n otherProps[propName] = propValue;\n }\n }\n return [otherProps, reanimatedProps];\n}\n\nfunction bindReanimatedProps2(\n container: Container,\n node: Node<any>,\n reanimatedProps: AnimatedProps<any>\n) {\n const sharedValues = Object.values(reanimatedProps);\n const previousMapperId = _bindings.get(node);\n if (previousMapperId !== undefined) {\n Rea.stopMapper(previousMapperId as number);\n }\n if (sharedValues.length > 0) {\n const viewId = container.getNativeId();\n const { SkiaViewApi } = global;\n const updateProps = () => {\n for (const propName in reanimatedProps) {\n node && node.setProp(propName, reanimatedProps[propName].value);\n }\n // On React Native we use the SkiaViewApi to redraw because it can\n // run on the worklet thread (container.redraw can't)\n // if SkiaViewApi is undefined, we are on web and container.redraw()\n // can safely be invoked\n if (SkiaViewApi) {\n SkiaViewApi.requestRedraw(viewId);\n } else {\n container.redraw();\n }\n };\n const mapperId = Rea.startMapper(() => {\n \"worklet\";\n Rea.runOnJS(updateProps)();\n }, sharedValues);\n _bindings.set(node, mapperId);\n }\n}\n\nexport function bindReanimatedProps(\n container: Container,\n node: Node<any>,\n reanimatedProps: AnimatedProps<any>\n) {\n if (HAS_REANIMATED && !HAS_REANIMATED_3) {\n return bindReanimatedProps2(container, node, reanimatedProps);\n }\n if (!HAS_REANIMATED) {\n return;\n }\n const sharedValues = Object.values(reanimatedProps);\n const previousMapperId = _bindings.get(node);\n if (previousMapperId !== undefined) {\n Rea.stopMapper(previousMapperId as number);\n }\n if (sharedValues.length > 0) {\n const viewId = container.getNativeId();\n const { SkiaViewApi } = global;\n const mapperId = Rea.startMapper(() => {\n \"worklet\";\n if (node) {\n for (const propName in reanimatedProps) {\n node.setProp(propName, reanimatedProps[propName].value);\n }\n }\n // On React Native we use the SkiaViewApi to redraw because it can\n // run on the worklet thread (container.redraw can't)\n // if SkiaViewApi is undefined, we are on web and container.redraw()\n // can safely be invoked\n if (SkiaViewApi) {\n SkiaViewApi.requestRedraw(viewId);\n } else {\n container.redraw();\n }\n }, sharedValues);\n _bindings.set(node, mapperId);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Rea","HAS_REANIMATED","HAS_REANIMATED_3","reanimatedVersion","require","version","includes","e","_bindings","WeakMap","unbindReanimatedNode","node","previousMapperId","get","undefined","stopMapper","extractReanimatedProps","props","reanimatedProps","otherProps","propName","propValue","isSharedValue","value","bindReanimatedProps2","container","sharedValues","Object","values","length","viewId","getNativeId","SkiaViewApi","global","updateProps","setProp","requestRedraw","redraw","mapperId","startMapper","runOnJS","set","bindReanimatedProps"],"sources":["renderHelpers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { Container } from \"../../renderer/Container\";\nimport type { AnimatedProps } from \"../../renderer/processors\";\nimport type { Node } from \"../../dom/types\";\n\nimport Rea from \"./ReanimatedProxy\";\n\nexport let HAS_REANIMATED = false;\nexport let HAS_REANIMATED_3 = false;\ntry {\n // This logic is convoluted but necessary\n // In most systems, `require(\"react-native-reanimated\")` throws an error, all is well.\n // In webpack, in some configuration it will return an empty object.\n // So it will not throw an error and we need to check the version to know if it's there.\n const reanimatedVersion =\n require(\"react-native-reanimated/package.json\").version;\n require(\"react-native-reanimated\");\n HAS_REANIMATED = !!reanimatedVersion;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n HAS_REANIMATED_3 = true;\n }\n} catch (e) {\n HAS_REANIMATED = false;\n}\n\nconst _bindings = new WeakMap<Node<unknown>, unknown>();\n\nexport const unbindReanimatedNode = (node: Node<unknown>) => {\n if (!HAS_REANIMATED) {\n return;\n }\n const previousMapperId = _bindings.get(node);\n if (previousMapperId !== undefined) {\n Rea.stopMapper(previousMapperId as number);\n }\n};\n\nexport function extractReanimatedProps(props: AnimatedProps<any>) {\n if (!HAS_REANIMATED) {\n return [props, {}];\n }\n const reanimatedProps = {} as AnimatedProps<any>;\n const otherProps = {} as AnimatedProps<any>;\n for (const propName in props) {\n if (propName === \"children\") {\n continue;\n }\n const propValue = props[propName];\n if (Rea.isSharedValue(propValue)) {\n reanimatedProps[propName] = propValue;\n otherProps[propName] = propValue.value;\n } else {\n otherProps[propName] = propValue;\n }\n }\n return [otherProps, reanimatedProps];\n}\n\nfunction bindReanimatedProps2(\n container: Container,\n node: Node<any>,\n reanimatedProps: AnimatedProps<any>\n) {\n const sharedValues = Object.values(reanimatedProps);\n const previousMapperId = _bindings.get(node);\n if (previousMapperId !== undefined) {\n Rea.stopMapper(previousMapperId as number);\n }\n if (sharedValues.length > 0) {\n const viewId = container.getNativeId();\n const { SkiaViewApi } = global;\n const updateProps = () => {\n for (const propName in reanimatedProps) {\n node && node.setProp(propName, reanimatedProps[propName].value);\n }\n // On React Native we use the SkiaViewApi to redraw because it can\n // run on the worklet thread (container.redraw can't)\n // if SkiaViewApi is undefined, we are on web and container.redraw()\n // can safely be invoked\n if (SkiaViewApi) {\n SkiaViewApi.requestRedraw(viewId);\n } else {\n container.redraw();\n }\n };\n const mapperId = Rea.startMapper(() => {\n \"worklet\";\n Rea.runOnJS(updateProps)();\n }, sharedValues);\n _bindings.set(node, mapperId);\n }\n}\n\nexport function bindReanimatedProps(\n container: Container,\n node: Node<any>,\n reanimatedProps: AnimatedProps<any>\n) {\n if (HAS_REANIMATED && !HAS_REANIMATED_3) {\n return bindReanimatedProps2(container, node, reanimatedProps);\n }\n if (!HAS_REANIMATED) {\n return;\n }\n const sharedValues = Object.values(reanimatedProps);\n const previousMapperId = _bindings.get(node);\n if (previousMapperId !== undefined) {\n Rea.stopMapper(previousMapperId as number);\n }\n if (sharedValues.length > 0) {\n const viewId = container.getNativeId();\n const { SkiaViewApi } = global;\n const mapperId = Rea.startMapper(() => {\n \"worklet\";\n if (node) {\n for (const propName in reanimatedProps) {\n node.setProp(propName, reanimatedProps[propName].value);\n }\n }\n // On React Native we use the SkiaViewApi to redraw because it can\n // run on the worklet thread (container.redraw can't)\n // if SkiaViewApi is undefined, we are on web and container.redraw()\n // can safely be invoked\n if (SkiaViewApi) {\n SkiaViewApi.requestRedraw(viewId);\n } else {\n container.redraw();\n }\n }, sharedValues);\n _bindings.set(node, mapperId);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,8 +2,7 @@
2
2
  // @ts-ignore
3
3
 
4
4
  import { JsiSkApi } from "../skia/web";
5
- import { SkiaRoot } from "../renderer/Reconciler";
6
- import { JsiDrawingContext } from "../dom/types";
5
+ import { SkiaSGRoot } from "../sksg/Reconciler";
7
6
  export * from "../renderer/components";
8
7
  let Skia;
9
8
  export const makeOffscreenSurface = (width, height) => {
@@ -25,11 +24,10 @@ export const getSkiaExports = () => {
25
24
  };
26
25
  };
27
26
  export const drawOffscreen = (surface, element) => {
28
- const root = new SkiaRoot(Skia, false);
27
+ const root = new SkiaSGRoot(Skia);
29
28
  root.render(element);
30
29
  const canvas = surface.getCanvas();
31
- const ctx = new JsiDrawingContext(Skia, canvas);
32
- root.dom.render(ctx);
30
+ root.drawOnCanvas(canvas);
33
31
  root.unmount();
34
32
  surface.flush();
35
33
  return surface.makeImageSnapshot();
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkApi","SkiaRoot","JsiDrawingContext","Skia","makeOffscreenSurface","width","height","CanvasKit","surface","Surface","MakeOffscreen","Error","getSkiaExports","drawOffscreen","element","root","render","canvas","getCanvas","ctx","dom","unmount","flush","makeImageSnapshot"],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type { ReactNode } from \"react\";\n\nimport { JsiSkApi } from \"../skia/web\";\nimport { SkiaRoot } from \"../renderer/Reconciler\";\nimport { JsiDrawingContext } from \"../dom/types\";\nimport type { SkSurface } from \"../skia\";\n\nexport * from \"../renderer/components\";\n\nlet Skia: ReturnType<typeof JsiSkApi>;\n\nexport const makeOffscreenSurface = (width: number, height: number) => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (surface === null) {\n throw new Error(\"Couldn't create surface!\");\n }\n return surface;\n};\n\nexport const getSkiaExports = () => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n return { Skia };\n};\n\nexport const drawOffscreen = (surface: SkSurface, element: ReactNode) => {\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const canvas = surface.getCanvas();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n root.unmount();\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":"AAAA;AACA;;AAIA,SAASA,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,wBAAwB;AACjD,SAASC,iBAAiB,QAAQ,cAAc;AAGhD,cAAc,wBAAwB;AAEtC,IAAIC,IAAiC;AAErC,OAAO,MAAMC,oBAAoB,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAK;EACrE,IAAI,CAACH,IAAI,EAAE;IACTA,IAAI,GAAGH,QAAQ,CAACO,SAAS,CAAC;EAC5B;EACA,MAAMC,OAAO,GAAGL,IAAI,CAACM,OAAO,CAACC,aAAa,CAACL,KAAK,EAAEC,MAAM,CAAC;EACzD,IAAIE,OAAO,KAAK,IAAI,EAAE;IACpB,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC;EAC7C;EACA,OAAOH,OAAO;AAChB,CAAC;AAED,OAAO,MAAMI,cAAc,GAAGA,CAAA,KAAM;EAClC,IAAI,CAACT,IAAI,EAAE;IACTA,IAAI,GAAGH,QAAQ,CAACO,SAAS,CAAC;EAC5B;EACA,OAAO;IAAEJ;EAAK,CAAC;AACjB,CAAC;AAED,OAAO,MAAMU,aAAa,GAAGA,CAACL,OAAkB,EAAEM,OAAkB,KAAK;EACvE,MAAMC,IAAI,GAAG,IAAId,QAAQ,CAACE,IAAI,EAAE,KAAK,CAAC;EACtCY,IAAI,CAACC,MAAM,CAACF,OAAO,CAAC;EACpB,MAAMG,MAAM,GAAGT,OAAO,CAACU,SAAS,CAAC,CAAC;EAClC,MAAMC,GAAG,GAAG,IAAIjB,iBAAiB,CAACC,IAAI,EAAEc,MAAM,CAAC;EAC/CF,IAAI,CAACK,GAAG,CAACJ,MAAM,CAACG,GAAG,CAAC;EACpBJ,IAAI,CAACM,OAAO,CAAC,CAAC;EACdb,OAAO,CAACc,KAAK,CAAC,CAAC;EACf,OAAOd,OAAO,CAACe,iBAAiB,CAAC,CAAC;AACpC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["JsiSkApi","SkiaSGRoot","Skia","makeOffscreenSurface","width","height","CanvasKit","surface","Surface","MakeOffscreen","Error","getSkiaExports","drawOffscreen","element","root","render","canvas","getCanvas","drawOnCanvas","unmount","flush","makeImageSnapshot"],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type { ReactNode } from \"react\";\n\nimport { JsiSkApi } from \"../skia/web\";\nimport type { SkSurface } from \"../skia\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\n\nexport * from \"../renderer/components\";\n\nlet Skia: ReturnType<typeof JsiSkApi>;\n\nexport const makeOffscreenSurface = (width: number, height: number) => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (surface === null) {\n throw new Error(\"Couldn't create surface!\");\n }\n return surface;\n};\n\nexport const getSkiaExports = () => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n return { Skia };\n};\n\nexport const drawOffscreen = (surface: SkSurface, element: ReactNode) => {\n const root = new SkiaSGRoot(Skia);\n root.render(element);\n const canvas = surface.getCanvas();\n root.drawOnCanvas(canvas);\n root.unmount();\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":"AAAA;AACA;;AAIA,SAASA,QAAQ,QAAQ,aAAa;AAEtC,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,cAAc,wBAAwB;AAEtC,IAAIC,IAAiC;AAErC,OAAO,MAAMC,oBAAoB,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAK;EACrE,IAAI,CAACH,IAAI,EAAE;IACTA,IAAI,GAAGF,QAAQ,CAACM,SAAS,CAAC;EAC5B;EACA,MAAMC,OAAO,GAAGL,IAAI,CAACM,OAAO,CAACC,aAAa,CAACL,KAAK,EAAEC,MAAM,CAAC;EACzD,IAAIE,OAAO,KAAK,IAAI,EAAE;IACpB,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC;EAC7C;EACA,OAAOH,OAAO;AAChB,CAAC;AAED,OAAO,MAAMI,cAAc,GAAGA,CAAA,KAAM;EAClC,IAAI,CAACT,IAAI,EAAE;IACTA,IAAI,GAAGF,QAAQ,CAACM,SAAS,CAAC;EAC5B;EACA,OAAO;IAAEJ;EAAK,CAAC;AACjB,CAAC;AAED,OAAO,MAAMU,aAAa,GAAGA,CAACL,OAAkB,EAAEM,OAAkB,KAAK;EACvE,MAAMC,IAAI,GAAG,IAAIb,UAAU,CAACC,IAAI,CAAC;EACjCY,IAAI,CAACC,MAAM,CAACF,OAAO,CAAC;EACpB,MAAMG,MAAM,GAAGT,OAAO,CAACU,SAAS,CAAC,CAAC;EAClCH,IAAI,CAACI,YAAY,CAACF,MAAM,CAAC;EACzBF,IAAI,CAACK,OAAO,CAAC,CAAC;EACdZ,OAAO,CAACa,KAAK,CAAC,CAAC;EACf,OAAOb,OAAO,CAACc,iBAAiB,CAAC,CAAC;AACpC,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import "./skia/NativeSetup";
2
2
  export { JsiSkImage } from "./skia/web/JsiSkImage";
3
3
  export * from "./renderer";
4
4
  export * from "./renderer/Canvas";
5
+ export * from "./renderer/Canvas2";
5
6
  export * from "./renderer/Offscreen";
6
7
  export * from "./views";
7
8
  export * from "./skia";
@@ -2,6 +2,7 @@ import "./skia/NativeSetup";
2
2
  export { JsiSkImage } from "./skia/web/JsiSkImage";
3
3
  export * from "./renderer";
4
4
  export * from "./renderer/Canvas";
5
+ export * from "./renderer/Canvas2";
5
6
  export * from "./renderer/Offscreen";
6
7
  export * from "./views";
7
8
  export * from "./skia";
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkImage"],"sources":["index.ts"],"sourcesContent":["import \"./skia/NativeSetup\";\nexport { JsiSkImage } from \"./skia/web/JsiSkImage\";\nexport * from \"./renderer\";\nexport * from \"./renderer/Canvas\";\nexport * from \"./renderer/Offscreen\";\nexport * from \"./views\";\nexport * from \"./skia\";\nexport * from \"./external\";\nexport * from \"./animation\";\nexport * from \"./dom/types\";\nexport * from \"./dom/nodes\";\n"],"mappings":"AAAA,OAAO,oBAAoB;AAC3B,SAASA,UAAU,QAAQ,uBAAuB;AAClD,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,cAAc,sBAAsB;AACpC,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["JsiSkImage"],"sources":["index.ts"],"sourcesContent":["import \"./skia/NativeSetup\";\nexport { JsiSkImage } from \"./skia/web/JsiSkImage\";\nexport * from \"./renderer\";\nexport * from \"./renderer/Canvas\";\nexport * from \"./renderer/Canvas2\";\nexport * from \"./renderer/Offscreen\";\nexport * from \"./views\";\nexport * from \"./skia\";\nexport * from \"./external\";\nexport * from \"./animation\";\nexport * from \"./dom/types\";\nexport * from \"./dom/nodes\";\n"],"mappings":"AAAA,OAAO,oBAAoB;AAC3B,SAASA,UAAU,QAAQ,uBAAuB;AAClD,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,aAAa","ignoreList":[]}
@@ -1,10 +1,7 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React, { useEffect, useCallback, useMemo, forwardRef, useRef } from "react";
3
3
  import { SkiaDomView } from "../views";
4
- import { Skia } from "../skia/Skia";
5
- import { SkiaJSDomView } from "../views/SkiaJSDomView";
6
4
  import { SkiaRoot } from "./Reconciler";
7
- import { NATIVE_DOM } from "./HostComponents";
8
5
  export const useCanvasRef = () => useRef(null);
9
6
  const useOnSizeEvent = (resultValue, onLayout) => {
10
7
  return useCallback(event => {
@@ -44,7 +41,7 @@ export const Canvas = /*#__PURE__*/forwardRef(({
44
41
  const id = (_innerRef$current$nat = (_innerRef$current2 = innerRef.current) === null || _innerRef$current2 === void 0 ? void 0 : _innerRef$current2.nativeId) !== null && _innerRef$current$nat !== void 0 ? _innerRef$current$nat : -1;
45
42
  return id;
46
43
  }, [innerRef]);
47
- const root = useMemo(() => new SkiaRoot(Skia, NATIVE_DOM, redraw, getNativeId), [redraw, getNativeId]);
44
+ const root = useMemo(() => new SkiaRoot(redraw, getNativeId), [redraw, getNativeId]);
48
45
 
49
46
  // Render effect
50
47
  useEffect(() => {
@@ -55,28 +52,14 @@ export const Canvas = /*#__PURE__*/forwardRef(({
55
52
  root.unmount();
56
53
  };
57
54
  }, [root]);
58
- if (NATIVE_DOM) {
59
- return /*#__PURE__*/React.createElement(SkiaDomView, _extends({
60
- ref: ref,
61
- style: style,
62
- root: root.dom,
63
- onLayout: onLayout,
64
- debug: debug,
65
- mode: mode
66
- }, props));
67
- } else {
68
- return /*#__PURE__*/React.createElement(SkiaJSDomView, _extends({
69
- Skia: Skia,
70
- mode: mode
71
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
- ,
73
- ref: ref,
74
- style: style,
75
- root: root.dom,
76
- onLayout: onLayout,
77
- debug: debug
78
- }, props));
79
- }
55
+ return /*#__PURE__*/React.createElement(SkiaDomView, _extends({
56
+ ref: ref,
57
+ style: style,
58
+ root: root.dom,
59
+ onLayout: onLayout,
60
+ debug: debug,
61
+ mode: mode
62
+ }, props));
80
63
  });
81
64
 
82
65
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useCallback","useMemo","forwardRef","useRef","SkiaDomView","Skia","SkiaJSDomView","SkiaRoot","NATIVE_DOM","useCanvasRef","useOnSizeEvent","resultValue","onLayout","event","width","height","nativeEvent","layout","value","Canvas","children","style","debug","mode","onSize","_onSize","_onLayout","props","forwardedRef","innerRef","ref","useCombinedRefs","redraw","_innerRef$current","current","getNativeId","_innerRef$current$nat","_innerRef$current2","id","nativeId","root","render","unmount","createElement","_extends","dom","refs","targetRef","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n FunctionComponent,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport { SkiaDomView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { SkiaBaseViewProps } from \"../views\";\nimport { SkiaJSDomView } from \"../views/SkiaJSDomView\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n mode?: \"default\" | \"continuous\";\n}\n\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n {\n children,\n style,\n debug,\n mode = \"default\",\n onSize: _onSize,\n onLayout: _onLayout,\n ...props\n },\n forwardedRef\n ) => {\n const onLayout = useOnSizeEvent(_onSize, _onLayout);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const root = useMemo(\n () => new SkiaRoot(Skia, NATIVE_DOM, redraw, getNativeId),\n [redraw, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onLayout={onLayout}\n debug={debug}\n mode={mode}\n {...props}\n />\n );\n } else {\n return (\n <SkiaJSDomView\n Skia={Skia}\n mode={mode}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n root={root.dom}\n onLayout={onLayout}\n debug={debug}\n {...props}\n />\n );\n }\n }\n) as FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useCallback","useMemo","forwardRef","useRef","SkiaDomView","SkiaRoot","useCanvasRef","useOnSizeEvent","resultValue","onLayout","event","width","height","nativeEvent","layout","value","Canvas","children","style","debug","mode","onSize","_onSize","_onLayout","props","forwardedRef","innerRef","ref","useCombinedRefs","redraw","_innerRef$current","current","getNativeId","_innerRef$current$nat","_innerRef$current2","id","nativeId","root","render","unmount","createElement","_extends","dom","refs","targetRef","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n FunctionComponent,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport { SkiaDomView } from \"../views\";\nimport type { SkiaBaseViewProps } from \"../views\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n mode?: \"default\" | \"continuous\";\n}\n\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n {\n children,\n style,\n debug,\n mode = \"default\",\n onSize: _onSize,\n onLayout: _onLayout,\n ...props\n },\n forwardedRef\n ) => {\n const onLayout = useOnSizeEvent(_onSize, _onLayout);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const root = useMemo(\n () => new SkiaRoot(redraw, getNativeId),\n [redraw, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onLayout={onLayout}\n debug={debug}\n mode={mode}\n {...props}\n />\n );\n }\n) as FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { ViewProps } from "react-native";
2
+ import type { SharedValue } from "react-native-reanimated";
3
+ import type { SkSize } from "../skia/types";
4
+ export interface CanvasProps extends ViewProps {
5
+ debug?: boolean;
6
+ opaque?: boolean;
7
+ onSize?: SharedValue<SkSize>;
8
+ mode?: "continuous" | "default";
9
+ }
10
+ export declare const Canvas: import("react").ForwardRefExoticComponent<CanvasProps & import("react").RefAttributes<unknown>>;
@@ -0,0 +1,105 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from "react";
3
+ import { SkiaViewNativeId } from "../views/SkiaViewNativeId";
4
+ import { SkiaSGRoot } from "../sksg/Reconciler";
5
+ import { Skia } from "../skia";
6
+ import { SkiaPictureView } from "../views/SkiaPictureView.web";
7
+
8
+ // TODO: no need to go through the JS thread for this
9
+ const useOnSizeEvent = (resultValue, onLayout) => {
10
+ return useCallback(event => {
11
+ if (onLayout) {
12
+ onLayout(event);
13
+ }
14
+ const {
15
+ width,
16
+ height
17
+ } = event.nativeEvent.layout;
18
+ if (resultValue) {
19
+ resultValue.value = {
20
+ width,
21
+ height
22
+ };
23
+ }
24
+ }, [onLayout, resultValue]);
25
+ };
26
+ export const Canvas = /*#__PURE__*/forwardRef(({
27
+ mode,
28
+ debug,
29
+ opaque,
30
+ children,
31
+ onSize,
32
+ onLayout: _onLayout,
33
+ ...viewProps
34
+ }, ref) => {
35
+ const viewRef = useRef(null);
36
+ const rafId = useRef(null);
37
+ const onLayout = useOnSizeEvent(onSize, _onLayout);
38
+ // Native ID
39
+ const nativeId = useMemo(() => {
40
+ return SkiaViewNativeId.current++;
41
+ }, []);
42
+
43
+ // Root
44
+ const root = useMemo(() => new SkiaSGRoot(Skia), []);
45
+
46
+ // Render effects
47
+ useEffect(() => {
48
+ root.render(children);
49
+ if (viewRef.current) {
50
+ viewRef.current.setPicture(root.getPicture());
51
+ }
52
+ }, [children, root]);
53
+ useEffect(() => {
54
+ return () => {
55
+ root.unmount();
56
+ };
57
+ }, [root]);
58
+ const requestRedraw = useCallback(() => {
59
+ rafId.current = requestAnimationFrame(() => {
60
+ root.render(children);
61
+ if (viewRef.current) {
62
+ viewRef.current.setPicture(root.getPicture());
63
+ }
64
+ if (mode === "continuous") {
65
+ requestRedraw();
66
+ }
67
+ });
68
+ }, [children, mode, root]);
69
+ useEffect(() => {
70
+ if (mode === "continuous") {
71
+ requestRedraw();
72
+ }
73
+ return () => {
74
+ if (rafId.current !== null) {
75
+ cancelAnimationFrame(rafId.current);
76
+ }
77
+ };
78
+ }, [mode, requestRedraw]);
79
+
80
+ // Component methods
81
+ useImperativeHandle(ref, () => ({
82
+ makeImageSnapshot: rect => {
83
+ return SkiaViewApi.makeImageSnapshot(nativeId, rect);
84
+ },
85
+ makeImageSnapshotAsync: rect => {
86
+ return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);
87
+ },
88
+ redraw: () => {
89
+ var _viewRef$current;
90
+ (_viewRef$current = viewRef.current) === null || _viewRef$current === void 0 || _viewRef$current.redraw();
91
+ },
92
+ getNativeId: () => {
93
+ return nativeId;
94
+ }
95
+ }));
96
+ return /*#__PURE__*/React.createElement(SkiaPictureView, _extends({
97
+ ref: viewRef,
98
+ collapsable: false,
99
+ nativeID: `${nativeId}`,
100
+ debug: debug,
101
+ opaque: opaque,
102
+ onLayout: onLayout
103
+ }, viewProps));
104
+ });
105
+ //# sourceMappingURL=Canvas.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","SkiaViewNativeId","SkiaSGRoot","Skia","SkiaPictureView","useOnSizeEvent","resultValue","onLayout","event","width","height","nativeEvent","layout","value","Canvas","mode","debug","opaque","children","onSize","_onLayout","viewProps","ref","viewRef","rafId","nativeId","current","root","render","setPicture","getPicture","unmount","requestRedraw","requestAnimationFrame","cancelAnimationFrame","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","_viewRef$current","getNativeId","React","createElement","_extends","collapsable","nativeID"],"sources":["Canvas.web.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\nimport type { LayoutChangeEvent, ViewProps } from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport type { SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport type { SkiaBaseViewProps } from \"../views\";\nimport { SkiaPictureView } from \"../views/SkiaPictureView.web\";\n\n// TODO: no need to go through the JS thread for this\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport interface CanvasProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n mode?: \"continuous\" | \"default\";\n}\n\nexport const Canvas = forwardRef(\n (\n {\n mode,\n debug,\n opaque,\n children,\n onSize,\n onLayout: _onLayout,\n ...viewProps\n }: CanvasProps,\n ref\n ) => {\n const viewRef = useRef<SkiaPictureView>(null);\n const rafId = useRef<number | null>(null);\n const onLayout = useOnSizeEvent(onSize, _onLayout);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia), []);\n\n // Render effects\n useEffect(() => {\n root.render(children);\n if (viewRef.current) {\n viewRef.current.setPicture(root.getPicture());\n }\n }, [children, root]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n const requestRedraw = useCallback(() => {\n rafId.current = requestAnimationFrame(() => {\n root.render(children);\n if (viewRef.current) {\n viewRef.current.setPicture(root.getPicture());\n }\n if (mode === \"continuous\") {\n requestRedraw();\n }\n });\n }, [children, mode, root]);\n\n useEffect(() => {\n if (mode === \"continuous\") {\n requestRedraw();\n }\n return () => {\n if (rafId.current !== null) {\n cancelAnimationFrame(rafId.current);\n }\n };\n }, [mode, requestRedraw]);\n\n // Component methods\n useImperativeHandle(ref, () => ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n viewRef.current?.redraw();\n },\n getNativeId: () => {\n return nativeId;\n },\n }));\n return (\n <SkiaPictureView\n ref={viewRef}\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n onLayout={onLayout}\n {...viewProps}\n />\n );\n }\n);\n"],"mappings":";AAAA,SACEA,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,OAAO;AAId,SAASC,gBAAgB,QAAQ,2BAA2B;AAE5D,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,IAAI,QAAQ,SAAS;AAE9B,SAASC,eAAe,QAAQ,8BAA8B;;AAE9D;AACA,MAAMC,cAAc,GAAGA,CACrBC,WAAwC,EACxCC,QAA6C,KAC1C;EACH,OAAOX,WAAW,CACfY,KAAwB,IAAK;IAC5B,IAAID,QAAQ,EAAE;MACZA,QAAQ,CAACC,KAAK,CAAC;IACjB;IACA,MAAM;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGF,KAAK,CAACG,WAAW,CAACC,MAAM;IAElD,IAAIN,WAAW,EAAE;MACfA,WAAW,CAACO,KAAK,GAAG;QAAEJ,KAAK;QAAEC;MAAO,CAAC;IACvC;EACF,CAAC,EACD,CAACH,QAAQ,EAAED,WAAW,CACxB,CAAC;AACH,CAAC;AASD,OAAO,MAAMQ,MAAM,gBAAGnB,UAAU,CAC9B,CACE;EACEoB,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC,QAAQ;EACRC,MAAM;EACNZ,QAAQ,EAAEa,SAAS;EACnB,GAAGC;AACQ,CAAC,EACdC,GAAG,KACA;EACH,MAAMC,OAAO,GAAGvB,MAAM,CAAkB,IAAI,CAAC;EAC7C,MAAMwB,KAAK,GAAGxB,MAAM,CAAgB,IAAI,CAAC;EACzC,MAAMO,QAAQ,GAAGF,cAAc,CAACc,MAAM,EAAEC,SAAS,CAAC;EAClD;EACA,MAAMK,QAAQ,GAAG1B,OAAO,CAAC,MAAM;IAC7B,OAAOE,gBAAgB,CAACyB,OAAO,EAAE;EACnC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMC,IAAI,GAAG5B,OAAO,CAAC,MAAM,IAAIG,UAAU,CAACC,IAAI,CAAC,EAAE,EAAE,CAAC;;EAEpD;EACAN,SAAS,CAAC,MAAM;IACd8B,IAAI,CAACC,MAAM,CAACV,QAAQ,CAAC;IACrB,IAAIK,OAAO,CAACG,OAAO,EAAE;MACnBH,OAAO,CAACG,OAAO,CAACG,UAAU,CAACF,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC;IAC/C;EACF,CAAC,EAAE,CAACZ,QAAQ,EAAES,IAAI,CAAC,CAAC;EAEpB9B,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX8B,IAAI,CAACI,OAAO,CAAC,CAAC;IAChB,CAAC;EACH,CAAC,EAAE,CAACJ,IAAI,CAAC,CAAC;EAEV,MAAMK,aAAa,GAAGpC,WAAW,CAAC,MAAM;IACtC4B,KAAK,CAACE,OAAO,GAAGO,qBAAqB,CAAC,MAAM;MAC1CN,IAAI,CAACC,MAAM,CAACV,QAAQ,CAAC;MACrB,IAAIK,OAAO,CAACG,OAAO,EAAE;QACnBH,OAAO,CAACG,OAAO,CAACG,UAAU,CAACF,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC;MAC/C;MACA,IAAIf,IAAI,KAAK,YAAY,EAAE;QACzBiB,aAAa,CAAC,CAAC;MACjB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACd,QAAQ,EAAEH,IAAI,EAAEY,IAAI,CAAC,CAAC;EAE1B9B,SAAS,CAAC,MAAM;IACd,IAAIkB,IAAI,KAAK,YAAY,EAAE;MACzBiB,aAAa,CAAC,CAAC;IACjB;IACA,OAAO,MAAM;MACX,IAAIR,KAAK,CAACE,OAAO,KAAK,IAAI,EAAE;QAC1BQ,oBAAoB,CAACV,KAAK,CAACE,OAAO,CAAC;MACrC;IACF,CAAC;EACH,CAAC,EAAE,CAACX,IAAI,EAAEiB,aAAa,CAAC,CAAC;;EAEzB;EACAlC,mBAAmB,CAACwB,GAAG,EAAE,OAAO;IAC9Ba,iBAAiB,EAAGC,IAAa,IAAK;MACpC,OAAOC,WAAW,CAACF,iBAAiB,CAACV,QAAQ,EAAEW,IAAI,CAAC;IACtD,CAAC;IACDE,sBAAsB,EAAGF,IAAa,IAAK;MACzC,OAAOC,WAAW,CAACC,sBAAsB,CAACb,QAAQ,EAAEW,IAAI,CAAC;IAC3D,CAAC;IACDG,MAAM,EAAEA,CAAA,KAAM;MAAA,IAAAC,gBAAA;MACZ,CAAAA,gBAAA,GAAAjB,OAAO,CAACG,OAAO,cAAAc,gBAAA,eAAfA,gBAAA,CAAiBD,MAAM,CAAC,CAAC;IAC3B,CAAC;IACDE,WAAW,EAAEA,CAAA,KAAM;MACjB,OAAOhB,QAAQ;IACjB;EACF,CAAC,CAAC,CAAC;EACH,oBACEiB,KAAA,CAAAC,aAAA,CAACvC,eAAe,EAAAwC,QAAA;IACdtB,GAAG,EAAEC,OAAQ;IACbsB,WAAW,EAAE,KAAM;IACnBC,QAAQ,EAAE,GAAGrB,QAAQ,EAAG;IACxBT,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfV,QAAQ,EAAEA;EAAS,GACfc,SAAS,CACd,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { ViewProps } from "react-native";
2
+ import type { SharedValue } from "react-native-reanimated";
3
+ import type { SkSize } from "../skia/types";
4
+ export interface Canvas2Props extends ViewProps {
5
+ debug?: boolean;
6
+ opaque?: boolean;
7
+ onSize?: SharedValue<SkSize>;
8
+ mode?: "continuous" | "default";
9
+ }
10
+ export declare const Canvas2: import("react").ForwardRefExoticComponent<Canvas2Props & import("react").RefAttributes<unknown>>;
@@ -0,0 +1,97 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from "react";
3
+ import { SkiaViewNativeId } from "../views/SkiaViewNativeId";
4
+ import SkiaPictureViewNativeComponent from "../specs/SkiaPictureViewNativeComponent";
5
+ import { SkiaSGRoot } from "../sksg/Reconciler";
6
+ import { Skia } from "../skia";
7
+ const NativeSkiaPictureView = SkiaPictureViewNativeComponent;
8
+
9
+ // TODO: no need to go through the JS thread for this
10
+ const useOnSizeEvent = (resultValue, onLayout) => {
11
+ return useCallback(event => {
12
+ if (onLayout) {
13
+ onLayout(event);
14
+ }
15
+ const {
16
+ width,
17
+ height
18
+ } = event.nativeEvent.layout;
19
+ if (resultValue) {
20
+ resultValue.value = {
21
+ width,
22
+ height
23
+ };
24
+ }
25
+ }, [onLayout, resultValue]);
26
+ };
27
+ export const Canvas2 = /*#__PURE__*/forwardRef(({
28
+ mode,
29
+ debug,
30
+ opaque,
31
+ children,
32
+ onSize,
33
+ onLayout: _onLayout,
34
+ ...viewProps
35
+ }, ref) => {
36
+ const rafId = useRef(null);
37
+ const onLayout = useOnSizeEvent(onSize, _onLayout);
38
+ // Native ID
39
+ const nativeId = useMemo(() => {
40
+ return SkiaViewNativeId.current++;
41
+ }, []);
42
+
43
+ // Root
44
+ const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);
45
+
46
+ // Render effects
47
+ useEffect(() => {
48
+ root.render(children);
49
+ }, [children, root]);
50
+ useEffect(() => {
51
+ return () => {
52
+ root.unmount();
53
+ };
54
+ }, [root]);
55
+ const requestRedraw = useCallback(() => {
56
+ rafId.current = requestAnimationFrame(() => {
57
+ root.render(children);
58
+ if (mode === "continuous") {
59
+ requestRedraw();
60
+ }
61
+ });
62
+ }, [children, mode, root]);
63
+ useEffect(() => {
64
+ if (mode === "continuous") {
65
+ requestRedraw();
66
+ }
67
+ return () => {
68
+ if (rafId.current !== null) {
69
+ cancelAnimationFrame(rafId.current);
70
+ }
71
+ };
72
+ }, [mode, requestRedraw]);
73
+
74
+ // Component methods
75
+ useImperativeHandle(ref, () => ({
76
+ makeImageSnapshot: rect => {
77
+ return SkiaViewApi.makeImageSnapshot(nativeId, rect);
78
+ },
79
+ makeImageSnapshotAsync: rect => {
80
+ return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);
81
+ },
82
+ redraw: () => {
83
+ SkiaViewApi.requestRedraw(nativeId);
84
+ },
85
+ getNativeId: () => {
86
+ return nativeId;
87
+ }
88
+ }));
89
+ return /*#__PURE__*/React.createElement(NativeSkiaPictureView, _extends({
90
+ collapsable: false,
91
+ nativeID: `${nativeId}`,
92
+ debug: debug,
93
+ opaque: opaque,
94
+ onLayout: onLayout
95
+ }, viewProps));
96
+ });
97
+ //# sourceMappingURL=Canvas2.js.map