@shopify/react-native-skia 0.1.229 → 0.1.230

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/android/cpp/jni/JniLoad.cpp +0 -2
  2. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaModule.java +0 -1
  3. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
  4. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +7 -12
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +1 -1
  6. package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureView.java +1 -1
  7. package/cpp/api/JsiSkApi.h +4 -1
  8. package/cpp/api/JsiSkParagraph.h +15 -0
  9. package/cpp/api/JsiSkParagraphBuilder.h +3 -32
  10. package/cpp/api/JsiSkParagraphBuilderFactory.h +54 -0
  11. package/cpp/rnskia/RNSkJsiViewApi.h +0 -52
  12. package/cpp/rnskia/RNSkManager.cpp +0 -6
  13. package/cpp/rnskia/RNSkView.h +2 -91
  14. package/cpp/rnskia/dom/JsiDomApi.h +0 -9
  15. package/lib/commonjs/animation/index.d.ts +0 -3
  16. package/lib/commonjs/animation/index.js +0 -39
  17. package/lib/commonjs/animation/index.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +1 -2
  19. package/lib/commonjs/dom/nodes/JsiSkDOM.js +0 -6
  20. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  21. package/lib/commonjs/dom/nodes/Node.d.ts +0 -3
  22. package/lib/commonjs/dom/nodes/Node.js +0 -5
  23. package/lib/commonjs/dom/nodes/Node.js.map +1 -1
  24. package/lib/commonjs/dom/nodes/drawings/index.d.ts +0 -1
  25. package/lib/commonjs/dom/nodes/drawings/index.js +0 -13
  26. package/lib/commonjs/dom/nodes/drawings/index.js.map +1 -1
  27. package/lib/commonjs/dom/types/Drawings.d.ts +0 -4
  28. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  29. package/lib/commonjs/dom/types/NodeType.d.ts +0 -1
  30. package/lib/commonjs/dom/types/NodeType.js +0 -1
  31. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  32. package/lib/commonjs/dom/types/SkDOM.d.ts +1 -2
  33. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  34. package/lib/commonjs/index.d.ts +0 -1
  35. package/lib/commonjs/index.js +0 -14
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/mock/index.js +0 -4
  38. package/lib/commonjs/mock/index.js.map +1 -1
  39. package/lib/commonjs/renderer/Canvas.js +2 -21
  40. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  41. package/lib/commonjs/renderer/Container.d.ts +1 -3
  42. package/lib/commonjs/renderer/Container.js +4 -6
  43. package/lib/commonjs/renderer/Container.js.map +1 -1
  44. package/lib/commonjs/renderer/HostComponents.d.ts +1 -6
  45. package/lib/commonjs/renderer/HostComponents.js +0 -3
  46. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  47. package/lib/commonjs/renderer/HostConfig.js +2 -23
  48. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  49. package/lib/commonjs/renderer/Reconciler.d.ts +1 -5
  50. package/lib/commonjs/renderer/Reconciler.js +3 -18
  51. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  52. package/lib/commonjs/renderer/components/index.d.ts +0 -1
  53. package/lib/commonjs/renderer/components/index.js +0 -13
  54. package/lib/commonjs/renderer/components/index.js.map +1 -1
  55. package/lib/commonjs/renderer/index.d.ts +0 -1
  56. package/lib/commonjs/renderer/index.js +0 -13
  57. package/lib/commonjs/renderer/index.js.map +1 -1
  58. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -8
  59. package/lib/commonjs/renderer/processors/Animations/Animations.js +0 -44
  60. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  61. package/lib/commonjs/skia/types/Paragraph/Paragraph.d.ts +23 -0
  62. package/lib/commonjs/skia/types/Paragraph/Paragraph.js.map +1 -1
  63. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +3 -0
  64. package/lib/commonjs/skia/web/JsiSkParagraph.js +12 -0
  65. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
  66. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js +5 -2
  67. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -1
  68. package/lib/commonjs/views/SkiaBaseWebView.d.ts +0 -7
  69. package/lib/commonjs/views/SkiaBaseWebView.js +0 -17
  70. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  71. package/lib/commonjs/views/SkiaDomView.d.ts +0 -7
  72. package/lib/commonjs/views/SkiaDomView.js +3 -14
  73. package/lib/commonjs/views/SkiaDomView.js.map +1 -1
  74. package/lib/commonjs/views/SkiaDomView.web.js +4 -14
  75. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  76. package/lib/commonjs/views/SkiaPictureView.d.ts +0 -7
  77. package/lib/commonjs/views/SkiaPictureView.js +3 -14
  78. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  79. package/lib/commonjs/views/SkiaViewNativeId.d.ts +3 -0
  80. package/lib/commonjs/views/SkiaViewNativeId.js +11 -0
  81. package/lib/commonjs/views/SkiaViewNativeId.js.map +1 -0
  82. package/lib/commonjs/views/index.d.ts +0 -2
  83. package/lib/commonjs/views/index.js +0 -26
  84. package/lib/commonjs/views/index.js.map +1 -1
  85. package/lib/commonjs/views/types.d.ts +2 -15
  86. package/lib/commonjs/views/types.js.map +1 -1
  87. package/lib/module/animation/index.d.ts +0 -3
  88. package/lib/module/animation/index.js +0 -3
  89. package/lib/module/animation/index.js.map +1 -1
  90. package/lib/module/dom/nodes/JsiSkDOM.d.ts +1 -2
  91. package/lib/module/dom/nodes/JsiSkDOM.js +1 -7
  92. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  93. package/lib/module/dom/nodes/Node.d.ts +0 -3
  94. package/lib/module/dom/nodes/Node.js +0 -5
  95. package/lib/module/dom/nodes/Node.js.map +1 -1
  96. package/lib/module/dom/nodes/drawings/index.d.ts +0 -1
  97. package/lib/module/dom/nodes/drawings/index.js +0 -1
  98. package/lib/module/dom/nodes/drawings/index.js.map +1 -1
  99. package/lib/module/dom/types/Drawings.d.ts +0 -4
  100. package/lib/module/dom/types/Drawings.js.map +1 -1
  101. package/lib/module/dom/types/NodeType.d.ts +0 -1
  102. package/lib/module/dom/types/NodeType.js +0 -1
  103. package/lib/module/dom/types/NodeType.js.map +1 -1
  104. package/lib/module/dom/types/SkDOM.d.ts +1 -2
  105. package/lib/module/dom/types/SkDOM.js.map +1 -1
  106. package/lib/module/index.d.ts +0 -1
  107. package/lib/module/index.js +0 -1
  108. package/lib/module/index.js.map +1 -1
  109. package/lib/module/mock/index.js +1 -4
  110. package/lib/module/mock/index.js.map +1 -1
  111. package/lib/module/renderer/Canvas.js +2 -20
  112. package/lib/module/renderer/Canvas.js.map +1 -1
  113. package/lib/module/renderer/Container.d.ts +1 -3
  114. package/lib/module/renderer/Container.js +4 -6
  115. package/lib/module/renderer/Container.js.map +1 -1
  116. package/lib/module/renderer/HostComponents.d.ts +1 -6
  117. package/lib/module/renderer/HostComponents.js +0 -3
  118. package/lib/module/renderer/HostComponents.js.map +1 -1
  119. package/lib/module/renderer/HostConfig.js +3 -23
  120. package/lib/module/renderer/HostConfig.js.map +1 -1
  121. package/lib/module/renderer/Reconciler.d.ts +1 -5
  122. package/lib/module/renderer/Reconciler.js +3 -16
  123. package/lib/module/renderer/Reconciler.js.map +1 -1
  124. package/lib/module/renderer/components/index.d.ts +0 -1
  125. package/lib/module/renderer/components/index.js +0 -1
  126. package/lib/module/renderer/components/index.js.map +1 -1
  127. package/lib/module/renderer/index.d.ts +0 -1
  128. package/lib/module/renderer/index.js +0 -1
  129. package/lib/module/renderer/index.js.map +1 -1
  130. package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -8
  131. package/lib/module/renderer/processors/Animations/Animations.js +0 -28
  132. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  133. package/lib/module/skia/types/Paragraph/Paragraph.d.ts +23 -0
  134. package/lib/module/skia/types/Paragraph/Paragraph.js.map +1 -1
  135. package/lib/module/skia/web/JsiSkParagraph.d.ts +3 -0
  136. package/lib/module/skia/web/JsiSkParagraph.js +12 -0
  137. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
  138. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +5 -2
  139. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -1
  140. package/lib/module/views/SkiaBaseWebView.d.ts +0 -7
  141. package/lib/module/views/SkiaBaseWebView.js +0 -17
  142. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  143. package/lib/module/views/SkiaDomView.d.ts +0 -7
  144. package/lib/module/views/SkiaDomView.js +2 -13
  145. package/lib/module/views/SkiaDomView.js.map +1 -1
  146. package/lib/module/views/SkiaDomView.web.js +4 -13
  147. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  148. package/lib/module/views/SkiaPictureView.d.ts +0 -7
  149. package/lib/module/views/SkiaPictureView.js +2 -13
  150. package/lib/module/views/SkiaPictureView.js.map +1 -1
  151. package/lib/module/views/SkiaViewNativeId.d.ts +3 -0
  152. package/lib/module/views/SkiaViewNativeId.js +4 -0
  153. package/lib/module/views/SkiaViewNativeId.js.map +1 -0
  154. package/lib/module/views/index.d.ts +0 -2
  155. package/lib/module/views/index.js +0 -2
  156. package/lib/module/views/index.js.map +1 -1
  157. package/lib/module/views/types.d.ts +2 -15
  158. package/lib/module/views/types.js.map +1 -1
  159. package/lib/typescript/src/animation/index.d.ts +0 -3
  160. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +1 -2
  161. package/lib/typescript/src/dom/nodes/Node.d.ts +0 -3
  162. package/lib/typescript/src/dom/nodes/drawings/index.d.ts +0 -1
  163. package/lib/typescript/src/dom/types/Drawings.d.ts +0 -4
  164. package/lib/typescript/src/dom/types/NodeType.d.ts +0 -1
  165. package/lib/typescript/src/dom/types/SkDOM.d.ts +1 -2
  166. package/lib/typescript/src/index.d.ts +0 -1
  167. package/lib/typescript/src/renderer/Container.d.ts +1 -3
  168. package/lib/typescript/src/renderer/HostComponents.d.ts +1 -6
  169. package/lib/typescript/src/renderer/Reconciler.d.ts +1 -5
  170. package/lib/typescript/src/renderer/components/index.d.ts +0 -1
  171. package/lib/typescript/src/renderer/index.d.ts +0 -1
  172. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -8
  173. package/lib/typescript/src/skia/types/Paragraph/Paragraph.d.ts +23 -0
  174. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +3 -0
  175. package/lib/typescript/src/views/SkiaBaseWebView.d.ts +0 -7
  176. package/lib/typescript/src/views/SkiaDomView.d.ts +0 -7
  177. package/lib/typescript/src/views/SkiaPictureView.d.ts +0 -7
  178. package/lib/typescript/src/views/SkiaViewNativeId.d.ts +3 -0
  179. package/lib/typescript/src/views/index.d.ts +0 -2
  180. package/lib/typescript/src/views/types.d.ts +2 -15
  181. package/package.json +1 -1
  182. package/src/animation/index.ts +0 -3
  183. package/src/dom/nodes/JsiSkDOM.ts +0 -12
  184. package/src/dom/nodes/Node.ts +0 -5
  185. package/src/dom/nodes/drawings/index.ts +0 -1
  186. package/src/dom/types/Drawings.ts +0 -5
  187. package/src/dom/types/NodeType.ts +0 -1
  188. package/src/dom/types/SkDOM.ts +0 -4
  189. package/src/index.ts +0 -1
  190. package/src/mock/index.ts +0 -3
  191. package/src/renderer/Canvas.tsx +3 -21
  192. package/src/renderer/Container.tsx +1 -4
  193. package/src/renderer/HostComponents.ts +0 -13
  194. package/src/renderer/HostConfig.ts +3 -24
  195. package/src/renderer/Reconciler.tsx +1 -19
  196. package/src/renderer/components/index.ts +0 -1
  197. package/src/renderer/index.ts +0 -1
  198. package/src/renderer/processors/Animations/Animations.ts +1 -51
  199. package/src/skia/types/Paragraph/Paragraph.ts +25 -0
  200. package/src/skia/web/JsiSkParagraph.ts +11 -0
  201. package/src/skia/web/JsiSkParagraphBuilderFactory.ts +9 -3
  202. package/src/views/SkiaBaseWebView.tsx +0 -19
  203. package/src/views/SkiaDomView.tsx +1 -13
  204. package/src/views/SkiaDomView.web.tsx +1 -6
  205. package/src/views/SkiaPictureView.tsx +1 -13
  206. package/src/views/SkiaViewNativeId.ts +1 -0
  207. package/src/views/index.ts +0 -2
  208. package/src/views/types.ts +2 -26
  209. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +0 -44
  210. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawViewManager.java +0 -34
  211. package/cpp/rnskia/RNSkAnimation.h +0 -65
  212. package/cpp/rnskia/RNSkValueApi.h +0 -72
  213. package/cpp/rnskia/dom/base/JsiDependencyManager.h +0 -297
  214. package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +0 -127
  215. package/cpp/rnskia/dom/props/DrawingProp.h +0 -35
  216. package/cpp/rnskia/values/RNSkClockValue.h +0 -140
  217. package/cpp/rnskia/values/RNSkComputedValue.h +0 -104
  218. package/cpp/rnskia/values/RNSkReadonlyValue.h +0 -166
  219. package/cpp/rnskia/values/RNSkValue.h +0 -116
  220. package/ios/RNSkia-iOS/SkiaDrawView.h +0 -7
  221. package/ios/RNSkia-iOS/SkiaDrawView.mm +0 -72
  222. package/ios/RNSkia-iOS/SkiaDrawViewManager.h +0 -7
  223. package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +0 -50
  224. package/lib/commonjs/animation/decay/decay.d.ts +0 -2
  225. package/lib/commonjs/animation/decay/decay.js +0 -42
  226. package/lib/commonjs/animation/decay/decay.js.map +0 -1
  227. package/lib/commonjs/animation/decay/index.d.ts +0 -1
  228. package/lib/commonjs/animation/decay/index.js +0 -14
  229. package/lib/commonjs/animation/decay/index.js.map +0 -1
  230. package/lib/commonjs/animation/decay/runDecay.d.ts +0 -10
  231. package/lib/commonjs/animation/decay/runDecay.js +0 -48
  232. package/lib/commonjs/animation/decay/runDecay.js.map +0 -1
  233. package/lib/commonjs/animation/decay/types.d.ts +0 -21
  234. package/lib/commonjs/animation/decay/types.js +0 -6
  235. package/lib/commonjs/animation/decay/types.js.map +0 -1
  236. package/lib/commonjs/animation/spring/Spring.d.ts +0 -65
  237. package/lib/commonjs/animation/spring/Spring.js +0 -77
  238. package/lib/commonjs/animation/spring/Spring.js.map +0 -1
  239. package/lib/commonjs/animation/spring/functions/index.d.ts +0 -1
  240. package/lib/commonjs/animation/spring/functions/index.js +0 -14
  241. package/lib/commonjs/animation/spring/functions/index.js.map +0 -1
  242. package/lib/commonjs/animation/spring/functions/spring.d.ts +0 -10
  243. package/lib/commonjs/animation/spring/functions/spring.js +0 -94
  244. package/lib/commonjs/animation/spring/functions/spring.js.map +0 -1
  245. package/lib/commonjs/animation/spring/index.d.ts +0 -3
  246. package/lib/commonjs/animation/spring/index.js +0 -30
  247. package/lib/commonjs/animation/spring/index.js.map +0 -1
  248. package/lib/commonjs/animation/spring/runSpring.d.ts +0 -19
  249. package/lib/commonjs/animation/spring/runSpring.js +0 -35
  250. package/lib/commonjs/animation/spring/runSpring.js.map +0 -1
  251. package/lib/commonjs/animation/spring/types.d.ts +0 -6
  252. package/lib/commonjs/animation/spring/types.js +0 -2
  253. package/lib/commonjs/animation/spring/types.js.map +0 -1
  254. package/lib/commonjs/animation/spring/useSpring.d.ts +0 -13
  255. package/lib/commonjs/animation/spring/useSpring.js +0 -27
  256. package/lib/commonjs/animation/spring/useSpring.js.map +0 -1
  257. package/lib/commonjs/animation/timing/Easing.d.ts +0 -19
  258. package/lib/commonjs/animation/timing/Easing.js +0 -108
  259. package/lib/commonjs/animation/timing/Easing.js.map +0 -1
  260. package/lib/commonjs/animation/timing/createTiming.d.ts +0 -17
  261. package/lib/commonjs/animation/timing/createTiming.js +0 -55
  262. package/lib/commonjs/animation/timing/createTiming.js.map +0 -1
  263. package/lib/commonjs/animation/timing/functions/bezier.d.ts +0 -1
  264. package/lib/commonjs/animation/timing/functions/bezier.js +0 -147
  265. package/lib/commonjs/animation/timing/functions/bezier.js.map +0 -1
  266. package/lib/commonjs/animation/timing/functions/getResolvedParams.d.ts +0 -7
  267. package/lib/commonjs/animation/timing/functions/getResolvedParams.js +0 -52
  268. package/lib/commonjs/animation/timing/functions/getResolvedParams.js.map +0 -1
  269. package/lib/commonjs/animation/timing/functions/index.d.ts +0 -4
  270. package/lib/commonjs/animation/timing/functions/index.js +0 -54
  271. package/lib/commonjs/animation/timing/functions/index.js.map +0 -1
  272. package/lib/commonjs/animation/timing/functions/timing.d.ts +0 -17
  273. package/lib/commonjs/animation/timing/functions/timing.js +0 -50
  274. package/lib/commonjs/animation/timing/functions/timing.js.map +0 -1
  275. package/lib/commonjs/animation/timing/functions/types.d.ts +0 -7
  276. package/lib/commonjs/animation/timing/functions/types.js +0 -2
  277. package/lib/commonjs/animation/timing/functions/types.js.map +0 -1
  278. package/lib/commonjs/animation/timing/index.d.ts +0 -4
  279. package/lib/commonjs/animation/timing/index.js +0 -38
  280. package/lib/commonjs/animation/timing/index.js.map +0 -1
  281. package/lib/commonjs/animation/timing/runTiming.d.ts +0 -19
  282. package/lib/commonjs/animation/timing/runTiming.js +0 -36
  283. package/lib/commonjs/animation/timing/runTiming.js.map +0 -1
  284. package/lib/commonjs/animation/timing/useLoop.d.ts +0 -11
  285. package/lib/commonjs/animation/timing/useLoop.js +0 -25
  286. package/lib/commonjs/animation/timing/useLoop.js.map +0 -1
  287. package/lib/commonjs/animation/timing/useTiming.d.ts +0 -13
  288. package/lib/commonjs/animation/timing/useTiming.js +0 -67
  289. package/lib/commonjs/animation/timing/useTiming.js.map +0 -1
  290. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.d.ts +0 -8
  291. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js +0 -28
  292. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js.map +0 -1
  293. package/lib/commonjs/renderer/DependencyManager.d.ts +0 -46
  294. package/lib/commonjs/renderer/DependencyManager.js +0 -185
  295. package/lib/commonjs/renderer/DependencyManager.js.map +0 -1
  296. package/lib/commonjs/renderer/components/Drawing.d.ts +0 -8
  297. package/lib/commonjs/renderer/components/Drawing.js +0 -22
  298. package/lib/commonjs/renderer/components/Drawing.js.map +0 -1
  299. package/lib/commonjs/specs/SkiaDrawViewNativeComponent.d.ts +0 -8
  300. package/lib/commonjs/specs/SkiaDrawViewNativeComponent.js +0 -16
  301. package/lib/commonjs/specs/SkiaDrawViewNativeComponent.js.map +0 -1
  302. package/lib/commonjs/values/api.d.ts +0 -26
  303. package/lib/commonjs/values/api.js +0 -55
  304. package/lib/commonjs/values/api.js.map +0 -1
  305. package/lib/commonjs/values/api.web.d.ts +0 -2
  306. package/lib/commonjs/values/api.web.js +0 -18
  307. package/lib/commonjs/values/api.web.js.map +0 -1
  308. package/lib/commonjs/values/hooks/index.d.ts +0 -4
  309. package/lib/commonjs/values/hooks/index.js +0 -58
  310. package/lib/commonjs/values/hooks/index.js.map +0 -1
  311. package/lib/commonjs/values/hooks/useClockValue.d.ts +0 -9
  312. package/lib/commonjs/values/hooks/useClockValue.js +0 -30
  313. package/lib/commonjs/values/hooks/useClockValue.js.map +0 -1
  314. package/lib/commonjs/values/hooks/useComputedValue.d.ts +0 -11
  315. package/lib/commonjs/values/hooks/useComputedValue.js +0 -32
  316. package/lib/commonjs/values/hooks/useComputedValue.js.map +0 -1
  317. package/lib/commonjs/values/hooks/useValue.d.ts +0 -10
  318. package/lib/commonjs/values/hooks/useValue.js +0 -26
  319. package/lib/commonjs/values/hooks/useValue.js.map +0 -1
  320. package/lib/commonjs/values/hooks/useValueEffect.d.ts +0 -10
  321. package/lib/commonjs/values/hooks/useValueEffect.js +0 -25
  322. package/lib/commonjs/values/hooks/useValueEffect.js.map +0 -1
  323. package/lib/commonjs/values/index.d.ts +0 -4
  324. package/lib/commonjs/values/index.js +0 -58
  325. package/lib/commonjs/values/index.js.map +0 -1
  326. package/lib/commonjs/values/selector.d.ts +0 -14
  327. package/lib/commonjs/values/selector.js +0 -24
  328. package/lib/commonjs/values/selector.js.map +0 -1
  329. package/lib/commonjs/values/types.d.ts +0 -63
  330. package/lib/commonjs/values/types.js +0 -2
  331. package/lib/commonjs/values/types.js.map +0 -1
  332. package/lib/commonjs/values/web/RNSkAnimation.d.ts +0 -9
  333. package/lib/commonjs/values/web/RNSkAnimation.js +0 -46
  334. package/lib/commonjs/values/web/RNSkAnimation.js.map +0 -1
  335. package/lib/commonjs/values/web/RNSkClockValue.d.ts +0 -13
  336. package/lib/commonjs/values/web/RNSkClockValue.js +0 -75
  337. package/lib/commonjs/values/web/RNSkClockValue.js.map +0 -1
  338. package/lib/commonjs/values/web/RNSkComputedValue.d.ts +0 -10
  339. package/lib/commonjs/values/web/RNSkComputedValue.js +0 -59
  340. package/lib/commonjs/values/web/RNSkComputedValue.js.map +0 -1
  341. package/lib/commonjs/values/web/RNSkReadonlyValue.d.ts +0 -12
  342. package/lib/commonjs/values/web/RNSkReadonlyValue.js +0 -51
  343. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +0 -1
  344. package/lib/commonjs/values/web/RNSkValue.d.ts +0 -14
  345. package/lib/commonjs/values/web/RNSkValue.js +0 -73
  346. package/lib/commonjs/values/web/RNSkValue.js.map +0 -1
  347. package/lib/commonjs/values/web/api.d.ts +0 -2
  348. package/lib/commonjs/values/web/api.js +0 -31
  349. package/lib/commonjs/values/web/api.js.map +0 -1
  350. package/lib/commonjs/values/web/index.d.ts +0 -1
  351. package/lib/commonjs/values/web/index.js +0 -19
  352. package/lib/commonjs/values/web/index.js.map +0 -1
  353. package/lib/commonjs/views/SkiaView.d.ts +0 -35
  354. package/lib/commonjs/views/SkiaView.js +0 -139
  355. package/lib/commonjs/views/SkiaView.js.map +0 -1
  356. package/lib/commonjs/views/SkiaView.web.d.ts +0 -7
  357. package/lib/commonjs/views/SkiaView.web.js +0 -30
  358. package/lib/commonjs/views/SkiaView.web.js.map +0 -1
  359. package/lib/commonjs/views/useDrawCallback.d.ts +0 -8
  360. package/lib/commonjs/views/useDrawCallback.js +0 -23
  361. package/lib/commonjs/views/useDrawCallback.js.map +0 -1
  362. package/lib/module/animation/decay/decay.d.ts +0 -2
  363. package/lib/module/animation/decay/decay.js +0 -33
  364. package/lib/module/animation/decay/decay.js.map +0 -1
  365. package/lib/module/animation/decay/index.d.ts +0 -1
  366. package/lib/module/animation/decay/index.js +0 -2
  367. package/lib/module/animation/decay/index.js.map +0 -1
  368. package/lib/module/animation/decay/runDecay.d.ts +0 -10
  369. package/lib/module/animation/decay/runDecay.js +0 -38
  370. package/lib/module/animation/decay/runDecay.js.map +0 -1
  371. package/lib/module/animation/decay/types.d.ts +0 -21
  372. package/lib/module/animation/decay/types.js +0 -2
  373. package/lib/module/animation/decay/types.js.map +0 -1
  374. package/lib/module/animation/spring/Spring.d.ts +0 -65
  375. package/lib/module/animation/spring/Spring.js +0 -69
  376. package/lib/module/animation/spring/Spring.js.map +0 -1
  377. package/lib/module/animation/spring/functions/index.d.ts +0 -1
  378. package/lib/module/animation/spring/functions/index.js +0 -2
  379. package/lib/module/animation/spring/functions/index.js.map +0 -1
  380. package/lib/module/animation/spring/functions/spring.d.ts +0 -10
  381. package/lib/module/animation/spring/functions/spring.js +0 -85
  382. package/lib/module/animation/spring/functions/spring.js.map +0 -1
  383. package/lib/module/animation/spring/index.d.ts +0 -3
  384. package/lib/module/animation/spring/index.js +0 -4
  385. package/lib/module/animation/spring/index.js.map +0 -1
  386. package/lib/module/animation/spring/runSpring.d.ts +0 -19
  387. package/lib/module/animation/spring/runSpring.js +0 -24
  388. package/lib/module/animation/spring/runSpring.js.map +0 -1
  389. package/lib/module/animation/spring/types.d.ts +0 -6
  390. package/lib/module/animation/spring/types.js +0 -2
  391. package/lib/module/animation/spring/types.js.map +0 -1
  392. package/lib/module/animation/spring/useSpring.d.ts +0 -13
  393. package/lib/module/animation/spring/useSpring.js +0 -16
  394. package/lib/module/animation/spring/useSpring.js.map +0 -1
  395. package/lib/module/animation/timing/Easing.d.ts +0 -19
  396. package/lib/module/animation/timing/Easing.js +0 -98
  397. package/lib/module/animation/timing/Easing.js.map +0 -1
  398. package/lib/module/animation/timing/createTiming.d.ts +0 -17
  399. package/lib/module/animation/timing/createTiming.js +0 -49
  400. package/lib/module/animation/timing/createTiming.js.map +0 -1
  401. package/lib/module/animation/timing/functions/bezier.d.ts +0 -1
  402. package/lib/module/animation/timing/functions/bezier.js +0 -141
  403. package/lib/module/animation/timing/functions/bezier.js.map +0 -1
  404. package/lib/module/animation/timing/functions/getResolvedParams.d.ts +0 -7
  405. package/lib/module/animation/timing/functions/getResolvedParams.js +0 -48
  406. package/lib/module/animation/timing/functions/getResolvedParams.js.map +0 -1
  407. package/lib/module/animation/timing/functions/index.d.ts +0 -4
  408. package/lib/module/animation/timing/functions/index.js +0 -5
  409. package/lib/module/animation/timing/functions/index.js.map +0 -1
  410. package/lib/module/animation/timing/functions/timing.d.ts +0 -17
  411. package/lib/module/animation/timing/functions/timing.js +0 -41
  412. package/lib/module/animation/timing/functions/timing.js.map +0 -1
  413. package/lib/module/animation/timing/functions/types.d.ts +0 -7
  414. package/lib/module/animation/timing/functions/types.js +0 -2
  415. package/lib/module/animation/timing/functions/types.js.map +0 -1
  416. package/lib/module/animation/timing/index.d.ts +0 -4
  417. package/lib/module/animation/timing/index.js +0 -5
  418. package/lib/module/animation/timing/index.js.map +0 -1
  419. package/lib/module/animation/timing/runTiming.d.ts +0 -19
  420. package/lib/module/animation/timing/runTiming.js +0 -26
  421. package/lib/module/animation/timing/runTiming.js.map +0 -1
  422. package/lib/module/animation/timing/useLoop.d.ts +0 -11
  423. package/lib/module/animation/timing/useLoop.js +0 -16
  424. package/lib/module/animation/timing/useLoop.js.map +0 -1
  425. package/lib/module/animation/timing/useTiming.d.ts +0 -13
  426. package/lib/module/animation/timing/useTiming.js +0 -57
  427. package/lib/module/animation/timing/useTiming.js.map +0 -1
  428. package/lib/module/dom/nodes/drawings/CustomDrawingNode.d.ts +0 -8
  429. package/lib/module/dom/nodes/drawings/CustomDrawingNode.js +0 -17
  430. package/lib/module/dom/nodes/drawings/CustomDrawingNode.js.map +0 -1
  431. package/lib/module/renderer/DependencyManager.d.ts +0 -46
  432. package/lib/module/renderer/DependencyManager.js +0 -174
  433. package/lib/module/renderer/DependencyManager.js.map +0 -1
  434. package/lib/module/renderer/components/Drawing.d.ts +0 -8
  435. package/lib/module/renderer/components/Drawing.js +0 -11
  436. package/lib/module/renderer/components/Drawing.js.map +0 -1
  437. package/lib/module/specs/SkiaDrawViewNativeComponent.d.ts +0 -8
  438. package/lib/module/specs/SkiaDrawViewNativeComponent.js +0 -4
  439. package/lib/module/specs/SkiaDrawViewNativeComponent.js.map +0 -1
  440. package/lib/module/values/api.d.ts +0 -26
  441. package/lib/module/values/api.js +0 -48
  442. package/lib/module/values/api.js.map +0 -1
  443. package/lib/module/values/api.web.d.ts +0 -2
  444. package/lib/module/values/api.web.js +0 -7
  445. package/lib/module/values/api.web.js.map +0 -1
  446. package/lib/module/values/hooks/index.d.ts +0 -4
  447. package/lib/module/values/hooks/index.js +0 -5
  448. package/lib/module/values/hooks/index.js.map +0 -1
  449. package/lib/module/values/hooks/useClockValue.d.ts +0 -9
  450. package/lib/module/values/hooks/useClockValue.js +0 -20
  451. package/lib/module/values/hooks/useClockValue.js.map +0 -1
  452. package/lib/module/values/hooks/useComputedValue.d.ts +0 -11
  453. package/lib/module/values/hooks/useComputedValue.js +0 -21
  454. package/lib/module/values/hooks/useComputedValue.js.map +0 -1
  455. package/lib/module/values/hooks/useValue.d.ts +0 -10
  456. package/lib/module/values/hooks/useValue.js +0 -16
  457. package/lib/module/values/hooks/useValue.js.map +0 -1
  458. package/lib/module/values/hooks/useValueEffect.d.ts +0 -10
  459. package/lib/module/values/hooks/useValueEffect.js +0 -16
  460. package/lib/module/values/hooks/useValueEffect.js.map +0 -1
  461. package/lib/module/values/index.d.ts +0 -4
  462. package/lib/module/values/index.js +0 -5
  463. package/lib/module/values/index.js.map +0 -1
  464. package/lib/module/values/selector.d.ts +0 -14
  465. package/lib/module/values/selector.js +0 -15
  466. package/lib/module/values/selector.js.map +0 -1
  467. package/lib/module/values/types.d.ts +0 -63
  468. package/lib/module/values/types.js +0 -2
  469. package/lib/module/values/types.js.map +0 -1
  470. package/lib/module/values/web/RNSkAnimation.d.ts +0 -9
  471. package/lib/module/values/web/RNSkAnimation.js +0 -36
  472. package/lib/module/values/web/RNSkAnimation.js.map +0 -1
  473. package/lib/module/values/web/RNSkClockValue.d.ts +0 -13
  474. package/lib/module/values/web/RNSkClockValue.js +0 -65
  475. package/lib/module/values/web/RNSkClockValue.js.map +0 -1
  476. package/lib/module/values/web/RNSkComputedValue.d.ts +0 -10
  477. package/lib/module/values/web/RNSkComputedValue.js +0 -49
  478. package/lib/module/values/web/RNSkComputedValue.js.map +0 -1
  479. package/lib/module/values/web/RNSkReadonlyValue.d.ts +0 -12
  480. package/lib/module/values/web/RNSkReadonlyValue.js +0 -42
  481. package/lib/module/values/web/RNSkReadonlyValue.js.map +0 -1
  482. package/lib/module/values/web/RNSkValue.d.ts +0 -14
  483. package/lib/module/values/web/RNSkValue.js +0 -63
  484. package/lib/module/values/web/RNSkValue.js.map +0 -1
  485. package/lib/module/values/web/api.d.ts +0 -2
  486. package/lib/module/values/web/api.js +0 -19
  487. package/lib/module/values/web/api.js.map +0 -1
  488. package/lib/module/values/web/index.d.ts +0 -1
  489. package/lib/module/values/web/index.js +0 -2
  490. package/lib/module/values/web/index.js.map +0 -1
  491. package/lib/module/views/SkiaView.d.ts +0 -35
  492. package/lib/module/views/SkiaView.js +0 -119
  493. package/lib/module/views/SkiaView.js.map +0 -1
  494. package/lib/module/views/SkiaView.web.d.ts +0 -7
  495. package/lib/module/views/SkiaView.web.js +0 -20
  496. package/lib/module/views/SkiaView.web.js.map +0 -1
  497. package/lib/module/views/useDrawCallback.d.ts +0 -8
  498. package/lib/module/views/useDrawCallback.js +0 -14
  499. package/lib/module/views/useDrawCallback.js.map +0 -1
  500. package/lib/typescript/src/animation/decay/decay.d.ts +0 -2
  501. package/lib/typescript/src/animation/decay/index.d.ts +0 -1
  502. package/lib/typescript/src/animation/decay/runDecay.d.ts +0 -10
  503. package/lib/typescript/src/animation/decay/types.d.ts +0 -21
  504. package/lib/typescript/src/animation/spring/Spring.d.ts +0 -65
  505. package/lib/typescript/src/animation/spring/functions/index.d.ts +0 -1
  506. package/lib/typescript/src/animation/spring/functions/spring.d.ts +0 -10
  507. package/lib/typescript/src/animation/spring/index.d.ts +0 -3
  508. package/lib/typescript/src/animation/spring/runSpring.d.ts +0 -19
  509. package/lib/typescript/src/animation/spring/types.d.ts +0 -6
  510. package/lib/typescript/src/animation/spring/useSpring.d.ts +0 -13
  511. package/lib/typescript/src/animation/timing/Easing.d.ts +0 -19
  512. package/lib/typescript/src/animation/timing/createTiming.d.ts +0 -17
  513. package/lib/typescript/src/animation/timing/functions/bezier.d.ts +0 -1
  514. package/lib/typescript/src/animation/timing/functions/getResolvedParams.d.ts +0 -7
  515. package/lib/typescript/src/animation/timing/functions/index.d.ts +0 -4
  516. package/lib/typescript/src/animation/timing/functions/timing.d.ts +0 -17
  517. package/lib/typescript/src/animation/timing/functions/types.d.ts +0 -7
  518. package/lib/typescript/src/animation/timing/index.d.ts +0 -4
  519. package/lib/typescript/src/animation/timing/runTiming.d.ts +0 -19
  520. package/lib/typescript/src/animation/timing/useLoop.d.ts +0 -11
  521. package/lib/typescript/src/animation/timing/useTiming.d.ts +0 -13
  522. package/lib/typescript/src/dom/nodes/drawings/CustomDrawingNode.d.ts +0 -8
  523. package/lib/typescript/src/renderer/DependencyManager.d.ts +0 -46
  524. package/lib/typescript/src/renderer/components/Drawing.d.ts +0 -8
  525. package/lib/typescript/src/specs/SkiaDrawViewNativeComponent.d.ts +0 -8
  526. package/lib/typescript/src/values/api.d.ts +0 -26
  527. package/lib/typescript/src/values/api.web.d.ts +0 -2
  528. package/lib/typescript/src/values/hooks/index.d.ts +0 -4
  529. package/lib/typescript/src/values/hooks/useClockValue.d.ts +0 -9
  530. package/lib/typescript/src/values/hooks/useComputedValue.d.ts +0 -11
  531. package/lib/typescript/src/values/hooks/useValue.d.ts +0 -10
  532. package/lib/typescript/src/values/hooks/useValueEffect.d.ts +0 -10
  533. package/lib/typescript/src/values/index.d.ts +0 -4
  534. package/lib/typescript/src/values/selector.d.ts +0 -14
  535. package/lib/typescript/src/values/types.d.ts +0 -63
  536. package/lib/typescript/src/values/web/RNSkAnimation.d.ts +0 -9
  537. package/lib/typescript/src/values/web/RNSkClockValue.d.ts +0 -13
  538. package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +0 -10
  539. package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +0 -12
  540. package/lib/typescript/src/values/web/RNSkValue.d.ts +0 -14
  541. package/lib/typescript/src/values/web/api.d.ts +0 -2
  542. package/lib/typescript/src/values/web/index.d.ts +0 -1
  543. package/lib/typescript/src/views/SkiaView.d.ts +0 -35
  544. package/lib/typescript/src/views/SkiaView.web.d.ts +0 -7
  545. package/lib/typescript/src/views/useDrawCallback.d.ts +0 -8
  546. package/src/animation/decay/decay.ts +0 -35
  547. package/src/animation/decay/index.ts +0 -1
  548. package/src/animation/decay/runDecay.ts +0 -40
  549. package/src/animation/decay/types.ts +0 -24
  550. package/src/animation/spring/Spring.ts +0 -61
  551. package/src/animation/spring/functions/index.ts +0 -1
  552. package/src/animation/spring/functions/spring.ts +0 -86
  553. package/src/animation/spring/index.ts +0 -3
  554. package/src/animation/spring/runSpring.ts +0 -40
  555. package/src/animation/spring/types.ts +0 -6
  556. package/src/animation/spring/useSpring.ts +0 -31
  557. package/src/animation/timing/Easing.ts +0 -102
  558. package/src/animation/timing/createTiming.ts +0 -62
  559. package/src/animation/timing/functions/bezier.ts +0 -165
  560. package/src/animation/timing/functions/getResolvedParams.ts +0 -50
  561. package/src/animation/timing/functions/index.ts +0 -4
  562. package/src/animation/timing/functions/timing.ts +0 -44
  563. package/src/animation/timing/functions/types.ts +0 -8
  564. package/src/animation/timing/index.ts +0 -4
  565. package/src/animation/timing/runTiming.ts +0 -36
  566. package/src/animation/timing/useLoop.ts +0 -21
  567. package/src/animation/timing/useTiming.ts +0 -71
  568. package/src/dom/nodes/drawings/CustomDrawingNode.ts +0 -21
  569. package/src/renderer/DependencyManager.tsx +0 -196
  570. package/src/renderer/components/Drawing.tsx +0 -12
  571. package/src/specs/SkiaDrawViewNativeComponent.ts +0 -10
  572. package/src/values/api.ts +0 -61
  573. package/src/values/api.web.ts +0 -5
  574. package/src/values/hooks/index.ts +0 -4
  575. package/src/values/hooks/useClockValue.ts +0 -21
  576. package/src/values/hooks/useComputedValue.ts +0 -24
  577. package/src/values/hooks/useValue.ts +0 -17
  578. package/src/values/hooks/useValueEffect.ts +0 -18
  579. package/src/values/index.ts +0 -4
  580. package/src/values/selector.ts +0 -24
  581. package/src/values/types.ts +0 -73
  582. package/src/values/web/RNSkAnimation.ts +0 -33
  583. package/src/values/web/RNSkClockValue.ts +0 -58
  584. package/src/values/web/RNSkComputedValue.ts +0 -49
  585. package/src/values/web/RNSkReadonlyValue.ts +0 -38
  586. package/src/values/web/RNSkValue.ts +0 -57
  587. package/src/values/web/api.ts +0 -33
  588. package/src/values/web/index.ts +0 -1
  589. package/src/views/SkiaView.tsx +0 -111
  590. package/src/views/SkiaView.web.tsx +0 -22
  591. package/src/views/useDrawCallback.ts +0 -19
