@shopify/react-native-skia 0.1.180 → 0.1.182

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 (111) hide show
  1. package/android/build.gradle +6 -1
  2. package/cpp/api/JsiSkData.h +7 -0
  3. package/cpp/api/JsiSkImage.h +7 -1
  4. package/cpp/api/JsiSkSVG.h +7 -0
  5. package/cpp/api/JsiSkTypeface.h +7 -0
  6. package/cpp/jsi/RuntimeAwareCache.cpp +0 -2
  7. package/cpp/rnskia/RNSkDomView.cpp +2 -2
  8. package/cpp/rnskia/RNSkPlatformContext.h +2 -2
  9. package/cpp/rnskia/dom/base/DerivedNodeProp.h +1 -1
  10. package/cpp/rnskia/dom/base/JsiDependencyManager.h +10 -6
  11. package/cpp/rnskia/dom/base/JsiDomNode.h +133 -78
  12. package/cpp/rnskia/dom/base/JsiDomRenderNode.h +17 -5
  13. package/cpp/rnskia/dom/base/NodeProp.h +5 -5
  14. package/cpp/rnskia/dom/base/NodePropsContainer.h +8 -2
  15. package/cpp/rnskia/dom/props/ClipProp.h +13 -20
  16. package/cpp/rnskia/dom/props/PathProp.h +16 -14
  17. package/cpp/rnskia/dom/props/PointProp.h +1 -1
  18. package/cpp/rnskia/dom/props/RRectProp.h +39 -61
  19. package/cpp/rnskia/dom/props/RectProp.h +27 -25
  20. package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +0 -2
  21. package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -54
  22. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  23. package/lib/commonjs/renderer/Canvas.js +30 -9
  24. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  25. package/lib/commonjs/renderer/HostComponents.d.ts +1 -0
  26. package/lib/commonjs/renderer/HostComponents.js +6 -1
  27. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  28. package/lib/commonjs/renderer/Reconciler.js +3 -1
  29. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  30. package/lib/commonjs/skia/core/Data.d.ts +2 -2
  31. package/lib/commonjs/skia/core/Data.js +5 -0
  32. package/lib/commonjs/skia/core/Data.js.map +1 -1
  33. package/lib/commonjs/skia/types/Data/Data.d.ts +2 -2
  34. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  35. package/lib/commonjs/skia/types/Image/Image.d.ts +2 -2
  36. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  37. package/lib/commonjs/skia/types/JsiInstance.d.ts +3 -0
  38. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  39. package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -2
  40. package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
  41. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -2
  42. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  43. package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -0
  44. package/lib/commonjs/skia/web/JsiSkData.js +3 -0
  45. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  46. package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -0
  47. package/lib/commonjs/skia/web/JsiSkImage.js +4 -0
  48. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  49. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -0
  50. package/lib/commonjs/skia/web/JsiSkTypeface.js +4 -0
  51. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  52. package/lib/commonjs/views/SkiaBaseWebView.js +5 -1
  53. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  54. package/lib/module/dom/nodes/JsiSkDOM.js +55 -54
  55. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  56. package/lib/module/renderer/Canvas.js +29 -10
  57. package/lib/module/renderer/Canvas.js.map +1 -1
  58. package/lib/module/renderer/HostComponents.d.ts +1 -0
  59. package/lib/module/renderer/HostComponents.js +3 -0
  60. package/lib/module/renderer/HostComponents.js.map +1 -1
  61. package/lib/module/renderer/Reconciler.js +2 -1
  62. package/lib/module/renderer/Reconciler.js.map +1 -1
  63. package/lib/module/skia/core/Data.d.ts +2 -2
  64. package/lib/module/skia/core/Data.js +5 -0
  65. package/lib/module/skia/core/Data.js.map +1 -1
  66. package/lib/module/skia/types/Data/Data.d.ts +2 -2
  67. package/lib/module/skia/types/Data/Data.js.map +1 -1
  68. package/lib/module/skia/types/Image/Image.d.ts +2 -2
  69. package/lib/module/skia/types/Image/Image.js.map +1 -1
  70. package/lib/module/skia/types/JsiInstance.d.ts +3 -0
  71. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  72. package/lib/module/skia/types/SVG/SVG.d.ts +2 -2
  73. package/lib/module/skia/types/SVG/SVG.js.map +1 -1
  74. package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -2
  75. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  76. package/lib/module/skia/web/JsiSkData.d.ts +1 -0
  77. package/lib/module/skia/web/JsiSkData.js +3 -0
  78. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  79. package/lib/module/skia/web/JsiSkImage.d.ts +1 -0
  80. package/lib/module/skia/web/JsiSkImage.js +4 -0
  81. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  82. package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -0
  83. package/lib/module/skia/web/JsiSkTypeface.js +4 -0
  84. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  85. package/lib/module/views/SkiaBaseWebView.js +5 -1
  86. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  87. package/lib/typescript/src/renderer/HostComponents.d.ts +1 -0
  88. package/lib/typescript/src/skia/core/Data.d.ts +2 -2
  89. package/lib/typescript/src/skia/types/Data/Data.d.ts +2 -2
  90. package/lib/typescript/src/skia/types/Image/Image.d.ts +2 -2
  91. package/lib/typescript/src/skia/types/JsiInstance.d.ts +3 -0
  92. package/lib/typescript/src/skia/types/SVG/SVG.d.ts +2 -2
  93. package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +2 -2
  94. package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -0
  95. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -0
  96. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -0
  97. package/package.json +1 -1
  98. package/src/dom/nodes/JsiSkDOM.ts +55 -54
  99. package/src/renderer/Canvas.tsx +34 -14
  100. package/src/renderer/HostComponents.ts +4 -0
  101. package/src/renderer/Reconciler.tsx +2 -1
  102. package/src/skia/core/Data.ts +14 -6
  103. package/src/skia/types/Data/Data.ts +2 -2
  104. package/src/skia/types/Image/Image.ts +2 -2
  105. package/src/skia/types/JsiInstance.ts +4 -0
  106. package/src/skia/types/SVG/SVG.ts +2 -2
  107. package/src/skia/types/Typeface/Typeface.ts +2 -2
  108. package/src/skia/web/JsiSkData.ts +4 -0
  109. package/src/skia/web/JsiSkImage.ts +4 -0
  110. package/src/skia/web/JsiSkTypeface.ts +4 -0
  111. package/src/views/SkiaBaseWebView.tsx +5 -0
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkDOM","constructor","ctx","Layer","props","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","CustomDrawing","CustomDrawingNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LayerNode\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return global.SkiaDomApi && global.SkiaDomApi.GroupNode\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PaintNode\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return global.SkiaDomApi && global.SkiaDomApi.FillNode\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ImageNode\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return global.SkiaDomApi && global.SkiaDomApi.CircleNode\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PathNode\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return global.SkiaDomApi && global.SkiaDomApi.CustomDrawingNode\n ? global.SkiaDomApi.CustomDrawingNode(props ?? {})\n : new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LineNode\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return global.SkiaDomApi && global.SkiaDomApi.OvalNode\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PatchNode\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PointsNode\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RectNode\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RRectNode\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return global.SkiaDomApi && global.SkiaDomApi.VerticesNode\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TextNode\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TextPathNode\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TextBlobNode\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return global.SkiaDomApi && global.SkiaDomApi.GlyphsNode\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DiffRectNode\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PictureNode\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ImageSVGNode\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlurMaskFilterNode\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlendImageFilterNode\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DropShadowImageFilterNode\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DisplacementMapImageFilterNode\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlurImageFilterNode\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.OffsetImageFilterNode\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.MorphologyImageFilterNode\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RuntimeShaderImageFilterNode\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.MatrixColorFilterNode\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlendColorFilterNode\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return global.SkiaDomApi && global.SkiaDomApi.LumaColorFilterNode\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LerpColorFilterNode\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ShaderNode\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ImageShaderNode\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ColorShaderNode\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.SweepGradientNode\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TurbulenceNode\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return global.SkiaDomApi && global.SkiaDomApi.FractalNoiseNode\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LinearGradientNode\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RadialGradientNode\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TwoPointConicalGradientNode\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.CornerPathEffectNode\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DiscretePathEffectNode\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DashPathEffectNode\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.Path1DPathEffectNode\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.Path2DPathEffectNode\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return global.SkiaDomApi && global.SkiaDomApi.SumPathEffectNode\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.Line2DPathEffectNode\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlendNode\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BackdropFilterNode\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BoxNode\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BoxShadowNode\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["JsiSkDOM","constructor","ctx","Layer","props","NATIVE_DOM","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","CustomDrawing","CustomDrawingNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport { NATIVE_DOM } from \"../../renderer/HostComponents\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CustomDrawingNode(props ?? {})\n : new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return NATIVE_DOM\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return NATIVE_DOM\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
@@ -11,8 +11,12 @@ var _views = require("../views");
11
11
 
12
12
  var _Skia = require("../skia/Skia");
13
13
 
14
+ var _types = require("../dom/types");
15
+
14
16
  var _Reconciler = require("./Reconciler");
15
17
 
18
+ var _HostComponents = require("./HostComponents");
19
+
16
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
21
 
18
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -62,15 +66,32 @@ const Canvas = /*#__PURE__*/(0, _react.forwardRef)((_ref, forwardedRef) => {
62
66
  root.unmount();
63
67
  };
64
68
  }, [root]);
