@shopify/react-native-skia 0.1.181 → 0.1.182
Sign up to get free protection for your applications and to get access to all the features.
- package/cpp/api/JsiSkData.h +7 -0
- package/cpp/api/JsiSkImage.h +7 -1
- package/cpp/api/JsiSkSVG.h +7 -0
- package/cpp/api/JsiSkTypeface.h +7 -0
- package/cpp/rnskia/dom/base/DerivedNodeProp.h +1 -1
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +12 -0
- package/cpp/rnskia/dom/base/NodePropsContainer.h +1 -1
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -54
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +30 -9
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +1 -0
- package/lib/commonjs/renderer/HostComponents.js +6 -1
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/Reconciler.js +3 -1
- package/lib/commonjs/renderer/Reconciler.js.map +1 -1
- package/lib/commonjs/skia/core/Data.d.ts +2 -2
- package/lib/commonjs/skia/core/Data.js +5 -0
- package/lib/commonjs/skia/core/Data.js.map +1 -1
- package/lib/commonjs/skia/types/Data/Data.d.ts +2 -2
- package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
- package/lib/commonjs/skia/types/Image/Image.d.ts +2 -2
- package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
- package/lib/commonjs/skia/types/JsiInstance.d.ts +3 -0
- package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
- package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -2
- package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
- package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -2
- package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkData.js +3 -0
- package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkImage.js +4 -0
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkTypeface.js +4 -0
- package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.js +55 -54
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/renderer/Canvas.js +29 -10
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/HostComponents.d.ts +1 -0
- package/lib/module/renderer/HostComponents.js +3 -0
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/Reconciler.js +2 -1
- package/lib/module/renderer/Reconciler.js.map +1 -1
- package/lib/module/skia/core/Data.d.ts +2 -2
- package/lib/module/skia/core/Data.js +5 -0
- package/lib/module/skia/core/Data.js.map +1 -1
- package/lib/module/skia/types/Data/Data.d.ts +2 -2
- package/lib/module/skia/types/Data/Data.js.map +1 -1
- package/lib/module/skia/types/Image/Image.d.ts +2 -2
- package/lib/module/skia/types/Image/Image.js.map +1 -1
- package/lib/module/skia/types/JsiInstance.d.ts +3 -0
- package/lib/module/skia/types/JsiInstance.js.map +1 -1
- package/lib/module/skia/types/SVG/SVG.d.ts +2 -2
- package/lib/module/skia/types/SVG/SVG.js.map +1 -1
- package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -2
- package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
- package/lib/module/skia/web/JsiSkData.d.ts +1 -0
- package/lib/module/skia/web/JsiSkData.js +3 -0
- package/lib/module/skia/web/JsiSkData.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.d.ts +1 -0
- package/lib/module/skia/web/JsiSkImage.js +4 -0
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -0
- package/lib/module/skia/web/JsiSkTypeface.js +4 -0
- package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/typescript/src/renderer/HostComponents.d.ts +1 -0
- package/lib/typescript/src/skia/core/Data.d.ts +2 -2
- package/lib/typescript/src/skia/types/Data/Data.d.ts +2 -2
- package/lib/typescript/src/skia/types/Image/Image.d.ts +2 -2
- package/lib/typescript/src/skia/types/JsiInstance.d.ts +3 -0
- package/lib/typescript/src/skia/types/SVG/SVG.d.ts +2 -2
- package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -0
- package/package.json +1 -1
- package/src/dom/nodes/JsiSkDOM.ts +55 -54
- package/src/renderer/Canvas.tsx +34 -14
- package/src/renderer/HostComponents.ts +4 -0
- package/src/renderer/Reconciler.tsx +2 -1
- package/src/skia/core/Data.ts +14 -6
- package/src/skia/types/Data/Data.ts +2 -2
- package/src/skia/types/Image/Image.ts +2 -2
- package/src/skia/types/JsiInstance.ts +4 -0
- package/src/skia/types/SVG/SVG.ts +2 -2
- package/src/skia/types/Typeface/Typeface.ts +2 -2
- package/src/skia/web/JsiSkData.ts +4 -0
- package/src/skia/web/JsiSkImage.ts +4 -0
- package/src/skia/web/JsiSkTypeface.ts +4 -0
@@ -1,3 +1,4 @@
|
|
1
|
+
import { NATIVE_DOM } from "../../renderer/HostComponents";
|
1
2
|
import { FillNode, ImageNode, CircleNode, PathNode, LineNode, PatchNode, PointsNode, RectNode, RRectNode, VerticesNode, TextNode, OvalNode, CustomDrawingNode, TextPathNode, TextBlobNode, GlyphsNode, DiffRectNode, PictureNode, ImageSVGNode, BackdropFilterNode, BoxNode, BoxShadowNode } from "./drawings";
|
2
3
|
import { BlendImageFilterNode, BlurImageFilterNode, BlurMaskFilterNode, DisplacementMapImageFilterNode, DropShadowImageFilterNode, OffsetImageFilterNode, RuntimeShaderImageFilterNode, CornerPathEffectNode, DiscretePathEffectNode, DashPathEffectNode, Path1DPathEffectNode, Path2DPathEffectNode, SumPathEffectNode, Line2DPathEffectNode, BlendNode } from "./paint";
|
3
4
|
import { MatrixColorFilterNode, LumaColorFilterNode, LinearToSRGBGammaColorFilterNode, SRGBToLinearGammaColorFilterNode, BlendColorFilterNode, LerpColorFilterNode } from "./paint/ColorFilters";
|
@@ -12,139 +13,139 @@ export class JsiSkDOM {
|
|
12
13
|
}
|
13
14
|
|
14
15
|
Layer(props) {
|
15
|
-
return
|
16
|
+
return NATIVE_DOM ? global.SkiaDomApi.LayerNode(props !== null && props !== void 0 ? props : {}) : new LayerNode(this.ctx, props !== null && props !== void 0 ? props : {});
|
16
17
|
}
|
17
18
|
|
18
19
|
Group(props) {
|
19
|
-
return
|
20
|
+
return NATIVE_DOM ? global.SkiaDomApi.GroupNode(props !== null && props !== void 0 ? props : {}) : new GroupNode(this.ctx, props !== null && props !== void 0 ? props : {});
|
20
21
|
}
|
21
22
|
|
22
23
|
Paint(props) {
|
23
|
-
return
|
24
|
+
return NATIVE_DOM ? global.SkiaDomApi.PaintNode(props !== null && props !== void 0 ? props : {}) : new PaintNode(this.ctx, props);
|
24
25
|
} // Drawings
|
25
26
|
|
26
27
|
|
27
28
|
Fill(props) {
|
28
|
-
return
|
29
|
+
return NATIVE_DOM ? global.SkiaDomApi.FillNode(props !== null && props !== void 0 ? props : {}) : new FillNode(this.ctx, props);
|
29
30
|
}
|
30
31
|
|
31
32
|
Image(props) {
|
32
|
-
return
|
33
|
+
return NATIVE_DOM ? global.SkiaDomApi.ImageNode(props !== null && props !== void 0 ? props : {}) : new ImageNode(this.ctx, props);
|
33
34
|
}
|
34
35
|
|
35
36
|
Circle(props) {
|
36
|
-
return
|
37
|
+
return NATIVE_DOM ? global.SkiaDomApi.CircleNode(props !== null && props !== void 0 ? props : {}) : new CircleNode(this.ctx, props);
|
37
38
|
}
|
38
39
|
|
39
40
|
Path(props) {
|
40
|
-
return
|
41
|
+
return NATIVE_DOM ? global.SkiaDomApi.PathNode(props !== null && props !== void 0 ? props : {}) : new PathNode(this.ctx, props);
|
41
42
|
}
|
42
43
|
|
43
44
|
CustomDrawing(props) {
|
44
|
-
return
|
45
|
+
return NATIVE_DOM ? global.SkiaDomApi.CustomDrawingNode(props !== null && props !== void 0 ? props : {}) : new CustomDrawingNode(this.ctx, props);
|
45
46
|
}
|
46
47
|
|
47
48
|
Line(props) {
|
48
|
-
return
|
49
|
+
return NATIVE_DOM ? global.SkiaDomApi.LineNode(props !== null && props !== void 0 ? props : {}) : new LineNode(this.ctx, props);
|
49
50
|
}
|
50
51
|
|
51
52
|
Oval(props) {
|
52
|
-
return
|
53
|
+
return NATIVE_DOM ? global.SkiaDomApi.OvalNode(props !== null && props !== void 0 ? props : {}) : new OvalNode(this.ctx, props);
|
53
54
|
}
|
54
55
|
|
55
56
|
Patch(props) {
|
56
|
-
return
|
57
|
+
return NATIVE_DOM ? global.SkiaDomApi.PatchNode(props !== null && props !== void 0 ? props : {}) : new PatchNode(this.ctx, props);
|
57
58
|
}
|
58
59
|
|
59
60
|
Points(props) {
|
60
|
-
return
|
61
|
+
return NATIVE_DOM ? global.SkiaDomApi.PointsNode(props !== null && props !== void 0 ? props : {}) : new PointsNode(this.ctx, props);
|
61
62
|
}
|
62
63
|
|
63
64
|
Rect(props) {
|
64
|
-
return
|
65
|
+
return NATIVE_DOM ? global.SkiaDomApi.RectNode(props) : new RectNode(this.ctx, props);
|
65
66
|
}
|
66
67
|
|
67
68
|
RRect(props) {
|
68
|
-
return
|
69
|
+
return NATIVE_DOM ? global.SkiaDomApi.RRectNode(props) : new RRectNode(this.ctx, props);
|
69
70
|
}
|
70
71
|
|
71
72
|
Vertices(props) {
|
72
|
-
return
|
73
|
+
return NATIVE_DOM ? global.SkiaDomApi.VerticesNode(props) : new VerticesNode(this.ctx, props);
|
73
74
|
}
|
74
75
|
|
75
76
|
Text(props) {
|
76
|
-
return
|
77
|
+
return NATIVE_DOM ? global.SkiaDomApi.TextNode(props) : new TextNode(this.ctx, props);
|
77
78
|
}
|
78
79
|
|
79
80
|
TextPath(props) {
|
80
|
-
return
|
81
|
+
return NATIVE_DOM ? global.SkiaDomApi.TextPathNode(props) : new TextPathNode(this.ctx, props);
|
81
82
|
}
|
82
83
|
|
83
84
|
TextBlob(props) {
|
84
|
-
return
|
85
|
+
return NATIVE_DOM ? global.SkiaDomApi.TextBlobNode(props) : new TextBlobNode(this.ctx, props);
|
85
86
|
}
|
86
87
|
|
87
88
|
Glyphs(props) {
|
88
|
-
return
|
89
|
+
return NATIVE_DOM ? global.SkiaDomApi.GlyphsNode(props) : new GlyphsNode(this.ctx, props);
|
89
90
|
}
|
90
91
|
|
91
92
|
DiffRect(props) {
|
92
|
-
return
|
93
|
+
return NATIVE_DOM ? global.SkiaDomApi.DiffRectNode(props) : new DiffRectNode(this.ctx, props);
|
93
94
|
}
|
94
95
|
|
95
96
|
Picture(props) {
|
96
|
-
return
|
97
|
+
return NATIVE_DOM ? global.SkiaDomApi.PictureNode(props) : new PictureNode(this.ctx, props);
|
97
98
|
}
|
98
99
|
|
99
100
|
ImageSVG(props) {
|
100
|
-
return
|
101
|
+
return NATIVE_DOM ? global.SkiaDomApi.ImageSVGNode(props) : new ImageSVGNode(this.ctx, props);
|
101
102
|
} // BlurMaskFilters
|
102
103
|
|
103
104
|
|
104
105
|
BlurMaskFilter(props) {
|
105
|
-
return
|
106
|
+
return NATIVE_DOM ? global.SkiaDomApi.BlurMaskFilterNode(props) : new BlurMaskFilterNode(this.ctx, props);
|
106
107
|
} // ImageFilters
|
107
108
|
|
108
109
|
|
109
110
|
BlendImageFilter(props) {
|
110
|
-
return
|
111
|
+
return NATIVE_DOM ? global.SkiaDomApi.BlendImageFilterNode(props) : new BlendImageFilterNode(this.ctx, props);
|
111
112
|
}
|
112
113
|
|
113
114
|
DropShadowImageFilter(props) {
|
114
|
-
return
|
115
|
+
return NATIVE_DOM ? global.SkiaDomApi.DropShadowImageFilterNode(props) : new DropShadowImageFilterNode(this.ctx, props);
|
115
116
|
}
|
116
117
|
|
117
118
|
DisplacementMapImageFilter(props) {
|
118
|
-
return
|
119
|
+
return NATIVE_DOM ? global.SkiaDomApi.DisplacementMapImageFilterNode(props) : new DisplacementMapImageFilterNode(this.ctx, props);
|
119
120
|
}
|
120
121
|
|
121
122
|
BlurImageFilter(props) {
|
122
|
-
return
|
123
|
+
return NATIVE_DOM ? global.SkiaDomApi.BlurImageFilterNode(props) : new BlurImageFilterNode(this.ctx, props);
|
123
124
|
}
|
124
125
|
|
125
126
|
OffsetImageFilter(props) {
|
126
|
-
return
|
127
|
+
return NATIVE_DOM ? global.SkiaDomApi.OffsetImageFilterNode(props) : new OffsetImageFilterNode(this.ctx, props);
|
127
128
|
}
|
128
129
|
|
129
130
|
MorphologyImageFilter(props) {
|
130
|
-
return
|
131
|
+
return NATIVE_DOM ? global.SkiaDomApi.MorphologyImageFilterNode(props) : new MorphologyImageFilterNode(this.ctx, props);
|
131
132
|
}
|
132
133
|
|
133
134
|
RuntimeShaderImageFilter(props) {
|
134
|
-
return
|
135
|
+
return NATIVE_DOM ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props) : new RuntimeShaderImageFilterNode(this.ctx, props);
|
135
136
|
} // Color Filters
|
136
137
|
|
137
138
|
|
138
139
|
MatrixColorFilter(props) {
|
139
|
-
return
|
140
|
+
return NATIVE_DOM ? global.SkiaDomApi.MatrixColorFilterNode(props) : new MatrixColorFilterNode(this.ctx, props);
|
140
141
|
}
|
141
142
|
|
142
143
|
BlendColorFilter(props) {
|
143
|
-
return
|
144
|
+
return NATIVE_DOM ? global.SkiaDomApi.BlendColorFilterNode(props) : new BlendColorFilterNode(this.ctx, props);
|
144
145
|
}
|
145
146
|
|
146
147
|
LumaColorFilter() {
|
147
|
-
return
|
148
|
+
return NATIVE_DOM ? global.SkiaDomApi.LumaColorFilterNode() : new LumaColorFilterNode(this.ctx);
|
148
149
|
}
|
149
150
|
|
150
151
|
LinearToSRGBGammaColorFilter() {
|
@@ -156,89 +157,89 @@ export class JsiSkDOM {
|
|
156
157
|
}
|
157
158
|
|
158
159
|
LerpColorFilter(props) {
|
159
|
-
return
|
160
|
+
return NATIVE_DOM ? global.SkiaDomApi.LerpColorFilterNode(props) : new LerpColorFilterNode(this.ctx, props);
|
160
161
|
} // Shaders
|
161
162
|
|
162
163
|
|
163
164
|
Shader(props) {
|
164
|
-
return
|
165
|
+
return NATIVE_DOM ? global.SkiaDomApi.ShaderNode(props) : new ShaderNode(this.ctx, props);
|
165
166
|
}
|
166
167
|
|
167
168
|
ImageShader(props) {
|
168
|
-
return
|
169
|
+
return NATIVE_DOM ? global.SkiaDomApi.ImageShaderNode(props) : new ImageShaderNode(this.ctx, props);
|
169
170
|
}
|
170
171
|
|
171
172
|
ColorShader(props) {
|
172
|
-
return
|
173
|
+
return NATIVE_DOM ? global.SkiaDomApi.ColorShaderNode(props) : new ColorNode(this.ctx, props);
|
173
174
|
}
|
174
175
|
|
175
176
|
SweepGradient(props) {
|
176
|
-
return
|
177
|
+
return NATIVE_DOM ? global.SkiaDomApi.SweepGradientNode(props) : new SweepGradientNode(this.ctx, props);
|
177
178
|
}
|
178
179
|
|
179
180
|
Turbulence(props) {
|
180
|
-
return
|
181
|
+
return NATIVE_DOM ? global.SkiaDomApi.TurbulenceNode(props) : new TurbulenceNode(this.ctx, props);
|
181
182
|
}
|
182
183
|
|
183
184
|
FractalNoise(props) {
|
184
|
-
return
|
185
|
+
return NATIVE_DOM ? global.SkiaDomApi.FractalNoiseNode(props) : new FractalNoiseNode(this.ctx, props);
|
185
186
|
}
|
186
187
|
|
187
188
|
LinearGradient(props) {
|
188
|
-
return
|
189
|
+
return NATIVE_DOM ? global.SkiaDomApi.LinearGradientNode(props) : new LinearGradientNode(this.ctx, props);
|
189
190
|
}
|
190
191
|
|
191
192
|
RadialGradient(props) {
|
192
|
-
return
|
193
|
+
return NATIVE_DOM ? global.SkiaDomApi.RadialGradientNode(props) : new RadialGradientNode(this.ctx, props);
|
193
194
|
}
|
194
195
|
|
195
196
|
TwoPointConicalGradient(props) {
|
196
|
-
return
|
197
|
+
return NATIVE_DOM ? global.SkiaDomApi.TwoPointConicalGradientNode(props) : new TwoPointConicalGradientNode(this.ctx, props);
|
197
198
|
} // Path Effects
|
198
199
|
|
199
200
|
|
200
201
|
CornerPathEffect(props) {
|
201
|
-
return
|
202
|
+
return NATIVE_DOM ? global.SkiaDomApi.CornerPathEffectNode(props) : new CornerPathEffectNode(this.ctx, props);
|
202
203
|
}
|
203
204
|
|
204
205
|
DiscretePathEffect(props) {
|
205
|
-
return
|
206
|
+
return NATIVE_DOM ? global.SkiaDomApi.DiscretePathEffectNode(props) : new DiscretePathEffectNode(this.ctx, props);
|
206
207
|
}
|
207
208
|
|
208
209
|
DashPathEffect(props) {
|
209
|
-
return
|
210
|
+
return NATIVE_DOM ? global.SkiaDomApi.DashPathEffectNode(props) : new DashPathEffectNode(this.ctx, props);
|
210
211
|
}
|
211
212
|
|
212
213
|
Path1DPathEffect(props) {
|
213
|
-
return
|
214
|
+
return NATIVE_DOM ? global.SkiaDomApi.Path1DPathEffectNode(props) : new Path1DPathEffectNode(this.ctx, props);
|
214
215
|
}
|
215
216
|
|
216
217
|
Path2DPathEffect(props) {
|
217
|
-
return
|
218
|
+
return NATIVE_DOM ? global.SkiaDomApi.Path2DPathEffectNode(props) : new Path2DPathEffectNode(this.ctx, props);
|
218
219
|
}
|
219
220
|
|
220
221
|
SumPathEffect() {
|
221
|
-
return
|
222
|
+
return NATIVE_DOM ? global.SkiaDomApi.SumPathEffectNode() : new SumPathEffectNode(this.ctx);
|
222
223
|
}
|
223
224
|
|
224
225
|
Line2DPathEffect(props) {
|
225
|
-
return
|
226
|
+
return NATIVE_DOM ? global.SkiaDomApi.Line2DPathEffectNode(props) : new Line2DPathEffectNode(this.ctx, props);
|
226
227
|
}
|
227
228
|
|
228
229
|
Blend(props) {
|
229
|
-
return
|
230
|
+
return NATIVE_DOM ? global.SkiaDomApi.BlendNode(props) : new BlendNode(this.ctx, props);
|
230
231
|
}
|
231
232
|
|
232
233
|
BackdropFilter(props) {
|
233
|
-
return
|
234
|
+
return NATIVE_DOM ? global.SkiaDomApi.BackdropFilterNode(props) : new BackdropFilterNode(this.ctx, props);
|
234
235
|
}
|
235
236
|
|
236
237
|
Box(props) {
|
237
|
-
return
|
238
|
+
return NATIVE_DOM ? global.SkiaDomApi.BoxNode(props) : new BoxNode(this.ctx, props);
|
238
239
|
}
|
239
240
|
|
240
241
|
BoxShadow(props) {
|
241
|
-
return
|
242
|
+
return NATIVE_DOM ? global.SkiaDomApi.BoxShadowNode(props) : new BoxShadowNode(this.ctx, props);
|
242
243
|
}
|
243
244
|
|
244
245
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["FillNode","ImageNode","CircleNode","PathNode","LineNode","PatchNode","PointsNode","RectNode","RRectNode","VerticesNode","TextNode","OvalNode","CustomDrawingNode","TextPathNode","TextBlobNode","GlyphsNode","DiffRectNode","PictureNode","ImageSVGNode","BackdropFilterNode","BoxNode","BoxShadowNode","BlendImageFilterNode","BlurImageFilterNode","BlurMaskFilterNode","DisplacementMapImageFilterNode","DropShadowImageFilterNode","OffsetImageFilterNode","RuntimeShaderImageFilterNode","CornerPathEffectNode","DiscretePathEffectNode","DashPathEffectNode","Path1DPathEffectNode","Path2DPathEffectNode","SumPathEffectNode","Line2DPathEffectNode","BlendNode","MatrixColorFilterNode","LumaColorFilterNode","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilterNode","BlendColorFilterNode","LerpColorFilterNode","LinearGradientNode","ShaderNode","ImageShaderNode","TwoPointConicalGradientNode","TurbulenceNode","SweepGradientNode","RadialGradientNode","FractalNoiseNode","ColorNode","MorphologyImageFilterNode","GroupNode","PaintNode","LayerNode","JsiSkDOM","constructor","ctx","Layer","props","global","SkiaDomApi","Group","Paint","Fill","Image","Circle","Path","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","BlurImageFilter","OffsetImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","ColorShaderNode","SweepGradient","Turbulence","FractalNoise","LinearGradient","RadialGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"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":"AA2DA,SACEA,QADF,EAEEC,SAFF,EAGEC,UAHF,EAIEC,QAJF,EAKEC,QALF,EAMEC,SANF,EAOEC,UAPF,EAQEC,QARF,EASEC,SATF,EAUEC,YAVF,EAWEC,QAXF,EAYEC,QAZF,EAaEC,iBAbF,EAcEC,YAdF,EAeEC,YAfF,EAgBEC,UAhBF,EAiBEC,YAjBF,EAkBEC,WAlBF,EAmBEC,YAnBF,EAoBEC,kBApBF,EAqBEC,OArBF,EAsBEC,aAtBF,QAuBO,YAvBP;AAwBA,SACEC,oBADF,EAEEC,mBAFF,EAGEC,kBAHF,EAIEC,8BAJF,EAKEC,yBALF,EAMEC,qBANF,EAOEC,4BAPF,EAQEC,oBARF,EASEC,sBATF,EAUEC,kBAVF,EAWEC,oBAXF,EAYEC,oBAZF,EAaEC,iBAbF,EAcEC,oBAdF,EAeEC,SAfF,QAgBO,SAhBP;AAiBA,SACEC,qBADF,EAEEC,mBAFF,EAGEC,gCAHF,EAIEC,gCAJF,EAKEC,oBALF,EAMEC,mBANF,QAOO,sBAPP;AAQA,SACEC,kBADF,EAEEC,UAFF,EAGEC,eAHF,EAIEC,2BAJF,EAKEC,cALF,EAMEC,iBANF,EAOEC,kBAPF,EAQEC,gBARF,EASEC,SATF,QAUO,iBAVP;AAWA,SAASC,yBAAT,QAA0C,sBAA1C;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;AAEA,SAASC,SAAT,QAA0B,aAA1B;AAEA,OAAO,MAAMC,QAAN,CAAgC;EACrCC,WAAW,CAASC,GAAT,EAA2B;IAAA,KAAlBA,GAAkB,GAAlBA,GAAkB;EAAE;;EAExCC,KAAK,CAACC,KAAD,EAAwB;IAC3B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBP,SAAvC,GACHM,MAAM,CAACC,UAAP,CAAkBP,SAAlB,CAA4BK,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADG,GAEH,IAAIL,SAAJ,CAAc,KAAKG,GAAnB,EAAwBE,KAAxB,aAAwBA,KAAxB,cAAwBA,KAAxB,GAAiC,EAAjC,CAFJ;EAGD;;EAEDG,KAAK,CAACH,KAAD,EAAqB;IACxB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBT,SAAvC,GACHQ,MAAM,CAACC,UAAP,CAAkBT,SAAlB,CAA4BO,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADG,GAEH,IAAIP,SAAJ,CAAc,KAAKK,GAAnB,EAAwBE,KAAxB,aAAwBA,KAAxB,cAAwBA,KAAxB,GAAiC,EAAjC,CAFJ;EAGD;;EAEDI,KAAK,CAACJ,KAAD,EAAoB;IACvB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBR,SAAvC,GACHO,MAAM,CAACC,UAAP,CAAkBR,SAAlB,CAA4BM,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADG,GAEH,IAAIN,SAAJ,CAAc,KAAKI,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD,CAnBoC,CAqBrC;;;EACAK,IAAI,CAACL,KAAD,EAA2B;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB9D,QAAvC,GACH6D,MAAM,CAACC,UAAP,CAAkB9D,QAAlB,CAA2B4D,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADG,GAEH,IAAI5D,QAAJ,CAAa,KAAK0D,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDM,KAAK,CAACN,KAAD,EAAoB;IACvB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB7D,SAAvC,GACH4D,MAAM,CAACC,UAAP,CAAkB7D,SAAlB,CAA4B2D,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADG,GAEH,IAAI3D,SAAJ,CAAc,KAAKyD,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDO,MAAM,CAACP,KAAD,EAAqB;IACzB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB5D,UAAvC,GACH2D,MAAM,CAACC,UAAP,CAAkB5D,UAAlB,CAA6B0D,KAA7B,aAA6BA,KAA7B,cAA6BA,KAA7B,GAAsC,EAAtC,CADG,GAEH,IAAI1D,UAAJ,CAAe,KAAKwD,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDQ,IAAI,CAACR,KAAD,EAAmB;IACrB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB3D,QAAvC,GACH0D,MAAM,CAACC,UAAP,CAAkB3D,QAAlB,CAA2ByD,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADG,GAEH,IAAIzD,QAAJ,CAAa,KAAKuD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDS,aAAa,CAACT,KAAD,EAAgC;IAC3C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBlD,iBAAvC,GACHiD,MAAM,CAACC,UAAP,CAAkBlD,iBAAlB,CAAoCgD,KAApC,aAAoCA,KAApC,cAAoCA,KAApC,GAA6C,EAA7C,CADG,GAEH,IAAIhD,iBAAJ,CAAsB,KAAK8C,GAA3B,EAAgCE,KAAhC,CAFJ;EAGD;;EAEDU,IAAI,CAACV,KAAD,EAAmB;IACrB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB1D,QAAvC,GACHyD,MAAM,CAACC,UAAP,CAAkB1D,QAAlB,CAA2BwD,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADG,GAEH,IAAIxD,QAAJ,CAAa,KAAKsD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDW,IAAI,CAACX,KAAD,EAAmB;IACrB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBnD,QAAvC,GACHkD,MAAM,CAACC,UAAP,CAAkBnD,QAAlB,CAA2BiD,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADG,GAEH,IAAIjD,QAAJ,CAAa,KAAK+C,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDY,KAAK,CAACZ,KAAD,EAAoB;IACvB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBzD,SAAvC,GACHwD,MAAM,CAACC,UAAP,CAAkBzD,SAAlB,CAA4BuD,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADG,GAEH,IAAIvD,SAAJ,CAAc,KAAKqD,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDa,MAAM,CAACb,KAAD,EAAqB;IACzB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBxD,UAAvC,GACHuD,MAAM,CAACC,UAAP,CAAkBxD,UAAlB,CAA6BsD,KAA7B,aAA6BA,KAA7B,cAA6BA,KAA7B,GAAsC,EAAtC,CADG,GAEH,IAAItD,UAAJ,CAAe,KAAKoD,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDc,IAAI,CAACd,KAAD,EAAmB;IACrB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBvD,QAAvC,GACHsD,MAAM,CAACC,UAAP,CAAkBvD,QAAlB,CAA2BqD,KAA3B,CADG,GAEH,IAAIrD,QAAJ,CAAa,KAAKmD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDe,KAAK,CAACf,KAAD,EAA0B;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBtD,SAAvC,GACHqD,MAAM,CAACC,UAAP,CAAkBtD,SAAlB,CAA4BoD,KAA5B,CADG,GAEH,IAAIpD,SAAJ,CAAc,KAAKkD,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDgB,QAAQ,CAAChB,KAAD,EAAuB;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBrD,YAAvC,GACHoD,MAAM,CAACC,UAAP,CAAkBrD,YAAlB,CAA+BmD,KAA/B,CADG,GAEH,IAAInD,YAAJ,CAAiB,KAAKiD,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDiB,IAAI,CAACjB,KAAD,EAAmB;IACrB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBpD,QAAvC,GACHmD,MAAM,CAACC,UAAP,CAAkBpD,QAAlB,CAA2BkD,KAA3B,CADG,GAEH,IAAIlD,QAAJ,CAAa,KAAKgD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDkB,QAAQ,CAAClB,KAAD,EAAuB;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBjD,YAAvC,GACHgD,MAAM,CAACC,UAAP,CAAkBjD,YAAlB,CAA+B+C,KAA/B,CADG,GAEH,IAAI/C,YAAJ,CAAiB,KAAK6C,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDmB,QAAQ,CAACnB,KAAD,EAAuB;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBhD,YAAvC,GACH+C,MAAM,CAACC,UAAP,CAAkBhD,YAAlB,CAA+B8C,KAA/B,CADG,GAEH,IAAI9C,YAAJ,CAAiB,KAAK4C,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDoB,MAAM,CAACpB,KAAD,EAAqB;IACzB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB/C,UAAvC,GACH8C,MAAM,CAACC,UAAP,CAAkB/C,UAAlB,CAA6B6C,KAA7B,CADG,GAEH,IAAI7C,UAAJ,CAAe,KAAK2C,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDqB,QAAQ,CAACrB,KAAD,EAAuB;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB9C,YAAvC,GACH6C,MAAM,CAACC,UAAP,CAAkB9C,YAAlB,CAA+B4C,KAA/B,CADG,GAEH,IAAI5C,YAAJ,CAAiB,KAAK0C,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDsB,OAAO,CAACtB,KAAD,EAAsB;IAC3B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB7C,WAAvC,GACH4C,MAAM,CAACC,UAAP,CAAkB7C,WAAlB,CAA8B2C,KAA9B,CADG,GAEH,IAAI3C,WAAJ,CAAgB,KAAKyC,GAArB,EAA0BE,KAA1B,CAFJ;EAGD;;EAEDuB,QAAQ,CAACvB,KAAD,EAAuB;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB5C,YAAvC,GACH2C,MAAM,CAACC,UAAP,CAAkB5C,YAAlB,CAA+B0C,KAA/B,CADG,GAEH,IAAI1C,YAAJ,CAAiB,KAAKwC,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD,CAtIoC,CAwIrC;;;EACAwB,cAAc,CAACxB,KAAD,EAA6B;IACzC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBtC,kBAAvC,GACHqC,MAAM,CAACC,UAAP,CAAkBtC,kBAAlB,CAAqCoC,KAArC,CADG,GAEH,IAAIpC,kBAAJ,CAAuB,KAAKkC,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD,CA7IoC,CA+IrC;;;EACAyB,gBAAgB,CAACzB,KAAD,EAA+B;IAC7C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBxC,oBAAvC,GACHuC,MAAM,CAACC,UAAP,CAAkBxC,oBAAlB,CAAuCsC,KAAvC,CADG,GAEH,IAAItC,oBAAJ,CAAyB,KAAKoC,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAED0B,qBAAqB,CAAC1B,KAAD,EAAoC;IACvD,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBpC,yBAAvC,GACHmC,MAAM,CAACC,UAAP,CAAkBpC,yBAAlB,CAA4CkC,KAA5C,CADG,GAEH,IAAIlC,yBAAJ,CAA8B,KAAKgC,GAAnC,EAAwCE,KAAxC,CAFJ;EAGD;;EAED2B,0BAA0B,CAAC3B,KAAD,EAAyC;IACjE,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBrC,8BAAvC,GACHoC,MAAM,CAACC,UAAP,CAAkBrC,8BAAlB,CAAiDmC,KAAjD,CADG,GAEH,IAAInC,8BAAJ,CAAmC,KAAKiC,GAAxC,EAA6CE,KAA7C,CAFJ;EAGD;;EAED4B,eAAe,CAAC5B,KAAD,EAA8B;IAC3C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBvC,mBAAvC,GACHsC,MAAM,CAACC,UAAP,CAAkBvC,mBAAlB,CAAsCqC,KAAtC,CADG,GAEH,IAAIrC,mBAAJ,CAAwB,KAAKmC,GAA7B,EAAkCE,KAAlC,CAFJ;EAGD;;EAED6B,iBAAiB,CAAC7B,KAAD,EAAgC;IAC/C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBnC,qBAAvC,GACHkC,MAAM,CAACC,UAAP,CAAkBnC,qBAAlB,CAAwCiC,KAAxC,CADG,GAEH,IAAIjC,qBAAJ,CAA0B,KAAK+B,GAA/B,EAAoCE,KAApC,CAFJ;EAGD;;EAED8B,qBAAqB,CAAC9B,KAAD,EAAoC;IACvD,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBV,yBAAvC,GACHS,MAAM,CAACC,UAAP,CAAkBV,yBAAlB,CAA4CQ,KAA5C,CADG,GAEH,IAAIR,yBAAJ,CAA8B,KAAKM,GAAnC,EAAwCE,KAAxC,CAFJ;EAGD;;EAED+B,wBAAwB,CAAC/B,KAAD,EAAuC;IAC7D,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBlC,4BAAvC,GACHiC,MAAM,CAACC,UAAP,CAAkBlC,4BAAlB,CAA+CgC,KAA/C,CADG,GAEH,IAAIhC,4BAAJ,CAAiC,KAAK8B,GAAtC,EAA2CE,KAA3C,CAFJ;EAGD,CAxLoC,CA0LrC;;;EACAgC,iBAAiB,CAAChC,KAAD,EAAgC;IAC/C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBzB,qBAAvC,GACHwB,MAAM,CAACC,UAAP,CAAkBzB,qBAAlB,CAAwCuB,KAAxC,CADG,GAEH,IAAIvB,qBAAJ,CAA0B,KAAKqB,GAA/B,EAAoCE,KAApC,CAFJ;EAGD;;EAEDiC,gBAAgB,CAACjC,KAAD,EAA+B;IAC7C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBrB,oBAAvC,GACHoB,MAAM,CAACC,UAAP,CAAkBrB,oBAAlB,CAAuCmB,KAAvC,CADG,GAEH,IAAInB,oBAAJ,CAAyB,KAAKiB,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDkC,eAAe,GAAG;IAChB,OAAOjC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBxB,mBAAvC,GACHuB,MAAM,CAACC,UAAP,CAAkBxB,mBAAlB,EADG,GAEH,IAAIA,mBAAJ,CAAwB,KAAKoB,GAA7B,CAFJ;EAGD;;EAEDqC,4BAA4B,GAAG;IAC7B,OAAOlC,MAAM,CAACC,UAAP,IACLD,MAAM,CAACC,UAAP,CAAkBvB,gCADb,GAEHsB,MAAM,CAACC,UAAP,CAAkBvB,gCAAlB,EAFG,GAGH,IAAIA,gCAAJ,CAAqC,KAAKmB,GAA1C,CAHJ;EAID;;EAEDsC,4BAA4B,GAAG;IAC7B,OAAOnC,MAAM,CAACC,UAAP,IACLD,MAAM,CAACC,UAAP,CAAkBtB,gCADb,GAEHqB,MAAM,CAACC,UAAP,CAAkBtB,gCAAlB,EAFG,GAGH,IAAIA,gCAAJ,CAAqC,KAAKkB,GAA1C,CAHJ;EAID;;EAEDuC,eAAe,CAACrC,KAAD,EAA8B;IAC3C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBpB,mBAAvC,GACHmB,MAAM,CAACC,UAAP,CAAkBpB,mBAAlB,CAAsCkB,KAAtC,CADG,GAEH,IAAIlB,mBAAJ,CAAwB,KAAKgB,GAA7B,EAAkCE,KAAlC,CAFJ;EAGD,CA/NoC,CAiOrC;;;EACAsC,MAAM,CAACtC,KAAD,EAAqB;IACzB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBlB,UAAvC,GACHiB,MAAM,CAACC,UAAP,CAAkBlB,UAAlB,CAA6BgB,KAA7B,CADG,GAEH,IAAIhB,UAAJ,CAAe,KAAKc,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDuC,WAAW,CAACvC,KAAD,EAA0B;IACnC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBjB,eAAvC,GACHgB,MAAM,CAACC,UAAP,CAAkBjB,eAAlB,CAAkCe,KAAlC,CADG,GAEH,IAAIf,eAAJ,CAAoB,KAAKa,GAAzB,EAA8BE,KAA9B,CAFJ;EAGD;;EAEDwC,WAAW,CAACxC,KAAD,EAAoB;IAC7B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBuC,eAAvC,GACHxC,MAAM,CAACC,UAAP,CAAkBuC,eAAlB,CAAkCzC,KAAlC,CADG,GAEH,IAAIT,SAAJ,CAAc,KAAKO,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAED0C,aAAa,CAAC1C,KAAD,EAA4B;IACvC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBd,iBAAvC,GACHa,MAAM,CAACC,UAAP,CAAkBd,iBAAlB,CAAoCY,KAApC,CADG,GAEH,IAAIZ,iBAAJ,CAAsB,KAAKU,GAA3B,EAAgCE,KAAhC,CAFJ;EAGD;;EAED2C,UAAU,CAAC3C,KAAD,EAAyB;IACjC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBf,cAAvC,GACHc,MAAM,CAACC,UAAP,CAAkBf,cAAlB,CAAiCa,KAAjC,CADG,GAEH,IAAIb,cAAJ,CAAmB,KAAKW,GAAxB,EAA6BE,KAA7B,CAFJ;EAGD;;EAED4C,YAAY,CAAC5C,KAAD,EAA2B;IACrC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBZ,gBAAvC,GACHW,MAAM,CAACC,UAAP,CAAkBZ,gBAAlB,CAAmCU,KAAnC,CADG,GAEH,IAAIV,gBAAJ,CAAqB,KAAKQ,GAA1B,EAA+BE,KAA/B,CAFJ;EAGD;;EAED6C,cAAc,CAAC7C,KAAD,EAA6B;IACzC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBnB,kBAAvC,GACHkB,MAAM,CAACC,UAAP,CAAkBnB,kBAAlB,CAAqCiB,KAArC,CADG,GAEH,IAAIjB,kBAAJ,CAAuB,KAAKe,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAED8C,cAAc,CAAC9C,KAAD,EAA6B;IACzC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBb,kBAAvC,GACHY,MAAM,CAACC,UAAP,CAAkBb,kBAAlB,CAAqCW,KAArC,CADG,GAEH,IAAIX,kBAAJ,CAAuB,KAAKS,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAED+C,uBAAuB,CAAC/C,KAAD,EAAsC;IAC3D,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBhB,2BAAvC,GACHe,MAAM,CAACC,UAAP,CAAkBhB,2BAAlB,CAA8Cc,KAA9C,CADG,GAEH,IAAId,2BAAJ,CAAgC,KAAKY,GAArC,EAA0CE,KAA1C,CAFJ;EAGD,CAtRoC,CAwRrC;;;EACAgD,gBAAgB,CAAChD,KAAD,EAA+B;IAC7C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBjC,oBAAvC,GACHgC,MAAM,CAACC,UAAP,CAAkBjC,oBAAlB,CAAuC+B,KAAvC,CADG,GAEH,IAAI/B,oBAAJ,CAAyB,KAAK6B,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDiD,kBAAkB,CAACjD,KAAD,EAAiC;IACjD,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBhC,sBAAvC,GACH+B,MAAM,CAACC,UAAP,CAAkBhC,sBAAlB,CAAyC8B,KAAzC,CADG,GAEH,IAAI9B,sBAAJ,CAA2B,KAAK4B,GAAhC,EAAqCE,KAArC,CAFJ;EAGD;;EAEDkD,cAAc,CAAClD,KAAD,EAA6B;IACzC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB/B,kBAAvC,GACH8B,MAAM,CAACC,UAAP,CAAkB/B,kBAAlB,CAAqC6B,KAArC,CADG,GAEH,IAAI7B,kBAAJ,CAAuB,KAAK2B,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAEDmD,gBAAgB,CAACnD,KAAD,EAA+B;IAC7C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB9B,oBAAvC,GACH6B,MAAM,CAACC,UAAP,CAAkB9B,oBAAlB,CAAuC4B,KAAvC,CADG,GAEH,IAAI5B,oBAAJ,CAAyB,KAAK0B,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDoD,gBAAgB,CAACpD,KAAD,EAA+B;IAC7C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB7B,oBAAvC,GACH4B,MAAM,CAACC,UAAP,CAAkB7B,oBAAlB,CAAuC2B,KAAvC,CADG,GAEH,IAAI3B,oBAAJ,CAAyB,KAAKyB,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDqD,aAAa,GAAG;IACd,OAAOpD,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB5B,iBAAvC,GACH2B,MAAM,CAACC,UAAP,CAAkB5B,iBAAlB,EADG,GAEH,IAAIA,iBAAJ,CAAsB,KAAKwB,GAA3B,CAFJ;EAGD;;EAEDwD,gBAAgB,CAACtD,KAAD,EAA+B;IAC7C,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB3B,oBAAvC,GACH0B,MAAM,CAACC,UAAP,CAAkB3B,oBAAlB,CAAuCyB,KAAvC,CADG,GAEH,IAAIzB,oBAAJ,CAAyB,KAAKuB,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDuD,KAAK,CAACvD,KAAD,EAAoB;IACvB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB1B,SAAvC,GACHyB,MAAM,CAACC,UAAP,CAAkB1B,SAAlB,CAA4BwB,KAA5B,CADG,GAEH,IAAIxB,SAAJ,CAAc,KAAKsB,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDwD,cAAc,CAACxD,KAAD,EAAuB;IACnC,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB3C,kBAAvC,GACH0C,MAAM,CAACC,UAAP,CAAkB3C,kBAAlB,CAAqCyC,KAArC,CADG,GAEH,IAAIzC,kBAAJ,CAAuB,KAAKuC,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAEDyD,GAAG,CAACzD,KAAD,EAAkB;IACnB,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkB1C,OAAvC,GACHyC,MAAM,CAACC,UAAP,CAAkB1C,OAAlB,CAA0BwC,KAA1B,CADG,GAEH,IAAIxC,OAAJ,CAAY,KAAKsC,GAAjB,EAAsBE,KAAtB,CAFJ;EAGD;;EAED0D,SAAS,CAAC1D,KAAD,EAAwB;IAC/B,OAAOC,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBzC,aAAvC,GACHwC,MAAM,CAACC,UAAP,CAAkBzC,aAAlB,CAAgCuC,KAAhC,CADG,GAEH,IAAIvC,aAAJ,CAAkB,KAAKqC,GAAvB,EAA4BE,KAA5B,CAFJ;EAGD;;AAzVoC"}
|
1
|
+
{"version":3,"names":["NATIVE_DOM","FillNode","ImageNode","CircleNode","PathNode","LineNode","PatchNode","PointsNode","RectNode","RRectNode","VerticesNode","TextNode","OvalNode","CustomDrawingNode","TextPathNode","TextBlobNode","GlyphsNode","DiffRectNode","PictureNode","ImageSVGNode","BackdropFilterNode","BoxNode","BoxShadowNode","BlendImageFilterNode","BlurImageFilterNode","BlurMaskFilterNode","DisplacementMapImageFilterNode","DropShadowImageFilterNode","OffsetImageFilterNode","RuntimeShaderImageFilterNode","CornerPathEffectNode","DiscretePathEffectNode","DashPathEffectNode","Path1DPathEffectNode","Path2DPathEffectNode","SumPathEffectNode","Line2DPathEffectNode","BlendNode","MatrixColorFilterNode","LumaColorFilterNode","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilterNode","BlendColorFilterNode","LerpColorFilterNode","LinearGradientNode","ShaderNode","ImageShaderNode","TwoPointConicalGradientNode","TurbulenceNode","SweepGradientNode","RadialGradientNode","FractalNoiseNode","ColorNode","MorphologyImageFilterNode","GroupNode","PaintNode","LayerNode","JsiSkDOM","constructor","ctx","Layer","props","global","SkiaDomApi","Group","Paint","Fill","Image","Circle","Path","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","BlurImageFilter","OffsetImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","ColorShaderNode","SweepGradient","Turbulence","FractalNoise","LinearGradient","RadialGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"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":"AA0DA,SAASA,UAAT,QAA2B,+BAA3B;AAEA,SACEC,QADF,EAEEC,SAFF,EAGEC,UAHF,EAIEC,QAJF,EAKEC,QALF,EAMEC,SANF,EAOEC,UAPF,EAQEC,QARF,EASEC,SATF,EAUEC,YAVF,EAWEC,QAXF,EAYEC,QAZF,EAaEC,iBAbF,EAcEC,YAdF,EAeEC,YAfF,EAgBEC,UAhBF,EAiBEC,YAjBF,EAkBEC,WAlBF,EAmBEC,YAnBF,EAoBEC,kBApBF,EAqBEC,OArBF,EAsBEC,aAtBF,QAuBO,YAvBP;AAwBA,SACEC,oBADF,EAEEC,mBAFF,EAGEC,kBAHF,EAIEC,8BAJF,EAKEC,yBALF,EAMEC,qBANF,EAOEC,4BAPF,EAQEC,oBARF,EASEC,sBATF,EAUEC,kBAVF,EAWEC,oBAXF,EAYEC,oBAZF,EAaEC,iBAbF,EAcEC,oBAdF,EAeEC,SAfF,QAgBO,SAhBP;AAiBA,SACEC,qBADF,EAEEC,mBAFF,EAGEC,gCAHF,EAIEC,gCAJF,EAKEC,oBALF,EAMEC,mBANF,QAOO,sBAPP;AAQA,SACEC,kBADF,EAEEC,UAFF,EAGEC,eAHF,EAIEC,2BAJF,EAKEC,cALF,EAMEC,iBANF,EAOEC,kBAPF,EAQEC,gBARF,EASEC,SATF,QAUO,iBAVP;AAWA,SAASC,yBAAT,QAA0C,sBAA1C;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;AAEA,SAASC,SAAT,QAA0B,aAA1B;AAEA,OAAO,MAAMC,QAAN,CAAgC;EACrCC,WAAW,CAASC,GAAT,EAA2B;IAAA,KAAlBA,GAAkB,GAAlBA,GAAkB;EAAE;;EAExCC,KAAK,CAACC,KAAD,EAAwB;IAC3B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBP,SAAlB,CAA4BK,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADa,GAEb,IAAIL,SAAJ,CAAc,KAAKG,GAAnB,EAAwBE,KAAxB,aAAwBA,KAAxB,cAAwBA,KAAxB,GAAiC,EAAjC,CAFJ;EAGD;;EAEDG,KAAK,CAACH,KAAD,EAAqB;IACxB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBT,SAAlB,CAA4BO,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADa,GAEb,IAAIP,SAAJ,CAAc,KAAKK,GAAnB,EAAwBE,KAAxB,aAAwBA,KAAxB,cAAwBA,KAAxB,GAAiC,EAAjC,CAFJ;EAGD;;EAEDI,KAAK,CAACJ,KAAD,EAAoB;IACvB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBR,SAAlB,CAA4BM,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADa,GAEb,IAAIN,SAAJ,CAAc,KAAKI,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD,CAnBoC,CAqBrC;;;EACAK,IAAI,CAACL,KAAD,EAA2B;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB9D,QAAlB,CAA2B4D,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADa,GAEb,IAAI5D,QAAJ,CAAa,KAAK0D,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDM,KAAK,CAACN,KAAD,EAAoB;IACvB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB7D,SAAlB,CAA4B2D,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADa,GAEb,IAAI3D,SAAJ,CAAc,KAAKyD,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDO,MAAM,CAACP,KAAD,EAAqB;IACzB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB5D,UAAlB,CAA6B0D,KAA7B,aAA6BA,KAA7B,cAA6BA,KAA7B,GAAsC,EAAtC,CADa,GAEb,IAAI1D,UAAJ,CAAe,KAAKwD,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDQ,IAAI,CAACR,KAAD,EAAmB;IACrB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB3D,QAAlB,CAA2ByD,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADa,GAEb,IAAIzD,QAAJ,CAAa,KAAKuD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDS,aAAa,CAACT,KAAD,EAAgC;IAC3C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBlD,iBAAlB,CAAoCgD,KAApC,aAAoCA,KAApC,cAAoCA,KAApC,GAA6C,EAA7C,CADa,GAEb,IAAIhD,iBAAJ,CAAsB,KAAK8C,GAA3B,EAAgCE,KAAhC,CAFJ;EAGD;;EAEDU,IAAI,CAACV,KAAD,EAAmB;IACrB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB1D,QAAlB,CAA2BwD,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADa,GAEb,IAAIxD,QAAJ,CAAa,KAAKsD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDW,IAAI,CAACX,KAAD,EAAmB;IACrB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBnD,QAAlB,CAA2BiD,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC,CADa,GAEb,IAAIjD,QAAJ,CAAa,KAAK+C,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDY,KAAK,CAACZ,KAAD,EAAoB;IACvB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBzD,SAAlB,CAA4BuD,KAA5B,aAA4BA,KAA5B,cAA4BA,KAA5B,GAAqC,EAArC,CADa,GAEb,IAAIvD,SAAJ,CAAc,KAAKqD,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDa,MAAM,CAACb,KAAD,EAAqB;IACzB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBxD,UAAlB,CAA6BsD,KAA7B,aAA6BA,KAA7B,cAA6BA,KAA7B,GAAsC,EAAtC,CADa,GAEb,IAAItD,UAAJ,CAAe,KAAKoD,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDc,IAAI,CAACd,KAAD,EAAmB;IACrB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBvD,QAAlB,CAA2BqD,KAA3B,CADa,GAEb,IAAIrD,QAAJ,CAAa,KAAKmD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDe,KAAK,CAACf,KAAD,EAA0B;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBtD,SAAlB,CAA4BoD,KAA5B,CADa,GAEb,IAAIpD,SAAJ,CAAc,KAAKkD,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDgB,QAAQ,CAAChB,KAAD,EAAuB;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBrD,YAAlB,CAA+BmD,KAA/B,CADa,GAEb,IAAInD,YAAJ,CAAiB,KAAKiD,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDiB,IAAI,CAACjB,KAAD,EAAmB;IACrB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBpD,QAAlB,CAA2BkD,KAA3B,CADa,GAEb,IAAIlD,QAAJ,CAAa,KAAKgD,GAAlB,EAAuBE,KAAvB,CAFJ;EAGD;;EAEDkB,QAAQ,CAAClB,KAAD,EAAuB;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBjD,YAAlB,CAA+B+C,KAA/B,CADa,GAEb,IAAI/C,YAAJ,CAAiB,KAAK6C,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDmB,QAAQ,CAACnB,KAAD,EAAuB;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBhD,YAAlB,CAA+B8C,KAA/B,CADa,GAEb,IAAI9C,YAAJ,CAAiB,KAAK4C,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDoB,MAAM,CAACpB,KAAD,EAAqB;IACzB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB/C,UAAlB,CAA6B6C,KAA7B,CADa,GAEb,IAAI7C,UAAJ,CAAe,KAAK2C,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDqB,QAAQ,CAACrB,KAAD,EAAuB;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB9C,YAAlB,CAA+B4C,KAA/B,CADa,GAEb,IAAI5C,YAAJ,CAAiB,KAAK0C,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD;;EAEDsB,OAAO,CAACtB,KAAD,EAAsB;IAC3B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB7C,WAAlB,CAA8B2C,KAA9B,CADa,GAEb,IAAI3C,WAAJ,CAAgB,KAAKyC,GAArB,EAA0BE,KAA1B,CAFJ;EAGD;;EAEDuB,QAAQ,CAACvB,KAAD,EAAuB;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB5C,YAAlB,CAA+B0C,KAA/B,CADa,GAEb,IAAI1C,YAAJ,CAAiB,KAAKwC,GAAtB,EAA2BE,KAA3B,CAFJ;EAGD,CAtIoC,CAwIrC;;;EACAwB,cAAc,CAACxB,KAAD,EAA6B;IACzC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBtC,kBAAlB,CAAqCoC,KAArC,CADa,GAEb,IAAIpC,kBAAJ,CAAuB,KAAKkC,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD,CA7IoC,CA+IrC;;;EACAyB,gBAAgB,CAACzB,KAAD,EAA+B;IAC7C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBxC,oBAAlB,CAAuCsC,KAAvC,CADa,GAEb,IAAItC,oBAAJ,CAAyB,KAAKoC,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAED0B,qBAAqB,CAAC1B,KAAD,EAAoC;IACvD,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBpC,yBAAlB,CAA4CkC,KAA5C,CADa,GAEb,IAAIlC,yBAAJ,CAA8B,KAAKgC,GAAnC,EAAwCE,KAAxC,CAFJ;EAGD;;EAED2B,0BAA0B,CAAC3B,KAAD,EAAyC;IACjE,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBrC,8BAAlB,CAAiDmC,KAAjD,CADa,GAEb,IAAInC,8BAAJ,CAAmC,KAAKiC,GAAxC,EAA6CE,KAA7C,CAFJ;EAGD;;EAED4B,eAAe,CAAC5B,KAAD,EAA8B;IAC3C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBvC,mBAAlB,CAAsCqC,KAAtC,CADa,GAEb,IAAIrC,mBAAJ,CAAwB,KAAKmC,GAA7B,EAAkCE,KAAlC,CAFJ;EAGD;;EAED6B,iBAAiB,CAAC7B,KAAD,EAAgC;IAC/C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBnC,qBAAlB,CAAwCiC,KAAxC,CADa,GAEb,IAAIjC,qBAAJ,CAA0B,KAAK+B,GAA/B,EAAoCE,KAApC,CAFJ;EAGD;;EAED8B,qBAAqB,CAAC9B,KAAD,EAAoC;IACvD,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBV,yBAAlB,CAA4CQ,KAA5C,CADa,GAEb,IAAIR,yBAAJ,CAA8B,KAAKM,GAAnC,EAAwCE,KAAxC,CAFJ;EAGD;;EAED+B,wBAAwB,CAAC/B,KAAD,EAAuC;IAC7D,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBlC,4BAAlB,CAA+CgC,KAA/C,CADa,GAEb,IAAIhC,4BAAJ,CAAiC,KAAK8B,GAAtC,EAA2CE,KAA3C,CAFJ;EAGD,CAxLoC,CA0LrC;;;EACAgC,iBAAiB,CAAChC,KAAD,EAAgC;IAC/C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBzB,qBAAlB,CAAwCuB,KAAxC,CADa,GAEb,IAAIvB,qBAAJ,CAA0B,KAAKqB,GAA/B,EAAoCE,KAApC,CAFJ;EAGD;;EAEDiC,gBAAgB,CAACjC,KAAD,EAA+B;IAC7C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBrB,oBAAlB,CAAuCmB,KAAvC,CADa,GAEb,IAAInB,oBAAJ,CAAyB,KAAKiB,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDkC,eAAe,GAAG;IAChB,OAAO/F,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBxB,mBAAlB,EADa,GAEb,IAAIA,mBAAJ,CAAwB,KAAKoB,GAA7B,CAFJ;EAGD;;EAEDqC,4BAA4B,GAAG;IAC7B,OAAOlC,MAAM,CAACC,UAAP,IACLD,MAAM,CAACC,UAAP,CAAkBvB,gCADb,GAEHsB,MAAM,CAACC,UAAP,CAAkBvB,gCAAlB,EAFG,GAGH,IAAIA,gCAAJ,CAAqC,KAAKmB,GAA1C,CAHJ;EAID;;EAEDsC,4BAA4B,GAAG;IAC7B,OAAOnC,MAAM,CAACC,UAAP,IACLD,MAAM,CAACC,UAAP,CAAkBtB,gCADb,GAEHqB,MAAM,CAACC,UAAP,CAAkBtB,gCAAlB,EAFG,GAGH,IAAIA,gCAAJ,CAAqC,KAAKkB,GAA1C,CAHJ;EAID;;EAEDuC,eAAe,CAACrC,KAAD,EAA8B;IAC3C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBpB,mBAAlB,CAAsCkB,KAAtC,CADa,GAEb,IAAIlB,mBAAJ,CAAwB,KAAKgB,GAA7B,EAAkCE,KAAlC,CAFJ;EAGD,CA/NoC,CAiOrC;;;EACAsC,MAAM,CAACtC,KAAD,EAAqB;IACzB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBlB,UAAlB,CAA6BgB,KAA7B,CADa,GAEb,IAAIhB,UAAJ,CAAe,KAAKc,GAApB,EAAyBE,KAAzB,CAFJ;EAGD;;EAEDuC,WAAW,CAACvC,KAAD,EAA0B;IACnC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBjB,eAAlB,CAAkCe,KAAlC,CADa,GAEb,IAAIf,eAAJ,CAAoB,KAAKa,GAAzB,EAA8BE,KAA9B,CAFJ;EAGD;;EAEDwC,WAAW,CAACxC,KAAD,EAAoB;IAC7B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBuC,eAAlB,CAAkCzC,KAAlC,CADa,GAEb,IAAIT,SAAJ,CAAc,KAAKO,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAED0C,aAAa,CAAC1C,KAAD,EAA4B;IACvC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBd,iBAAlB,CAAoCY,KAApC,CADa,GAEb,IAAIZ,iBAAJ,CAAsB,KAAKU,GAA3B,EAAgCE,KAAhC,CAFJ;EAGD;;EAED2C,UAAU,CAAC3C,KAAD,EAAyB;IACjC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBf,cAAlB,CAAiCa,KAAjC,CADa,GAEb,IAAIb,cAAJ,CAAmB,KAAKW,GAAxB,EAA6BE,KAA7B,CAFJ;EAGD;;EAED4C,YAAY,CAAC5C,KAAD,EAA2B;IACrC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBZ,gBAAlB,CAAmCU,KAAnC,CADa,GAEb,IAAIV,gBAAJ,CAAqB,KAAKQ,GAA1B,EAA+BE,KAA/B,CAFJ;EAGD;;EAED6C,cAAc,CAAC7C,KAAD,EAA6B;IACzC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBnB,kBAAlB,CAAqCiB,KAArC,CADa,GAEb,IAAIjB,kBAAJ,CAAuB,KAAKe,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAED8C,cAAc,CAAC9C,KAAD,EAA6B;IACzC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBb,kBAAlB,CAAqCW,KAArC,CADa,GAEb,IAAIX,kBAAJ,CAAuB,KAAKS,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAED+C,uBAAuB,CAAC/C,KAAD,EAAsC;IAC3D,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBhB,2BAAlB,CAA8Cc,KAA9C,CADa,GAEb,IAAId,2BAAJ,CAAgC,KAAKY,GAArC,EAA0CE,KAA1C,CAFJ;EAGD,CAtRoC,CAwRrC;;;EACAgD,gBAAgB,CAAChD,KAAD,EAA+B;IAC7C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBjC,oBAAlB,CAAuC+B,KAAvC,CADa,GAEb,IAAI/B,oBAAJ,CAAyB,KAAK6B,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDiD,kBAAkB,CAACjD,KAAD,EAAiC;IACjD,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBhC,sBAAlB,CAAyC8B,KAAzC,CADa,GAEb,IAAI9B,sBAAJ,CAA2B,KAAK4B,GAAhC,EAAqCE,KAArC,CAFJ;EAGD;;EAEDkD,cAAc,CAAClD,KAAD,EAA6B;IACzC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB/B,kBAAlB,CAAqC6B,KAArC,CADa,GAEb,IAAI7B,kBAAJ,CAAuB,KAAK2B,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAEDmD,gBAAgB,CAACnD,KAAD,EAA+B;IAC7C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB9B,oBAAlB,CAAuC4B,KAAvC,CADa,GAEb,IAAI5B,oBAAJ,CAAyB,KAAK0B,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDoD,gBAAgB,CAACpD,KAAD,EAA+B;IAC7C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB7B,oBAAlB,CAAuC2B,KAAvC,CADa,GAEb,IAAI3B,oBAAJ,CAAyB,KAAKyB,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDqD,aAAa,GAAG;IACd,OAAOlH,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB5B,iBAAlB,EADa,GAEb,IAAIA,iBAAJ,CAAsB,KAAKwB,GAA3B,CAFJ;EAGD;;EAEDwD,gBAAgB,CAACtD,KAAD,EAA+B;IAC7C,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB3B,oBAAlB,CAAuCyB,KAAvC,CADa,GAEb,IAAIzB,oBAAJ,CAAyB,KAAKuB,GAA9B,EAAmCE,KAAnC,CAFJ;EAGD;;EAEDuD,KAAK,CAACvD,KAAD,EAAoB;IACvB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB1B,SAAlB,CAA4BwB,KAA5B,CADa,GAEb,IAAIxB,SAAJ,CAAc,KAAKsB,GAAnB,EAAwBE,KAAxB,CAFJ;EAGD;;EAEDwD,cAAc,CAACxD,KAAD,EAAuB;IACnC,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB3C,kBAAlB,CAAqCyC,KAArC,CADa,GAEb,IAAIzC,kBAAJ,CAAuB,KAAKuC,GAA5B,EAAiCE,KAAjC,CAFJ;EAGD;;EAEDyD,GAAG,CAACzD,KAAD,EAAkB;IACnB,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkB1C,OAAlB,CAA0BwC,KAA1B,CADa,GAEb,IAAIxC,OAAJ,CAAY,KAAKsC,GAAjB,EAAsBE,KAAtB,CAFJ;EAGD;;EAED0D,SAAS,CAAC1D,KAAD,EAAwB;IAC/B,OAAO7D,UAAU,GACb8D,MAAM,CAACC,UAAP,CAAkBzC,aAAlB,CAAgCuC,KAAhC,CADa,GAEb,IAAIvC,aAAJ,CAAkB,KAAKqC,GAAvB,EAA4BE,KAA5B,CAFJ;EAGD;;AAzVoC"}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
2
2
|
|
3
3
|
import React, { useEffect, useCallback, useMemo, forwardRef, useRef } from "react";
|
4
|
-
import { SkiaDomView } from "../views";
|
4
|
+
import { SkiaDomView, SkiaView } from "../views";
|
5
5
|
import { Skia } from "../skia/Skia";
|
6
|
+
import { JsiDrawingContext } from "../dom/types";
|
6
7
|
import { SkiaRoot } from "./Reconciler";
|
8
|
+
import { NATIVE_DOM } from "./HostComponents";
|
7
9
|
export const useCanvasRef = () => useRef(null);
|
8
10
|
export const Canvas = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
|
9
11
|
let {
|
@@ -45,15 +47,32 @@ export const Canvas = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
|
|
45
47
|
root.unmount();
|
46
48
|
};
|
47
49
|
}, [root]);
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
50
|
+
|
51
|
+
if (NATIVE_DOM) {
|
52
|
+
return /*#__PURE__*/React.createElement(SkiaDomView, _extends({
|
53
|
+
ref: ref,
|
54
|
+
style: style,
|
55
|
+
root: root.dom,
|
56
|
+
onTouch: onTouch,
|
57
|
+
onSize: onSize,
|
58
|
+
mode: mode,
|
59
|
+
debug: debug
|
60
|
+
}, props));
|
61
|
+
} else {
|
62
|
+
return /*#__PURE__*/React.createElement(SkiaView // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
63
|
+
, _extends({
|
64
|
+
ref: ref,
|
65
|
+
style: style,
|
66
|
+
mode: mode,
|
67
|
+
debug: debug,
|
68
|
+
onSize: onSize,
|
69
|
+
onDraw: (canvas, info) => {
|
70
|
+
onTouch && onTouch(info.touches);
|
71
|
+
const ctx = new JsiDrawingContext(Skia, canvas);
|
72
|
+
root.dom.render(ctx);
|
73
|
+
}
|
74
|
+
}, props));
|
75
|
+
}
|
57
76
|
});
|
58
77
|
/**
|
59
78
|
* Combines a list of refs into a single ref. This can be used to provide
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useEffect","useCallback","useMemo","forwardRef","useRef","SkiaDomView","Skia","SkiaRoot","useCanvasRef","Canvas","forwardedRef","children","style","debug","mode","onTouch","onSize","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","registerValues","values","root","render","unmount","dom","refs","targetRef","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n} 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
|
1
|
+
{"version":3,"names":["React","useEffect","useCallback","useMemo","forwardRef","useRef","SkiaDomView","SkiaView","Skia","JsiDrawingContext","SkiaRoot","NATIVE_DOM","useCanvasRef","Canvas","forwardedRef","children","style","debug","mode","onTouch","onSize","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","registerValues","values","root","render","unmount","dom","canvas","info","touches","ctx","refs","targetRef","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n} 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;
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import { NodeType } from "../dom/types";
|
2
2
|
import { exhaustiveCheck } from "./typeddash";
|
3
|
+
// This flag should only be turned on for debugging/testing
|
4
|
+
const shouldUseJSDomOnNative = false;
|
5
|
+
export const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;
|
3
6
|
export const createNode = (container, type, props) => {
|
4
7
|
const {
|
5
8
|
Sk
|