@@ -1,17 +1,14 @@
1
1
  import { NodeType } from "../dom/types";
2
- import type { DeclarationNode, FractalNoiseProps, RenderNode, CircleProps, DrawingNodeProps, ImageProps, PaintProps, PathProps, CustomDrawingNodeProps, LineProps, OvalProps, DiffRectProps, PointsProps, RectProps, RoundedRectProps, TextProps, VerticesProps, BlurMaskFilterProps, BlendImageFilterProps, BlurImageFilterProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps, MatrixColorFilterProps, ShaderProps, ImageShaderProps, LinearGradientProps, GroupProps, PatchProps, BlendColorFilterProps, DashPathEffectProps, DiscretePathEffectProps, CornerPathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, BoxProps, BoxShadowProps, ParagraphProps } from "../dom/types";
2
+ import type { DeclarationNode, FractalNoiseProps, RenderNode, CircleProps, DrawingNodeProps, ImageProps, PaintProps, PathProps, LineProps, OvalProps, DiffRectProps, PointsProps, RectProps, RoundedRectProps, TextProps, VerticesProps, BlurMaskFilterProps, BlendImageFilterProps, BlurImageFilterProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps, MatrixColorFilterProps, ShaderProps, ImageShaderProps, LinearGradientProps, GroupProps, PatchProps, BlendColorFilterProps, DashPathEffectProps, DiscretePathEffectProps, CornerPathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, BoxProps, BoxShadowProps, ParagraphProps } from "../dom/types";
3
3
  import type { ChildrenProps } from "../dom/types/Common";