65
- return /*#__PURE__*/_react.default.createElement(_views.SkiaDomView, _extends({
66
- ref: ref,
67
- style: style,
68
- root: root.dom,
69
- onTouch: onTouch,
70
- onSize: onSize,
71
- mode: mode,
72
- debug: debug
73
- }, props));
69
+
70
+ if (_HostComponents.NATIVE_DOM) {
71
+ return /*#__PURE__*/_react.default.createElement(_views.SkiaDomView, _extends({
72
+ ref: ref,
73
+ style: style,
74
+ root: root.dom,
75
+ onTouch: onTouch,
76
+ onSize: onSize,
77
+ mode: mode,
78
+ debug: debug
79
+ }, props));
80
+ } else {
81
+ return /*#__PURE__*/_react.default.createElement(_views.SkiaView // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
+ , _extends({
83
+ ref: ref,
84
+ style: style,
85
+ mode: mode,
86
+ debug: debug,
87
+ onSize: onSize,
88
+ onDraw: (canvas, info) => {
89
+ onTouch && onTouch(info.touches);
90
+ const ctx = new _types.JsiDrawingContext(_Skia.Skia, canvas);
91
+ root.dom.render(ctx);
92
+ }
93
+ }, props));
94
+ }
74
95
  });
75
96
  /**
76
97
  * Combines a list of refs into a single ref. This can be used to provide
@@ -1 +1 @@
1
- {"version":3,"names":["useCanvasRef","useRef","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","onSize","props","innerRef","ref","useCombinedRefs","redraw","useCallback","current","getNativeId","id","nativeId","registerValues","values","root","useMemo","SkiaRoot","Skia","useEffect","render","unmount","dom","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n} from \"react\";\n\nimport { SkiaDomView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\nimport type { SkiaValue } from \"../values/types\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n { children, style, debug, mode, onTouch, onSize, ...props },\n forwardedRef\n ) => {\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const registerValues = useCallback(\n (values: Array<SkiaValue<unknown>>) => {\n if (ref.current !== null) {\n return ref.current.registerValues(values);\n }\n return () => {};\n },\n [ref]\n );\n const root = useMemo(\n () => new SkiaRoot(Skia, registerValues, redraw, getNativeId),\n [redraw, registerValues, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onSize={onSize}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n }\n) as React.FC<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":";;;;;;;AAAA;;AAcA;;AACA;;AAIA;;;;;;;;AAEO,MAAMA,YAAY,GAAG,MAAM,IAAAC,aAAA,EAAoB,IAApB,CAA3B;;;AAQA,MAAMC,MAAM,gBAAG,IAAAC,iBAAA,EACpB,OAEEC,YAFF,KAGK;EAAA,IAFH;IAAEC,QAAF;IAAYC,KAAZ;IAAmBC,KAAnB;IAA0BC,IAA1B;IAAgCC,OAAhC;IAAyCC,MAAzC;IAAiD,GAAGC;EAApD,CAEG;EACH,MAAMC,QAAQ,GAAGZ,YAAY,EAA7B;EACA,MAAMa,GAAG,GAAGC,eAAe,CAACV,YAAD,EAAeQ,QAAf,CAA3B;EACA,MAAMG,MAAM,GAAG,IAAAC,kBAAA,EAAY,MAAM;IAAA;;IAC/B,qBAAAJ,QAAQ,CAACK,OAAT,wEAAkBF,MAAlB;EACD,CAFc,EAEZ,CAACH,QAAD,CAFY,CAAf;EAGA,MAAMM,WAAW,GAAG,IAAAF,kBAAA,EAAY,MAAM;IAAA;;IACpC,MAAMG,EAAE,GAAG,uBAAAP,QAAQ,CAACK,OAAT,0EAAkBG,QAAlB,KAA8B,CAAC,CAA1C;IACA,OAAOD,EAAP;EACD,CAHmB,EAGjB,CAACP,QAAD,CAHiB,CAApB;EAKA,MAAMS,cAAc,GAAG,IAAAL,kBAAA,EACpBM,MAAD,IAAuC;IACrC,IAAIT,GAAG,CAACI,OAAJ,KAAgB,IAApB,EAA0B;MACxB,OAAOJ,GAAG,CAACI,OAAJ,CAAYI,cAAZ,CAA2BC,MAA3B,CAAP;IACD;;IACD,OAAO,MAAM,CAAE,CAAf;EACD,CANoB,EAOrB,CAACT,GAAD,CAPqB,CAAvB;EASA,MAAMU,IAAI,GAAG,IAAAC,cAAA,EACX,MAAM,IAAIC,oBAAJ,CAAaC,UAAb,EAAmBL,cAAnB,EAAmCN,MAAnC,EAA2CG,WAA3C,CADK,EAEX,CAACH,MAAD,EAASM,cAAT,EAAyBH,WAAzB,CAFW,CAAb,CApBG,CAyBH;;EACA,IAAAS,gBAAA,EAAU,MAAM;IACdJ,IAAI,CAACK,MAAL,CAAYvB,QAAZ;EACD,CAFD,EAEG,CAACA,QAAD,EAAWkB,IAAX,EAAiBR,MAAjB,CAFH;EAIA,IAAAY,gBAAA,EAAU,MAAM;IACd,OAAO,MAAM;MACXJ,IAAI,CAACM,OAAL;IACD,CAFD;EAGD,CAJD,EAIG,CAACN,IAAD,CAJH;EAMA,oBACE,6BAAC,kBAAD;IACE,GAAG,EAAEV,GADP;IAEE,KAAK,EAAEP,KAFT;IAGE,IAAI,EAAEiB,IAAI,CAACO,GAHb;IAIE,OAAO,EAAErB,OAJX;IAKE,MAAM,EAAEC,MALV;IAME,IAAI,EAAEF,IANR;IAOE,KAAK,EAAED;EAPT,GAQMI,KARN,EADF;AAYD,CApDmB,CAAf;AAuDP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA,MAAMG,eAAe,GAAG,YAEnB;EAAA,kCADAiB,IACA;IADAA,IACA;EAAA;;EACH,MAAMC,SAAS,GAAGC,cAAA,CAAMhC,MAAN,CAAgB,IAAhB,CAAlB;;EACAgC,cAAA,CAAMN,SAAN,CAAgB,MAAM;IACpBI,IAAI,CAACG,OAAL,CAAcrB,GAAD,IAAS;MACpB,IAAIA,GAAJ,EAAS;QACP,IAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;UAC7BA,GAAG,CAACmB,SAAS,CAACf,OAAX,CAAH;QACD,CAFD,MAEO;UACLJ,GAAG,CAACI,OAAJ,GAAce,SAAS,CAACf,OAAxB;QACD;MACF;IACF,CARD;EASD,CAVD,EAUG,CAACc,IAAD,CAVH;;EAWA,OAAOC,SAAP;AACD,CAhBD"}
1
+ {"version":3,"names":["useCanvasRef","useRef","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","onSize","props","innerRef","ref","useCombinedRefs","redraw","useCallback","current","getNativeId","id","nativeId","registerValues","values","root","useMemo","SkiaRoot","Skia","useEffect","render","unmount","NATIVE_DOM","dom","canvas","info","touches","ctx","JsiDrawingContext","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n} from \"react\";\n\nimport { SkiaDomView, SkiaView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\nimport type { SkiaValue } from \"../values/types\";\nimport { JsiDrawingContext } from \"../dom/types\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n { children, style, debug, mode, onTouch, onSize, ...props },\n forwardedRef\n ) => {\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const registerValues = useCallback(\n (values: Array<SkiaValue<unknown>>) => {\n if (ref.current !== null) {\n return ref.current.registerValues(values);\n }\n return () => {};\n },\n [ref]\n );\n const root = useMemo(\n () => new SkiaRoot(Skia, registerValues, redraw, getNativeId),\n [redraw, registerValues, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onSize={onSize}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n } else {\n return (\n <SkiaView\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n mode={mode}\n debug={debug}\n onSize={onSize}\n onDraw={(canvas, info) => {\n onTouch && onTouch(info.touches);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n }}\n {...props}\n />\n );\n }\n }\n) as React.FC<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ import type { SkiaValue } from "../values";
8
8
  import type { Container } from "./Container";
9
9
  import type { SkiaProps } from "./processors";
10
10
  import type { DependencyManager } from "./DependencyManager";
11
+ export declare const NATIVE_DOM: boolean;
11
12
  declare global {
12
13
  var SkiaDomApi: {
13
14
  DependencyManager: (registerValues: (values: Array<SkiaValue<unknown>>) => () => void) => DependencyManager;
@@ -3,12 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createNode = void 0;
6
+ exports.createNode = exports.NATIVE_DOM = void 0;
7
7
 
8
8
  var _types = require("../dom/types");
9
9
 
10
10
  var _typeddash = require("./typeddash");
11
11
 
12
+ // This flag should only be turned on for debugging/testing
13
+ const shouldUseJSDomOnNative = false;
14
+ const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;
15
+ exports.NATIVE_DOM = NATIVE_DOM;
16
+
12
17
  const createNode = (container, type, props) => {
13
18
  const {
14
19
  Sk
@@ -1 +1 @@
1
- {"version":3,"names":["createNode","container","type","props","Sk","NodeType","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","exhaustiveCheck"],"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} 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\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\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 }\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 default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","NodeType","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","exhaustiveCheck"],"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} 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\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 }\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 default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
@@ -13,13 +13,15 @@ var _HostConfig = require("./HostConfig");
13
13
 
14
14
  var _Container = require("./Container");
15
15
 
16
+ var _HostComponents = require("./HostComponents");
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
20
  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; }
19
21
 
20
22
  const skiaReconciler = (0, _reactReconciler.default)(_HostConfig.skHostConfig);
21
23
 
22
- const createDependencyManager = registerValues => global.SkiaDomApi && global.SkiaDomApi.DependencyManager ? global.SkiaDomApi.DependencyManager(registerValues) : new _DependencyManager.DependencyManager(registerValues);
24
+ const createDependencyManager = registerValues => _HostComponents.NATIVE_DOM ? global.SkiaDomApi.DependencyManager(registerValues) : new _DependencyManager.DependencyManager(registerValues);
23
25
 
24
26
  skiaReconciler.injectIntoDevTools({
25
27
  bundleType: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["skiaReconciler","ReactReconciler","skHostConfig","createDependencyManager","registerValues","global","SkiaDomApi","DependencyManager","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaRoot","constructor","Skia","redraw","getNativeId","depMgr","container","Container","root","createContainer","console","error","render","element","updateContainer","hostDebug","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\";\n\nconst skiaReconciler = ReactReconciler(skHostConfig);\n\ntype RegisterValues = (values: Array<SkiaValue<unknown>>) => () => void;\n\nconst createDependencyManager = (registerValues: RegisterValues) =>\n global.SkiaDomApi && global.SkiaDomApi.DependencyManager\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 skiaReconciler.updateContainer(element, 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;;AAKA;;AACA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,IAAAC,wBAAA,EAAgBC,wBAAhB,CAAvB;;AAIA,MAAMC,uBAAuB,GAAIC,cAAD,IAC9BC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBC,iBAAvC,GACIF,MAAM,CAACC,UAAP,CAAkBC,iBAAlB,CAAoCH,cAApC,CADJ,GAEI,IAAIG,oCAAJ,CAAsBH,cAAtB,CAHN;;AAKAJ,cAAc,CAACQ,kBAAf,CAAkC;EAChCC,UAAU,EAAE,CADoB;EAEhCC,OAAO,EAAE,OAFuB;EAGhCC,mBAAmB,EAAE;AAHW,CAAlC;;AAMO,MAAMC,QAAN,CAAe;EAIpBC,WAAW,CACTC,IADS,EAKT;IAAA,IAHAV,cAGA,uEAHiC,MAAM,MAAM,CAAE,CAG/C;IAAA,IAFAW,MAEA,uEAFqB,MAAM,CAAE,CAE7B;IAAA,IADAC,WACA,uEAD4B,MAAM,CAClC;;IAAA;;IAAA;;IACA,MAAMC,MAAM,GAAGd,uBAAuB,CAACC,cAAD,CAAtC;IACA,KAAKc,SAAL,GAAiB,IAAIC,oBAAJ,CAAcL,IAAd,EAAoBG,MAApB,EAA4BF,MAA5B,EAAoCC,WAApC,CAAjB;IACA,KAAKI,IAAL,GAAYpB,cAAc,CAACqB,eAAf,CACV,KAAKH,SADK,EAEV,CAFU,EAGV,IAHU,EAIV,IAJU,EAKV,IALU,EAMV,EANU,EAOVI,OAAO,CAACC,KAPE,EAQV,IARU,CAAZ;EAUD;;EAEDC,MAAM,CAACC,OAAD,EAAqB;IACzBzB,cAAc,CAAC0B,eAAf,CAA+BD,OAA/B,EAAwC,KAAKL,IAA7C,EAAmD,IAAnD,EAAyD,MAAM;MAC7D,IAAAO,iBAAA,EAAU,iBAAV;IACD,CAFD;EAGD;;EAEDC,OAAO,GAAG;IACR5B,cAAc,CAAC0B,eAAf,CAA+B,IAA/B,EAAqC,KAAKN,IAA1C,EAAgD,IAAhD,EAAsD,MAAM;MAC1D,KAAKF,SAAL,CAAeD,MAAf,CAAsBY,MAAtB;IACD,CAFD;EAGD;;EAEM,IAAHC,GAAG,GAAG;IACR,OAAO,KAAKZ,SAAL,CAAeE,IAAtB;EACD;;AAtCmB"}
1
+ {"version":3,"names":["skiaReconciler","ReactReconciler","skHostConfig","createDependencyManager","registerValues","NATIVE_DOM","global","SkiaDomApi","DependencyManager","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaRoot","constructor","Skia","redraw","getNativeId","depMgr","container","Container","root","createContainer","console","error","render","element","updateContainer","hostDebug","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 skiaReconciler.updateContainer(element, 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;;AAKA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,IAAAC,wBAAA,EAAgBC,wBAAhB,CAAvB;;AAIA,MAAMC,uBAAuB,GAAIC,cAAD,IAC9BC,0BAAA,GACIC,MAAM,CAACC,UAAP,CAAkBC,iBAAlB,CAAoCJ,cAApC,CADJ,GAEI,IAAII,oCAAJ,CAAsBJ,cAAtB,CAHN;;AAKAJ,cAAc,CAACS,kBAAf,CAAkC;EAChCC,UAAU,EAAE,CADoB;EAEhCC,OAAO,EAAE,OAFuB;EAGhCC,mBAAmB,EAAE;AAHW,CAAlC;;AAMO,MAAMC,QAAN,CAAe;EAIpBC,WAAW,CACTC,IADS,EAKT;IAAA,IAHAX,cAGA,uEAHiC,MAAM,MAAM,CAAE,CAG/C;IAAA,IAFAY,MAEA,uEAFqB,MAAM,CAAE,CAE7B;IAAA,IADAC,WACA,uEAD4B,MAAM,CAClC;;IAAA;;IAAA;;IACA,MAAMC,MAAM,GAAGf,uBAAuB,CAACC,cAAD,CAAtC;IACA,KAAKe,SAAL,GAAiB,IAAIC,oBAAJ,CAAcL,IAAd,EAAoBG,MAApB,EAA4BF,MAA5B,EAAoCC,WAApC,CAAjB;IACA,KAAKI,IAAL,GAAYrB,cAAc,CAACsB,eAAf,CACV,KAAKH,SADK,EAEV,CAFU,EAGV,IAHU,EAIV,IAJU,EAKV,IALU,EAMV,EANU,EAOVI,OAAO,CAACC,KAPE,EAQV,IARU,CAAZ;EAUD;;EAEDC,MAAM,CAACC,OAAD,EAAqB;IACzB1B,cAAc,CAAC2B,eAAf,CAA+BD,OAA/B,EAAwC,KAAKL,IAA7C,EAAmD,IAAnD,EAAyD,MAAM;MAC7D,IAAAO,iBAAA,EAAU,iBAAV;IACD,CAFD;EAGD;;EAEDC,OAAO,GAAG;IACR7B,cAAc,CAAC2B,eAAf,CAA+B,IAA/B,EAAqC,KAAKN,IAA1C,EAAgD,IAAhD,EAAsD,MAAM;MAC1D,KAAKF,SAAL,CAAeD,MAAf,CAAsBY,MAAtB;IACD,CAFD;EAGD;;EAEM,IAAHC,GAAG,GAAG;IACR,OAAO,KAAKZ,SAAL,CAAeE,IAAtB;EACD;;AAtCmB"}
@@ -1,3 +1,3 @@
1
- import type { SkData, DataSourceParam } from "../types";
2
- export declare const useRawData: <T>(source: DataSourceParam, factory: (data: SkData) => T, onError?: ((err: Error) => void) | undefined) => T | null;
1
+ import type { SkData, DataSourceParam, JsiDisposable } from "../types";
2
+ export declare const useRawData: <T extends JsiDisposable>(source: DataSourceParam, factory: (data: SkData) => T | null, onError?: ((err: Error) => void) | undefined) => T | null;
3
3
  export declare const useData: (source: DataSourceParam, onError?: ((err: Error) => void) | undefined) => SkData | null;
@@ -42,14 +42,19 @@ const loadData = (source, factory, onError) => {
42
42
  const useLoading = (source, loader) => {
43
43
  const mounted = (0, _react.useRef)(false);
44
44
  const [data, setData] = (0, _react.useState)(null);
45
+ const dataRef = (0, _react.useRef)(null);
45
46
  (0, _react.useEffect)(() => {
46
47
  mounted.current = true;
47
48
  loader().then(value => {
48
49
  if (mounted.current) {
49
50
  setData(value);
51
+ dataRef.current = value;
50
52
  }
51
53
  });
52
54
  return () => {
55
+ var _dataRef$current;
56
+
57
+ (_dataRef$current = dataRef.current) === null || _dataRef$current === void 0 ? void 0 : _dataRef$current.dispose();
53
58
  mounted.current = false;
54
59
  }; // eslint-disable-next-line react-hooks/exhaustive-deps
55
60
  }, [source]);
@@ -1 +1 @@
1
- {"version":3,"names":["resolveAsset","source","isRNModule","Image","resolveAssetSource","uri","default","factoryWrapper","data2","factory","onError","factoryResult","Error","loadData","undefined","Promise","resolve","Uint8Array","Skia","Data","fromBytes","fromURI","then","d","useLoading","loader","mounted","useRef","data","setData","useState","useEffect","current","value","useRawData","identity","useData"],"sources":["Data.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { Image } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport { isRNModule } from \"../types\";\nimport type { SkData, DataModule, DataSourceParam } from \"../types\";\n\nconst resolveAsset = (source: DataModule) => {\n return isRNModule(source)\n ? Image.resolveAssetSource(source).uri\n : source.default;\n};\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null || source === undefined) {\n return new Promise((resolve) => resolve(null));\n } else if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri = typeof source === \"string\" ? source : resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\nconst useLoading = <T>(\n source: DataSourceParam,\n loader: () => Promise<T | null>\n) => {\n const mounted = useRef(false);\n const [data, setData] = useState<T | null>(null);\n useEffect(() => {\n mounted.current = true;\n loader().then((value) => {\n if (mounted.current) {\n setData(value);\n }\n });\n return () => {\n mounted.current = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source]);\n return data;\n};\n\nexport const useRawData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => useLoading(source, () => loadData(source, factory, onError));\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, identity, onError);\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAGA,MAAMA,YAAY,GAAIC,MAAD,IAAwB;EAC3C,OAAO,IAAAC,iBAAA,EAAWD,MAAX,IACHE,kBAAA,CAAMC,kBAAN,CAAyBH,MAAzB,EAAiCI,GAD9B,GAEHJ,MAAM,CAACK,OAFX;AAGD,CAJD;;AAMA,MAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,OAFqB,EAGrBC,OAHqB,KAIlB;EACH,MAAMC,aAAa,GAAGF,OAAO,CAACD,KAAD,CAA7B;;EACA,IAAIG,aAAa,KAAK,IAAtB,EAA4B;IAC1BD,OAAO,IAAIA,OAAO,CAAC,IAAIE,KAAJ,CAAU,qBAAV,CAAD,CAAlB;IACA,OAAO,IAAP;EACD,CAHD,MAGO;IACL,OAAOD,aAAP;EACD;AACF,CAZD;;AAcA,MAAME,QAAQ,GAAG,CACfZ,MADe,EAEfQ,OAFe,EAGfC,OAHe,KAIO;EACtB,IAAIT,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAKa,SAAlC,EAA6C;IAC3C,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAaA,OAAO,CAAC,IAAD,CAAhC,CAAP;EACD,CAFD,MAEO,IAAIf,MAAM,YAAYgB,UAAtB,EAAkC;IACvC,OAAO,IAAIF,OAAJ,CAAaC,OAAD,IACjBA,OAAO,CAACT,cAAc,CAACW,UAAA,CAAKC,IAAL,CAAUC,SAAV,CAAoBnB,MAApB,CAAD,EAA8BQ,OAA9B,EAAuCC,OAAvC,CAAf,CADF,CAAP;EAGD,CAJM,MAIA;IACL,MAAML,GAAG,GAAG,OAAOJ,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCD,YAAY,CAACC,MAAD,CAA9D;IACA,OAAOiB,UAAA,CAAKC,IAAL,CAAUE,OAAV,CAAkBhB,GAAlB,EAAuBiB,IAAvB,CAA6BC,CAAD,IACjChB,cAAc,CAACgB,CAAD,EAAId,OAAJ,EAAaC,OAAb,CADT,CAAP;EAGD;AACF,CAjBD;;AAkBA,MAAMc,UAAU,GAAG,CACjBvB,MADiB,EAEjBwB,MAFiB,KAGd;EACH,MAAMC,OAAO,GAAG,IAAAC,aAAA,EAAO,KAAP,CAAhB;EACA,MAAM,CAACC,IAAD,EAAOC,OAAP,IAAkB,IAAAC,eAAA,EAAmB,IAAnB,CAAxB;EACA,IAAAC,gBAAA,EAAU,MAAM;IACdL,OAAO,CAACM,OAAR,GAAkB,IAAlB;IACAP,MAAM,GAAGH,IAAT,CAAeW,KAAD,IAAW;MACvB,IAAIP,OAAO,CAACM,OAAZ,EAAqB;QACnBH,OAAO,CAACI,KAAD,CAAP;MACD;IACF,CAJD;IAKA,OAAO,MAAM;MACXP,OAAO,CAACM,OAAR,GAAkB,KAAlB;IACD,CAFD,CAPc,CAUd;EACD,CAXD,EAWG,CAAC/B,MAAD,CAXH;EAYA,OAAO2B,IAAP;AACD,CAnBD;;AAqBO,MAAMM,UAAU,GAAG,CACxBjC,MADwB,EAExBQ,OAFwB,EAGxBC,OAHwB,KAIrBc,UAAU,CAACvB,MAAD,EAAS,MAAMY,QAAQ,CAACZ,MAAD,EAASQ,OAAT,EAAkBC,OAAlB,CAAvB,CAJR;;;;AAMP,MAAMyB,QAAQ,GAAIP,IAAD,IAAkBA,IAAnC;;AAEO,MAAMQ,OAAO,GAAG,CACrBnC,MADqB,EAErBS,OAFqB,KAGlBwB,UAAU,CAACjC,MAAD,EAASkC,QAAT,EAAmBzB,OAAnB,CAHR"}
1
+ {"version":3,"names":["resolveAsset","source","isRNModule","Image","resolveAssetSource","uri","default","factoryWrapper","data2","factory","onError","factoryResult","Error","loadData","undefined","Promise","resolve","Uint8Array","Skia","Data","fromBytes","fromURI","then","d","useLoading","loader","mounted","useRef","data","setData","useState","dataRef","useEffect","current","value","dispose","useRawData","identity","useData"],"sources":["Data.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { Image } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport { isRNModule } from \"../types\";\nimport type {\n SkData,\n DataModule,\n DataSourceParam,\n JsiDisposable,\n} from \"../types\";\n\nconst resolveAsset = (source: DataModule) => {\n return isRNModule(source)\n ? Image.resolveAssetSource(source).uri\n : source.default;\n};\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T | null,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null || source === undefined) {\n return new Promise((resolve) => resolve(null));\n } else if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri = typeof source === \"string\" ? source : resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\nconst useLoading = <T extends JsiDisposable>(\n source: DataSourceParam,\n loader: () => Promise<T | null>\n) => {\n const mounted = useRef(false);\n const [data, setData] = useState<T | null>(null);\n const dataRef = useRef<T | null>(null);\n useEffect(() => {\n mounted.current = true;\n loader().then((value) => {\n if (mounted.current) {\n setData(value);\n dataRef.current = value;\n }\n });\n return () => {\n dataRef.current?.dispose();\n mounted.current = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source]);\n return data;\n};\n\nexport const useRawData = <T extends JsiDisposable>(\n source: DataSourceParam,\n factory: (data: SkData) => T | null,\n onError?: (err: Error) => void\n) => useLoading(source, () => loadData<T>(source, factory, onError));\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, identity, onError);\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAQA,MAAMA,YAAY,GAAIC,MAAD,IAAwB;EAC3C,OAAO,IAAAC,iBAAA,EAAWD,MAAX,IACHE,kBAAA,CAAMC,kBAAN,CAAyBH,MAAzB,EAAiCI,GAD9B,GAEHJ,MAAM,CAACK,OAFX;AAGD,CAJD;;AAMA,MAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,OAFqB,EAGrBC,OAHqB,KAIlB;EACH,MAAMC,aAAa,GAAGF,OAAO,CAACD,KAAD,CAA7B;;EACA,IAAIG,aAAa,KAAK,IAAtB,EAA4B;IAC1BD,OAAO,IAAIA,OAAO,CAAC,IAAIE,KAAJ,CAAU,qBAAV,CAAD,CAAlB;IACA,OAAO,IAAP;EACD,CAHD,MAGO;IACL,OAAOD,aAAP;EACD;AACF,CAZD;;AAcA,MAAME,QAAQ,GAAG,CACfZ,MADe,EAEfQ,OAFe,EAGfC,OAHe,KAIO;EACtB,IAAIT,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAKa,SAAlC,EAA6C;IAC3C,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAaA,OAAO,CAAC,IAAD,CAAhC,CAAP;EACD,CAFD,MAEO,IAAIf,MAAM,YAAYgB,UAAtB,EAAkC;IACvC,OAAO,IAAIF,OAAJ,CAAaC,OAAD,IACjBA,OAAO,CAACT,cAAc,CAACW,UAAA,CAAKC,IAAL,CAAUC,SAAV,CAAoBnB,MAApB,CAAD,EAA8BQ,OAA9B,EAAuCC,OAAvC,CAAf,CADF,CAAP;EAGD,CAJM,MAIA;IACL,MAAML,GAAG,GAAG,OAAOJ,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCD,YAAY,CAACC,MAAD,CAA9D;IACA,OAAOiB,UAAA,CAAKC,IAAL,CAAUE,OAAV,CAAkBhB,GAAlB,EAAuBiB,IAAvB,CAA6BC,CAAD,IACjChB,cAAc,CAACgB,CAAD,EAAId,OAAJ,EAAaC,OAAb,CADT,CAAP;EAGD;AACF,CAjBD;;AAkBA,MAAMc,UAAU,GAAG,CACjBvB,MADiB,EAEjBwB,MAFiB,KAGd;EACH,MAAMC,OAAO,GAAG,IAAAC,aAAA,EAAO,KAAP,CAAhB;EACA,MAAM,CAACC,IAAD,EAAOC,OAAP,IAAkB,IAAAC,eAAA,EAAmB,IAAnB,CAAxB;EACA,MAAMC,OAAO,GAAG,IAAAJ,aAAA,EAAiB,IAAjB,CAAhB;EACA,IAAAK,gBAAA,EAAU,MAAM;IACdN,OAAO,CAACO,OAAR,GAAkB,IAAlB;IACAR,MAAM,GAAGH,IAAT,CAAeY,KAAD,IAAW;MACvB,IAAIR,OAAO,CAACO,OAAZ,EAAqB;QACnBJ,OAAO,CAACK,KAAD,CAAP;QACAH,OAAO,CAACE,OAAR,GAAkBC,KAAlB;MACD;IACF,CALD;IAMA,OAAO,MAAM;MAAA;;MACX,oBAAAH,OAAO,CAACE,OAAR,sEAAiBE,OAAjB;MACAT,OAAO,CAACO,OAAR,GAAkB,KAAlB;IACD,CAHD,CARc,CAYd;EACD,CAbD,EAaG,CAAChC,MAAD,CAbH;EAcA,OAAO2B,IAAP;AACD,CAtBD;;AAwBO,MAAMQ,UAAU,GAAG,CACxBnC,MADwB,EAExBQ,OAFwB,EAGxBC,OAHwB,KAIrBc,UAAU,CAACvB,MAAD,EAAS,MAAMY,QAAQ,CAAIZ,MAAJ,EAAYQ,OAAZ,EAAqBC,OAArB,CAAvB,CAJR;;;;AAMP,MAAM2B,QAAQ,GAAIT,IAAD,IAAkBA,IAAnC;;AAEO,MAAMU,OAAO,GAAG,CACrBrC,MADqB,EAErBS,OAFqB,KAGlB0B,UAAU,CAACnC,MAAD,EAASoC,QAAT,EAAmB3B,OAAnB,CAHR"}
@@ -1,5 +1,5 @@
1
- import type { SkJSIInstance } from "../JsiInstance";
2
- export declare type SkData = SkJSIInstance<"Data">;
1
+ import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
+ export declare type SkData = SkJSIInstance<"Data"> & JsiDisposable;
3
3
  declare type RNModule = number;
4
4
  declare type ESModule = {
5
5
  __esModule: true;
@@ -1 +1 @@
1
- {"version":3,"names":["isRNModule","mod"],"sources":["Data.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkData = SkJSIInstance<\"Data\">;\n\ntype RNModule = number;\ntype ESModule = {\n __esModule: true;\n default: string;\n};\nexport type DataModule = RNModule | ESModule;\nexport type DataSource = DataModule | string | Uint8Array;\nexport type DataSourceParam = DataSource | null | undefined;\n\nexport const isRNModule = (mod: DataModule): mod is RNModule =>\n typeof mod === \"number\";\n"],"mappings":";;;;;;;AAaO,MAAMA,UAAU,GAAIC,GAAD,IACxB,OAAOA,GAAP,KAAe,QADV"}
1
+ {"version":3,"names":["isRNModule","mod"],"sources":["Data.ts"],"sourcesContent":["import type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkData = SkJSIInstance<\"Data\"> & JsiDisposable;\n\ntype RNModule = number;\ntype ESModule = {\n __esModule: true;\n default: string;\n};\nexport type DataModule = RNModule | ESModule;\nexport type DataSource = DataModule | string | Uint8Array;\nexport type DataSourceParam = DataSource | null | undefined;\n\nexport const isRNModule = (mod: DataModule): mod is RNModule =>\n typeof mod === \"number\";\n"],"mappings":";;;;;;;AAaO,MAAMA,UAAU,GAAIC,GAAD,IACxB,OAAOA,GAAP,KAAe,QADV"}
@@ -1,5 +1,5 @@
1
1
  import type { SkMatrix } from "../Matrix";
2
- import type { SkJSIInstance } from "../JsiInstance";
2
+ import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
3
3
  import type { TileMode } from "../ImageFilter";
4
4
  import type { SkShader } from "../Shader";
5
5
  export declare enum FilterMode {
@@ -16,7 +16,7 @@ export declare enum ImageFormat {
16
16
  PNG = 4,
17
17
  WEBP = 6
18
18
  }
19
- export interface SkImage extends SkJSIInstance<"Image"> {
19
+ export interface SkImage extends SkJSIInstance<"Image">, JsiDisposable {
20
20
  /**
21
21
  * Returns the possibly scaled height of the image.
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"names":["FilterMode","MipmapMode","ImageFormat"],"sources":["Image.ts"],"sourcesContent":["import type { SkMatrix } from \"../Matrix\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { TileMode } from \"../ImageFilter\";\nimport type { SkShader } from \"../Shader\";\n\nexport enum FilterMode {\n Nearest,\n Linear,\n}\n\nexport enum MipmapMode {\n None,\n Nearest,\n Linear,\n}\n\nexport enum ImageFormat {\n JPEG = 3,\n PNG = 4,\n WEBP = 6,\n}\n\nexport interface SkImage extends SkJSIInstance<\"Image\"> {\n /**\n * Returns the possibly scaled height of the image.\n */\n height(): number;\n\n /**\n * Returns the possibly scaled width of the image.\n */\n width(): number;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param fm - The filter mode. (default nearest)\n * @param mm - The mipmap mode. Note: for settings other than None, the image must have mipmaps (default none)\n * calculated with makeCopyWithDefaultMipmaps;\n * @param localMatrix\n */\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param B - See CubicResampler in SkSamplingOptions.h for more information\n * @param C - See CubicResampler in SkSamplingOptions.h for more information\n * @param localMatrix\n */\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /** Encodes Image pixels, returning result as UInt8Array. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return Uint8Array with data\n */\n encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;\n\n /** Encodes Image pixels, returning result as a base64 encoded string. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return base64 encoded string of data\n */\n encodeToBase64(fmt?: ImageFormat, quality?: number): string;\n}\n"],"mappings":";;;;;;IAKYA,U;;;WAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;IAKAC,U;;;WAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;IAMAC,W;;;WAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;GAAAA,W,2BAAAA,W"}
1
+ {"version":3,"names":["FilterMode","MipmapMode","ImageFormat"],"sources":["Image.ts"],"sourcesContent":["import type { SkMatrix } from \"../Matrix\";\nimport type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\nimport type { TileMode } from \"../ImageFilter\";\nimport type { SkShader } from \"../Shader\";\n\nexport enum FilterMode {\n Nearest,\n Linear,\n}\n\nexport enum MipmapMode {\n None,\n Nearest,\n Linear,\n}\n\nexport enum ImageFormat {\n JPEG = 3,\n PNG = 4,\n WEBP = 6,\n}\n\nexport interface SkImage extends SkJSIInstance<\"Image\">, JsiDisposable {\n /**\n * Returns the possibly scaled height of the image.\n */\n height(): number;\n\n /**\n * Returns the possibly scaled width of the image.\n */\n width(): number;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param fm - The filter mode. (default nearest)\n * @param mm - The mipmap mode. Note: for settings other than None, the image must have mipmaps (default none)\n * calculated with makeCopyWithDefaultMipmaps;\n * @param localMatrix\n */\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param B - See CubicResampler in SkSamplingOptions.h for more information\n * @param C - See CubicResampler in SkSamplingOptions.h for more information\n * @param localMatrix\n */\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /** Encodes Image pixels, returning result as UInt8Array. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return Uint8Array with data\n */\n encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;\n\n /** Encodes Image pixels, returning result as a base64 encoded string. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return base64 encoded string of data\n */\n encodeToBase64(fmt?: ImageFormat, quality?: number): string;\n}\n"],"mappings":";;;;;;IAKYA,U;;;WAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;IAKAC,U;;;WAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;IAMAC,W;;;WAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;GAAAA,W,2BAAAA,W"}
@@ -1,3 +1,6 @@
1
1
  export interface SkJSIInstance<T extends string> {
2
2
  __typename__: T;
3
3
  }
