@shopify/react-native-skia 1.7.6 → 1.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) 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.js.map +1 -1
  11. package/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +2 -3
  12. package/lib/commonjs/dom/nodes/datatypes/Circle.js +11 -6
  13. package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
  14. package/lib/commonjs/dom/nodes/datatypes/Enum.js +1 -0
  15. package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
  16. package/lib/commonjs/dom/nodes/datatypes/Fitting.js +1 -10
  17. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/datatypes/Gradient.js +3 -2
  19. package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
  20. package/lib/commonjs/dom/nodes/datatypes/Path.js +4 -1
  21. package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
  22. package/lib/commonjs/dom/nodes/datatypes/Radius.js +1 -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 +17 -7
  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 +32 -1
  29. package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
  30. package/lib/commonjs/dom/nodes/drawings/Box.js +4 -5
  31. package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
  32. package/lib/commonjs/dom/nodes/drawings/CircleNode.js +1 -1
  33. package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +1 -1
  34. package/lib/commonjs/dom/types/DeclarationContext.d.ts +4 -4
  35. package/lib/commonjs/dom/types/DeclarationContext.js +8 -2
  36. package/lib/commonjs/dom/types/DeclarationContext.js.map +1 -1
  37. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  38. package/lib/commonjs/external/reanimated/renderHelpers.js +11 -6
  39. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  40. package/lib/commonjs/renderer/HostConfig.js +8 -4
  41. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  42. package/lib/commonjs/renderer/__tests__/setup.d.ts +2 -3
  43. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -2
  44. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  45. package/lib/commonjs/renderer/typeddash.js +5 -1
  46. package/lib/commonjs/renderer/typeddash.js.map +1 -1
  47. package/lib/commonjs/skia/__tests__/setup.d.ts +0 -3
  48. package/lib/commonjs/skia/types/Path/Path.js +5 -1
  49. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  50. package/lib/commonjs/skia/types/Shader/Shader.js +8 -6
  51. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  52. package/lib/commonjs/sksg/Container.d.ts +19 -0
  53. package/lib/commonjs/sksg/Container.js +102 -0
  54. package/lib/commonjs/sksg/Container.js.map +1 -0
  55. package/lib/commonjs/sksg/DrawingContext.d.ts +16 -0
  56. package/lib/commonjs/sksg/DrawingContext.js +186 -0
  57. package/lib/commonjs/sksg/DrawingContext.js.map +1 -0
  58. package/lib/commonjs/sksg/HostConfig.d.ts +19 -0
  59. package/lib/commonjs/sksg/HostConfig.js +168 -0
  60. package/lib/commonjs/sksg/HostConfig.js.map +1 -0
  61. package/lib/commonjs/sksg/Reconciler.d.ts +17 -0
  62. package/lib/commonjs/sksg/Reconciler.js +54 -0
  63. package/lib/commonjs/sksg/Reconciler.js.map +1 -0
  64. package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +57 -0
  65. package/lib/commonjs/sksg/nodes/Node.d.ts +7 -0
  66. package/lib/commonjs/sksg/nodes/Node.js +6 -0
  67. package/lib/commonjs/sksg/nodes/Node.js.map +1 -0
  68. package/lib/commonjs/sksg/nodes/colorFilters.d.ts +7 -0
  69. package/lib/commonjs/sksg/nodes/colorFilters.js +55 -0
  70. package/lib/commonjs/sksg/nodes/colorFilters.js.map +1 -0
  71. package/lib/commonjs/sksg/nodes/context.d.ts +3 -0
  72. package/lib/commonjs/sksg/nodes/context.js +448 -0
  73. package/lib/commonjs/sksg/nodes/context.js.map +1 -0
  74. package/lib/commonjs/sksg/nodes/drawings.d.ts +31 -0
  75. package/lib/commonjs/sksg/nodes/drawings.js +361 -0
  76. package/lib/commonjs/sksg/nodes/drawings.js.map +1 -0
  77. package/lib/commonjs/sksg/nodes/imageFilters.d.ts +14 -0
  78. package/lib/commonjs/sksg/nodes/imageFilters.js +135 -0
  79. package/lib/commonjs/sksg/nodes/imageFilters.js.map +1 -0
  80. package/lib/commonjs/sksg/nodes/index.d.ts +3 -0
  81. package/lib/commonjs/sksg/nodes/index.js +39 -0
  82. package/lib/commonjs/sksg/nodes/index.js.map +1 -0
  83. package/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
  84. package/lib/commonjs/sksg/nodes/paint.js +80 -0
  85. package/lib/commonjs/sksg/nodes/paint.js.map +1 -0
  86. package/lib/commonjs/sksg/nodes/pathEffects.d.ts +8 -0
  87. package/lib/commonjs/sksg/nodes/pathEffects.js +84 -0
  88. package/lib/commonjs/sksg/nodes/pathEffects.js.map +1 -0
  89. package/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
  90. package/lib/commonjs/sksg/nodes/shaders.js +156 -0
  91. package/lib/commonjs/sksg/nodes/shaders.js.map +1 -0
  92. package/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  93. package/lib/commonjs/sksg/nodes/utils.js +25 -0
  94. package/lib/commonjs/sksg/nodes/utils.js.map +1 -0
  95. package/lib/commonjs/views/SkiaPictureView.js +0 -2
  96. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  97. package/lib/commonjs/views/types.d.ts +2 -2
  98. package/lib/commonjs/views/types.js.map +1 -1
  99. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  100. package/lib/module/dom/nodes/datatypes/Circle.d.ts +2 -3
  101. package/lib/module/dom/nodes/datatypes/Circle.js +12 -6
  102. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
  103. package/lib/module/dom/nodes/datatypes/Enum.js +2 -0
  104. package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
  105. package/lib/module/dom/nodes/datatypes/Fitting.js +2 -10
  106. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  107. package/lib/module/dom/nodes/datatypes/Gradient.js +4 -2
  108. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  109. package/lib/module/dom/nodes/datatypes/Path.js +5 -1
  110. package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
  111. package/lib/module/dom/nodes/datatypes/Radius.js +2 -0
  112. package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
  113. package/lib/module/dom/nodes/datatypes/Rect.d.ts +3 -1
  114. package/lib/module/dom/nodes/datatypes/Rect.js +14 -5
  115. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  116. package/lib/module/dom/nodes/datatypes/Transform.d.ts +2 -1
  117. package/lib/module/dom/nodes/datatypes/Transform.js +31 -0
  118. package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
  119. package/lib/module/dom/nodes/drawings/Box.js +1 -2
  120. package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
  121. package/lib/module/dom/nodes/drawings/CircleNode.js +1 -1
  122. package/lib/module/dom/nodes/drawings/CircleNode.js.map +1 -1
  123. package/lib/module/dom/types/DeclarationContext.d.ts +4 -4
  124. package/lib/module/dom/types/DeclarationContext.js +9 -2
  125. package/lib/module/dom/types/DeclarationContext.js.map +1 -1
  126. package/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  127. package/lib/module/external/reanimated/renderHelpers.js +8 -4
  128. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  129. package/lib/module/renderer/HostConfig.js +8 -4
  130. package/lib/module/renderer/HostConfig.js.map +1 -1
  131. package/lib/module/renderer/__tests__/setup.d.ts +2 -3
  132. package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -2
  133. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  134. package/lib/module/renderer/typeddash.js +5 -1
  135. package/lib/module/renderer/typeddash.js.map +1 -1
  136. package/lib/module/skia/__tests__/setup.d.ts +0 -3
  137. package/lib/module/skia/types/Path/Path.js +5 -1
  138. package/lib/module/skia/types/Path/Path.js.map +1 -1
  139. package/lib/module/skia/types/Shader/Shader.js +9 -6
  140. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  141. package/lib/module/sksg/Container.d.ts +19 -0
  142. package/lib/module/sksg/Container.js +94 -0
  143. package/lib/module/sksg/Container.js.map +1 -0
  144. package/lib/module/sksg/DrawingContext.d.ts +16 -0
  145. package/lib/module/sksg/DrawingContext.js +180 -0
  146. package/lib/module/sksg/DrawingContext.js.map +1 -0
  147. package/lib/module/sksg/HostConfig.d.ts +19 -0
  148. package/lib/module/sksg/HostConfig.js +161 -0
  149. package/lib/module/sksg/HostConfig.js.map +1 -0
  150. package/lib/module/sksg/Reconciler.d.ts +17 -0
  151. package/lib/module/sksg/Reconciler.js +46 -0
  152. package/lib/module/sksg/Reconciler.js.map +1 -0
  153. package/lib/module/sksg/__tests__/MockDeclaration.d.ts +57 -0
  154. package/lib/module/sksg/nodes/Node.d.ts +7 -0
  155. package/lib/module/sksg/nodes/Node.js +2 -0
  156. package/lib/module/sksg/nodes/Node.js.map +1 -0
  157. package/lib/module/sksg/nodes/colorFilters.d.ts +7 -0
  158. package/lib/module/sksg/nodes/colorFilters.js +44 -0
  159. package/lib/module/sksg/nodes/colorFilters.js.map +1 -0
  160. package/lib/module/sksg/nodes/context.d.ts +3 -0
  161. package/lib/module/sksg/nodes/context.js +443 -0
  162. package/lib/module/sksg/nodes/context.js.map +1 -0
  163. package/lib/module/sksg/nodes/drawings.d.ts +31 -0
  164. package/lib/module/sksg/nodes/drawings.js +334 -0
  165. package/lib/module/sksg/nodes/drawings.js.map +1 -0
  166. package/lib/module/sksg/nodes/imageFilters.d.ts +14 -0
  167. package/lib/module/sksg/nodes/imageFilters.js +122 -0
  168. package/lib/module/sksg/nodes/imageFilters.js.map +1 -0
  169. package/lib/module/sksg/nodes/index.d.ts +3 -0
  170. package/lib/module/sksg/nodes/index.js +4 -0
  171. package/lib/module/sksg/nodes/index.js.map +1 -0
  172. package/lib/module/sksg/nodes/paint.d.ts +2 -0
  173. package/lib/module/sksg/nodes/paint.js +74 -0
  174. package/lib/module/sksg/nodes/paint.js.map +1 -0
  175. package/lib/module/sksg/nodes/pathEffects.d.ts +8 -0
  176. package/lib/module/sksg/nodes/pathEffects.js +72 -0
  177. package/lib/module/sksg/nodes/pathEffects.js.map +1 -0
  178. package/lib/module/sksg/nodes/shaders.d.ts +10 -0
  179. package/lib/module/sksg/nodes/shaders.js +142 -0
  180. package/lib/module/sksg/nodes/shaders.js.map +1 -0
  181. package/lib/module/sksg/nodes/utils.d.ts +3 -0
  182. package/lib/module/sksg/nodes/utils.js +18 -0
  183. package/lib/module/sksg/nodes/utils.js.map +1 -0
  184. package/lib/module/views/SkiaPictureView.js +0 -2
  185. package/lib/module/views/SkiaPictureView.js.map +1 -1
  186. package/lib/module/views/types.d.ts +2 -2
  187. package/lib/module/views/types.js.map +1 -1
  188. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +1 -1
  189. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +2 -0
  190. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +1 -0
  191. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  192. package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +3 -1
  193. package/lib/typescript/lib/commonjs/sksg/Container.d.ts +16 -0
  194. package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +26 -0
  195. package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +50 -0
  196. package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +16 -0
  197. package/lib/typescript/lib/commonjs/sksg/nodes/Node.d.ts +1 -0
  198. package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +7 -0
  199. package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +2 -0
  200. package/lib/typescript/lib/commonjs/sksg/nodes/drawings.d.ts +23 -0
  201. package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +10 -0
  202. package/lib/typescript/lib/commonjs/sksg/nodes/index.d.ts +1 -0
  203. package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
  204. package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +8 -0
  205. package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
  206. package/lib/typescript/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  207. package/lib/typescript/lib/module/dom/nodes/datatypes/Circle.d.ts +1 -1
  208. package/lib/typescript/lib/module/dom/nodes/datatypes/Rect.d.ts +2 -0
  209. package/lib/typescript/lib/module/dom/nodes/datatypes/Transform.d.ts +1 -0
  210. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  211. package/lib/typescript/lib/module/mock/index.d.ts +4 -1
  212. package/lib/typescript/lib/module/renderer/HostConfig.d.ts +3 -1
  213. package/lib/typescript/lib/module/sksg/Container.d.ts +15 -0
  214. package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +26 -0
  215. package/lib/typescript/lib/module/sksg/HostConfig.d.ts +49 -0
  216. package/lib/typescript/lib/module/sksg/Reconciler.d.ts +15 -0
  217. package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +6 -0
  218. package/lib/typescript/lib/module/sksg/nodes/context.d.ts +1 -0
  219. package/lib/typescript/lib/module/sksg/nodes/drawings.d.ts +22 -0
  220. package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +9 -0
  221. package/lib/typescript/lib/module/sksg/nodes/index.d.ts +3 -0
  222. package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +1 -0
  223. package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +7 -0
  224. package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +9 -0
  225. package/lib/typescript/lib/module/sksg/nodes/utils.d.ts +2 -0
  226. package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +2 -3
  227. package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +3 -1
  228. package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +2 -1
  229. package/lib/typescript/src/dom/types/DeclarationContext.d.ts +4 -4
  230. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +2 -0
  231. package/lib/typescript/src/renderer/__tests__/setup.d.ts +2 -3
  232. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -2
  233. package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -3
  234. package/lib/typescript/src/sksg/Container.d.ts +19 -0
  235. package/lib/typescript/src/sksg/DrawingContext.d.ts +16 -0
  236. package/lib/typescript/src/sksg/HostConfig.d.ts +19 -0
  237. package/lib/typescript/src/sksg/Reconciler.d.ts +17 -0
  238. package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +57 -0
  239. package/lib/typescript/src/sksg/nodes/Node.d.ts +7 -0
  240. package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +7 -0
  241. package/lib/typescript/src/sksg/nodes/context.d.ts +3 -0
  242. package/lib/typescript/src/sksg/nodes/drawings.d.ts +31 -0
  243. package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +14 -0
  244. package/lib/typescript/src/sksg/nodes/index.d.ts +3 -0
  245. package/lib/typescript/src/sksg/nodes/paint.d.ts +2 -0
  246. package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +8 -0
  247. package/lib/typescript/src/sksg/nodes/shaders.d.ts +10 -0
  248. package/lib/typescript/src/sksg/nodes/utils.d.ts +3 -0
  249. package/lib/typescript/src/views/types.d.ts +2 -2
  250. package/libs/{ios → apple}/libskia.xcframework/Info.plist +15 -0
  251. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  252. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  253. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  254. package/libs/{ios → apple}/libskottie.xcframework/Info.plist +20 -5
  255. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  256. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  257. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  258. package/libs/{ios → apple}/libskparagraph.xcframework/Info.plist +20 -5
  259. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  260. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  261. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  262. package/libs/{ios → apple}/libsksg.xcframework/Info.plist +15 -0
  263. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  264. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  265. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  266. package/libs/{ios → apple}/libskshaper.xcframework/Info.plist +20 -5
  267. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  268. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  269. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  270. package/libs/{ios → apple}/libskunicode_core.xcframework/Info.plist +18 -3
  271. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  272. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  273. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  274. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/Info.plist +15 -0
  275. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  276. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  277. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  278. package/libs/{ios → apple}/libsvg.xcframework/Info.plist +15 -0
  279. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  280. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  281. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  282. package/package.json +3 -3
  283. package/react-native-skia.podspec +9 -9
  284. package/src/__tests__/setup.ts +1 -1
  285. package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
  286. package/src/__tests__/snapshots/sksg/breathe.png +0 -0
  287. package/src/__tests__/snapshots/sksg/simple.png +0 -0
  288. package/src/__tests__/snapshots/sksg/simple2.png +0 -0
  289. package/src/dom/nodes/JsiSkDOM.ts +2 -1
  290. package/src/dom/nodes/datatypes/Circle.ts +7 -5
  291. package/src/dom/nodes/datatypes/Enum.ts +2 -0
  292. package/src/dom/nodes/datatypes/Fitting.ts +2 -5
  293. package/src/dom/nodes/datatypes/Gradient.ts +4 -7
  294. package/src/dom/nodes/datatypes/Path.ts +5 -2
  295. package/src/dom/nodes/datatypes/Radius.ts +2 -0
  296. package/src/dom/nodes/datatypes/Rect.ts +40 -6
  297. package/src/dom/nodes/datatypes/Transform.ts +29 -1
  298. package/src/dom/nodes/drawings/Box.ts +1 -29
  299. package/src/dom/nodes/drawings/CircleNode.ts +1 -1
  300. package/src/dom/types/DeclarationContext.ts +12 -2
  301. package/src/external/reanimated/renderHelpers.ts +8 -4
  302. package/src/renderer/HostConfig.ts +10 -4
  303. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +2 -2
  304. package/src/renderer/__tests__/setup.tsx +17 -15
  305. package/src/renderer/processors/Animations/Animations.ts +1 -5
  306. package/src/renderer/typeddash.ts +4 -2
  307. package/src/skia/__tests__/setup.ts +1 -51
  308. package/src/skia/types/Path/Path.ts +4 -2
  309. package/src/skia/types/Shader/Shader.ts +7 -4
  310. package/src/sksg/Container.ts +102 -0
  311. package/src/sksg/DrawingContext.ts +221 -0
  312. package/src/sksg/HostConfig.ts +287 -0
  313. package/src/sksg/Reconciler.ts +59 -0
  314. package/src/sksg/__tests__/Declarations.spec.tsx +235 -0
  315. package/src/sksg/__tests__/MockDeclaration.ts +140 -0
  316. package/src/sksg/__tests__/Simple.spec.tsx +148 -0
  317. package/src/sksg/nodes/Node.ts +8 -0
  318. package/src/sksg/nodes/colorFilters.ts +60 -0
  319. package/src/sksg/nodes/context.ts +489 -0
  320. package/src/sksg/nodes/drawings.ts +393 -0
  321. package/src/sksg/nodes/imageFilters.ts +183 -0
  322. package/src/sksg/nodes/index.ts +3 -0
  323. package/src/sksg/nodes/paint.ts +75 -0
  324. package/src/sksg/nodes/pathEffects.ts +95 -0
  325. package/src/sksg/nodes/shaders.ts +203 -0
  326. package/src/sksg/nodes/utils.ts +23 -0
  327. package/src/views/SkiaPictureView.tsx +0 -2
  328. package/src/views/types.ts +2 -2
  329. package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +0 -1
  330. package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  331. package/lib/module/dom/__tests__/Compose.spec.d.ts +0 -1
  332. package/lib/module/dom/__tests__/Demos.spec.d.ts +0 -1
  333. package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  334. package/lib/module/dom/__tests__/Drawings.spec.d.ts +0 -1
  335. package/lib/module/dom/__tests__/Group.spec.d.ts +0 -1
  336. package/lib/module/dom/__tests__/Paint.spec.d.ts +0 -1
  337. package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  338. package/lib/module/dom/__tests__/Shaders.spec.d.ts +0 -1
  339. package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  340. package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +0 -1
  341. package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +0 -1
  342. package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  343. package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +0 -1
  344. package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +0 -1
  345. package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +0 -1
  346. package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  347. package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +0 -1
  348. package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  349. package/src/dom/__tests__/Compose.spec.tsx +0 -42
  350. package/src/dom/__tests__/Demos.spec.tsx +0 -145
  351. package/src/dom/__tests__/DrawingContext.spec.tsx +0 -99
  352. package/src/dom/__tests__/Drawings.spec.tsx +0 -95
  353. package/src/dom/__tests__/Group.spec.tsx +0 -132
  354. package/src/dom/__tests__/Paint.spec.tsx +0 -100
  355. package/src/dom/__tests__/RenderNodes.spec.tsx +0 -44
  356. package/src/dom/__tests__/Shaders.spec.tsx +0 -123
  357. package/src/renderer/__tests__/SkiaDOM.spec.tsx +0 -46
  358. /package/lib/commonjs/{dom/__tests__/Compose.spec.d.ts → sksg/__tests__/Declarations.spec.d.ts} +0 -0
  359. /package/lib/commonjs/{dom/__tests__/Demos.spec.d.ts → sksg/__tests__/Simple.spec.d.ts} +0 -0
  360. /package/lib/{commonjs/dom/__tests__/DrawingContext.spec.d.ts → module/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  361. /package/lib/{commonjs/dom/__tests__/Drawings.spec.d.ts → module/sksg/__tests__/Simple.spec.d.ts} +0 -0
  362. /package/lib/{commonjs/dom/__tests__/Group.spec.d.ts → typescript/lib/module/sksg/nodes/Node.d.ts} +0 -0
  363. /package/lib/{commonjs/dom/__tests__/Paint.spec.d.ts → typescript/src/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  364. /package/lib/{commonjs/dom/__tests__/RenderNodes.spec.d.ts → typescript/src/sksg/__tests__/Simple.spec.d.ts} +0 -0
@@ -1,23 +1,25 @@
1
1
  "use strict";
2
+ "worklet";
2
3
 
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.processRect = exports.processRRect = exports.isEdge = void 0;
8
+ exports.processRect = exports.processRRect = exports.isEdge = exports.inflate = exports.deflate = void 0;
7
9
  var _Radius = require("./Radius");
8
- /* eslint-disable @typescript-eslint/no-explicit-any */
9
-
10
10
  const isEdge = (pos, b) => {
11
- "worklet";
12
-
13
11
  return pos.x === b.x || pos.y === b.y || pos.x === b.width || pos.y === b.height;
14
12
  };
15
13
 
16
14
  // We have an issue to check property existence on JSI backed instances
17
15
  exports.isEdge = isEdge;
18
- const isRRectCtor = def => def.rect === undefined;
16
+ const isRRectCtor = def => {
17
+ return def.rect === undefined;
18
+ };
19
19
  // We have an issue to check property existence on JSI backed instances
20
- const isRectCtor = def => def.rect === undefined;
20
+ const isRectCtor = def => {
21
+ return def.rect === undefined;
22
+ };
21
23
  const processRect = (Skia, def) => {
22
24
  if (isRectCtor(def)) {
23
25
  var _def$x, _def$y;
@@ -37,4 +39,12 @@ const processRRect = (Skia, def) => {
37
39
  }
38
40
  };
39
41
  exports.processRRect = processRRect;
42
+ const inflate = (Skia, box, dx, dy, tx = 0, ty = 0) => {
43
+ return Skia.RRectXY(Skia.XYWHRect(box.rect.x - dx + tx, box.rect.y - dy + ty, box.rect.width + 2 * dx, box.rect.height + 2 * dy), box.rx + dx, box.ry + dy);
44
+ };
45
+ exports.inflate = inflate;
46
+ const deflate = (Skia, box, dx, dy, tx = 0, ty = 0) => {
47
+ return inflate(Skia, box, -dx, -dy, tx, ty);
48
+ };
49
+ exports.deflate = deflate;
40
50
  //# sourceMappingURL=Rect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Radius","require","isEdge","pos","b","x","y","width","height","exports","isRRectCtor","def","rect","undefined","isRectCtor","processRect","Skia","_def$x","_def$y","XYWHRect","processRRect","_def$r","_def$x2","_def$y2","r","processRadius","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":";;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AAJA;;AAMO,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;AAAAC,OAAA,CAAAP,MAAA,GAAAA,MAAA;AACA,MAAMQ,WAAW,GAAIC,GAAa,IAC/BA,GAAG,CAASC,IAAI,KAAKC,SAAS;AACjC;AACA,MAAMC,UAAU,GAAIH,GAAY,IAC7BA,GAAG,CAASC,IAAI,KAAKC,SAAS;AAE1B,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,CAACN,CAAC,cAAAY,MAAA,cAAAA,MAAA,GAAI,CAAC,GAAAC,MAAA,GAAEP,GAAG,CAACL,CAAC,cAAAY,MAAA,cAAAA,MAAA,GAAI,CAAC,EAAEP,GAAG,CAACJ,KAAK,EAAEI,GAAG,CAACH,MAAM,CAAC;EACrE,CAAC,MAAM;IACL,OAAOG,GAAG,CAACC,IAAI;EACjB;AACF,CAAC;AAACH,OAAA,CAAAM,WAAA,GAAAA,WAAA;AAEK,MAAMK,YAAY,GAAGA,CAACJ,IAAU,EAAEL,GAAa,KAAK;EACzD,IAAID,WAAW,CAACC,GAAG,CAAC,EAAE;IAAA,IAAAU,MAAA,EAAAC,OAAA,EAAAC,OAAA;IACpB,MAAMC,CAAC,GAAG,IAAAC,qBAAa,EAACT,IAAI,GAAAK,MAAA,GAAEV,GAAG,CAACa,CAAC,cAAAH,MAAA,cAAAA,MAAA,GAAI,CAAC,CAAC;IACzC,OAAOL,IAAI,CAACU,OAAO,CACjBV,IAAI,CAACG,QAAQ,EAAAG,OAAA,GAACX,GAAG,CAACN,CAAC,cAAAiB,OAAA,cAAAA,OAAA,GAAI,CAAC,GAAAC,OAAA,GAAEZ,GAAG,CAACL,CAAC,cAAAiB,OAAA,cAAAA,OAAA,GAAI,CAAC,EAAEZ,GAAG,CAACJ,KAAK,EAAEI,GAAG,CAACH,MAAM,CAAC,EAC5DgB,CAAC,CAACnB,CAAC,EACHmB,CAAC,CAAClB,CACJ,CAAC;EACH,CAAC,MAAM;IACL,OAAOK,GAAG,CAACC,IAAI;EACjB;AACF,CAAC;AAACH,OAAA,CAAAW,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","processRect","processRRect","isEdge","inflate","deflate","_Radius","require","pos","b","x","y","width","height","isRRectCtor","def","rect","undefined","isRectCtor","Skia","_def$x","_def$y","XYWHRect","_def$r","_def$x2","_def$y2","r","processRadius","RRectXY","box","dx","dy","tx","ty","rx","ry"],"sources":["Rect.ts"],"sourcesContent":["\"worklet\";\n\n/* 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 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 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 return (def as any).rect === undefined;\n};\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\nexport const inflate = (\n Skia: Skia,\n box: SkRRect,\n dx: number,\n dy: number,\n tx = 0,\n ty = 0\n) => {\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 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,9 +1,10 @@
1
1
  "use strict";
2
+ "worklet";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.processTransformProps = void 0;
7
+ exports.processTransformProps2 = exports.processTransformProps = void 0;
7
8
  var _types = require("../../../skia/types");
8
9
  const processTransformProps = (m3, props) => {
9
10
  const {
@@ -30,4 +31,34 @@ const processTransformProps = (m3, props) => {
30
31
  }
31
32
  };
32
33
  exports.processTransformProps = processTransformProps;
34
+ const processTransformProps2 = (Skia, props) => {
35
+ const {
36
+ transform,
37
+ origin,
38
+ matrix
39
+ } = props;
40
+ if (matrix) {
41
+ const m3 = Skia.Matrix();
42
+ if (origin) {
43
+ m3.translate(origin.x, origin.y);
44
+ m3.concat(matrix);
45
+ m3.translate(-origin.x, -origin.y);
46
+ } else {
47
+ m3.concat(matrix);
48
+ }
49
+ return m3;
50
+ } else if (transform) {
51
+ const m3 = Skia.Matrix();
52
+ if (origin) {
53
+ m3.translate(origin.x, origin.y);
54
+ }
55
+ (0, _types.processTransform)(m3, transform);
56
+ if (origin) {
57
+ m3.translate(-origin.x, -origin.y);
58
+ }
59
+ return m3;
60
+ }
61
+ return null;
62
+ };
63
+ exports.processTransformProps2 = processTransformProps2;
33
64
  //# sourceMappingURL=Transform.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","processTransformProps","m3","props","transform","origin","matrix","translate","x","y","concat","processTransform","exports"],"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,IAAAA,MAAA,GAAAC,OAAA;AAEO,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;IACA,IAAAE,uBAAgB,EAACT,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;AAACG,OAAA,CAAAX,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","processTransformProps2","processTransformProps","_types","require","m3","props","transform","origin","matrix","translate","x","y","concat","processTransform","Skia","Matrix"],"sources":["Transform.ts"],"sourcesContent":["\"worklet\";\n\nimport 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 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 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":";AAAA,SAAS;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,sBAAA,GAAAF,OAAA,CAAAG,qBAAA;AAIV,IAAAC,MAAA,GAAAC,OAAA;AAEO,MAAMF,qBAAqB,GAAGA,CAACG,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;IACA,IAAAE,uBAAgB,EAACT,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;AAACb,OAAA,CAAAG,qBAAA,GAAAA,qBAAA;AAEK,MAAMD,sBAAsB,GAAGA,CAACc,IAAU,EAAET,KAAqB,KAAK;EAC3E,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;IACA,IAAAE,uBAAgB,EAACT,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;AAACN,OAAA,CAAAE,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -8,8 +8,7 @@ var _types = require("../../../skia/types");
8
8
  var _types2 = require("../../types");
9
9
  var _Node = require("../Node");
10
10
  var _RenderNode = require("../RenderNode");
11
- const inflate = (Skia, box, dx, dy, tx = 0, ty = 0) => Skia.RRectXY(Skia.XYWHRect(box.rect.x - dx + tx, box.rect.y - dy + ty, box.rect.width + 2 * dx, box.rect.height + 2 * dy), box.rx + dx, box.ry + dy);
12
- const deflate = (Skia, box, dx, dy, tx = 0, ty = 0) => inflate(Skia, box, -dx, -dy, tx, ty);
11
+ var _datatypes = require("../datatypes");
13
12
  class BoxShadowNode extends _Node.JsiDeclarationNode {
14
13
  constructor(ctx, props) {
15
14
  super(ctx, _types2.NodeType.BoxShadow, props);
@@ -53,7 +52,7 @@ class BoxNode extends _RenderNode.JsiRenderNode {
53
52
  lPaint.setColor(this.Skia.Color(color));
54
53
  lPaint.setAlphaf(paint.getAlphaf() * opacity);
55
54
  lPaint.setMaskFilter(this.Skia.MaskFilter.MakeBlur(_types.BlurStyle.Normal, blur, true));
56
- canvas.drawRRect(inflate(this.Skia, box, spread, spread, dx, dy), lPaint);
55
+ canvas.drawRRect((0, _datatypes.inflate)(this.Skia, box, spread, spread, dx, dy), lPaint);
57
56
  });
58
57
  canvas.drawRRect(box, paint);
59
58
  shadows.filter(shadow => shadow.inner).map(shadow => {
@@ -71,8 +70,8 @@ class BoxNode extends _RenderNode.JsiRenderNode {
71
70
  lPaint.setColor(this.Skia.Color(color));
72
71
  lPaint.setAlphaf(paint.getAlphaf() * opacity);
73
72
  lPaint.setMaskFilter(this.Skia.MaskFilter.MakeBlur(_types.BlurStyle.Normal, blur, true));
74
- const inner = deflate(this.Skia, box, spread, spread, dx, dy);
75
- const outer = inflate(this.Skia, box, delta.x, delta.y);
73
+ const inner = (0, _datatypes.deflate)(this.Skia, box, spread, spread, dx, dy);
74
+ const outer = (0, _datatypes.inflate)(this.Skia, box, delta.x, delta.y);
76
75
  canvas.drawDRRect(outer, inner, lPaint);
77
76
  canvas.restore();
78
77
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_types2","_Node","_RenderNode","inflate","Skia","box","dx","dy","tx","ty","RRectXY","XYWHRect","rect","x","y","width","height","rx","ry","deflate","BoxShadowNode","JsiDeclarationNode","constructor","ctx","props","NodeType","BoxShadow","decorate","_ctx","materialize","exports","BoxNode","JsiRenderNode","Box","renderNode","canvas","paint","defaultBox","opacity","getAlphaf","isRRect","shadows","_children","map","node","filter","n","shadow","inner","color","blur","spread","lPaint","Paint","setColor","Color","setAlphaf","setMaskFilter","MaskFilter","MakeBlur","BlurStyle","Normal","drawRRect","delta","Point","Math","abs","save","clipRRect","ClipOp","Intersect","outer","drawDRRect","restore"],"sources":["Box.ts"],"sourcesContent":["import type { SkRRect, Skia } from \"../../../skia/types\";\nimport { BlurStyle, ClipOp, isRRect } from \"../../../skia/types\";\nimport type { DrawingContext } from \"../../types\";\nimport { NodeType } from \"../../types\";\nimport type { BoxShadowProps, BoxProps } from \"../../types/Drawings\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport { JsiRenderNode } from \"../RenderNode\";\nimport type { DeclarationContext } from \"../../types/DeclarationContext\";\n\nconst inflate = (\n Skia: Skia,\n box: SkRRect,\n dx: number,\n dy: number,\n tx = 0,\n ty = 0\n) =>\n 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\nconst deflate = (\n Skia: Skia,\n box: SkRRect,\n dx: number,\n dy: number,\n tx = 0,\n ty = 0\n) => inflate(Skia, box, -dx, -dy, tx, ty);\n\nexport class BoxShadowNode extends JsiDeclarationNode<BoxShadowProps> {\n constructor(ctx: NodeContext, props: BoxShadowProps) {\n super(ctx, NodeType.BoxShadow, props);\n }\n\n decorate(_ctx: DeclarationContext) {\n // do nothing\n }\n\n materialize() {\n return this.props;\n }\n}\n\nexport class BoxNode extends JsiRenderNode<BoxProps> {\n constructor(ctx: NodeContext, props: BoxProps) {\n super(ctx, NodeType.Box, props);\n }\n\n renderNode({ canvas, paint }: DrawingContext) {\n const { box: defaultBox } = this.props;\n const opacity = paint.getAlphaf();\n const box = isRRect(defaultBox)\n ? defaultBox\n : this.Skia.RRectXY(defaultBox, 0, 0);\n const shadows = this._children\n .map((node) => {\n if (node instanceof BoxShadowNode) {\n return node.materialize();\n }\n return null;\n })\n .filter((n): n is BoxShadowProps => n !== null);\n shadows\n .filter((shadow) => !shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const lPaint = this.Skia.Paint();\n lPaint.setColor(this.Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n lPaint.setMaskFilter(\n this.Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n canvas.drawRRect(\n inflate(this.Skia, box, spread, spread, dx, dy),\n lPaint\n );\n });\n\n canvas.drawRRect(box, paint);\n\n shadows\n .filter((shadow) => shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const delta = this.Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));\n canvas.save();\n canvas.clipRRect(box, ClipOp.Intersect, false);\n const lPaint = this.Skia.Paint();\n lPaint.setColor(this.Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n\n lPaint.setMaskFilter(\n this.Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n const inner = deflate(this.Skia, box, spread, spread, dx, dy);\n const outer = inflate(this.Skia, box, delta.x, delta.y);\n canvas.drawDRRect(outer, inner, lPaint);\n canvas.restore();\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_types2","_Node","_RenderNode","_datatypes","BoxShadowNode","JsiDeclarationNode","constructor","ctx","props","NodeType","BoxShadow","decorate","_ctx","materialize","exports","BoxNode","JsiRenderNode","Box","renderNode","canvas","paint","box","defaultBox","opacity","getAlphaf","isRRect","Skia","RRectXY","shadows","_children","map","node","filter","n","shadow","inner","color","blur","spread","dx","dy","lPaint","Paint","setColor","Color","setAlphaf","setMaskFilter","MaskFilter","MakeBlur","BlurStyle","Normal","drawRRect","inflate","delta","Point","Math","abs","save","clipRRect","ClipOp","Intersect","deflate","outer","x","y","drawDRRect","restore"],"sources":["Box.ts"],"sourcesContent":["import { BlurStyle, ClipOp, isRRect } from \"../../../skia/types\";\nimport type { DrawingContext } from \"../../types\";\nimport { NodeType } from \"../../types\";\nimport type { BoxShadowProps, BoxProps } from \"../../types/Drawings\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport { JsiRenderNode } from \"../RenderNode\";\nimport type { DeclarationContext } from \"../../types/DeclarationContext\";\nimport { deflate, inflate } from \"../datatypes\";\n\nexport class BoxShadowNode extends JsiDeclarationNode<BoxShadowProps> {\n constructor(ctx: NodeContext, props: BoxShadowProps) {\n super(ctx, NodeType.BoxShadow, props);\n }\n\n decorate(_ctx: DeclarationContext) {\n // do nothing\n }\n\n materialize() {\n return this.props;\n }\n}\n\nexport class BoxNode extends JsiRenderNode<BoxProps> {\n constructor(ctx: NodeContext, props: BoxProps) {\n super(ctx, NodeType.Box, props);\n }\n\n renderNode({ canvas, paint }: DrawingContext) {\n const { box: defaultBox } = this.props;\n const opacity = paint.getAlphaf();\n const box = isRRect(defaultBox)\n ? defaultBox\n : this.Skia.RRectXY(defaultBox, 0, 0);\n const shadows = this._children\n .map((node) => {\n if (node instanceof BoxShadowNode) {\n return node.materialize();\n }\n return null;\n })\n .filter((n): n is BoxShadowProps => n !== null);\n shadows\n .filter((shadow) => !shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const lPaint = this.Skia.Paint();\n lPaint.setColor(this.Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n lPaint.setMaskFilter(\n this.Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n canvas.drawRRect(\n inflate(this.Skia, box, spread, spread, dx, dy),\n lPaint\n );\n });\n\n canvas.drawRRect(box, paint);\n\n shadows\n .filter((shadow) => shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const delta = this.Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));\n canvas.save();\n canvas.clipRRect(box, ClipOp.Intersect, false);\n const lPaint = this.Skia.Paint();\n lPaint.setColor(this.Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n\n lPaint.setMaskFilter(\n this.Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n const inner = deflate(this.Skia, box, spread, spread, dx, dy);\n const outer = inflate(this.Skia, box, delta.x, delta.y);\n canvas.drawDRRect(outer, inner, lPaint);\n canvas.restore();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AAEO,MAAMK,aAAa,SAASC,wBAAkB,CAAiB;EACpEC,WAAWA,CAACC,GAAgB,EAAEC,KAAqB,EAAE;IACnD,KAAK,CAACD,GAAG,EAAEE,gBAAQ,CAACC,SAAS,EAAEF,KAAK,CAAC;EACvC;EAEAG,QAAQA,CAACC,IAAwB,EAAE;IACjC;EAAA;EAGFC,WAAWA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACL,KAAK;EACnB;AACF;AAACM,OAAA,CAAAV,aAAA,GAAAA,aAAA;AAEM,MAAMW,OAAO,SAASC,yBAAa,CAAW;EACnDV,WAAWA,CAACC,GAAgB,EAAEC,KAAe,EAAE;IAC7C,KAAK,CAACD,GAAG,EAAEE,gBAAQ,CAACQ,GAAG,EAAET,KAAK,CAAC;EACjC;EAEAU,UAAUA,CAAC;IAAEC,MAAM;IAAEC;EAAsB,CAAC,EAAE;IAC5C,MAAM;MAAEC,GAAG,EAAEC;IAAW,CAAC,GAAG,IAAI,CAACd,KAAK;IACtC,MAAMe,OAAO,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;IACjC,MAAMH,GAAG,GAAG,IAAAI,cAAO,EAACH,UAAU,CAAC,GAC3BA,UAAU,GACV,IAAI,CAACI,IAAI,CAACC,OAAO,CAACL,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,MAAMM,OAAO,GAAG,IAAI,CAACC,SAAS,CAC3BC,GAAG,CAAEC,IAAI,IAAK;MACb,IAAIA,IAAI,YAAY3B,aAAa,EAAE;QACjC,OAAO2B,IAAI,CAAClB,WAAW,CAAC,CAAC;MAC3B;MACA,OAAO,IAAI;IACb,CAAC,CAAC,CACDmB,MAAM,CAAEC,CAAC,IAA0BA,CAAC,KAAK,IAAI,CAAC;IACjDL,OAAO,CACJI,MAAM,CAAEE,MAAM,IAAK,CAACA,MAAM,CAACC,KAAK,CAAC,CACjCL,GAAG,CAAEI,MAAM,IAAK;MACf,MAAM;QAAEE,KAAK,GAAG,OAAO;QAAEC,IAAI;QAAEC,MAAM,GAAG,CAAC;QAAEC,EAAE,GAAG,CAAC;QAAEC,EAAE,GAAG;MAAE,CAAC,GAAGN,MAAM;MACpE,MAAMO,MAAM,GAAG,IAAI,CAACf,IAAI,CAACgB,KAAK,CAAC,CAAC;MAChCD,MAAM,CAACE,QAAQ,CAAC,IAAI,CAACjB,IAAI,CAACkB,KAAK,CAACR,KAAK,CAAC,CAAC;MACvCK,MAAM,CAACI,SAAS,CAACzB,KAAK,CAACI,SAAS,CAAC,CAAC,GAAGD,OAAO,CAAC;MAC7CkB,MAAM,CAACK,aAAa,CAClB,IAAI,CAACpB,IAAI,CAACqB,UAAU,CAACC,QAAQ,CAACC,gBAAS,CAACC,MAAM,EAAEb,IAAI,EAAE,IAAI,CAC5D,CAAC;MACDlB,MAAM,CAACgC,SAAS,CACd,IAAAC,kBAAO,EAAC,IAAI,CAAC1B,IAAI,EAAEL,GAAG,EAAEiB,MAAM,EAAEA,MAAM,EAAEC,EAAE,EAAEC,EAAE,CAAC,EAC/CC,MACF,CAAC;IACH,CAAC,CAAC;IAEJtB,MAAM,CAACgC,SAAS,CAAC9B,GAAG,EAAED,KAAK,CAAC;IAE5BQ,OAAO,CACJI,MAAM,CAAEE,MAAM,IAAKA,MAAM,CAACC,KAAK,CAAC,CAChCL,GAAG,CAAEI,MAAM,IAAK;MACf,MAAM;QAAEE,KAAK,GAAG,OAAO;QAAEC,IAAI;QAAEC,MAAM,GAAG,CAAC;QAAEC,EAAE,GAAG,CAAC;QAAEC,EAAE,GAAG;MAAE,CAAC,GAAGN,MAAM;MACpE,MAAMmB,KAAK,GAAG,IAAI,CAAC3B,IAAI,CAAC4B,KAAK,CAAC,EAAE,GAAGC,IAAI,CAACC,GAAG,CAACjB,EAAE,CAAC,EAAE,EAAE,GAAGgB,IAAI,CAACC,GAAG,CAAChB,EAAE,CAAC,CAAC;MACnErB,MAAM,CAACsC,IAAI,CAAC,CAAC;MACbtC,MAAM,CAACuC,SAAS,CAACrC,GAAG,EAAEsC,aAAM,CAACC,SAAS,EAAE,KAAK,CAAC;MAC9C,MAAMnB,MAAM,GAAG,IAAI,CAACf,IAAI,CAACgB,KAAK,CAAC,CAAC;MAChCD,MAAM,CAACE,QAAQ,CAAC,IAAI,CAACjB,IAAI,CAACkB,KAAK,CAACR,KAAK,CAAC,CAAC;MACvCK,MAAM,CAACI,SAAS,CAACzB,KAAK,CAACI,SAAS,CAAC,CAAC,GAAGD,OAAO,CAAC;MAE7CkB,MAAM,CAACK,aAAa,CAClB,IAAI,CAACpB,IAAI,CAACqB,UAAU,CAACC,QAAQ,CAACC,gBAAS,CAACC,MAAM,EAAEb,IAAI,EAAE,IAAI,CAC5D,CAAC;MACD,MAAMF,KAAK,GAAG,IAAA0B,kBAAO,EAAC,IAAI,CAACnC,IAAI,EAAEL,GAAG,EAAEiB,MAAM,EAAEA,MAAM,EAAEC,EAAE,EAAEC,EAAE,CAAC;MAC7D,MAAMsB,KAAK,GAAG,IAAAV,kBAAO,EAAC,IAAI,CAAC1B,IAAI,EAAEL,GAAG,EAAEgC,KAAK,CAACU,CAAC,EAAEV,KAAK,CAACW,CAAC,CAAC;MACvD7C,MAAM,CAAC8C,UAAU,CAACH,KAAK,EAAE3B,KAAK,EAAEM,MAAM,CAAC;MACvCtB,MAAM,CAAC+C,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC;EACN;AACF;AAACpD,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -12,7 +12,7 @@ class CircleNode extends _DrawingNode.JsiDrawingNode {
12
12
  super(ctx, _types.NodeType.Circle, props);
13
13
  }
14
14
  deriveProps() {
15
- return (0, _datatypes.processCircle)(this.Skia, this.props).c;
15
+ return (0, _datatypes.processCircle)(this.props).c;
16
16
  }
17
17
  draw({
18
18
  canvas,
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_datatypes","_DrawingNode","CircleNode","JsiDrawingNode","constructor","ctx","props","NodeType","Circle","deriveProps","processCircle","Skia","c","draw","canvas","paint","derived","Error","x","y","drawCircle","r","exports"],"sources":["CircleNode.ts"],"sourcesContent":["import type { SkPoint } from \"../../../skia/types\";\nimport type { CircleProps, DrawingContext } from \"../../types\";\nimport { NodeType } from \"../../types\";\nimport { processCircle } from \"../datatypes\";\nimport { JsiDrawingNode } from \"../DrawingNode\";\nimport type { NodeContext } from \"../Node\";\n\nexport class CircleNode extends JsiDrawingNode<CircleProps, SkPoint> {\n constructor(ctx: NodeContext, props: CircleProps) {\n super(ctx, NodeType.Circle, props);\n }\n\n protected deriveProps() {\n return processCircle(this.Skia, this.props).c;\n }\n\n draw({ canvas, paint }: DrawingContext) {\n if (!this.derived) {\n throw new Error(\"CircleNode: c is undefined\");\n }\n const { x, y } = this.derived;\n canvas.drawCircle(x, y, this.props.r, paint);\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAGO,MAAMG,UAAU,SAASC,2BAAc,CAAuB;EACnEC,WAAWA,CAACC,GAAgB,EAAEC,KAAkB,EAAE;IAChD,KAAK,CAACD,GAAG,EAAEE,eAAQ,CAACC,MAAM,EAAEF,KAAK,CAAC;EACpC;EAEUG,WAAWA,CAAA,EAAG;IACtB,OAAO,IAAAC,wBAAa,EAAC,IAAI,CAACC,IAAI,EAAE,IAAI,CAACL,KAAK,CAAC,CAACM,CAAC;EAC/C;EAEAC,IAAIA,CAAC;IAAEC,MAAM;IAAEC;EAAsB,CAAC,EAAE;IACtC,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;MACjB,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;IAC/C;IACA,MAAM;MAAEC,CAAC;MAAEC;IAAE,CAAC,GAAG,IAAI,CAACH,OAAO;IAC7BF,MAAM,CAACM,UAAU,CAACF,CAAC,EAAEC,CAAC,EAAE,IAAI,CAACb,KAAK,CAACe,CAAC,EAAEN,KAAK,CAAC;EAC9C;AACF;AAACO,OAAA,CAAApB,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_datatypes","_DrawingNode","CircleNode","JsiDrawingNode","constructor","ctx","props","NodeType","Circle","deriveProps","processCircle","c","draw","canvas","paint","derived","Error","x","y","drawCircle","r","exports"],"sources":["CircleNode.ts"],"sourcesContent":["import type { SkPoint } from \"../../../skia/types\";\nimport type { CircleProps, DrawingContext } from \"../../types\";\nimport { NodeType } from \"../../types\";\nimport { processCircle } from \"../datatypes\";\nimport { JsiDrawingNode } from \"../DrawingNode\";\nimport type { NodeContext } from \"../Node\";\n\nexport class CircleNode extends JsiDrawingNode<CircleProps, SkPoint> {\n constructor(ctx: NodeContext, props: CircleProps) {\n super(ctx, NodeType.Circle, props);\n }\n\n protected deriveProps() {\n return processCircle(this.props).c;\n }\n\n draw({ canvas, paint }: DrawingContext) {\n if (!this.derived) {\n throw new Error(\"CircleNode: c is undefined\");\n }\n const { x, y } = this.derived;\n canvas.drawCircle(x, y, this.props.r, paint);\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAGO,MAAMG,UAAU,SAASC,2BAAc,CAAuB;EACnEC,WAAWA,CAACC,GAAgB,EAAEC,KAAkB,EAAE;IAChD,KAAK,CAACD,GAAG,EAAEE,eAAQ,CAACC,MAAM,EAAEF,KAAK,CAAC;EACpC;EAEUG,WAAWA,CAAA,EAAG;IACtB,OAAO,IAAAC,wBAAa,EAAC,IAAI,CAACJ,KAAK,CAAC,CAACK,CAAC;EACpC;EAEAC,IAAIA,CAAC;IAAEC,MAAM;IAAEC;EAAsB,CAAC,EAAE;IACtC,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;MACjB,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;IAC/C;IACA,MAAM;MAAEC,CAAC;MAAEC;IAAE,CAAC,GAAG,IAAI,CAACH,OAAO;IAC7BF,MAAM,CAACM,UAAU,CAACF,CAAC,EAAEC,CAAC,EAAE,IAAI,CAACZ,KAAK,CAACc,CAAC,EAAEN,KAAK,CAAC;EAC9C;AACF;AAACO,OAAA,CAAAnB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -2,20 +2,20 @@ import type { SkShader, SkPaint, SkImageFilter, SkMaskFilter, SkPathEffect, Skia
2
2
  type Composer<T> = (outer: T, inner: T) => T;
3
3
  export declare const composeDeclarations: <T>(filters: T[], composer: Composer<T>) => T;
4
4
  declare class Declaration<T> {
5
- private composer?;
6
5
  private decls;
7
6
  private indexes;
8
- constructor(composer?: Composer<T> | undefined);
7
+ private composer?;
8
+ constructor(composer?: Composer<T>);
9
9
  private get index();
10
10
  save(): void;
11
11
  restore(): void;
12
12
  pop(): T | undefined;
13
13
  push(decl: T): void;
14
14
  popAll(): T[];
15
- popAllAsOne(): T;
15
+ popAllAsOne(): T | undefined;
16
16
  }
17
17
  export declare class DeclarationContext {
18
- private Skia;
18
+ Skia: Skia;
19
19
  readonly paints: Declaration<SkPaint>;
20
20
  readonly maskFilters: Declaration<SkMaskFilter>;
21
21
  readonly shaders: Declaration<SkShader>;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "worklet";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -21,9 +22,10 @@ const composeDeclarations = (filters, composer) => {
21
22
  exports.composeDeclarations = composeDeclarations;
22
23
  class Declaration {
23
24
  constructor(composer) {
24
- this.composer = composer;
25
25
  _defineProperty(this, "decls", []);
26
26
  _defineProperty(this, "indexes", [0]);
27
+ _defineProperty(this, "composer", void 0);
28
+ this.composer = composer;
27
29
  }
28
30
  get index() {
29
31
  return this.indexes[this.indexes.length - 1];
@@ -44,6 +46,9 @@ class Declaration {
44
46
  return this.decls.splice(this.index, this.decls.length - this.index);
45
47
  }
46
48
  popAllAsOne() {
49
+ if (this.decls.length === 0) {
50
+ return undefined;
51
+ }
47
52
  if (!this.composer) {
48
53
  throw new Error("No composer for this type of declaration");
49
54
  }
@@ -53,13 +58,14 @@ class Declaration {
53
58
  }
54
59
  class DeclarationContext {
55
60
  constructor(Skia) {
56
- this.Skia = Skia;
61
+ _defineProperty(this, "Skia", void 0);
57
62
  _defineProperty(this, "paints", void 0);
58
63
  _defineProperty(this, "maskFilters", void 0);
59
64
  _defineProperty(this, "shaders", void 0);
60
65
  _defineProperty(this, "pathEffects", void 0);
61
66
  _defineProperty(this, "imageFilters", void 0);
62
67
  _defineProperty(this, "colorFilters", void 0);
68
+ this.Skia = Skia;
63
69
  const peComp = this.Skia.PathEffect.MakeCompose.bind(this.Skia.PathEffect);
64
70
  const ifComp = this.Skia.ImageFilter.MakeCompose.bind(this.Skia.ImageFilter);
65
71
  const cfComp = this.Skia.ColorFilter.MakeCompose.bind(this.Skia.ColorFilter);
@@ -1 +1 @@
1
- {"version":3,"names":["composeDeclarations","filters","composer","length","reverse","reduce","inner","outer","exports","Declaration","constructor","_defineProperty","index","indexes","save","push","decls","restore","pop","decl","popAll","splice","popAllAsOne","Error","DeclarationContext","Skia","peComp","PathEffect","MakeCompose","bind","ifComp","ImageFilter","cfComp","ColorFilter","paints","maskFilters","shaders","pathEffects","imageFilters","colorFilters"],"sources":["DeclarationContext.ts"],"sourcesContent":["import type {\n SkShader,\n SkPaint,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n Skia,\n SkColorFilter,\n} from \"../../skia/types\";\n\ntype Composer<T> = (outer: T, inner: T) => T;\n\nexport const composeDeclarations = <T>(filters: T[], composer: Composer<T>) => {\n if (filters.length <= 1) {\n return filters[0];\n }\n return filters.reverse().reduce((inner, outer) => {\n if (!inner) {\n return outer;\n }\n return composer(outer, inner);\n });\n};\n\nclass Declaration<T> {\n private decls: T[] = [];\n private indexes = [0];\n\n constructor(private composer?: Composer<T>) {}\n\n private get index() {\n return this.indexes[this.indexes.length - 1];\n }\n\n save() {\n this.indexes.push(this.decls.length);\n }\n\n restore() {\n this.indexes.pop();\n }\n\n pop() {\n return this.decls.pop();\n }\n\n push(decl: T) {\n this.decls.push(decl);\n }\n\n popAll() {\n return this.decls.splice(this.index, this.decls.length - this.index);\n }\n\n popAllAsOne() {\n if (!this.composer) {\n throw new Error(\"No composer for this type of declaration\");\n }\n const decls = this.popAll();\n return composeDeclarations(decls, this.composer!);\n }\n}\n\nexport class DeclarationContext {\n readonly paints: Declaration<SkPaint>;\n readonly maskFilters: Declaration<SkMaskFilter>;\n readonly shaders: Declaration<SkShader>;\n readonly pathEffects: Declaration<SkPathEffect>;\n readonly imageFilters: Declaration<SkImageFilter>;\n readonly colorFilters: Declaration<SkColorFilter>;\n\n constructor(private Skia: Skia) {\n const peComp = this.Skia.PathEffect.MakeCompose.bind(this.Skia.PathEffect);\n const ifComp = this.Skia.ImageFilter.MakeCompose.bind(\n this.Skia.ImageFilter\n );\n const cfComp = this.Skia.ColorFilter.MakeCompose.bind(\n this.Skia.ColorFilter\n );\n this.paints = new Declaration<SkPaint>();\n this.maskFilters = new Declaration<SkMaskFilter>();\n this.shaders = new Declaration<SkShader>();\n this.pathEffects = new Declaration<SkPathEffect>(peComp);\n this.imageFilters = new Declaration<SkImageFilter>(ifComp);\n this.colorFilters = new Declaration<SkColorFilter>(cfComp);\n }\n\n save() {\n this.paints.save();\n this.maskFilters.save();\n this.shaders.save();\n this.pathEffects.save();\n this.imageFilters.save();\n this.colorFilters.save();\n }\n\n restore() {\n this.paints.restore();\n this.maskFilters.restore();\n this.shaders.restore();\n this.pathEffects.restore();\n this.imageFilters.restore();\n this.colorFilters.restore();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","composeDeclarations","DeclarationContext","_defineProperty","e","r","t","_toPropertyKey","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","filters","composer","length","reverse","reduce","inner","outer","Declaration","constructor","index","indexes","save","push","decls","restore","pop","decl","popAll","splice","popAllAsOne","undefined","Error","Skia","peComp","PathEffect","MakeCompose","bind","ifComp","ImageFilter","cfComp","ColorFilter","paints","maskFilters","shaders","pathEffects","imageFilters","colorFilters"],"sources":["DeclarationContext.ts"],"sourcesContent":["\"worklet\";\n\nimport type {\n SkShader,\n SkPaint,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n Skia,\n SkColorFilter,\n} from \"../../skia/types\";\n\ntype Composer<T> = (outer: T, inner: T) => T;\n\nexport const composeDeclarations = <T>(filters: T[], composer: Composer<T>) => {\n if (filters.length <= 1) {\n return filters[0];\n }\n return filters.reverse().reduce((inner, outer) => {\n if (!inner) {\n return outer;\n }\n return composer(outer, inner);\n });\n};\n\nclass Declaration<T> {\n private decls: T[] = [];\n private indexes = [0];\n private composer?: Composer<T>;\n\n constructor(composer?: Composer<T>) {\n this.composer = composer;\n }\n\n private get index() {\n return this.indexes[this.indexes.length - 1];\n }\n\n save() {\n this.indexes.push(this.decls.length);\n }\n\n restore() {\n this.indexes.pop();\n }\n\n pop() {\n return this.decls.pop();\n }\n\n push(decl: T) {\n this.decls.push(decl);\n }\n\n popAll() {\n return this.decls.splice(this.index, this.decls.length - this.index);\n }\n\n popAllAsOne() {\n if (this.decls.length === 0) {\n return undefined;\n }\n if (!this.composer) {\n throw new Error(\"No composer for this type of declaration\");\n }\n const decls = this.popAll();\n return composeDeclarations(decls, this.composer!);\n }\n}\n\nexport class DeclarationContext {\n public Skia: Skia;\n readonly paints: Declaration<SkPaint>;\n readonly maskFilters: Declaration<SkMaskFilter>;\n readonly shaders: Declaration<SkShader>;\n readonly pathEffects: Declaration<SkPathEffect>;\n readonly imageFilters: Declaration<SkImageFilter>;\n readonly colorFilters: Declaration<SkColorFilter>;\n\n constructor(Skia: Skia) {\n this.Skia = Skia;\n const peComp = this.Skia.PathEffect.MakeCompose.bind(this.Skia.PathEffect);\n const ifComp = this.Skia.ImageFilter.MakeCompose.bind(\n this.Skia.ImageFilter\n );\n const cfComp = this.Skia.ColorFilter.MakeCompose.bind(\n this.Skia.ColorFilter\n );\n this.paints = new Declaration<SkPaint>();\n this.maskFilters = new Declaration<SkMaskFilter>();\n this.shaders = new Declaration<SkShader>();\n this.pathEffects = new Declaration<SkPathEffect>(peComp);\n this.imageFilters = new Declaration<SkImageFilter>(ifComp);\n this.colorFilters = new Declaration<SkColorFilter>(cfComp);\n }\n\n save() {\n this.paints.save();\n this.maskFilters.save();\n this.shaders.save();\n this.pathEffects.save();\n this.imageFilters.save();\n this.colorFilters.save();\n }\n\n restore() {\n this.paints.restore();\n this.maskFilters.restore();\n this.shaders.restore();\n this.pathEffects.restore();\n this.imageFilters.restore();\n this.colorFilters.restore();\n }\n}\n"],"mappings":"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","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;
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.HAS_REANIMATED_3 = exports.HAS_REANIMATED = void 0;
6
7
  exports.bindReanimatedProps = bindReanimatedProps;
7
8
  exports.extractReanimatedProps = extractReanimatedProps;
8
9
  exports.unbindReanimatedNode = void 0;
@@ -10,17 +11,21 @@ var _ReanimatedProxy = _interopRequireDefault(require("./ReanimatedProxy"));
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  /* eslint-disable @typescript-eslint/no-explicit-any */
12
13
 
13
- let HAS_REANIMATED = false;
14
- let HAS_REANIMATED_3 = false;
14
+ let HAS_REANIMATED = exports.HAS_REANIMATED = false;
15
+ let HAS_REANIMATED_3 = exports.HAS_REANIMATED_3 = false;
15
16
  try {
16
- require("react-native-reanimated");
17
- HAS_REANIMATED = true;
17
+ // This logic is convoluted but necessary
18
+ // In most systems, `require("react-native-reanimated")` throws an error, all is well.
19
+ // In webpack, in some configuration it will return an empty object.
20
+ // So it will not throw an error and we need to check the version to know if it's there.
18
21
  const reanimatedVersion = require("react-native-reanimated/package.json").version;
22
+ require("react-native-reanimated");
23
+ exports.HAS_REANIMATED = HAS_REANIMATED = !!reanimatedVersion;
19
24
  if (reanimatedVersion && (reanimatedVersion >= "3.0.0" || reanimatedVersion.includes("3.0.0-"))) {
20
- HAS_REANIMATED_3 = true;
25
+ exports.HAS_REANIMATED_3 = HAS_REANIMATED_3 = true;
21
26
  }
22
27
  } catch (e) {
23
- HAS_REANIMATED = false;
28
+ exports.HAS_REANIMATED = HAS_REANIMATED = false;
24
29
  }
25
30
  const _bindings = new WeakMap();
26
31
  const unbindReanimatedNode = node => {
@@ -1 +1 @@
1
- {"version":3,"names":["_ReanimatedProxy","_interopRequireDefault","require","e","__esModule","default","HAS_REANIMATED","HAS_REANIMATED_3","reanimatedVersion","version","includes","_bindings","WeakMap","unbindReanimatedNode","node","previousMapperId","get","undefined","Rea","stopMapper","exports","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":";;;;;;;;AAMA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AANpC;;AAQA,IAAIG,cAAc,GAAG,KAAK;AAC1B,IAAIC,gBAAgB,GAAG,KAAK;AAC5B,IAAI;EACFL,OAAO,CAAC,yBAAyB,CAAC;EAClCI,cAAc,GAAG,IAAI;EACrB,MAAME,iBAAiB,GACrBN,OAAO,CAAC,sCAAsC,CAAC,CAACO,OAAO;EACzD,IACED,iBAAiB,KAChBA,iBAAiB,IAAI,OAAO,IAAIA,iBAAiB,CAACE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EACtE;IACAH,gBAAgB,GAAG,IAAI;EACzB;AACF,CAAC,CAAC,OAAOJ,CAAC,EAAE;EACVG,cAAc,GAAG,KAAK;AACxB;AAEA,MAAMK,SAAS,GAAG,IAAIC,OAAO,CAAyB,CAAC;AAEhD,MAAMC,oBAAoB,GAAIC,IAAmB,IAAK;EAC3D,IAAI,CAACR,cAAc,EAAE;IACnB;EACF;EACA,MAAMS,gBAAgB,GAAGJ,SAAS,CAACK,GAAG,CAACF,IAAI,CAAC;EAC5C,IAAIC,gBAAgB,KAAKE,SAAS,EAAE;IAClCC,wBAAG,CAACC,UAAU,CAACJ,gBAA0B,CAAC;EAC5C;AACF,CAAC;AAACK,OAAA,CAAAP,oBAAA,GAAAA,oBAAA;AAEK,SAASQ,sBAAsBA,CAACC,KAAyB,EAAE;EAChE,IAAI,CAAChB,cAAc,EAAE;IACnB,OAAO,CAACgB,KAAK,EAAE,CAAC,CAAC,CAAC;EACpB;EACA,MAAMC,eAAe,GAAG,CAAC,CAAuB;EAChD,MAAMC,UAAU,GAAG,CAAC,CAAuB;EAC3C,KAAK,MAAMC,QAAQ,IAAIH,KAAK,EAAE;IAC5B,IAAIG,QAAQ,KAAK,UAAU,EAAE;MAC3B;IACF;IACA,MAAMC,SAAS,GAAGJ,KAAK,CAACG,QAAQ,CAAC;IACjC,IAAIP,wBAAG,CAACS,aAAa,CAACD,SAAS,CAAC,EAAE;MAChCH,eAAe,CAACE,QAAQ,CAAC,GAAGC,SAAS;MACrCF,UAAU,CAACC,QAAQ,CAAC,GAAGC,SAAS,CAACE,KAAK;IACxC,CAAC,MAAM;MACLJ,UAAU,CAACC,QAAQ,CAAC,GAAGC,SAAS;IAClC;EACF;EACA,OAAO,CAACF,UAAU,EAAED,eAAe,CAAC;AACtC;AAEA,SAASM,oBAAoBA,CAC3BC,SAAoB,EACpBhB,IAAe,EACfS,eAAmC,EACnC;EACA,MAAMQ,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACV,eAAe,CAAC;EACnD,MAAMR,gBAAgB,GAAGJ,SAAS,CAACK,GAAG,CAACF,IAAI,CAAC;EAC5C,IAAIC,gBAAgB,KAAKE,SAAS,EAAE;IAClCC,wBAAG,CAACC,UAAU,CAACJ,gBAA0B,CAAC;EAC5C;EACA,IAAIgB,YAAY,CAACG,MAAM,GAAG,CAAC,EAAE;IAC3B,MAAMC,MAAM,GAAGL,SAAS,CAACM,WAAW,CAAC,CAAC;IACtC,MAAM;MAAEC;IAAY,CAAC,GAAGC,MAAM;IAC9B,MAAMC,WAAW,GAAGA,CAAA,KAAM;MACxB,KAAK,MAAMd,QAAQ,IAAIF,eAAe,EAAE;QACtCT,IAAI,IAAIA,IAAI,CAAC0B,OAAO,CAACf,QAAQ,EAAEF,eAAe,CAACE,QAAQ,CAAC,CAACG,KAAK,CAAC;MACjE;MACA;MACA;MACA;MACA;MACA,IAAIS,WAAW,EAAE;QACfA,WAAW,CAACI,aAAa,CAACN,MAAM,CAAC;MACnC,CAAC,MAAM;QACLL,SAAS,CAACY,MAAM,CAAC,CAAC;MACpB;IACF,CAAC;IACD,MAAMC,QAAQ,GAAGzB,wBAAG,CAAC0B,WAAW,CAAC,MAAM;MACrC,SAAS;;MACT1B,wBAAG,CAAC2B,OAAO,CAACN,WAAW,CAAC,CAAC,CAAC;IAC5B,CAAC,EAAER,YAAY,CAAC;IAChBpB,SAAS,CAACmC,GAAG,CAAChC,IAAI,EAAE6B,QAAQ,CAAC;EAC/B;AACF;AAEO,SAASI,mBAAmBA,CACjCjB,SAAoB,EACpBhB,IAAe,EACfS,eAAmC,EACnC;EACA,IAAIjB,cAAc,IAAI,CAACC,gBAAgB,EAAE;IACvC,OAAOsB,oBAAoB,CAACC,SAAS,EAAEhB,IAAI,EAAES,eAAe,CAAC;EAC/D;EACA,IAAI,CAACjB,cAAc,EAAE;IACnB;EACF;EACA,MAAMyB,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACV,eAAe,CAAC;EACnD,MAAMR,gBAAgB,GAAGJ,SAAS,CAACK,GAAG,CAACF,IAAI,CAAC;EAC5C,IAAIC,gBAAgB,KAAKE,SAAS,EAAE;IAClCC,wBAAG,CAACC,UAAU,CAACJ,gBAA0B,CAAC;EAC5C;EACA,IAAIgB,YAAY,CAACG,MAAM,GAAG,CAAC,EAAE;IAC3B,MAAMC,MAAM,GAAGL,SAAS,CAACM,WAAW,CAAC,CAAC;IACtC,MAAM;MAAEC;IAAY,CAAC,GAAGC,MAAM;IAC9B,MAAMK,QAAQ,GAAGzB,wBAAG,CAAC0B,WAAW,CAAC,MAAM;MACrC,SAAS;;MACT,IAAI9B,IAAI,EAAE;QACR,KAAK,MAAMW,QAAQ,IAAIF,eAAe,EAAE;UACtCT,IAAI,CAAC0B,OAAO,CAACf,QAAQ,EAAEF,eAAe,CAACE,QAAQ,CAAC,CAACG,KAAK,CAAC;QACzD;MACF;MACA;MACA;MACA;MACA;MACA,IAAIS,WAAW,EAAE;QACfA,WAAW,CAACI,aAAa,CAACN,MAAM,CAAC;MACnC,CAAC,MAAM;QACLL,SAAS,CAACY,MAAM,CAAC,CAAC;MACpB;IACF,CAAC,EAAEX,YAAY,CAAC;IAChBpB,SAAS,CAACmC,GAAG,CAAChC,IAAI,EAAE6B,QAAQ,CAAC;EAC/B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_ReanimatedProxy","_interopRequireDefault","require","e","__esModule","default","HAS_REANIMATED","exports","HAS_REANIMATED_3","reanimatedVersion","version","includes","_bindings","WeakMap","unbindReanimatedNode","node","previousMapperId","get","undefined","Rea","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":[]}
@@ -35,7 +35,6 @@ const skHostConfig = exports.skHostConfig = {
35
35
  /**
36
36
  * This function is used by the reconciler in order to calculate current time for prioritising work.
37
37
  */
38
- now: Date.now,
39
38
  supportsMutation: true,
40
39
  isPrimaryRenderer: false,
41
40
  supportsPersistence: false,
@@ -143,11 +142,16 @@ const skHostConfig = exports.skHostConfig = {
143
142
  insertBefore(parent, child, before);
144
143
  },
145
144
  // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874
146
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
147
- // @ts-expect-error
148
145
  getCurrentEventPriority: () => _constants.DefaultEventPriority,
149
146
  beforeActiveInstanceBlur: () => {},
150
147
  afterActiveInstanceBlur: () => {},
151
- detachDeletedInstance: () => {}
148
+ detachDeletedInstance: () => {},
149
+ getInstanceFromNode: function (_node) {
150
+ return null;
151
+ },
152
+ prepareScopeUpdate: function (_scopeInstance, _instance) {},
153
+ getInstanceFromScope: function (_scopeInstance) {
154
+ return null;
155
+ }
152
156
  };
153
157
  //# sourceMappingURL=HostConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_renderHelpers","_HostComponents","_typeddash","DEBUG","debug","args","console","log","exports","appendNode","parent","child","addChild","removeNode","unmounted","unbindReanimatedNode","removeChild","insertBefore","before","insertChildBefore","skHostConfig","now","Date","supportsMutation","isPrimaryRenderer","supportsPersistence","supportsHydration","scheduleTimeout","setTimeout","cancelTimeout","clearTimeout","noTimeout","appendChildToContainer","container","root","appendChild","getRootHostContext","_rootContainerInstance","getChildHostContext","_parentHostContext","_type","shouldSetTextContent","_props","createTextInstance","_text","_hostContext","_internalInstanceHandle","Error","createInstance","type","pristineProps","props","reanimatedProps","extractReanimatedProps","node","createNode","bindReanimatedProps","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","shallowEq","commitUpdate","instance","updatePayload","prevProps","nextProps","_internalHandle","setProps","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","children","forEach","preparePortalMount","removeChildFromContainer","insertInContainerBefore","getCurrentEventPriority","DefaultEventPriority","beforeActiveInstanceBlur","afterActiveInstanceBlur","detachDeletedInstance"],"sources":["HostConfig.ts"],"sourcesContent":["/*global NodeJS*/\nimport type { HostConfig } from \"react-reconciler\";\nimport { DefaultEventPriority } from \"react-reconciler/constants\";\n\nimport type { NodeType, Node } from \"../dom/types\";\nimport {\n bindReanimatedProps,\n extractReanimatedProps,\n unbindReanimatedNode,\n} from \"../external/reanimated/renderHelpers\";\n\nimport type { Container } from \"./Container\";\nimport { createNode } from \"./HostComponents\";\nimport { shallowEq } from \"./typeddash\";\n\nconst DEBUG = false;\nexport const debug = (...args: Parameters<typeof console.log>) => {\n if (DEBUG) {\n console.log(...args);\n }\n};\n\ntype Instance = Node<unknown>;\n\ntype Props = object;\ntype TextInstance = Node<unknown>;\ntype SuspenseInstance = Instance;\ntype HydratableInstance = Instance;\ntype PublicInstance = Instance;\ntype HostContext = null;\ntype UpdatePayload = Container;\ntype ChildSet = unknown;\ntype TimeoutHandle = NodeJS.Timeout;\ntype NoTimeout = -1;\n\ntype SkiaHostConfig = HostConfig<\n NodeType,\n Props,\n Container,\n Instance,\n TextInstance,\n SuspenseInstance,\n HydratableInstance,\n PublicInstance,\n HostContext,\n UpdatePayload,\n ChildSet,\n TimeoutHandle,\n NoTimeout\n>;\n\nconst appendNode = (parent: Node<unknown>, child: Node<unknown>) => {\n parent.addChild(child);\n};\n\nconst removeNode = (\n parent: Node<unknown>,\n child: Node<unknown>,\n unmounted = false\n) => {\n // If the drawing is unmounted we don't want to update it.\n // We can just stop the reanimated mappers\n unbindReanimatedNode(child);\n if (!unmounted) {\n parent.removeChild(child);\n }\n};\n\nconst insertBefore = (\n parent: Node<unknown>,\n child: Node<unknown>,\n before: Node<unknown>\n) => {\n parent.insertChildBefore(child, before);\n};\n\nexport const skHostConfig: SkiaHostConfig = {\n /**\n * This function is used by the reconciler in order to calculate current time for prioritising work.\n */\n now: Date.now,\n supportsMutation: true,\n isPrimaryRenderer: false,\n supportsPersistence: false,\n supportsHydration: false,\n //supportsMicrotask: true,\n\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n\n appendChildToContainer(container, child) {\n debug(\"appendChildToContainer\");\n appendNode(container.root, child);\n },\n\n appendChild(parent, child) {\n debug(\"appendChild\", parent, child);\n appendNode(parent, child);\n },\n\n getRootHostContext: (_rootContainerInstance: Container) => {\n debug(\"getRootHostContext\");\n return null;\n },\n\n getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {\n debug(\"getChildHostContext\");\n return null;\n },\n\n shouldSetTextContent(_type, _props) {\n return false;\n },\n\n createTextInstance(\n _text,\n _rootContainerInstance,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createTextInstance\");\n // return SpanNode({}, text) as SkNode;\n throw new Error(\"Text nodes are not supported yet\");\n },\n\n createInstance(\n type,\n pristineProps,\n container,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createInstance\", type);\n const [props, reanimatedProps] = extractReanimatedProps(pristineProps);\n const node = createNode(container, type, props);\n bindReanimatedProps(container, node, reanimatedProps);\n return node;\n },\n\n appendInitialChild(parentInstance, child) {\n debug(\"appendInitialChild\");\n appendNode(parentInstance, child);\n },\n\n finalizeInitialChildren(\n parentInstance,\n _type,\n _props,\n _rootContainerInstance,\n _hostContext\n ) {\n debug(\"finalizeInitialChildren\", parentInstance);\n return false;\n },\n\n commitMount() {\n // if finalizeInitialChildren = true\n debug(\"commitMount\");\n },\n\n prepareForCommit(_containerInfo) {\n debug(\"prepareForCommit\");\n return null;\n },\n\n resetAfterCommit(container) {\n debug(\"resetAfterCommit\");\n container.redraw();\n },\n\n getPublicInstance(node: Instance) {\n debug(\"getPublicInstance\");\n return node;\n },\n\n prepareUpdate: (\n _instance,\n type,\n oldProps,\n newProps,\n rootContainerInstance,\n _hostContext\n ) => {\n debug(\"prepareUpdate\");\n const propsAreEqual = shallowEq(oldProps, newProps);\n if (propsAreEqual) {\n return null;\n }\n debug(\"update \", type);\n return rootContainerInstance;\n },\n\n commitUpdate(\n instance,\n updatePayload,\n type,\n prevProps,\n nextProps,\n _internalHandle\n ) {\n debug(\"commitUpdate: \", type);\n if (shallowEq(prevProps, nextProps)) {\n return;\n }\n const [props, reanimatedProps] = extractReanimatedProps(nextProps);\n instance.setProps(props);\n bindReanimatedProps(updatePayload, instance, reanimatedProps);\n },\n\n commitTextUpdate: (\n _textInstance: TextInstance,\n _oldText: string,\n _newText: string\n ) => {\n // textInstance.instance = newText;\n },\n\n clearContainer: (container) => {\n debug(\"clearContainer\");\n container.root.children().forEach((child) => {\n container.root.removeChild(child);\n });\n },\n\n preparePortalMount: () => {\n debug(\"preparePortalMount\");\n },\n\n removeChild: (parent, child) => {\n removeNode(parent, child);\n },\n\n removeChildFromContainer: (container, child) => {\n removeNode(container.root, child, container.unmounted);\n },\n\n insertInContainerBefore: (container, child, before) => {\n insertBefore(container.root, child, before);\n },\n\n insertBefore: (parent, child, before) => {\n insertBefore(parent, child, before);\n },\n // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n getCurrentEventPriority: () => DefaultEventPriority,\n beforeActiveInstanceBlur: () => {},\n afterActiveInstanceBlur: () => {},\n detachDeletedInstance: () => {},\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_renderHelpers","_HostComponents","_typeddash","DEBUG","debug","args","console","log","exports","appendNode","parent","child","addChild","removeNode","unmounted","unbindReanimatedNode","removeChild","insertBefore","before","insertChildBefore","skHostConfig","supportsMutation","isPrimaryRenderer","supportsPersistence","supportsHydration","scheduleTimeout","setTimeout","cancelTimeout","clearTimeout","noTimeout","appendChildToContainer","container","root","appendChild","getRootHostContext","_rootContainerInstance","getChildHostContext","_parentHostContext","_type","shouldSetTextContent","_props","createTextInstance","_text","_hostContext","_internalInstanceHandle","Error","createInstance","type","pristineProps","props","reanimatedProps","extractReanimatedProps","node","createNode","bindReanimatedProps","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","shallowEq","commitUpdate","instance","updatePayload","prevProps","nextProps","_internalHandle","setProps","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","children","forEach","preparePortalMount","removeChildFromContainer","insertInContainerBefore","getCurrentEventPriority","DefaultEventPriority","beforeActiveInstanceBlur","afterActiveInstanceBlur","detachDeletedInstance","getInstanceFromNode","_node","prepareScopeUpdate","_scopeInstance","getInstanceFromScope"],"sources":["HostConfig.ts"],"sourcesContent":["/*global NodeJS*/\nimport type { Fiber, HostConfig } from \"react-reconciler\";\nimport { DefaultEventPriority } from \"react-reconciler/constants\";\n\nimport type { NodeType, Node } from \"../dom/types\";\nimport {\n bindReanimatedProps,\n extractReanimatedProps,\n unbindReanimatedNode,\n} from \"../external/reanimated/renderHelpers\";\n\nimport type { Container } from \"./Container\";\nimport { createNode } from \"./HostComponents\";\nimport { shallowEq } from \"./typeddash\";\n\nconst DEBUG = false;\nexport const debug = (...args: Parameters<typeof console.log>) => {\n if (DEBUG) {\n console.log(...args);\n }\n};\n\ntype Instance = Node<unknown>;\n\ntype Props = object;\ntype TextInstance = Node<unknown>;\ntype SuspenseInstance = Instance;\ntype HydratableInstance = Instance;\ntype PublicInstance = Instance;\ntype HostContext = null;\ntype UpdatePayload = Container;\ntype ChildSet = unknown;\ntype TimeoutHandle = NodeJS.Timeout;\ntype NoTimeout = -1;\n\ntype SkiaHostConfig = HostConfig<\n NodeType,\n Props,\n Container,\n Instance,\n TextInstance,\n SuspenseInstance,\n HydratableInstance,\n PublicInstance,\n HostContext,\n UpdatePayload,\n ChildSet,\n TimeoutHandle,\n NoTimeout\n>;\n\nconst appendNode = (parent: Node<unknown>, child: Node<unknown>) => {\n parent.addChild(child);\n};\n\nconst removeNode = (\n parent: Node<unknown>,\n child: Node<unknown>,\n unmounted = false\n) => {\n // If the drawing is unmounted we don't want to update it.\n // We can just stop the reanimated mappers\n unbindReanimatedNode(child);\n if (!unmounted) {\n parent.removeChild(child);\n }\n};\n\nconst insertBefore = (\n parent: Node<unknown>,\n child: Node<unknown>,\n before: Node<unknown>\n) => {\n parent.insertChildBefore(child, before);\n};\n\nexport const skHostConfig: SkiaHostConfig = {\n /**\n * This function is used by the reconciler in order to calculate current time for prioritising work.\n */\n supportsMutation: true,\n isPrimaryRenderer: false,\n supportsPersistence: false,\n supportsHydration: false,\n //supportsMicrotask: true,\n\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n\n appendChildToContainer(container, child) {\n debug(\"appendChildToContainer\");\n appendNode(container.root, child);\n },\n\n appendChild(parent, child) {\n debug(\"appendChild\", parent, child);\n appendNode(parent, child);\n },\n\n getRootHostContext: (_rootContainerInstance: Container) => {\n debug(\"getRootHostContext\");\n return null;\n },\n\n getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {\n debug(\"getChildHostContext\");\n return null;\n },\n\n shouldSetTextContent(_type, _props) {\n return false;\n },\n\n createTextInstance(\n _text,\n _rootContainerInstance,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createTextInstance\");\n // return SpanNode({}, text) as SkNode;\n throw new Error(\"Text nodes are not supported yet\");\n },\n\n createInstance(\n type,\n pristineProps,\n container,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createInstance\", type);\n const [props, reanimatedProps] = extractReanimatedProps(pristineProps);\n const node = createNode(container, type, props);\n bindReanimatedProps(container, node, reanimatedProps);\n return node;\n },\n\n appendInitialChild(parentInstance, child) {\n debug(\"appendInitialChild\");\n appendNode(parentInstance, child);\n },\n\n finalizeInitialChildren(\n parentInstance,\n _type,\n _props,\n _rootContainerInstance,\n _hostContext\n ) {\n debug(\"finalizeInitialChildren\", parentInstance);\n return false;\n },\n\n commitMount() {\n // if finalizeInitialChildren = true\n debug(\"commitMount\");\n },\n\n prepareForCommit(_containerInfo) {\n debug(\"prepareForCommit\");\n return null;\n },\n\n resetAfterCommit(container) {\n debug(\"resetAfterCommit\");\n container.redraw();\n },\n\n getPublicInstance(node: Instance) {\n debug(\"getPublicInstance\");\n return node;\n },\n\n prepareUpdate: (\n _instance,\n type,\n oldProps,\n newProps,\n rootContainerInstance,\n _hostContext\n ) => {\n debug(\"prepareUpdate\");\n const propsAreEqual = shallowEq(oldProps, newProps);\n if (propsAreEqual) {\n return null;\n }\n debug(\"update \", type);\n return rootContainerInstance;\n },\n\n commitUpdate(\n instance,\n updatePayload,\n type,\n prevProps,\n nextProps,\n _internalHandle\n ) {\n debug(\"commitUpdate: \", type);\n if (shallowEq(prevProps, nextProps)) {\n return;\n }\n const [props, reanimatedProps] = extractReanimatedProps(nextProps);\n instance.setProps(props);\n bindReanimatedProps(updatePayload, instance, reanimatedProps);\n },\n\n commitTextUpdate: (\n _textInstance: TextInstance,\n _oldText: string,\n _newText: string\n ) => {\n // textInstance.instance = newText;\n },\n\n clearContainer: (container) => {\n debug(\"clearContainer\");\n container.root.children().forEach((child) => {\n container.root.removeChild(child);\n });\n },\n\n preparePortalMount: () => {\n debug(\"preparePortalMount\");\n },\n\n removeChild: (parent, child) => {\n removeNode(parent, child);\n },\n\n removeChildFromContainer: (container, child) => {\n removeNode(container.root, child, container.unmounted);\n },\n\n insertInContainerBefore: (container, child, before) => {\n insertBefore(container.root, child, before);\n },\n\n insertBefore: (parent, child, before) => {\n insertBefore(parent, child, before);\n },\n\n // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n getCurrentEventPriority: () => DefaultEventPriority,\n beforeActiveInstanceBlur: () => {},\n afterActiveInstanceBlur: () => {},\n detachDeletedInstance: () => {},\n\n getInstanceFromNode: function (_node): Fiber | null | undefined {\n return null;\n },\n prepareScopeUpdate: function (_scopeInstance, _instance): void {},\n getInstanceFromScope: function (_scopeInstance): Instance | null {\n return null;\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { ReactNode } from "react";
2
2
  import type { Server, WebSocket } from "ws";
3
3
  import type * as SkiaExports from "../../index";
4
4
  import type { SkImage, SkFont, Skia, SkCanvas } from "../../skia/types";
5
- import { SkiaRoot } from "../Reconciler";
5
+ import { SkiaSGRoot } from "../../sksg/Reconciler";
6
6
  type TestOS = "ios" | "android" | "web" | "node";
7
7
  declare global {
8
8
  var testServer: Server;
@@ -35,7 +35,6 @@ export declare const BirdGIF: string;
35
35
  export declare const loadImage: (uri: string) => SkiaExports.SkImage;
36
36
  export declare const loadFont: (uri: string, ftSize?: number) => SkiaExports.SkFont;
37
37
  export declare const importSkia: () => typeof SkiaExports;
38
- export declare const getSkDOM: () => SkiaExports.JsiSkDOM;
39
38
  export declare const PIXEL_RATIO = 3;
40
39
  export declare const fontSize: number;
41
40
  export declare const width: number;
@@ -47,7 +46,7 @@ export declare const center: {
47
46
  export declare const drawOnNode: (element: ReactNode) => SkiaExports.SkSurface;
48
47
  export declare const mountCanvas: (element: ReactNode) => {
49
48
  surface: SkiaExports.SkSurface;
50
- root: SkiaRoot;
49
+ root: SkiaSGRoot;
51
50
  draw: () => void;
52
51
  };
53
52
  export declare const serialize: (element: ReactNode) => string;
@@ -1,7 +1,6 @@
1
- export type SharedValueType<T = number> = {
1
+ export type AnimatedProp<T> = T | {
2
2
  value: T;
3
3
  };
4
- export type AnimatedProp<T> = T | SharedValueType<T>;
5
4
  export type AnimatedProps<T, O extends keyof T | never = never> = {
6
5
  [K in keyof T]: K extends "children" ? T[K] : K extends O ? T[K] : AnimatedProp<T[K]>;
7
6
  };
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Animations.ts"],"sourcesContent":["export type SharedValueType<T = number> = {\n value: T;\n};\n\nexport type AnimatedProp<T> = T | SharedValueType<T>;\n\nexport type AnimatedProps<T, O extends keyof T | never = never> = {\n [K in keyof T]: K extends \"children\"\n ? T[K]\n : K extends O\n ? T[K]\n : AnimatedProp<T[K]>;\n};\n\nexport type SkiaProps<\n P = object,\n O extends keyof P | never = never\n> = AnimatedProps<P, O>;\n\ntype WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {\n [K in N]?: T[K];\n};\n\nexport type SkiaDefaultProps<\n T extends object,\n N extends keyof T\n> = WithOptional<SkiaProps<T>, N>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["Animations.ts"],"sourcesContent":["export type AnimatedProp<T> = T | { value: T };\n\nexport type AnimatedProps<T, O extends keyof T | never = never> = {\n [K in keyof T]: K extends \"children\"\n ? T[K]\n : K extends O\n ? T[K]\n : AnimatedProp<T[K]>;\n};\n\nexport type SkiaProps<\n P = object,\n O extends keyof P | never = never\n> = AnimatedProps<P, O>;\n\ntype WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {\n [K in N]?: T[K];\n};\n\nexport type SkiaDefaultProps<\n T extends object,\n N extends keyof T\n> = WithOptional<SkiaProps<T>, N>;\n"],"mappings":"","ignoreList":[]}
@@ -4,7 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.shallowEq = exports.mapKeys = exports.exhaustiveCheck = void 0;
7
- const mapKeys = obj => Object.keys(obj);
7
+ const mapKeys = obj => {
8
+ "worklet";
9
+
10
+ return Object.keys(obj);
11
+ };
8
12
  exports.mapKeys = mapKeys;
9
13
  const exhaustiveCheck = a => {
10
14
  "worklet";
@@ -1 +1 @@
1
- {"version":3,"names":["mapKeys","obj","Object","keys","exports","exhaustiveCheck","a","Error","shallowEq","p1","p2","keys1","keys2","length","key"],"sources":["typeddash.ts"],"sourcesContent":["export const mapKeys = <T extends object>(obj: T) =>\n Object.keys(obj) as (keyof T)[];\n\nexport const exhaustiveCheck = (a: never): never => {\n \"worklet\";\n throw new Error(`Unexhaustive handling for ${a}`);\n};\n\n// Shallow eq on props (without children)\nexport const shallowEq = <P extends object>(p1: P, p2: P): boolean => {\n const keys1 = mapKeys(p1);\n const keys2 = mapKeys(p2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n if (key === \"children\") {\n continue;\n }\n if (p1[key] !== p2[key]) {\n return false;\n }\n }\n return true;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAsBC,GAAM,IAC9CC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAgB;AAACG,OAAA,CAAAJ,OAAA,GAAAA,OAAA;AAE3B,MAAMK,eAAe,GAAIC,CAAQ,IAAY;EAClD,SAAS;;EACT,MAAM,IAAIC,KAAK,CAAC,6BAA6BD,CAAC,EAAE,CAAC;AACnD,CAAC;;AAED;AAAAF,OAAA,CAAAC,eAAA,GAAAA,eAAA;AACO,MAAMG,SAAS,GAAGA,CAAmBC,EAAK,EAAEC,EAAK,KAAc;EACpE,MAAMC,KAAK,GAAGX,OAAO,CAACS,EAAE,CAAC;EACzB,MAAMG,KAAK,GAAGZ,OAAO,CAACU,EAAE,CAAC;EACzB,IAAIC,KAAK,CAACE,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE;IACjC,OAAO,KAAK;EACd;EACA,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;IACvB,IAAIG,GAAG,KAAK,UAAU,EAAE;MACtB;IACF;IACA,IAAIL,EAAE,CAACK,GAAG,CAAC,KAAKJ,EAAE,CAACI,GAAG,CAAC,EAAE;MACvB,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAACV,OAAA,CAAAI,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["mapKeys","obj","Object","keys","exports","exhaustiveCheck","a","Error","shallowEq","p1","p2","keys1","keys2","length","key"],"sources":["typeddash.ts"],"sourcesContent":["export const mapKeys = <T extends object>(obj: T) => {\n \"worklet\";\n return Object.keys(obj) as (keyof T)[];\n};\n\nexport const exhaustiveCheck = (a: never): never => {\n \"worklet\";\n throw new Error(`Unexhaustive handling for ${a}`);\n};\n\n// Shallow eq on props (without children)\nexport const shallowEq = <P extends object>(p1: P, p2: P): boolean => {\n const keys1 = mapKeys(p1);\n const keys2 = mapKeys(p2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n if (key === \"children\") {\n continue;\n }\n if (p1[key] !== p2[key]) {\n return false;\n }\n }\n return true;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAsBC,GAAM,IAAK;EACnD,SAAS;;EACT,OAAOC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC;AACzB,CAAC;AAACG,OAAA,CAAAJ,OAAA,GAAAA,OAAA;AAEK,MAAMK,eAAe,GAAIC,CAAQ,IAAY;EAClD,SAAS;;EACT,MAAM,IAAIC,KAAK,CAAC,6BAA6BD,CAAC,EAAE,CAAC;AACnD,CAAC;;AAED;AAAAF,OAAA,CAAAC,eAAA,GAAAA,eAAA;AACO,MAAMG,SAAS,GAAGA,CAAmBC,EAAK,EAAEC,EAAK,KAAc;EACpE,MAAMC,KAAK,GAAGX,OAAO,CAACS,EAAE,CAAC;EACzB,MAAMG,KAAK,GAAGZ,OAAO,CAACU,EAAE,CAAC;EACzB,IAAIC,KAAK,CAACE,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE;IACjC,OAAO,KAAK;EACd;EACA,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;IACvB,IAAIG,GAAG,KAAK,UAAU,EAAE;MACtB;IACF;IACA,IAAIL,EAAE,CAACK,GAAG,CAAC,KAAKJ,EAAE,CAACI,GAAG,CAAC,EAAE;MACvB,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAACV,OAAA,CAAAI,SAAA,GAAAA,SAAA","ignoreList":[]}