4
4
  import type { BlendProps, MorphologyImageFilterProps } from "../dom/types/ImageFilters";
5
5
  import type { SkRect, SkRRect } from "../skia/types";
6
6
  import type { JsiDrawingNode } from "../dom/nodes/DrawingNode";
7
- import type { SkiaValue } from "../values";
8
7
  import type { Container } from "./Container";
9
8
  import type { SkiaProps } from "./processors";
10
- import type { DependencyManager } from "./DependencyManager";
11
9
  export declare const NATIVE_DOM: boolean;
12
10
  declare global {
13
11
  var SkiaDomApi: {
14
- DependencyManager: (registerValues: (values: Array<SkiaValue<unknown>>) => () => void) => DependencyManager;
15
12
  RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;
16
13
  RRectNode: (props: RoundedRectProps) => JsiDrawingNode<RoundedRectProps, SkRRect>;
17
14
  GroupNode: (props: GroupProps) => RenderNode<GroupProps>;
@@ -19,7 +16,6 @@ declare global {
19
16
  FillNode: (props: PaintProps) => RenderNode<PaintProps>;
20
17
  CircleNode: (props: CircleProps) => RenderNode<CircleProps>;
21
18
  PathNode: (props: PathProps) => RenderNode<PathProps>;
22
- CustomDrawingNode: (props: CustomDrawingNodeProps) => RenderNode<CustomDrawingNodeProps>;
23
19
  LineNode: (props: LineProps) => RenderNode<LineProps>;
24
20
  ImageNode: (props: ImageProps) => RenderNode<ImageProps>;
25
21
  OvalNode: (props: OvalProps) => RenderNode<OvalProps>;
@@ -79,7 +75,6 @@ declare global {
79
75
  skImage: SkiaProps<ImageProps>;
80
76
  skCircle: SkiaProps<CircleProps>;
81
77
  skPath: SkiaProps<PathProps>;
82
- skDrawing: SkiaProps<CustomDrawingNodeProps>;
83
78
  skLine: SkiaProps<LineProps>;
84
79
  skOval: SkiaProps<OvalProps>;
85
80
  skPatch: SkiaProps<PatchProps>;
@@ -31,9 +31,6 @@ export const createNode = (container, type, props) => {
31
31
  case NodeType.Path:
32
32
  return Sk.Path(props);
33
33
 
34
- case NodeType.Drawing:
35
- return Sk.CustomDrawing(props);
36
-
37
34
  case NodeType.Line:
38
35
  return Sk.Line(props);
39
36
 
@@ -1 +1 @@
1
- {"version":3,"names":["NodeType","exhaustiveCheck","shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","Layer","Group","Paint","Fill","Image","Circle","Path","Drawing","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LerpColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow","Paragraph"],"sources":["HostComponents.ts"],"sourcesContent":["import { NodeType } from \"../dom/types\";\nimport type {\n DeclarationNode,\n FractalNoiseProps,\n RenderNode,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n} from \"../dom/types\";\nimport type { ChildrenProps } from \"../dom/types/Common\";\nimport type {\n BlendProps,\n MorphologyImageFilterProps,\n} from \"../dom/types/ImageFilters\";\nimport type { SkRect, SkRRect } from \"../skia/types\";\nimport type { JsiDrawingNode } from \"../dom/nodes/DrawingNode\";\nimport type { SkiaValue } from \"../values\";\n\nimport type { Container } from \"./Container\";\nimport { exhaustiveCheck } from \"./typeddash\";\nimport type { SkiaProps } from \"./processors\";\nimport type { DependencyManager } from \"./DependencyManager\";\n\n// This flag should only be turned on for debugging/testing\nconst shouldUseJSDomOnNative = false;\nexport const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;\n\ndeclare global {\n var SkiaDomApi: {\n DependencyManager: (\n registerValues: (values: Array<SkiaValue<unknown>>) => () => void\n ) => DependencyManager;\n\n // FIXME: We need a better type for this\n RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;\n RRectNode: (\n props: RoundedRectProps\n ) => JsiDrawingNode<RoundedRectProps, SkRRect>;\n GroupNode: (props: GroupProps) => RenderNode<GroupProps>;\n PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;\n FillNode: (props: PaintProps) => RenderNode<PaintProps>;\n CircleNode: (props: CircleProps) => RenderNode<CircleProps>;\n PathNode: (props: PathProps) => RenderNode<PathProps>;\n CustomDrawingNode: (\n props: CustomDrawingNodeProps\n ) => RenderNode<CustomDrawingNodeProps>;\n LineNode: (props: LineProps) => RenderNode<LineProps>;\n ImageNode: (props: ImageProps) => RenderNode<ImageProps>;\n OvalNode: (props: OvalProps) => RenderNode<OvalProps>;\n PatchNode: (props: PatchProps) => RenderNode<PatchProps>;\n PointsNode: (props: PointsProps) => RenderNode<PointsProps>;\n DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;\n // Mask filters\n BlurMaskFilterNode: (\n props: BlurMaskFilterProps\n ) => DeclarationNode<BlurMaskFilterProps>;\n\n // Path effects\n DashPathEffectNode: (\n props: DashPathEffectProps\n ) => DeclarationNode<DashPathEffectProps>;\n DiscretePathEffectNode: (\n props: DiscretePathEffectProps\n ) => DeclarationNode<DiscretePathEffectProps>;\n CornerPathEffectNode: (\n props: CornerPathEffectProps\n ) => DeclarationNode<CornerPathEffectProps>;\n Path1DPathEffectNode: (\n props: Path1DPathEffectProps\n ) => DeclarationNode<Path1DPathEffectProps>;\n Path2DPathEffectNode: (\n props: Path2DPathEffectProps\n ) => DeclarationNode<Path2DPathEffectProps>;\n Line2DPathEffectNode: (\n props: Line2DPathEffectProps\n ) => DeclarationNode<Line2DPathEffectProps>;\n SumPathEffectNode: () => DeclarationNode<null>;\n\n // Image filters\n BlendImageFilterNode: (\n props: BlendImageFilterProps\n ) => DeclarationNode<BlendImageFilterProps>;\n DropShadowImageFilterNode: (\n props: DropShadowImageFilterProps\n ) => DeclarationNode<DropShadowImageFilterProps>;\n DisplacementMapImageFilterNode: (\n props: DisplacementMapImageFilterProps\n ) => DeclarationNode<DisplacementMapImageFilterProps>;\n BlurImageFilterNode: (\n props: BlurImageFilterProps\n ) => DeclarationNode<BlurImageFilterProps>;\n OffsetImageFilterNode: (\n props: OffsetImageFilterProps\n ) => DeclarationNode<OffsetImageFilterProps>;\n MorphologyImageFilterNode: (\n props: MorphologyImageFilterProps\n ) => DeclarationNode<MorphologyImageFilterProps>;\n RuntimeShaderImageFilterNode: (\n props: RuntimeShaderImageFilterProps\n ) => DeclarationNode<RuntimeShaderImageFilterProps>;\n\n // Color filters\n MatrixColorFilterNode: (\n props: MatrixColorFilterProps\n ) => DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilterNode: (\n props: BlendColorFilterProps\n ) => DeclarationNode<BlendColorFilterProps>;\n LinearToSRGBGammaColorFilterNode: () => DeclarationNode<null>;\n SRGBToLinearGammaColorFilterNode: () => DeclarationNode<null>;\n LumaColorFilterNode: () => DeclarationNode<null>;\n LerpColorFilterNode: (\n props: LerpColorFilterProps\n ) => DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n ShaderNode: (props: ShaderProps) => DeclarationNode<ShaderProps>;\n ImageShaderNode: (\n props: ImageShaderProps\n ) => DeclarationNode<ImageShaderProps>;\n ColorShaderNode: (props: ColorProps) => DeclarationNode<ColorProps>;\n TurbulenceNode: (\n props: TurbulenceProps\n ) => DeclarationNode<TurbulenceProps>;\n FractalNoiseNode: (\n props: FractalNoiseProps\n ) => DeclarationNode<FractalNoiseProps>;\n LinearGradientNode: (\n props: LinearGradientProps\n ) => DeclarationNode<LinearGradientProps>;\n RadialGradientNode: (\n props: RadialGradientProps\n ) => DeclarationNode<RadialGradientProps>;\n SweepGradientNode: (\n props: SweepGradientProps\n ) => DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradientNode: (\n props: TwoPointConicalGradientProps\n ) => DeclarationNode<TwoPointConicalGradientProps>;\n PictureNode: (props: PictureProps) => RenderNode<PictureProps>;\n ImageSVGNode: (props: ImageSVGProps) => RenderNode<ImageSVGProps>;\n VerticesNode: (props: VerticesProps) => RenderNode<VerticesProps>;\n TextNode: (prop: TextProps) => RenderNode<TextProps>;\n TextPathNode: (prop: TextPathProps) => RenderNode<TextPathProps>;\n TextBlobNode: (prop: TextBlobProps) => RenderNode<TextBlobProps>;\n GlyphsNode: (prop: GlyphsProps) => RenderNode<GlyphsProps>;\n BlendNode: (prop: BlendProps) => DeclarationNode<BlendProps>;\n BackdropFilterNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n BoxNode: (prop: BoxProps) => RenderNode<BoxProps>;\n BoxShadowNode: (prop: BoxShadowProps) => DeclarationNode<BoxShadowProps>;\n LayerNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n\n // Paragraph\n ParagraphNode: (props: ParagraphProps) => RenderNode<ParagraphProps>;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skDrawing: SkiaProps<CustomDrawingNodeProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n\nexport const createNode = (\n container: Container,\n type: NodeType,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any\n) => {\n const { Sk } = container;\n switch (type) {\n case NodeType.Layer:\n return Sk.Layer(props);\n case NodeType.Group:\n return Sk.Group(props);\n case NodeType.Paint:\n return Sk.Paint(props);\n // Drawings\n case NodeType.Fill:\n return Sk.Fill(props);\n case NodeType.Image:\n return Sk.Image(props);\n case NodeType.Circle:\n return Sk.Circle(props);\n case NodeType.Path:\n return Sk.Path(props);\n case NodeType.Drawing:\n return Sk.CustomDrawing(props);\n case NodeType.Line:\n return Sk.Line(props);\n case NodeType.Oval:\n return Sk.Oval(props);\n case NodeType.Patch:\n return Sk.Patch(props);\n case NodeType.Points:\n return Sk.Points(props);\n case NodeType.Rect:\n return Sk.Rect(props);\n case NodeType.RRect:\n return Sk.RRect(props);\n case NodeType.Vertices:\n return Sk.Vertices(props);\n case NodeType.Text:\n return Sk.Text(props);\n case NodeType.TextPath:\n return Sk.TextPath(props);\n case NodeType.TextBlob:\n return Sk.TextBlob(props);\n case NodeType.Glyphs:\n return Sk.Glyphs(props);\n case NodeType.DiffRect:\n return Sk.DiffRect(props);\n case NodeType.Picture:\n return Sk.Picture(props);\n case NodeType.ImageSVG:\n return Sk.ImageSVG(props);\n // Mask Filter\n case NodeType.BlurMaskFilter:\n return Sk.BlurMaskFilter(props);\n // Image Filter\n case NodeType.BlendImageFilter:\n return Sk.BlendImageFilter(props);\n case NodeType.BlurImageFilter:\n return Sk.BlurImageFilter(props);\n case NodeType.OffsetImageFilter:\n return Sk.OffsetImageFilter(props);\n case NodeType.DropShadowImageFilter:\n return Sk.DropShadowImageFilter(props);\n case NodeType.DisplacementMapImageFilter:\n return Sk.DisplacementMapImageFilter(props);\n case NodeType.MorphologyImageFilter:\n return Sk.MorphologyImageFilter(props);\n case NodeType.RuntimeShaderImageFilter:\n return Sk.RuntimeShaderImageFilter(props);\n // Color Filter\n case NodeType.MatrixColorFilter:\n return Sk.MatrixColorFilter(props);\n case NodeType.BlendColorFilter:\n return Sk.BlendColorFilter(props);\n case NodeType.LerpColorFilter:\n return Sk.LerpColorFilter(props);\n case NodeType.LumaColorFilter:\n return Sk.LumaColorFilter();\n case NodeType.LinearToSRGBGammaColorFilter:\n return Sk.LinearToSRGBGammaColorFilter();\n case NodeType.SRGBToLinearGammaColorFilter:\n return Sk.SRGBToLinearGammaColorFilter();\n // Shader\n case NodeType.Shader:\n return Sk.Shader(props);\n case NodeType.ImageShader:\n return Sk.ImageShader(props);\n case NodeType.ColorShader:\n return Sk.ColorShader(props);\n case NodeType.Turbulence:\n return Sk.Turbulence(props);\n case NodeType.FractalNoise:\n return Sk.FractalNoise(props);\n case NodeType.LinearGradient:\n return Sk.LinearGradient(props);\n case NodeType.RadialGradient:\n return Sk.RadialGradient(props);\n case NodeType.SweepGradient:\n return Sk.SweepGradient(props);\n case NodeType.TwoPointConicalGradient:\n return Sk.TwoPointConicalGradient(props);\n // Path Effect\n case NodeType.CornerPathEffect:\n return Sk.CornerPathEffect(props);\n case NodeType.DiscretePathEffect:\n return Sk.DiscretePathEffect(props);\n case NodeType.DashPathEffect:\n return Sk.DashPathEffect(props);\n case NodeType.Path1DPathEffect:\n return Sk.Path1DPathEffect(props);\n case NodeType.Path2DPathEffect:\n return Sk.Path2DPathEffect(props);\n case NodeType.SumPathEffect:\n return Sk.SumPathEffect();\n case NodeType.Line2DPathEffect:\n return Sk.Line2DPathEffect(props);\n // Mixed\n case NodeType.Blend:\n return Sk.Blend(props);\n case NodeType.BackdropFilter:\n return Sk.BackdropFilter(props);\n case NodeType.Box:\n return Sk.Box(props);\n case NodeType.BoxShadow:\n return Sk.BoxShadow(props);\n // Paragraph\n case NodeType.Paragraph:\n return Sk.Paragraph(props);\n default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["NodeType","exhaustiveCheck","shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","Layer","Group","Paint","Fill","Image","Circle","Path","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LerpColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow","Paragraph"],"sources":["HostComponents.ts"],"sourcesContent":["import { NodeType } from \"../dom/types\";\nimport type {\n DeclarationNode,\n FractalNoiseProps,\n RenderNode,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n} from \"../dom/types\";\nimport type { ChildrenProps } from \"../dom/types/Common\";\nimport type {\n BlendProps,\n MorphologyImageFilterProps,\n} from \"../dom/types/ImageFilters\";\nimport type { SkRect, SkRRect } from \"../skia/types\";\nimport type { JsiDrawingNode } from \"../dom/nodes/DrawingNode\";\n\nimport type { Container } from \"./Container\";\nimport { exhaustiveCheck } from \"./typeddash\";\nimport type { SkiaProps } from \"./processors\";\n\n// This flag should only be turned on for debugging/testing\nconst shouldUseJSDomOnNative = false;\nexport const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;\n\ndeclare global {\n var SkiaDomApi: {\n // FIXME: We need a better type for this\n RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;\n RRectNode: (\n props: RoundedRectProps\n ) => JsiDrawingNode<RoundedRectProps, SkRRect>;\n GroupNode: (props: GroupProps) => RenderNode<GroupProps>;\n PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;\n FillNode: (props: PaintProps) => RenderNode<PaintProps>;\n CircleNode: (props: CircleProps) => RenderNode<CircleProps>;\n PathNode: (props: PathProps) => RenderNode<PathProps>;\n LineNode: (props: LineProps) => RenderNode<LineProps>;\n ImageNode: (props: ImageProps) => RenderNode<ImageProps>;\n OvalNode: (props: OvalProps) => RenderNode<OvalProps>;\n PatchNode: (props: PatchProps) => RenderNode<PatchProps>;\n PointsNode: (props: PointsProps) => RenderNode<PointsProps>;\n DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;\n // Mask filters\n BlurMaskFilterNode: (\n props: BlurMaskFilterProps\n ) => DeclarationNode<BlurMaskFilterProps>;\n\n // Path effects\n DashPathEffectNode: (\n props: DashPathEffectProps\n ) => DeclarationNode<DashPathEffectProps>;\n DiscretePathEffectNode: (\n props: DiscretePathEffectProps\n ) => DeclarationNode<DiscretePathEffectProps>;\n CornerPathEffectNode: (\n props: CornerPathEffectProps\n ) => DeclarationNode<CornerPathEffectProps>;\n Path1DPathEffectNode: (\n props: Path1DPathEffectProps\n ) => DeclarationNode<Path1DPathEffectProps>;\n Path2DPathEffectNode: (\n props: Path2DPathEffectProps\n ) => DeclarationNode<Path2DPathEffectProps>;\n Line2DPathEffectNode: (\n props: Line2DPathEffectProps\n ) => DeclarationNode<Line2DPathEffectProps>;\n SumPathEffectNode: () => DeclarationNode<null>;\n\n // Image filters\n BlendImageFilterNode: (\n props: BlendImageFilterProps\n ) => DeclarationNode<BlendImageFilterProps>;\n DropShadowImageFilterNode: (\n props: DropShadowImageFilterProps\n ) => DeclarationNode<DropShadowImageFilterProps>;\n DisplacementMapImageFilterNode: (\n props: DisplacementMapImageFilterProps\n ) => DeclarationNode<DisplacementMapImageFilterProps>;\n BlurImageFilterNode: (\n props: BlurImageFilterProps\n ) => DeclarationNode<BlurImageFilterProps>;\n OffsetImageFilterNode: (\n props: OffsetImageFilterProps\n ) => DeclarationNode<OffsetImageFilterProps>;\n MorphologyImageFilterNode: (\n props: MorphologyImageFilterProps\n ) => DeclarationNode<MorphologyImageFilterProps>;\n RuntimeShaderImageFilterNode: (\n props: RuntimeShaderImageFilterProps\n ) => DeclarationNode<RuntimeShaderImageFilterProps>;\n\n // Color filters\n MatrixColorFilterNode: (\n props: MatrixColorFilterProps\n ) => DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilterNode: (\n props: BlendColorFilterProps\n ) => DeclarationNode<BlendColorFilterProps>;\n LinearToSRGBGammaColorFilterNode: () => DeclarationNode<null>;\n SRGBToLinearGammaColorFilterNode: () => DeclarationNode<null>;\n LumaColorFilterNode: () => DeclarationNode<null>;\n LerpColorFilterNode: (\n props: LerpColorFilterProps\n ) => DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n ShaderNode: (props: ShaderProps) => DeclarationNode<ShaderProps>;\n ImageShaderNode: (\n props: ImageShaderProps\n ) => DeclarationNode<ImageShaderProps>;\n ColorShaderNode: (props: ColorProps) => DeclarationNode<ColorProps>;\n TurbulenceNode: (\n props: TurbulenceProps\n ) => DeclarationNode<TurbulenceProps>;\n FractalNoiseNode: (\n props: FractalNoiseProps\n ) => DeclarationNode<FractalNoiseProps>;\n LinearGradientNode: (\n props: LinearGradientProps\n ) => DeclarationNode<LinearGradientProps>;\n RadialGradientNode: (\n props: RadialGradientProps\n ) => DeclarationNode<RadialGradientProps>;\n SweepGradientNode: (\n props: SweepGradientProps\n ) => DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradientNode: (\n props: TwoPointConicalGradientProps\n ) => DeclarationNode<TwoPointConicalGradientProps>;\n PictureNode: (props: PictureProps) => RenderNode<PictureProps>;\n ImageSVGNode: (props: ImageSVGProps) => RenderNode<ImageSVGProps>;\n VerticesNode: (props: VerticesProps) => RenderNode<VerticesProps>;\n TextNode: (prop: TextProps) => RenderNode<TextProps>;\n TextPathNode: (prop: TextPathProps) => RenderNode<TextPathProps>;\n TextBlobNode: (prop: TextBlobProps) => RenderNode<TextBlobProps>;\n GlyphsNode: (prop: GlyphsProps) => RenderNode<GlyphsProps>;\n BlendNode: (prop: BlendProps) => DeclarationNode<BlendProps>;\n BackdropFilterNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n BoxNode: (prop: BoxProps) => RenderNode<BoxProps>;\n BoxShadowNode: (prop: BoxShadowProps) => DeclarationNode<BoxShadowProps>;\n LayerNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n\n // Paragraph\n ParagraphNode: (props: ParagraphProps) => RenderNode<ParagraphProps>;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n\nexport const createNode = (\n container: Container,\n type: NodeType,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any\n) => {\n const { Sk } = container;\n switch (type) {\n case NodeType.Layer:\n return Sk.Layer(props);\n case NodeType.Group:\n return Sk.Group(props);\n case NodeType.Paint:\n return Sk.Paint(props);\n // Drawings\n case NodeType.Fill:\n return Sk.Fill(props);\n case NodeType.Image:\n return Sk.Image(props);\n case NodeType.Circle:\n return Sk.Circle(props);\n case NodeType.Path:\n return Sk.Path(props);\n case NodeType.Line:\n return Sk.Line(props);\n case NodeType.Oval:\n return Sk.Oval(props);\n case NodeType.Patch:\n return Sk.Patch(props);\n case NodeType.Points:\n return Sk.Points(props);\n case NodeType.Rect:\n return Sk.Rect(props);\n case NodeType.RRect:\n return Sk.RRect(props);\n case NodeType.Vertices:\n return Sk.Vertices(props);\n case NodeType.Text:\n return Sk.Text(props);\n case NodeType.TextPath:\n return Sk.TextPath(props);\n case NodeType.TextBlob:\n return Sk.TextBlob(props);\n case NodeType.Glyphs:\n return Sk.Glyphs(props);\n case NodeType.DiffRect:\n return Sk.DiffRect(props);\n case NodeType.Picture:\n return Sk.Picture(props);\n case NodeType.ImageSVG:\n return Sk.ImageSVG(props);\n // Mask Filter\n case NodeType.BlurMaskFilter:\n return Sk.BlurMaskFilter(props);\n // Image Filter\n case NodeType.BlendImageFilter:\n return Sk.BlendImageFilter(props);\n case NodeType.BlurImageFilter:\n return Sk.BlurImageFilter(props);\n case NodeType.OffsetImageFilter:\n return Sk.OffsetImageFilter(props);\n case NodeType.DropShadowImageFilter:\n return Sk.DropShadowImageFilter(props);\n case NodeType.DisplacementMapImageFilter:\n return Sk.DisplacementMapImageFilter(props);\n case NodeType.MorphologyImageFilter:\n return Sk.MorphologyImageFilter(props);\n case NodeType.RuntimeShaderImageFilter:\n return Sk.RuntimeShaderImageFilter(props);\n // Color Filter\n case NodeType.MatrixColorFilter:\n return Sk.MatrixColorFilter(props);\n case NodeType.BlendColorFilter:\n return Sk.BlendColorFilter(props);\n case NodeType.LerpColorFilter:\n return Sk.LerpColorFilter(props);\n case NodeType.LumaColorFilter:\n return Sk.LumaColorFilter();\n case NodeType.LinearToSRGBGammaColorFilter:\n return Sk.LinearToSRGBGammaColorFilter();\n case NodeType.SRGBToLinearGammaColorFilter:\n return Sk.SRGBToLinearGammaColorFilter();\n // Shader\n case NodeType.Shader:\n return Sk.Shader(props);\n case NodeType.ImageShader:\n return Sk.ImageShader(props);\n case NodeType.ColorShader:\n return Sk.ColorShader(props);\n case NodeType.Turbulence:\n return Sk.Turbulence(props);\n case NodeType.FractalNoise:\n return Sk.FractalNoise(props);\n case NodeType.LinearGradient:\n return Sk.LinearGradient(props);\n case NodeType.RadialGradient:\n return Sk.RadialGradient(props);\n case NodeType.SweepGradient:\n return Sk.SweepGradient(props);\n case NodeType.TwoPointConicalGradient:\n return Sk.TwoPointConicalGradient(props);\n // Path Effect\n case NodeType.CornerPathEffect:\n return Sk.CornerPathEffect(props);\n case NodeType.DiscretePathEffect:\n return Sk.DiscretePathEffect(props);\n case NodeType.DashPathEffect:\n return Sk.DashPathEffect(props);\n case NodeType.Path1DPathEffect:\n return Sk.Path1DPathEffect(props);\n case NodeType.Path2DPathEffect:\n return Sk.Path2DPathEffect(props);\n case NodeType.SumPathEffect:\n return Sk.SumPathEffect();\n case NodeType.Line2DPathEffect:\n return Sk.Line2DPathEffect(props);\n // Mixed\n case NodeType.Blend:\n return Sk.Blend(props);\n case NodeType.BackdropFilter:\n return Sk.BackdropFilter(props);\n case NodeType.Box:\n return Sk.Box(props);\n case NodeType.BoxShadow:\n return Sk.BoxShadow(props);\n // Paragraph\n case NodeType.Paragraph:\n return Sk.Paragraph(props);\n default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
@@ -2,8 +2,7 @@
2
2
  import { DefaultEventPriority } from "react-reconciler/constants";
3
3
  import { bindReanimatedProps, extractReanimatedProps, unbindReanimatedNode } from "../external/reanimated/renderHelpers";
4
4
  import { createNode } from "./HostComponents";
5
- import { isSelector, isValue } from "./processors";
6
- import { mapKeys, shallowEq } from "./typeddash";
5
+ import { shallowEq } from "./typeddash";
7
6
  const DEBUG = false;
8
7
  export const debug = function () {
9
8
  if (DEBUG) {
@@ -71,9 +70,8 @@ export const skHostConfig = {
71
70
  createInstance(type, pristineProps, container, _hostContext, _internalInstanceHandle) {
72
71
  debug("createInstance", type);
73
72
  const [props, reanimatedProps] = extractReanimatedProps(pristineProps);
74
- const node = createNode(container, type, materialize(props));
73
+ const node = createNode(container, type, props);
75
74
  bindReanimatedProps(container, node, reanimatedProps);
76
- container.depMgr.subscribeNode(node, props);
77
75
  return node;
78
76
  },
79
77
 
@@ -99,7 +97,6 @@ export const skHostConfig = {
99
97
 
100
98
  resetAfterCommit(container) {
101
99
  debug("resetAfterCommit");
102
- container.depMgr.update();
103
100
  container.redraw();
104
101
  },
105
102
 
@@ -128,10 +125,8 @@ export const skHostConfig = {
128
125
  }
129
126
 
130
127
  const [props, reanimatedProps] = extractReanimatedProps(nextProps);
131
- updatePayload.depMgr.unsubscribeNode(instance);
132
- instance.setProps(materialize(props));
128
+ instance.setProps(props);
133
129
  bindReanimatedProps(updatePayload, instance, reanimatedProps);
134
- updatePayload.depMgr.subscribeNode(instance, props);
135
130
  },
136
131
 
137
132
  commitTextUpdate: (_textInstance, _oldText, _newText) => {// textInstance.instance = newText;
@@ -165,19 +160,4 @@ export const skHostConfig = {
165
160
  afterActiveInstanceBlur: () => {},
166
161
  detachDeletedInstance: () => {}
167
162
  };
168
-
169
- const materialize = props => {
170
- const result = { ...props
171
- };
172
- mapKeys(props).forEach(key => {
173
- const prop = props[key];
174
-
175
- if (isValue(prop)) {
176
- result[key] = prop.current;
177
- } else if (isSelector(prop)) {
178
- result[key] = prop.selector(prop.value.current);
179
- }
180
- });
181
- return result;
182
- };
183
163
  //# sourceMappingURL=HostConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DefaultEventPriority","bindReanimatedProps","extractReanimatedProps","unbindReanimatedNode","createNode","isSelector","isValue","mapKeys","shallowEq","DEBUG","debug","console","log","appendNode","parent","child","addChild","removeNode","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","node","materialize","depMgr","subscribeNode","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","update","redraw","getPublicInstance","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","commitUpdate","instance","updatePayload","prevProps","nextProps","_internalHandle","unsubscribeNode","setProps","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","children","forEach","preparePortalMount","removeChildFromContainer","insertInContainerBefore","getCurrentEventPriority","beforeActiveInstanceBlur","afterActiveInstanceBlur","detachDeletedInstance","result","key","prop","current","selector","value"],"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 type { SkiaValue } from \"../values\";\nimport {\n bindReanimatedProps,\n extractReanimatedProps,\n unbindReanimatedNode,\n} from \"../external/reanimated/renderHelpers\";\n\nimport type { Container } from \"./Container\";\nimport { createNode } from \"./HostComponents\";\nimport type { AnimatedProps } from \"./processors\";\nimport { isSelector, isValue } from \"./processors\";\nimport { mapKeys, 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 = (parent: Node<unknown>, child: Node<unknown>) => {\n unbindReanimatedNode(child);\n return parent.removeChild(child);\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\", container, child);\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, materialize(props));\n bindReanimatedProps(container, node, reanimatedProps);\n container.depMgr.subscribeNode(node, props);\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.depMgr.update();\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 updatePayload.depMgr.unsubscribeNode(instance);\n instance.setProps(materialize(props));\n bindReanimatedProps(updatePayload, instance, reanimatedProps);\n updatePayload.depMgr.subscribeNode(instance, props);\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);\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\nconst materialize = <P>(props: AnimatedProps<P>) => {\n const result = { ...props } as P;\n mapKeys(props).forEach((key) => {\n const prop = props[key];\n if (isValue(prop)) {\n result[key] = (prop as SkiaValue<P[typeof key]>).current;\n } else if (isSelector(prop)) {\n result[key] = prop.selector(prop.value.current) as P[typeof key];\n }\n });\n\n return result;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["DefaultEventPriority","bindReanimatedProps","extractReanimatedProps","unbindReanimatedNode","createNode","shallowEq","DEBUG","debug","console","log","appendNode","parent","child","addChild","removeNode","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","node","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","commitUpdate","instance","updatePayload","prevProps","nextProps","_internalHandle","setProps","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","children","forEach","preparePortalMount","removeChildFromContainer","insertInContainerBefore","getCurrentEventPriority","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 = (parent: Node<unknown>, child: Node<unknown>) => {\n unbindReanimatedNode(child);\n return parent.removeChild(child);\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\", container, child);\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);\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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"}
@@ -1,13 +1,9 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { Skia } from "../skia/types";
3
- import type { SkiaValue } from "../values/types";
4
- type RegisterValues = (values: Array<SkiaValue<unknown>>) => () => void;
5
3
  export declare class SkiaRoot {
6
4
  private root;
7
5
  private container;
8
- constructor(Skia: Skia, registerValues?: RegisterValues, redraw?: () => void, getNativeId?: () => number);
6
+ constructor(Skia: Skia, redraw?: () => void, getNativeId?: () => number);
9
7
  render(element: ReactNode): void;
10
- unmount(): void;
11
8
  get dom(): import("..").RenderNode<import("..").GroupProps>;
12
9
  }
13
- export {};
@@ -1,14 +1,9 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
3
  import ReactReconciler from "react-reconciler";
4
- import { DependencyManager } from "./DependencyManager";
5
4
  import { skHostConfig, debug as hostDebug } from "./HostConfig";
6
5
  import { Container } from "./Container";
7
- import { NATIVE_DOM } from "./HostComponents";
8
6
  const skiaReconciler = ReactReconciler(skHostConfig);
9
-
10
- const createDependencyManager = registerValues => NATIVE_DOM ? global.SkiaDomApi.DependencyManager(registerValues) : new DependencyManager(registerValues);
11
-
12
7
  skiaReconciler.injectIntoDevTools({
13
8
  bundleType: 1,
14
9
  version: "0.0.1",
@@ -16,16 +11,14 @@ skiaReconciler.injectIntoDevTools({
16
11
  });
17
12
  export class SkiaRoot {
18
13
  constructor(Skia) {
19
- let registerValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => () => {};
20
- let redraw = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => {};
21
- let getNativeId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : () => 0;
14
+ let redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};
15
+ let getNativeId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => 0;
22
16
 
23
17
  _defineProperty(this, "root", void 0);
24
18
 
25
19
  _defineProperty(this, "container", void 0);
26
20
 
27
- const depMgr = createDependencyManager(registerValues);
28
- this.container = new Container(Skia, depMgr, redraw, getNativeId);
21
+ this.container = new Container(Skia, redraw, getNativeId);
29
22
  this.root = skiaReconciler.createContainer(this.container, 0, null, true, null, "", console.error, null);
30
23
  }
31
24
 
@@ -36,12 +29,6 @@ export class SkiaRoot {
36
29
  });
37
30
  }
38
31
 
39
- unmount() {
40
- skiaReconciler.updateContainer(null, this.root, null, () => {
41
- this.container.depMgr.remove();
42
- });
43
- }
44
-
45
32
  get dom() {
46
33
  return this.container.root;
47
34
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ReactReconciler","DependencyManager","skHostConfig","debug","hostDebug","Container","NATIVE_DOM","skiaReconciler","createDependencyManager","registerValues","global","SkiaDomApi","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaRoot","constructor","Skia","redraw","getNativeId","depMgr","container","root","createContainer","console","error","render","element","updateContainer","unmount","remove","dom"],"sources":["Reconciler.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport type { Skia } from \"../skia/types\";\nimport type { SkiaValue } from \"../values/types\";\n\nimport { DependencyManager } from \"./DependencyManager\";\nimport { skHostConfig, debug as hostDebug } from \"./HostConfig\";\nimport { Container } from \"./Container\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nconst skiaReconciler = ReactReconciler(skHostConfig);\n\ntype RegisterValues = (values: Array<SkiaValue<unknown>>) => () => void;\n\nconst createDependencyManager = (registerValues: RegisterValues) =>\n NATIVE_DOM\n ? global.SkiaDomApi.DependencyManager(registerValues)\n : new DependencyManager(registerValues);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nexport class SkiaRoot {\n private root: OpaqueRoot;\n private container: Container;\n\n constructor(\n Skia: Skia,\n registerValues: RegisterValues = () => () => {},\n redraw: () => void = () => {},\n getNativeId: () => number = () => 0\n ) {\n const depMgr = createDependencyManager(registerValues);\n this.container = new Container(Skia, depMgr, redraw, getNativeId);\n this.root = skiaReconciler.createContainer(\n this.container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n );\n }\n\n render(element: ReactNode) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n skiaReconciler.updateContainer(element as any, this.root, null, () => {\n hostDebug(\"updateContainer\");\n });\n }\n\n unmount() {\n skiaReconciler.updateContainer(null, this.root, null, () => {\n this.container.depMgr.remove();\n });\n }\n\n get dom() {\n return this.container.root;\n }\n}\n"],"mappings":";;AAEA,OAAOA,eAAP,MAA4B,kBAA5B;AAKA,SAASC,iBAAT,QAAkC,qBAAlC;AACA,SAASC,YAAT,EAAuBC,KAAK,IAAIC,SAAhC,QAAiD,cAAjD;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,UAAT,QAA2B,kBAA3B;AAEA,MAAMC,cAAc,GAAGP,eAAe,CAACE,YAAD,CAAtC;;AAIA,MAAMM,uBAAuB,GAAIC,cAAD,IAC9BH,UAAU,GACNI,MAAM,CAACC,UAAP,CAAkBV,iBAAlB,CAAoCQ,cAApC,CADM,GAEN,IAAIR,iBAAJ,CAAsBQ,cAAtB,CAHN;;AAKAF,cAAc,CAACK,kBAAf,CAAkC;EAChCC,UAAU,EAAE,CADoB;EAEhCC,OAAO,EAAE,OAFuB;EAGhCC,mBAAmB,EAAE;AAHW,CAAlC;AAMA,OAAO,MAAMC,QAAN,CAAe;EAIpBC,WAAW,CACTC,IADS,EAKT;IAAA,IAHAT,cAGA,uEAHiC,MAAM,MAAM,CAAE,CAG/C;IAAA,IAFAU,MAEA,uEAFqB,MAAM,CAAE,CAE7B;IAAA,IADAC,WACA,uEAD4B,MAAM,CAClC;;IAAA;;IAAA;;IACA,MAAMC,MAAM,GAAGb,uBAAuB,CAACC,cAAD,CAAtC;IACA,KAAKa,SAAL,GAAiB,IAAIjB,SAAJ,CAAca,IAAd,EAAoBG,MAApB,EAA4BF,MAA5B,EAAoCC,WAApC,CAAjB;IACA,KAAKG,IAAL,GAAYhB,cAAc,CAACiB,eAAf,CACV,KAAKF,SADK,EAEV,CAFU,EAGV,IAHU,EAIV,IAJU,EAKV,IALU,EAMV,EANU,EAOVG,OAAO,CAACC,KAPE,EAQV,IARU,CAAZ;EAUD;;EAEDC,MAAM,CAACC,OAAD,EAAqB;IACzB;IACArB,cAAc,CAACsB,eAAf,CAA+BD,OAA/B,EAA+C,KAAKL,IAApD,EAA0D,IAA1D,EAAgE,MAAM;MACpEnB,SAAS,CAAC,iBAAD,CAAT;IACD,CAFD;EAGD;;EAED0B,OAAO,GAAG;IACRvB,cAAc,CAACsB,eAAf,CAA+B,IAA/B,EAAqC,KAAKN,IAA1C,EAAgD,IAAhD,EAAsD,MAAM;MAC1D,KAAKD,SAAL,CAAeD,MAAf,CAAsBU,MAAtB;IACD,CAFD;EAGD;;EAEM,IAAHC,GAAG,GAAG;IACR,OAAO,KAAKV,SAAL,CAAeC,IAAtB;EACD;;AAvCmB"}
1
+ {"version":3,"names":["ReactReconciler","skHostConfig","debug","hostDebug","Container","skiaReconciler","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaRoot","constructor","Skia","redraw","getNativeId","container","root","createContainer","console","error","render","element","updateContainer","dom"],"sources":["Reconciler.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport type { Skia } from \"../skia/types\";\n\nimport { skHostConfig, debug as hostDebug } from \"./HostConfig\";\nimport { Container } from \"./Container\";\n\nconst skiaReconciler = ReactReconciler(skHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nexport class SkiaRoot {\n private root: OpaqueRoot;\n private container: Container;\n\n constructor(\n Skia: Skia,\n redraw: () => void = () => {},\n getNativeId: () => number = () => 0\n ) {\n this.container = new Container(Skia, redraw, getNativeId);\n this.root = skiaReconciler.createContainer(\n this.container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n );\n }\n\n render(element: ReactNode) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n skiaReconciler.updateContainer(element as any, this.root, null, () => {\n hostDebug(\"updateContainer\");\n });\n }\n\n get dom() {\n return this.container.root;\n }\n}\n"],"mappings":";;AAEA,OAAOA,eAAP,MAA4B,kBAA5B;AAIA,SAASC,YAAT,EAAuBC,KAAK,IAAIC,SAAhC,QAAiD,cAAjD;AACA,SAASC,SAAT,QAA0B,aAA1B;AAEA,MAAMC,cAAc,GAAGL,eAAe,CAACC,YAAD,CAAtC;AAEAI,cAAc,CAACC,kBAAf,CAAkC;EAChCC,UAAU,EAAE,CADoB;EAEhCC,OAAO,EAAE,OAFuB;EAGhCC,mBAAmB,EAAE;AAHW,CAAlC;AAMA,OAAO,MAAMC,QAAN,CAAe;EAIpBC,WAAW,CACTC,IADS,EAIT;IAAA,IAFAC,MAEA,uEAFqB,MAAM,CAAE,CAE7B;IAAA,IADAC,WACA,uEAD4B,MAAM,CAClC;;IAAA;;IAAA;;IACA,KAAKC,SAAL,GAAiB,IAAIX,SAAJ,CAAcQ,IAAd,EAAoBC,MAApB,EAA4BC,WAA5B,CAAjB;IACA,KAAKE,IAAL,GAAYX,cAAc,CAACY,eAAf,CACV,KAAKF,SADK,EAEV,CAFU,EAGV,IAHU,EAIV,IAJU,EAKV,IALU,EAMV,EANU,EAOVG,OAAO,CAACC,KAPE,EAQV,IARU,CAAZ;EAUD;;EAEDC,MAAM,CAACC,OAAD,EAAqB;IACzB;IACAhB,cAAc,CAACiB,eAAf,CAA+BD,OAA/B,EAA+C,KAAKL,IAApD,EAA0D,IAA1D,EAAgE,MAAM;MACpEb,SAAS,CAAC,iBAAD,CAAT;IACD,CAFD;EAGD;;EAEM,IAAHoB,GAAG,GAAG;IACR,OAAO,KAAKR,SAAL,CAAeC,IAAtB;EACD;;AA/BmB"}
@@ -13,5 +13,4 @@ export * from "./Group";
13
13
  export * from "./Mask";
14
14
  export * from "./Paint";
15
15
  export * from "./Blend";
16
- export * from "./Drawing";
17
16
  export * from "./paragraph";
@@ -13,6 +13,5 @@ export * from "./Group";
13
13
  export * from "./Mask";
14
14
  export * from "./Paint";
15
15
  export * from "./Blend";
16
- export * from "./Drawing";
17
16
  export * from "./paragraph";
18
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./shapes\";\nexport * from \"./backdrop\";\nexport * from \"./image\";\nexport * from \"./shaders\";\nexport * from \"./text\";\nexport * from \"./colorFilters\";\nexport * from \"./maskFilters\";\nexport * from \"./imageFilters\";\nexport * from \"./pathEffects\";\nexport * from \"../processors\";\nexport * from \"./Picture\";\n\nexport * from \"./Group\";\nexport * from \"./Mask\";\nexport * from \"./Paint\";\nexport * from \"./Blend\";\nexport * from \"./Drawing\";\n\nexport * from \"./paragraph\";\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AAEA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AAEA,cAAc,aAAd"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./shapes\";\nexport * from \"./backdrop\";\nexport * from \"./image\";\nexport * from \"./shaders\";\nexport * from \"./text\";\nexport * from \"./colorFilters\";\nexport * from \"./maskFilters\";\nexport * from \"./imageFilters\";\nexport * from \"./pathEffects\";\nexport * from \"../processors\";\nexport * from \"./Picture\";\n\nexport * from \"./Group\";\nexport * from \"./Mask\";\nexport * from \"./Paint\";\nexport * from \"./Blend\";\n\nexport * from \"./paragraph\";\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AAEA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,SAAd;AAEA,cAAc,aAAd"}
@@ -1,2 +1 @@
1
1
  export * from "./components";
2
- export * from "./DependencyManager";
@@ -1,3 +1,2 @@
1
1
  export * from "./components";
2
- export * from "./DependencyManager";
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./components\";\nexport * from \"./DependencyManager\";\n"],"mappings":"AAAA,cAAc,cAAd;AACA,cAAc,qBAAd"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./components\";\n"],"mappings":"AAAA,cAAc,cAAd"}
@@ -1,14 +1,7 @@
1
- import type { SkiaSelector, SkiaValue } from "../../../values";
2
1
  export type SharedValueType<T = number> = {
3
2
  value: T;
4
3
  };
5
- export declare const isValue: (value: unknown) => value is SkiaValue<unknown>;
6
- export declare const isSelector: <T, R>(value: unknown) => value is {
7
- selector: (v: T) => R;
8
- value: SkiaValue<T>;
9
- };
10
- export declare const isAnimated: <T>(props: AnimatedProps<T, never>) => boolean;
11
- export type AnimatedProp<T, P = any> = T | SkiaValue<T> | SkiaSelector<T, P> | SharedValueType<T>;
4
+ export type AnimatedProp<T> = T | SharedValueType<T>;
12
5
  export type AnimatedProps<T, O extends keyof T | never = never> = {
13
6
  [K in keyof T]: K extends "children" ? T[K] : K extends O ? T[K] : AnimatedProp<T[K]>;
14
7
  };
@@ -1,30 +1,2 @@
1
- export const isValue = value => {
2
- if (value === undefined || value === null) {
3
- return false;
4
- }
5
1
 
6
- try {
7
- if (typeof value === "object" && "__typename__" in value && value.__typename__ === "RNSkValue") {
8
- return true;
9
- }
10
- } catch {}
11
-
12
- return false;
13
- };
14
- export const isSelector = value => {
15
- if (value) {
16
- return typeof value === "object" && "selector" in value && "value" in value && value.selector !== undefined && value.value !== undefined;
17
- }
18
-
19
- return false;
20
- };
21
- export const isAnimated = props => {
22
- for (const value of Object.values(props)) {
23
- if (isValue(value) || isSelector(value)) {
24
- return true;
25
- }
26
- }
27
-
28
- return false;
29
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
2
  //# sourceMappingURL=Animations.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isValue","value","undefined","__typename__","isSelector","selector","isAnimated","props","Object","values"],"sources":["Animations.ts"],"sourcesContent":["import type { SkiaSelector, SkiaValue } from \"../../../values\";\n\nexport type SharedValueType<T = number> = {\n value: T;\n};\n\nexport const isValue = (value: unknown): value is SkiaValue<unknown> => {\n if (value === undefined || value === null) {\n return false;\n }\n try {\n if (\n typeof value === \"object\" &&\n \"__typename__\" in value &&\n (value as unknown as SkiaValue<unknown>).__typename__ === \"RNSkValue\"\n ) {\n return true;\n }\n } catch {}\n return false;\n};\n\nexport const isSelector = <T, R>(\n value: unknown\n): value is {\n selector: (v: T) => R;\n value: SkiaValue<T>;\n} => {\n if (value) {\n return (\n typeof value === \"object\" &&\n \"selector\" in value &&\n \"value\" in value &&\n (value as Record<string, unknown>).selector !== undefined &&\n (value as Record<string, unknown>).value !== undefined\n );\n }\n return false;\n};\n\nexport const isAnimated = <T>(props: AnimatedProps<T>) => {\n for (const value of Object.values(props)) {\n if (isValue(value) || isSelector(value)) {\n return true;\n }\n }\n return false;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnimatedProp<T, P = any> =\n | T\n | SkiaValue<T>\n | SkiaSelector<T, P>\n | 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":"AAMA,OAAO,MAAMA,OAAO,GAAIC,KAAD,IAAiD;EACtE,IAAIA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAArC,EAA2C;IACzC,OAAO,KAAP;EACD;;EACD,IAAI;IACF,IACE,OAAOA,KAAP,KAAiB,QAAjB,IACA,kBAAkBA,KADlB,IAECA,KAAD,CAAyCE,YAAzC,KAA0D,WAH5D,EAIE;MACA,OAAO,IAAP;IACD;EACF,CARD,CAQE,MAAM,CAAE;;EACV,OAAO,KAAP;AACD,CAdM;AAgBP,OAAO,MAAMC,UAAU,GACrBH,KADwB,IAKrB;EACH,IAAIA,KAAJ,EAAW;IACT,OACE,OAAOA,KAAP,KAAiB,QAAjB,IACA,cAAcA,KADd,IAEA,WAAWA,KAFX,IAGCA,KAAD,CAAmCI,QAAnC,KAAgDH,SAHhD,IAICD,KAAD,CAAmCA,KAAnC,KAA6CC,SAL/C;EAOD;;EACD,OAAO,KAAP;AACD,CAhBM;AAkBP,OAAO,MAAMI,UAAU,GAAOC,KAAJ,IAAgC;EACxD,KAAK,MAAMN,KAAX,IAAoBO,MAAM,CAACC,MAAP,CAAcF,KAAd,CAApB,EAA0C;IACxC,IAAIP,OAAO,CAACC,KAAD,CAAP,IAAkBG,UAAU,CAACH,KAAD,CAAhC,EAAyC;MACvC,OAAO,IAAP;IACD;EACF;;EACD,OAAO,KAAP;AACD,CAPM,C,CASP"}
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":""}
@@ -29,6 +29,29 @@ export interface SkParagraph extends SkJSIInstance<"Paragraph"> {
29
29
  * method to have been called first.
30
30
  */
31
31
  getMaxWidth(): number;
32
+ /**
33
+ * Returns the minimum intrinsic width of the paragraph.
34
+ * The minimum intrinsic width is the width beyond which increasing the width of the paragraph
35
+ * does not decrease the height. This is effectively the width at which the paragraph
36
+ * can no longer wrap lines and is forced to overflow.
37
+ * This method requires the layout method to have been called first.
38
+ * @returns {number} The minimum intrinsic width of the paragraph.
39
+ */
40
+ getMinIntrinsicWidth(): number;
41
+ /**
42
+ * Returns the maximum intrinsic width of the paragraph.
43
+ * The maximum intrinsic width is the width at which the paragraph can layout its content without line breaks,
44
+ * meaning it's the width of the widest line or the widest word if the widest line is shorter than that.
45
+ * This width represents the ideal width for the paragraph to display all content in a single line without overflow.
46
+ * This method requires the layout method to have been called first.
47
+ * @returns {number} The maximum intrinsic width of the paragraph.
48
+ */
49
+ getMaxIntrinsicWidth(): number;
50
+ /**
51
+ * Returns the width of the longest line in the paragraph.
52
+ * This method requires the layout method to have been called first.
53
+ */
54
+ getLongestLine(): number;
32
55
  /**
33
56
  * Returns the index of the glyph at the given position. This method requires
34
57
  * the layout method to have been called first.
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Paragraph.ts"],"sourcesContent":["import type { SkCanvas } from \"../Canvas\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkRect } from \"../Rect\";\n\nimport type { SkTextDirection } from \"./ParagraphStyle\";\n\nexport interface SkRectWithDirection {\n rect: SkRect;\n direction: SkTextDirection;\n}\n\nexport interface SkParagraph extends SkJSIInstance<\"Paragraph\"> {\n /**\n * Calculates the position of the the glyphs in the paragraph\n * @param width Max width of the paragraph\n */\n layout(width: number): void;\n /**\n * Paints the paragraph to the provded canvas\n * @param canvas Canvas to paint into\n * @param x X coordinate to paint at\n * @param y Y coordinate to paint at\n */\n paint(canvas: SkCanvas, x: number, y: number): void;\n /**\n * Returns the height of the paragraph. This method requires the layout\n * method to have been called first.\n */\n getHeight(): number;\n /**\n * Returns the max width of the paragraph. This method requires the layout\n * method to have been called first.\n */\n getMaxWidth(): number;\n /**\n * Returns the index of the glyph at the given position. This method requires\n * the layout method to have been called first.\n * @param x X coordinate of the position\n * @param y Y coordinate of the position\n */\n getGlyphPositionAtCoordinate(x: number, y: number): number;\n /**\n * Returns the bounding boxes of the glyphs in the given range. This method\n * requires the layout method to have been called first.\n * @param start Start index of the range\n * @param end End index of the range\n */\n getRectsForRange(start: number, end: number): SkRect[];\n /**\n * Returns the bounding boxes for all lines in the paragraph. This method\n * requires the layout method to have been called first.\n */\n getLineMetrics(): Array<SkRect>;\n /**\n * Returns a list of rects with direction info for the placeholders added\n * to the paragraph.\n */\n getRectsForPlaceholders(): SkRectWithDirection[];\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["Paragraph.ts"],"sourcesContent":["import type { SkCanvas } from \"../Canvas\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkRect } from \"../Rect\";\n\nimport type { SkTextDirection } from \"./ParagraphStyle\";\n\nexport interface SkRectWithDirection {\n rect: SkRect;\n direction: SkTextDirection;\n}\n\nexport interface SkParagraph extends SkJSIInstance<\"Paragraph\"> {\n /**\n * Calculates the position of the the glyphs in the paragraph\n * @param width Max width of the paragraph\n */\n layout(width: number): void;\n /**\n * Paints the paragraph to the provded canvas\n * @param canvas Canvas to paint into\n * @param x X coordinate to paint at\n * @param y Y coordinate to paint at\n */\n paint(canvas: SkCanvas, x: number, y: number): void;\n /**\n * Returns the height of the paragraph. This method requires the layout\n * method to have been called first.\n */\n getHeight(): number;\n /**\n * Returns the max width of the paragraph. This method requires the layout\n * method to have been called first.\n */\n getMaxWidth(): number;\n /**\n * Returns the minimum intrinsic width of the paragraph.\n * The minimum intrinsic width is the width beyond which increasing the width of the paragraph\n * does not decrease the height. This is effectively the width at which the paragraph\n * can no longer wrap lines and is forced to overflow.\n * This method requires the layout method to have been called first.\n * @returns {number} The minimum intrinsic width of the paragraph.\n */\n getMinIntrinsicWidth(): number;\n /**\n * Returns the maximum intrinsic width of the paragraph.\n * The maximum intrinsic width is the width at which the paragraph can layout its content without line breaks,\n * meaning it's the width of the widest line or the widest word if the widest line is shorter than that.\n * This width represents the ideal width for the paragraph to display all content in a single line without overflow.\n * This method requires the layout method to have been called first.\n * @returns {number} The maximum intrinsic width of the paragraph.\n */\n getMaxIntrinsicWidth(): number;\n\n /**\n * Returns the width of the longest line in the paragraph.\n * This method requires the layout method to have been called first.\n */\n getLongestLine(): number;\n\n /**\n * Returns the index of the glyph at the given position. This method requires\n * the layout method to have been called first.\n * @param x X coordinate of the position\n * @param y Y coordinate of the position\n */\n getGlyphPositionAtCoordinate(x: number, y: number): number;\n /**\n * Returns the bounding boxes of the glyphs in the given range. This method\n * requires the layout method to have been called first.\n * @param start Start index of the range\n * @param end End index of the range\n */\n getRectsForRange(start: number, end: number): SkRect[];\n /**\n * Returns the bounding boxes for all lines in the paragraph. This method\n * requires the layout method to have been called first.\n */\n getLineMetrics(): Array<SkRect>;\n /**\n * Returns a list of rects with direction info for the placeholders added\n * to the paragraph.\n */\n getRectsForPlaceholders(): SkRectWithDirection[];\n}\n"],"mappings":""}
@@ -4,6 +4,9 @@ import { HostObject } from "./Host";
4
4
  import type { JsiSkCanvas } from "./JsiSkCanvas";
5
5
  export declare class JsiSkParagraph extends HostObject<Paragraph, "Paragraph"> implements SkParagraph {
6
6
  constructor(CanvasKit: CanvasKit, ref: Paragraph);
7
+ getMinIntrinsicWidth(): number;
8
+ getMaxIntrinsicWidth(): number;
9
+ getLongestLine(): number;
7
10
  layout(width: number): void;
8
11
  paint(canvas: JsiSkCanvas, x: number, y: number): void;
9
12
  getHeight(): number;
@@ -4,6 +4,18 @@ export class JsiSkParagraph extends HostObject {
4
4
  super(CanvasKit, ref, "Paragraph");
5
5
  }
6
6
 
7
+ getMinIntrinsicWidth() {
8
+ return this.ref.getMinIntrinsicWidth();
9
+ }
10
+
11
+ getMaxIntrinsicWidth() {
12
+ return this.ref.getMaxIntrinsicWidth();
13
+ }
14
+
15
+ getLongestLine() {
16
+ return this.ref.getLongestLine();
17
+ }
18
+
7
19
  layout(width) {
8
20
  this.ref.layout(width);
9
21
  }
@@ -1 +1 @@
1
- {"version":3,"names":["HostObject","JsiSkParagraph","constructor","CanvasKit","ref","layout","width","paint","canvas","x","y","drawParagraph","getHeight","getMaxWidth","getGlyphPositionAtCoordinate","pos","getRectsForPlaceholders","map","rect","dir","at","height","direction","value","getRectsForRange","start","end","getLineMetrics","r","index","left","dispose","delete"],"sources":["JsiSkParagraph.ts"],"sourcesContent":["import type { CanvasKit, Paragraph } from \"canvaskit-wasm\";\n\nimport type { SkRect, SkRectWithDirection, SkParagraph } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport type { JsiSkCanvas } from \"./JsiSkCanvas\";\n\nexport class JsiSkParagraph\n extends HostObject<Paragraph, \"Paragraph\">\n implements SkParagraph\n{\n constructor(CanvasKit: CanvasKit, ref: Paragraph) {\n super(CanvasKit, ref, \"Paragraph\");\n }\n\n layout(width: number): void {\n this.ref.layout(width);\n }\n paint(canvas: JsiSkCanvas, x: number, y: number): void {\n canvas.ref.drawParagraph(this.ref, x, y);\n }\n getHeight(): number {\n return this.ref.getHeight();\n }\n getMaxWidth(): number {\n return this.ref.getMaxWidth();\n }\n getGlyphPositionAtCoordinate(x: number, y: number): number {\n return this.ref.getGlyphPositionAtCoordinate(x, y).pos;\n }\n getRectsForPlaceholders(): SkRectWithDirection[] {\n return this.ref.getRectsForPlaceholders().map(({ rect, dir }) => ({\n rect: {\n x: rect.at(0)!,\n y: rect.at(1)!,\n width: rect.at(2)!,\n height: rect.at(3)!,\n },\n direction: dir.value,\n }));\n }\n getRectsForRange(start: number, end: number): SkRect[] {\n return this.ref\n .getRectsForRange(\n start,\n end,\n { value: 0 } /** kTight */,\n { value: 0 } /** kTight */\n )\n .map(({ rect }) => ({\n x: rect[0],\n y: rect[1],\n width: rect[2],\n height: rect[3],\n }));\n }\n getLineMetrics(): SkRect[] {\n return this.ref.getLineMetrics().map((r, index) => ({\n x: r.left,\n y: index * r.height,\n width: r.width,\n height: r.height,\n }));\n }\n\n dispose() {\n this.ref.delete();\n }\n}\n"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AAGA,OAAO,MAAMC,cAAN,SACGD,UADH,CAGP;EACEE,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAuC;IAChD,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,WAAtB;EACD;;EAEDC,MAAM,CAACC,KAAD,EAAsB;IAC1B,KAAKF,GAAL,CAASC,MAAT,CAAgBC,KAAhB;EACD;;EACDC,KAAK,CAACC,MAAD,EAAsBC,CAAtB,EAAiCC,CAAjC,EAAkD;IACrDF,MAAM,CAACJ,GAAP,CAAWO,aAAX,CAAyB,KAAKP,GAA9B,EAAmCK,CAAnC,EAAsCC,CAAtC;EACD;;EACDE,SAAS,GAAW;IAClB,OAAO,KAAKR,GAAL,CAASQ,SAAT,EAAP;EACD;;EACDC,WAAW,GAAW;IACpB,OAAO,KAAKT,GAAL,CAASS,WAAT,EAAP;EACD;;EACDC,4BAA4B,CAACL,CAAD,EAAYC,CAAZ,EAA+B;IACzD,OAAO,KAAKN,GAAL,CAASU,4BAAT,CAAsCL,CAAtC,EAAyCC,CAAzC,EAA4CK,GAAnD;EACD;;EACDC,uBAAuB,GAA0B;IAC/C,OAAO,KAAKZ,GAAL,CAASY,uBAAT,GAAmCC,GAAnC,CAAuC;MAAA,IAAC;QAAEC,IAAF;QAAQC;MAAR,CAAD;MAAA,OAAoB;QAChED,IAAI,EAAE;UACJT,CAAC,EAAES,IAAI,CAACE,EAAL,CAAQ,CAAR,CADC;UAEJV,CAAC,EAAEQ,IAAI,CAACE,EAAL,CAAQ,CAAR,CAFC;UAGJd,KAAK,EAAEY,IAAI,CAACE,EAAL,CAAQ,CAAR,CAHH;UAIJC,MAAM,EAAEH,IAAI,CAACE,EAAL,CAAQ,CAAR;QAJJ,CAD0D;QAOhEE,SAAS,EAAEH,GAAG,CAACI;MAPiD,CAApB;IAAA,CAAvC,CAAP;EASD;;EACDC,gBAAgB,CAACC,KAAD,EAAgBC,GAAhB,EAAuC;IACrD,OAAO,KAAKtB,GAAL,CACJoB,gBADI,CAEHC,KAFG,EAGHC,GAHG,EAIH;MAAEH,KAAK,EAAE;IAAT;IAAa;IAJV,EAKH;MAAEA,KAAK,EAAE;IAAT;IAAa;IALV,EAOJN,GAPI,CAOA;MAAA,IAAC;QAAEC;MAAF,CAAD;MAAA,OAAe;QAClBT,CAAC,EAAES,IAAI,CAAC,CAAD,CADW;QAElBR,CAAC,EAAEQ,IAAI,CAAC,CAAD,CAFW;QAGlBZ,KAAK,EAAEY,IAAI,CAAC,CAAD,CAHO;QAIlBG,MAAM,EAAEH,IAAI,CAAC,CAAD;MAJM,CAAf;IAAA,CAPA,CAAP;EAaD;;EACDS,cAAc,GAAa;IACzB,OAAO,KAAKvB,GAAL,CAASuB,cAAT,GAA0BV,GAA1B,CAA8B,CAACW,CAAD,EAAIC,KAAJ,MAAe;MAClDpB,CAAC,EAAEmB,CAAC,CAACE,IAD6C;MAElDpB,CAAC,EAAEmB,KAAK,GAAGD,CAAC,CAACP,MAFqC;MAGlDf,KAAK,EAAEsB,CAAC,CAACtB,KAHyC;MAIlDe,MAAM,EAAEO,CAAC,CAACP;IAJwC,CAAf,CAA9B,CAAP;EAMD;;EAEDU,OAAO,GAAG;IACR,KAAK3B,GAAL,CAAS4B,MAAT;EACD;;AAzDH"}
1
+ {"version":3,"names":["HostObject","JsiSkParagraph","constructor","CanvasKit","ref","getMinIntrinsicWidth","getMaxIntrinsicWidth","getLongestLine","layout","width","paint","canvas","x","y","drawParagraph","getHeight","getMaxWidth","getGlyphPositionAtCoordinate","pos","getRectsForPlaceholders","map","rect","dir","at","height","direction","value","getRectsForRange","start","end","getLineMetrics","r","index","left","dispose","delete"],"sources":["JsiSkParagraph.ts"],"sourcesContent":["import type { CanvasKit, Paragraph } from \"canvaskit-wasm\";\n\nimport type { SkRect, SkRectWithDirection, SkParagraph } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport type { JsiSkCanvas } from \"./JsiSkCanvas\";\n\nexport class JsiSkParagraph\n extends HostObject<Paragraph, \"Paragraph\">\n implements SkParagraph\n{\n constructor(CanvasKit: CanvasKit, ref: Paragraph) {\n super(CanvasKit, ref, \"Paragraph\");\n }\n getMinIntrinsicWidth(): number {\n return this.ref.getMinIntrinsicWidth();\n }\n\n getMaxIntrinsicWidth(): number {\n return this.ref.getMaxIntrinsicWidth();\n }\n\n getLongestLine(): number {\n return this.ref.getLongestLine();\n }\n\n layout(width: number): void {\n this.ref.layout(width);\n }\n paint(canvas: JsiSkCanvas, x: number, y: number): void {\n canvas.ref.drawParagraph(this.ref, x, y);\n }\n getHeight(): number {\n return this.ref.getHeight();\n }\n getMaxWidth(): number {\n return this.ref.getMaxWidth();\n }\n getGlyphPositionAtCoordinate(x: number, y: number): number {\n return this.ref.getGlyphPositionAtCoordinate(x, y).pos;\n }\n getRectsForPlaceholders(): SkRectWithDirection[] {\n return this.ref.getRectsForPlaceholders().map(({ rect, dir }) => ({\n rect: {\n x: rect.at(0)!,\n y: rect.at(1)!,\n width: rect.at(2)!,\n height: rect.at(3)!,\n },\n direction: dir.value,\n }));\n }\n getRectsForRange(start: number, end: number): SkRect[] {\n return this.ref\n .getRectsForRange(\n start,\n end,\n { value: 0 } /** kTight */,\n { value: 0 } /** kTight */\n )\n .map(({ rect }) => ({\n x: rect[0],\n y: rect[1],\n width: rect[2],\n height: rect[3],\n }));\n }\n getLineMetrics(): SkRect[] {\n return this.ref.getLineMetrics().map((r, index) => ({\n x: r.left,\n y: index * r.height,\n width: r.width,\n height: r.height,\n }));\n }\n\n dispose() {\n this.ref.delete();\n }\n}\n"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AAGA,OAAO,MAAMC,cAAN,SACGD,UADH,CAGP;EACEE,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAuC;IAChD,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,WAAtB;EACD;;EACDC,oBAAoB,GAAW;IAC7B,OAAO,KAAKD,GAAL,CAASC,oBAAT,EAAP;EACD;;EAEDC,oBAAoB,GAAW;IAC7B,OAAO,KAAKF,GAAL,CAASE,oBAAT,EAAP;EACD;;EAEDC,cAAc,GAAW;IACvB,OAAO,KAAKH,GAAL,CAASG,cAAT,EAAP;EACD;;EAEDC,MAAM,CAACC,KAAD,EAAsB;IAC1B,KAAKL,GAAL,CAASI,MAAT,CAAgBC,KAAhB;EACD;;EACDC,KAAK,CAACC,MAAD,EAAsBC,CAAtB,EAAiCC,CAAjC,EAAkD;IACrDF,MAAM,CAACP,GAAP,CAAWU,aAAX,CAAyB,KAAKV,GAA9B,EAAmCQ,CAAnC,EAAsCC,CAAtC;EACD;;EACDE,SAAS,GAAW;IAClB,OAAO,KAAKX,GAAL,CAASW,SAAT,EAAP;EACD;;EACDC,WAAW,GAAW;IACpB,OAAO,KAAKZ,GAAL,CAASY,WAAT,EAAP;EACD;;EACDC,4BAA4B,CAACL,CAAD,EAAYC,CAAZ,EAA+B;IACzD,OAAO,KAAKT,GAAL,CAASa,4BAAT,CAAsCL,CAAtC,EAAyCC,CAAzC,EAA4CK,GAAnD;EACD;;EACDC,uBAAuB,GAA0B;IAC/C,OAAO,KAAKf,GAAL,CAASe,uBAAT,GAAmCC,GAAnC,CAAuC;MAAA,IAAC;QAAEC,IAAF;QAAQC;MAAR,CAAD;MAAA,OAAoB;QAChED,IAAI,EAAE;UACJT,CAAC,EAAES,IAAI,CAACE,EAAL,CAAQ,CAAR,CADC;UAEJV,CAAC,EAAEQ,IAAI,CAACE,EAAL,CAAQ,CAAR,CAFC;UAGJd,KAAK,EAAEY,IAAI,CAACE,EAAL,CAAQ,CAAR,CAHH;UAIJC,MAAM,EAAEH,IAAI,CAACE,EAAL,CAAQ,CAAR;QAJJ,CAD0D;QAOhEE,SAAS,EAAEH,GAAG,CAACI;MAPiD,CAApB;IAAA,CAAvC,CAAP;EASD;;EACDC,gBAAgB,CAACC,KAAD,EAAgBC,GAAhB,EAAuC;IACrD,OAAO,KAAKzB,GAAL,CACJuB,gBADI,CAEHC,KAFG,EAGHC,GAHG,EAIH;MAAEH,KAAK,EAAE;IAAT;IAAa;IAJV,EAKH;MAAEA,KAAK,EAAE;IAAT;IAAa;IALV,EAOJN,GAPI,CAOA;MAAA,IAAC;QAAEC;MAAF,CAAD;MAAA,OAAe;QAClBT,CAAC,EAAES,IAAI,CAAC,CAAD,CADW;QAElBR,CAAC,EAAEQ,IAAI,CAAC,CAAD,CAFW;QAGlBZ,KAAK,EAAEY,IAAI,CAAC,CAAD,CAHO;QAIlBG,MAAM,EAAEH,IAAI,CAAC,CAAD;MAJM,CAAf;IAAA,CAPA,CAAP;EAaD;;EACDS,cAAc,GAAa;IACzB,OAAO,KAAK1B,GAAL,CAAS0B,cAAT,GAA0BV,GAA1B,CAA8B,CAACW,CAAD,EAAIC,KAAJ,MAAe;MAClDpB,CAAC,EAAEmB,CAAC,CAACE,IAD6C;MAElDpB,CAAC,EAAEmB,KAAK,GAAGD,CAAC,CAACP,MAFqC;MAGlDf,KAAK,EAAEsB,CAAC,CAACtB,KAHyC;MAIlDe,MAAM,EAAEO,CAAC,CAACP;IAJwC,CAAf,CAA9B,CAAP;EAMD;;EAEDU,OAAO,GAAG;IACR,KAAK9B,GAAL,CAAS+B,MAAT;EACD;;AApEH"}
@@ -1,7 +1,7 @@
1
1
  import { Host } from "./Host";
2
2
  import { JsiSkParagraphBuilder } from "./JsiSkParagraphBuilder";
3
3
  import { JsiSkParagraphStyle } from "./JsiSkParagraphStyle";
4
- import { JsiSkTypeface } from "./JsiSkTypeface";
4
+ import { JsiSkTypefaceFontProvider } from "./JsiSkTypefaceFontProvider";
5
5
  export class JsiSkParagraphBuilderFactory extends Host {
6
6
  constructor(CanvasKit) {
7
7
  super(CanvasKit);
@@ -14,7 +14,10 @@ export class JsiSkParagraphBuilderFactory extends Host {
14
14
  throw new Error("SkTypefaceFontProvider is required on React Native Web.");
15
15
  }
16
16
 
17
- return new JsiSkParagraphBuilder(this.CanvasKit, this.CanvasKit.ParagraphBuilder.MakeFromFontProvider(style, JsiSkTypeface.fromValue(typefaceProvider)));
17
+ const fontCollection = this.CanvasKit.FontCollection.Make();
18
+ fontCollection.setDefaultFontManager(JsiSkTypefaceFontProvider.fromValue(typefaceProvider));
19
+ fontCollection.enableFontFallback();
20
+ return new JsiSkParagraphBuilder(this.CanvasKit, this.CanvasKit.ParagraphBuilder.MakeFromFontCollection(style, fontCollection));
18
21
  }
19
22
 
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Host","JsiSkParagraphBuilder","JsiSkParagraphStyle","JsiSkTypeface","JsiSkParagraphBuilderFactory","constructor","CanvasKit","Make","paragraphStyle","typefaceProvider","style","ParagraphStyle","toParagraphStyle","undefined","Error","ParagraphBuilder","MakeFromFontProvider","fromValue"],"sources":["JsiSkParagraphBuilderFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n ParagraphBuilderFactory,\n SkParagraphStyle,\n SkTypefaceFontProvider,\n} from \"../types\";\n\nimport { Host } from \"./Host\";\nimport { JsiSkParagraphBuilder } from \"./JsiSkParagraphBuilder\";\nimport { JsiSkParagraphStyle } from \"./JsiSkParagraphStyle\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\n\nexport class JsiSkParagraphBuilderFactory\n extends Host\n implements ParagraphBuilderFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n Make(\n paragraphStyle: SkParagraphStyle,\n typefaceProvider?: SkTypefaceFontProvider\n ) {\n const style = new this.CanvasKit.ParagraphStyle(\n JsiSkParagraphStyle.toParagraphStyle(this.CanvasKit, paragraphStyle ?? {})\n );\n if (typefaceProvider === undefined) {\n throw new Error(\n \"SkTypefaceFontProvider is required on React Native Web.\"\n );\n }\n return new JsiSkParagraphBuilder(\n this.CanvasKit,\n this.CanvasKit.ParagraphBuilder.MakeFromFontProvider(\n style,\n JsiSkTypeface.fromValue(typefaceProvider)\n )\n );\n }\n}\n"],"mappings":"AAQA,SAASA,IAAT,QAAqB,QAArB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAO,MAAMC,4BAAN,SACGJ,IADH,CAGP;EACEK,WAAW,CAACC,SAAD,EAAuB;IAChC,MAAMA,SAAN;EACD;;EAEDC,IAAI,CACFC,cADE,EAEFC,gBAFE,EAGF;IACA,MAAMC,KAAK,GAAG,IAAI,KAAKJ,SAAL,CAAeK,cAAnB,CACZT,mBAAmB,CAACU,gBAApB,CAAqC,KAAKN,SAA1C,EAAqDE,cAArD,aAAqDA,cAArD,cAAqDA,cAArD,GAAuE,EAAvE,CADY,CAAd;;IAGA,IAAIC,gBAAgB,KAAKI,SAAzB,EAAoC;MAClC,MAAM,IAAIC,KAAJ,CACJ,yDADI,CAAN;IAGD;;IACD,OAAO,IAAIb,qBAAJ,CACL,KAAKK,SADA,EAEL,KAAKA,SAAL,CAAeS,gBAAf,CAAgCC,oBAAhC,CACEN,KADF,EAEEP,aAAa,CAACc,SAAd,CAAwBR,gBAAxB,CAFF,CAFK,CAAP;EAOD;;AAxBH"}
1
+ {"version":3,"names":["Host","JsiSkParagraphBuilder","JsiSkParagraphStyle","JsiSkTypefaceFontProvider","JsiSkParagraphBuilderFactory","constructor","CanvasKit","Make","paragraphStyle","typefaceProvider","style","ParagraphStyle","toParagraphStyle","undefined","Error","fontCollection","FontCollection","setDefaultFontManager","fromValue","enableFontFallback","ParagraphBuilder","MakeFromFontCollection"],"sources":["JsiSkParagraphBuilderFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n ParagraphBuilderFactory,\n SkParagraphStyle,\n SkTypefaceFontProvider,\n} from \"../types\";\n\nimport { Host } from \"./Host\";\nimport { JsiSkParagraphBuilder } from \"./JsiSkParagraphBuilder\";\nimport { JsiSkParagraphStyle } from \"./JsiSkParagraphStyle\";\nimport { JsiSkTypefaceFontProvider } from \"./JsiSkTypefaceFontProvider\";\n\nexport class JsiSkParagraphBuilderFactory\n extends Host\n implements ParagraphBuilderFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n Make(\n paragraphStyle: SkParagraphStyle,\n typefaceProvider?: SkTypefaceFontProvider\n ) {\n const style = new this.CanvasKit.ParagraphStyle(\n JsiSkParagraphStyle.toParagraphStyle(this.CanvasKit, paragraphStyle ?? {})\n );\n if (typefaceProvider === undefined) {\n throw new Error(\n \"SkTypefaceFontProvider is required on React Native Web.\"\n );\n }\n const fontCollection = this.CanvasKit.FontCollection.Make();\n fontCollection.setDefaultFontManager(\n JsiSkTypefaceFontProvider.fromValue(typefaceProvider)\n );\n fontCollection.enableFontFallback();\n\n return new JsiSkParagraphBuilder(\n this.CanvasKit,\n this.CanvasKit.ParagraphBuilder.MakeFromFontCollection(\n style,\n fontCollection\n )\n );\n }\n}\n"],"mappings":"AAQA,SAASA,IAAT,QAAqB,QAArB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,SAASC,yBAAT,QAA0C,6BAA1C;AAEA,OAAO,MAAMC,4BAAN,SACGJ,IADH,CAGP;EACEK,WAAW,CAACC,SAAD,EAAuB;IAChC,MAAMA,SAAN;EACD;;EAEDC,IAAI,CACFC,cADE,EAEFC,gBAFE,EAGF;IACA,MAAMC,KAAK,GAAG,IAAI,KAAKJ,SAAL,CAAeK,cAAnB,CACZT,mBAAmB,CAACU,gBAApB,CAAqC,KAAKN,SAA1C,EAAqDE,cAArD,aAAqDA,cAArD,cAAqDA,cAArD,GAAuE,EAAvE,CADY,CAAd;;IAGA,IAAIC,gBAAgB,KAAKI,SAAzB,EAAoC;MAClC,MAAM,IAAIC,KAAJ,CACJ,yDADI,CAAN;IAGD;;IACD,MAAMC,cAAc,GAAG,KAAKT,SAAL,CAAeU,cAAf,CAA8BT,IAA9B,EAAvB;IACAQ,cAAc,CAACE,qBAAf,CACEd,yBAAyB,CAACe,SAA1B,CAAoCT,gBAApC,CADF;IAGAM,cAAc,CAACI,kBAAf;IAEA,OAAO,IAAIlB,qBAAJ,CACL,KAAKK,SADA,EAEL,KAAKA,SAAL,CAAec,gBAAf,CAAgCC,sBAAhC,CACEX,KADF,EAEEK,cAFF,CAFK,CAAP;EAOD;;AA9BH"}