4
+ export interface JsiDisposable {
5
+ dispose: () => void;
6
+ }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> {\n __typename__: T;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> {\n __typename__: T;\n}\n\nexport interface JsiDisposable {\n dispose: () => void;\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import type { SkJSIInstance } from "../JsiInstance";
2
- export declare type SkSVG = SkJSIInstance<"SVG">;
1
+ import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
+ export declare type SkSVG = SkJSIInstance<"SVG"> & JsiDisposable;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["SVG.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkSVG = SkJSIInstance<\"SVG\">;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["SVG.ts"],"sourcesContent":["import type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkSVG = SkJSIInstance<\"SVG\"> & JsiDisposable;\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import type { SkJSIInstance } from "../JsiInstance";
2
- export declare type SkTypeface = SkJSIInstance<"Typeface">;
1
+ import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
+ export declare type SkTypeface = SkJSIInstance<"Typeface"> & JsiDisposable;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Typeface.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkTypeface = SkJSIInstance<\"Typeface\">;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["Typeface.ts"],"sourcesContent":["import type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkTypeface = SkJSIInstance<\"Typeface\"> & JsiDisposable;\n"],"mappings":""}
@@ -4,5 +4,6 @@ import { HostObject } from "./Host";
4
4
  declare type Data = ArrayBuffer;
5
5
  export declare class JsiSkData extends HostObject<Data, "Data"> implements SkData {
6
6
  constructor(CanvasKit: CanvasKit, ref: Data);
7
+ dispose(): void;
7
8
  }
8
9
  export {};
@@ -12,6 +12,9 @@ class JsiSkData extends _Host.HostObject {
12
12
  super(CanvasKit, ref, "Data");
13
13
  }
14
14
 
15
+ dispose() {// Not implemented in data
16
+ }
17
+
15
18
  }
