related-ui-components 1.6.2 → 1.6.4
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.
- package/lib/commonjs/app.js +114 -253
- package/lib/commonjs/app.js.map +1 -1
- package/lib/commonjs/components/ScratchCard/ScratchCard.js +137 -94
- package/lib/commonjs/components/ScratchCard/ScratchCard.js.map +1 -1
- package/lib/module/app.js +120 -257
- package/lib/module/app.js.map +1 -1
- package/lib/module/components/ScratchCard/ScratchCard.js +149 -99
- package/lib/module/components/ScratchCard/ScratchCard.js.map +1 -1
- package/lib/typescript/commonjs/app.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/ScratchCard/ScratchCard.d.ts.map +1 -1
- package/lib/typescript/module/app.d.ts.map +1 -1
- package/lib/typescript/module/components/ScratchCard/ScratchCard.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app.tsx +99 -198
- package/src/components/ScratchCard/ScratchCard.tsx +179 -114
|
@@ -12,10 +12,15 @@ var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
// Import runOnJS and useSharedValue
|
|
16
|
+
|
|
17
|
+
// Ignore specific warning if it appears, related to path mutation - use cautiously
|
|
18
|
+
// LogBox.ignoreLogs(['Skia: SkPath.Make()']);
|
|
19
|
+
|
|
15
20
|
const ScratchCard = ({
|
|
16
21
|
style,
|
|
17
22
|
children,
|
|
18
|
-
image
|
|
23
|
+
image,
|
|
19
24
|
brushStrokeWidth = 50,
|
|
20
25
|
revealThreshold = 0.8,
|
|
21
26
|
width = 300,
|
|
@@ -27,133 +32,171 @@ const ScratchCard = ({
|
|
|
27
32
|
textFontSize = 16,
|
|
28
33
|
onScratched
|
|
29
34
|
}) => {
|
|
30
|
-
const
|
|
31
|
-
const
|
|
35
|
+
const loadedImg = (0, _reactNativeSkia.useImage)(image);
|
|
36
|
+
const loadedFont = (0, _reactNativeSkia.useFont)(textFont, textFontSize);
|
|
32
37
|
const [[areaWidth, areaHeight], setSize] = (0, _react.useState)([0, 0]);
|
|
33
38
|
const [isScratched, setScratched] = (0, _react.useState)(false);
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
const [isLayoutReady, setLayoutReady] = (0, _react.useState)(false);
|
|
40
|
+
const isThresholdReached = (0, _reactNativeReanimated.useSharedValue)(false);
|
|
41
|
+
const path = (0, _reactNativeReanimated.useSharedValue)(_reactNativeSkia.Skia.Path.Make());
|
|
42
|
+
(0, _react.useEffect)(() => {
|
|
43
|
+
path.value = _reactNativeSkia.Skia.Path.Make();
|
|
44
|
+
isThresholdReached.value = false;
|
|
45
|
+
setScratched(false);
|
|
46
|
+
}, [areaWidth, areaHeight]);
|
|
47
|
+
const handleLayout = (0, _react.useCallback)(event => {
|
|
48
|
+
const {
|
|
49
|
+
width: newWidth,
|
|
50
|
+
height: newHeight
|
|
51
|
+
} = event.nativeEvent.layout;
|
|
52
|
+
if (newWidth > 0 && newHeight > 0) {
|
|
53
|
+
if (newWidth !== areaWidth || newHeight !== areaHeight) {
|
|
54
|
+
setSize([newWidth, newHeight]);
|
|
55
|
+
}
|
|
56
|
+
if (!isLayoutReady) {
|
|
57
|
+
setLayoutReady(true);
|
|
45
58
|
}
|
|
59
|
+
} else {
|
|
60
|
+
setLayoutReady(false);
|
|
46
61
|
}
|
|
47
|
-
};
|
|
48
|
-
(0, _react.
|
|
49
|
-
|
|
50
|
-
|
|
62
|
+
}, [areaWidth, areaHeight, isLayoutReady]);
|
|
63
|
+
const revealCardOnJS = (0, _react.useCallback)(() => {
|
|
64
|
+
setScratched(true);
|
|
65
|
+
onScratched?.();
|
|
66
|
+
}, [onScratched]);
|
|
51
67
|
const pan = _reactNativeGestureHandler.Gesture.Pan().averageTouches(true).maxPointers(1).onBegin(e => {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
68
|
+
if (!isLayoutReady) return;
|
|
69
|
+
try {
|
|
70
|
+
const newPath = path.value.copy();
|
|
71
|
+
newPath.moveTo(e.x, e.y);
|
|
72
|
+
newPath.lineTo(e.x + 0.001, e.y + 0.001);
|
|
73
|
+
path.value = newPath;
|
|
74
|
+
(0, _reactNativeSkia.notifyChange)(path);
|
|
75
|
+
} catch (error) {
|
|
76
|
+
console.error("ScratchCard: Error in onBegin:", error);
|
|
77
|
+
}
|
|
55
78
|
}).onChange(e => {
|
|
79
|
+
if (!isLayoutReady || isThresholdReached.value) return;
|
|
56
80
|
try {
|
|
57
|
-
|
|
58
|
-
|
|
81
|
+
const newPath = path.value.copy();
|
|
82
|
+
newPath.lineTo(e.x, e.y);
|
|
83
|
+
path.value = newPath;
|
|
59
84
|
(0, _reactNativeSkia.notifyChange)(path);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
85
|
+
const bounds = path.value.getBounds();
|
|
86
|
+
if (!bounds || areaWidth <= 0 || areaHeight <= 0) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const scratchedArea = bounds.width * bounds.height;
|
|
90
|
+
const totalArea = areaWidth * areaHeight;
|
|
91
|
+
if (totalArea > 0 && scratchedArea / totalArea > revealThreshold) {
|
|
92
|
+
if (!isThresholdReached.value) {
|
|
93
|
+
isThresholdReached.value = true;
|
|
94
|
+
(0, _reactNativeReanimated.runOnJS)(revealCardOnJS)();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
71
97
|
} catch (error) {
|
|
72
|
-
console.
|
|
98
|
+
console.error("ScratchCard: Error in onChange (UI Thread):", error);
|
|
73
99
|
}
|
|
74
|
-
|
|
75
|
-
// checkScratchProgress();
|
|
76
100
|
});
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
101
|
+
const textMetrics = _react.default.useMemo(() => {
|
|
102
|
+
if (loadedFont && text && areaWidth > 0 && areaHeight > 0) {
|
|
103
|
+
const metrics = loadedFont.measureText(text);
|
|
104
|
+
const textX = areaWidth / 2 - metrics.width / 2;
|
|
105
|
+
const textY = areaHeight / 2 + metrics.height / 3;
|
|
106
|
+
return {
|
|
107
|
+
x: textX,
|
|
108
|
+
y: textY,
|
|
109
|
+
width: metrics.width,
|
|
110
|
+
height: metrics.height
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}, [loadedFont, text, areaWidth, areaHeight]);
|
|
115
|
+
const canRenderCanvas = isLayoutReady && areaWidth > 0 && areaHeight > 0;
|
|
116
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
117
|
+
style: {
|
|
118
|
+
justifyContent: "center",
|
|
119
|
+
alignContent: "center"
|
|
80
120
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
children:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
width: areaWidth,
|
|
116
|
-
height: areaHeight
|
|
117
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
118
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
121
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
122
|
+
onLayout: handleLayout,
|
|
123
|
+
style: [styles.container, style, {
|
|
124
|
+
width,
|
|
125
|
+
height
|
|
126
|
+
}],
|
|
127
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
128
|
+
style: styles.content,
|
|
129
|
+
children: children
|
|
130
|
+
}), !isScratched && canRenderCanvas && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
131
|
+
gesture: pan,
|
|
132
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Canvas, {
|
|
133
|
+
style: styles.canvas,
|
|
134
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Mask, {
|
|
135
|
+
mode: "luminance",
|
|
136
|
+
mask: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
137
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
138
|
+
x: 0,
|
|
139
|
+
y: 0,
|
|
140
|
+
width: areaWidth,
|
|
141
|
+
height: areaHeight,
|
|
142
|
+
color: "white"
|
|
143
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Path, {
|
|
144
|
+
path: path,
|
|
145
|
+
color: "black",
|
|
146
|
+
style: "stroke",
|
|
147
|
+
strokeJoin: "round",
|
|
148
|
+
strokeCap: "round",
|
|
149
|
+
strokeWidth: brushStrokeWidth
|
|
150
|
+
})]
|
|
151
|
+
}),
|
|
152
|
+
children: loadedImg ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Image, {
|
|
153
|
+
image: loadedImg,
|
|
154
|
+
fit: "cover",
|
|
119
155
|
x: 0,
|
|
120
156
|
y: 0,
|
|
121
157
|
width: areaWidth,
|
|
122
|
-
height: areaHeight
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
158
|
+
height: areaHeight
|
|
159
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
160
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
161
|
+
x: 0,
|
|
162
|
+
y: 0,
|
|
163
|
+
width: areaWidth,
|
|
164
|
+
height: areaHeight,
|
|
165
|
+
color: backgroundColor
|
|
166
|
+
}), loadedFont && textMetrics && text ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Text, {
|
|
167
|
+
x: textMetrics.x,
|
|
168
|
+
y: textMetrics.y,
|
|
169
|
+
text: text,
|
|
170
|
+
color: textFontColor,
|
|
171
|
+
font: loadedFont
|
|
172
|
+
}) : null]
|
|
173
|
+
})
|
|
131
174
|
})
|
|
132
175
|
})
|
|
133
|
-
})
|
|
134
|
-
})
|
|
176
|
+
})]
|
|
177
|
+
})
|
|
135
178
|
});
|
|
136
179
|
};
|
|
137
180
|
const styles = _reactNative.StyleSheet.create({
|
|
138
181
|
container: {
|
|
139
182
|
position: "relative",
|
|
140
|
-
overflow: "hidden"
|
|
141
|
-
width: "100%",
|
|
142
|
-
height: "100%"
|
|
183
|
+
overflow: "hidden"
|
|
143
184
|
},
|
|
144
185
|
content: {
|
|
145
186
|
position: "absolute",
|
|
146
187
|
top: 0,
|
|
147
188
|
left: 0,
|
|
148
189
|
width: "100%",
|
|
149
|
-
height: "100%"
|
|
190
|
+
height: "100%",
|
|
191
|
+
zIndex: 1
|
|
150
192
|
},
|
|
151
193
|
canvas: {
|
|
152
194
|
position: "absolute",
|
|
153
195
|
top: 0,
|
|
154
196
|
left: 0,
|
|
155
197
|
width: "100%",
|
|
156
|
-
height: "100%"
|
|
198
|
+
height: "100%",
|
|
199
|
+
zIndex: 2
|
|
157
200
|
}
|
|
158
201
|
});
|
|
159
202
|
var _default = exports.default = ScratchCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSkia","_reactNative","_reactNativeReanimated","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ScratchCard","style","children","image","brushStrokeWidth","revealThreshold","width","height","backgroundColor","text","textFont","textFontColor","textFontSize","onScratched","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSkia","_reactNative","_reactNativeReanimated","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ScratchCard","style","children","image","brushStrokeWidth","revealThreshold","width","height","backgroundColor","text","textFont","textFontColor","textFontSize","onScratched","loadedImg","useImage","loadedFont","useFont","areaWidth","areaHeight","setSize","useState","isScratched","setScratched","isLayoutReady","setLayoutReady","isThresholdReached","useSharedValue","path","Skia","Path","Make","useEffect","value","handleLayout","useCallback","event","newWidth","newHeight","nativeEvent","layout","revealCardOnJS","pan","Gesture","Pan","averageTouches","maxPointers","onBegin","newPath","copy","moveTo","x","y","lineTo","notifyChange","error","console","onChange","bounds","getBounds","scratchedArea","totalArea","runOnJS","textMetrics","React","useMemo","metrics","measureText","textX","textY","canRenderCanvas","jsx","GestureHandlerRootView","justifyContent","alignContent","jsxs","View","onLayout","styles","container","content","GestureDetector","gesture","Canvas","canvas","Mask","mode","mask","Group","Rect","color","strokeJoin","strokeCap","strokeWidth","Image","fit","Text","font","StyleSheet","create","position","overflow","top","left","zIndex","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/ScratchCard/ScratchCard.tsx"],"mappings":"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","ignoreList":[]}
|