16
19
 
17
20
  exports.JsiSkData = JsiSkData;
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkData","HostObject","constructor","CanvasKit","ref"],"sources":["JsiSkData.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkData } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\ntype Data = ArrayBuffer;\n\nexport class JsiSkData extends HostObject<Data, \"Data\"> implements SkData {\n constructor(CanvasKit: CanvasKit, ref: Data) {\n super(CanvasKit, ref, \"Data\");\n }\n}\n"],"mappings":";;;;;;;AAIA;;AAIO,MAAMA,SAAN,SAAwBC,gBAAxB,CAAmE;EACxEC,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;IAC3C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;EACD;;AAHuE"}
1
+ {"version":3,"names":["JsiSkData","HostObject","constructor","CanvasKit","ref","dispose"],"sources":["JsiSkData.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkData } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\ntype Data = ArrayBuffer;\n\nexport class JsiSkData extends HostObject<Data, \"Data\"> implements SkData {\n constructor(CanvasKit: CanvasKit, ref: Data) {\n super(CanvasKit, ref, \"Data\");\n }\n\n dispose() {\n // Not implemented in data\n }\n}\n"],"mappings":";;;;;;;AAIA;;AAIO,MAAMA,SAAN,SAAwBC,gBAAxB,CAAmE;EACxEC,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;IAC3C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;EACD;;EAEDC,OAAO,GAAG,CACR;EACD;;AAPuE"}
@@ -10,4 +10,5 @@ export declare class JsiSkImage extends HostObject<Image, "Image"> implements Sk
10
10
  makeShaderCubic(tx: TileMode, ty: TileMode, B: number, C: number, localMatrix?: SkMatrix): SkShader;
11
11
  encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;
12
12
  encodeToBase64(fmt?: ImageFormat, quality?: number): string;
13
+ dispose(): void;
13
14
  }
@@ -87,6 +87,10 @@ class JsiSkImage extends _Host.HostObject {
87
87
  return toBase64String(bytes);
88
88
  }
89
89
 
90
+ dispose() {
91
+ this.ref.delete();
92
+ }
93
+
90
94
  }
91
95
 
92
96
  exports.JsiSkImage = JsiSkImage;