related-ui-components 1.5.9 → 1.6.1
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 +28 -9
- package/lib/commonjs/app.js.map +1 -1
- package/lib/commonjs/components/Marquee/Marquee.js +9 -10
- package/lib/commonjs/components/Marquee/Marquee.js.map +1 -1
- package/lib/commonjs/components/ScratchCard/ScratchCard.js +131 -87
- package/lib/commonjs/components/ScratchCard/ScratchCard.js.map +1 -1
- package/lib/commonjs/index.js +5 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/app.js +31 -12
- package/lib/module/app.js.map +1 -1
- package/lib/module/components/Marquee/Marquee.js +9 -10
- package/lib/module/components/Marquee/Marquee.js.map +1 -1
- package/lib/module/components/ScratchCard/ScratchCard.js +141 -90
- package/lib/module/components/ScratchCard/ScratchCard.js.map +1 -1
- package/lib/module/index.js +4 -7
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/app.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Marquee/Marquee.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/ScratchCard/ScratchCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/module/app.d.ts.map +1 -1
- package/lib/typescript/module/components/Marquee/Marquee.d.ts.map +1 -1
- package/lib/typescript/module/components/ScratchCard/ScratchCard.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app.tsx +19 -1
- package/src/components/Marquee/Marquee.tsx +16 -12
- package/src/components/ScratchCard/ScratchCard.tsx +156 -93
- package/src/index.ts +4 -4
package/lib/commonjs/app.js
CHANGED
|
@@ -236,15 +236,34 @@ function App() {
|
|
|
236
236
|
flex: 1,
|
|
237
237
|
backgroundColor: theme.background
|
|
238
238
|
},
|
|
239
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
239
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.ScratchCard, {
|
|
240
|
+
backgroundColor: "#8A2BE2",
|
|
241
|
+
text: "Scratch to reveal your prize!",
|
|
242
|
+
textFontColor: "#FFFFFF",
|
|
243
|
+
textFontSize: 18,
|
|
244
|
+
width: 300,
|
|
245
|
+
height: 150
|
|
246
|
+
// onScratched={() => alert("Congratulations! You won a prize!")}
|
|
247
|
+
,
|
|
248
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index2.ScratchCardContent, {
|
|
249
|
+
style: {
|
|
250
|
+
backgroundColor: "#FFD700"
|
|
251
|
+
},
|
|
252
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
253
|
+
style: {
|
|
254
|
+
fontSize: 24,
|
|
255
|
+
fontWeight: "bold",
|
|
256
|
+
color: "#000"
|
|
257
|
+
},
|
|
258
|
+
children: "50% OFF COUPON"
|
|
259
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
260
|
+
style: {
|
|
261
|
+
marginTop: 8,
|
|
262
|
+
color: "#333"
|
|
263
|
+
},
|
|
264
|
+
children: "Use code: SCRATCH50"
|
|
265
|
+
})]
|
|
266
|
+
})
|
|
248
267
|
})
|
|
249
268
|
})
|
|
250
269
|
})
|
package/lib/commonjs/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_index","_index2","_reactNativeSafeAreaContext","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","App","theme","useTheme","filtersVisible","setFiltersVisible","useState","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","jsx","Ionicons","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","useRef","rewardsData","helper","activeIcon","primary","title","description","isActive","status","statusBackgroundColor","disabled","statusTextColor","secondary","GestureHandlerRootView","children","RelatedProvider","SafeAreaView","style","padding","flex","backgroundColor","background","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_index","_index2","_reactNativeSafeAreaContext","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","App","theme","useTheme","filtersVisible","setFiltersVisible","useState","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","jsx","Ionicons","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","useRef","rewardsData","helper","activeIcon","primary","title","description","isActive","status","statusBackgroundColor","disabled","statusTextColor","secondary","GestureHandlerRootView","children","RelatedProvider","SafeAreaView","style","padding","flex","backgroundColor","background","ScratchCard","textFontColor","textFontSize","height","jsxs","ScratchCardContent","Text","fontSize","fontWeight","marginTop","styles","StyleSheet","create","container","testButton","paddingVertical","paddingHorizontal","borderRadius","marginBottom","buttonText","textAlign"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,8 +23,6 @@ const ReusableMarquee = ({
|
|
|
23
23
|
moveTo = "left"
|
|
24
24
|
}) => {
|
|
25
25
|
const translateX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
26
|
-
|
|
27
|
-
// Memoize calculations that depend on props to avoid unnecessary recalculations
|
|
28
26
|
const {
|
|
29
27
|
ONE_SET_WIDTH,
|
|
30
28
|
DATA
|
|
@@ -35,6 +33,7 @@ const ReusableMarquee = ({
|
|
|
35
33
|
DATA: []
|
|
36
34
|
};
|
|
37
35
|
}
|
|
36
|
+
// Calculate width of one set of items including spacing
|
|
38
37
|
const calculatedWidth = baseData.reduce(sum => sum + itemWidth + itemSpacing, 0);
|
|
39
38
|
// Duplicate data for seamless looping
|
|
40
39
|
const duplicatedData = [...baseData, ...baseData];
|
|
@@ -45,14 +44,13 @@ const ReusableMarquee = ({
|
|
|
45
44
|
}, [baseData, itemWidth, itemSpacing]);
|
|
46
45
|
(0, _react.useEffect)(() => {
|
|
47
46
|
if (DATA.length > 0 && ONE_SET_WIDTH > 0) {
|
|
48
|
-
|
|
49
|
-
const
|
|
47
|
+
const initialTranslateX = moveTo === "left" ? 0 : -ONE_SET_WIDTH;
|
|
48
|
+
const targetTranslateX = moveTo === "left" ? -ONE_SET_WIDTH : 0;
|
|
49
|
+
translateX.value = initialTranslateX;
|
|
50
|
+
const animation = (0, _reactNativeReanimated.withRepeat)((0, _reactNativeReanimated.withTiming)(targetTranslateX, {
|
|
50
51
|
duration: animationSpeedMs,
|
|
51
52
|
easing: _reactNativeReanimated.Easing.linear
|
|
52
|
-
}), -1,
|
|
53
|
-
// Infinite repeat
|
|
54
|
-
false // Don't reverse
|
|
55
|
-
);
|
|
53
|
+
}), -1, false);
|
|
56
54
|
translateX.value = animation;
|
|
57
55
|
return () => {
|
|
58
56
|
(0, _reactNativeReanimated.cancelAnimation)(translateX);
|
|
@@ -62,7 +60,8 @@ const ReusableMarquee = ({
|
|
|
62
60
|
translateX.value = 0;
|
|
63
61
|
return undefined;
|
|
64
62
|
}
|
|
65
|
-
}, [translateX, ONE_SET_WIDTH, DATA, animationSpeedMs]);
|
|
63
|
+
}, [translateX, ONE_SET_WIDTH, DATA, animationSpeedMs, moveTo]); //
|
|
64
|
+
|
|
66
65
|
const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
67
66
|
return {
|
|
68
67
|
transform: [{
|
|
@@ -87,7 +86,7 @@ const ReusableMarquee = ({
|
|
|
87
86
|
height: itemHeight,
|
|
88
87
|
marginRight: itemSpacing
|
|
89
88
|
}],
|
|
90
|
-
children: renderItem(item, index)
|
|
89
|
+
children: renderItem(item, index % baseData.length)
|
|
91
90
|
}, `${item.id}-${index}`))
|
|
92
91
|
})
|
|
93
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_ANIMATION_SPEED_MS","ReusableMarquee","data","baseData","renderItem","itemWidth","itemHeight","itemSpacing","animationSpeedMs","style","contentContainerStyle","moveTo","translateX","useSharedValue","ONE_SET_WIDTH","DATA","useMemo","length","calculatedWidth","reduce","sum","duplicatedData","useEffect","value","animation","withRepeat","withTiming","duration","easing","Easing","linear","cancelAnimation","undefined","animatedStyle","useAnimatedStyle","transform","jsx","View","styles","container","height","children","animatedContainer","map","item","index","itemWrapper","width","marginRight","id","StyleSheet","create","overflow","flexDirection","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Marquee/Marquee.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAH,uBAAA,CAAAC,OAAA;AAOiC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEjC,MAAMW,0BAA0B,GAAG,KAAK;AAcxC,MAAMC,eAAe,GAAGA,CAAoC;EAC1DC,IAAI,EAAEC,QAAQ;EACdC,UAAU;EACVC,SAAS;EACTC,UAAU;EACVC,WAAW;EACXC,gBAAgB,GAAGR,0BAA0B;EAC7CS,KAAK;EACLC,qBAAqB;EACrBC,MAAM,GAAG;AACc,CAAC,KAAgC;EACxD,MAAMC,UAAU,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_ANIMATION_SPEED_MS","ReusableMarquee","data","baseData","renderItem","itemWidth","itemHeight","itemSpacing","animationSpeedMs","style","contentContainerStyle","moveTo","translateX","useSharedValue","ONE_SET_WIDTH","DATA","useMemo","length","calculatedWidth","reduce","sum","duplicatedData","useEffect","initialTranslateX","targetTranslateX","value","animation","withRepeat","withTiming","duration","easing","Easing","linear","cancelAnimation","undefined","animatedStyle","useAnimatedStyle","transform","jsx","View","styles","container","height","children","animatedContainer","map","item","index","itemWrapper","width","marginRight","id","StyleSheet","create","overflow","flexDirection","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Marquee/Marquee.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,13 +7,20 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNativeSkia = require("@shopify/react-native-skia");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
11
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
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); }
|
|
12
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
|
+
|
|
13
20
|
const ScratchCard = ({
|
|
14
21
|
style,
|
|
15
22
|
children,
|
|
16
|
-
image
|
|
23
|
+
image,
|
|
17
24
|
brushStrokeWidth = 50,
|
|
18
25
|
revealThreshold = 0.8,
|
|
19
26
|
width = 300,
|
|
@@ -25,45 +32,89 @@ const ScratchCard = ({
|
|
|
25
32
|
textFontSize = 16,
|
|
26
33
|
onScratched
|
|
27
34
|
}) => {
|
|
28
|
-
const
|
|
29
|
-
const
|
|
35
|
+
const loadedImg = (0, _reactNativeSkia.useImage)(image);
|
|
36
|
+
const loadedFont = (0, _reactNativeSkia.useFont)(textFont, textFontSize);
|
|
30
37
|
const [[areaWidth, areaHeight], setSize] = (0, _react.useState)([0, 0]);
|
|
31
38
|
const [isScratched, setScratched] = (0, _react.useState)(false);
|
|
32
|
-
const [
|
|
33
|
-
const
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
62
|
+
}, [areaWidth, areaHeight, isLayoutReady]);
|
|
63
|
+
const revealCardOnJS = (0, _react.useCallback)(() => {
|
|
64
|
+
setScratched(true);
|
|
65
|
+
onScratched?.();
|
|
66
|
+
}, [onScratched]);
|
|
67
|
+
const pan = _reactNativeGestureHandler.Gesture.Pan().averageTouches(true).maxPointers(1).onBegin(e => {
|
|
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);
|
|
57
77
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
78
|
+
}).onChange(e => {
|
|
79
|
+
if (!isLayoutReady || isThresholdReached.value) return;
|
|
80
|
+
try {
|
|
81
|
+
const newPath = path.value.copy();
|
|
82
|
+
newPath.lineTo(e.x, e.y);
|
|
83
|
+
path.value = newPath;
|
|
84
|
+
(0, _reactNativeSkia.notifyChange)(path);
|
|
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
|
+
}
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error("ScratchCard: Error in onChange (UI Thread):", error);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
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;
|
|
63
116
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
64
|
-
onLayout:
|
|
65
|
-
setSize([e.nativeEvent.layout.width, e.nativeEvent.layout.height]);
|
|
66
|
-
},
|
|
117
|
+
onLayout: handleLayout,
|
|
67
118
|
style: [styles.container, style, {
|
|
68
119
|
width,
|
|
69
120
|
height
|
|
@@ -71,57 +122,50 @@ const ScratchCard = ({
|
|
|
71
122
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
72
123
|
style: styles.content,
|
|
73
124
|
children: children
|
|
74
|
-
}), !isScratched && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
strokeJoin: "round",
|
|
100
|
-
strokeCap: "round",
|
|
101
|
-
strokeWidth: brushStrokeWidth
|
|
102
|
-
})]
|
|
103
|
-
}),
|
|
104
|
-
children: img ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Image, {
|
|
105
|
-
image: img,
|
|
106
|
-
fit: "cover",
|
|
107
|
-
x: 0,
|
|
108
|
-
y: 0,
|
|
109
|
-
width: areaWidth,
|
|
110
|
-
height: areaHeight
|
|
111
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
112
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
125
|
+
}), !isScratched && canRenderCanvas && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
126
|
+
gesture: pan,
|
|
127
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Canvas, {
|
|
128
|
+
style: styles.canvas,
|
|
129
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Mask, {
|
|
130
|
+
mode: "luminance",
|
|
131
|
+
mask: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
132
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
133
|
+
x: 0,
|
|
134
|
+
y: 0,
|
|
135
|
+
width: areaWidth,
|
|
136
|
+
height: areaHeight,
|
|
137
|
+
color: "white"
|
|
138
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Path, {
|
|
139
|
+
path: path,
|
|
140
|
+
color: "black",
|
|
141
|
+
style: "stroke",
|
|
142
|
+
strokeJoin: "round",
|
|
143
|
+
strokeCap: "round",
|
|
144
|
+
strokeWidth: brushStrokeWidth
|
|
145
|
+
})]
|
|
146
|
+
}),
|
|
147
|
+
children: loadedImg ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Image, {
|
|
148
|
+
image: loadedImg,
|
|
149
|
+
fit: "cover",
|
|
113
150
|
x: 0,
|
|
114
151
|
y: 0,
|
|
115
152
|
width: areaWidth,
|
|
116
|
-
height: areaHeight
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
153
|
+
height: areaHeight
|
|
154
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSkia.Group, {
|
|
155
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Rect, {
|
|
156
|
+
x: 0,
|
|
157
|
+
y: 0,
|
|
158
|
+
width: areaWidth,
|
|
159
|
+
height: areaHeight,
|
|
160
|
+
color: backgroundColor
|
|
161
|
+
}), loadedFont && textMetrics && text ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSkia.Text, {
|
|
162
|
+
x: textMetrics.x,
|
|
163
|
+
y: textMetrics.y,
|
|
164
|
+
text: text,
|
|
165
|
+
color: textFontColor,
|
|
166
|
+
font: loadedFont
|
|
167
|
+
}) : null]
|
|
168
|
+
})
|
|
125
169
|
})
|
|
126
170
|
})
|
|
127
171
|
})]
|
|
@@ -130,23 +174,23 @@ const ScratchCard = ({
|
|
|
130
174
|
const styles = _reactNative.StyleSheet.create({
|
|
131
175
|
container: {
|
|
132
176
|
position: "relative",
|
|
133
|
-
overflow: "hidden"
|
|
134
|
-
width: "100%",
|
|
135
|
-
height: "100%"
|
|
177
|
+
overflow: "hidden"
|
|
136
178
|
},
|
|
137
179
|
content: {
|
|
138
180
|
position: "absolute",
|
|
139
181
|
top: 0,
|
|
140
182
|
left: 0,
|
|
141
183
|
width: "100%",
|
|
142
|
-
height: "100%"
|
|
184
|
+
height: "100%",
|
|
185
|
+
zIndex: 1
|
|
143
186
|
},
|
|
144
187
|
canvas: {
|
|
145
188
|
position: "absolute",
|
|
146
189
|
top: 0,
|
|
147
190
|
left: 0,
|
|
148
191
|
width: "100%",
|
|
149
|
-
height: "100%"
|
|
192
|
+
height: "100%",
|
|
193
|
+
zIndex: 2
|
|
150
194
|
}
|
|
151
195
|
});
|
|
152
196
|
var _default = exports.default = ScratchCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSkia","_reactNative","_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","jsxs","View","onLayout","styles","container","jsx","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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _expo = require("expo");
|
|
7
|
+
require("react-native-reanimated");
|
|
8
|
+
var _app = _interopRequireDefault(require("./app.js"));
|
|
6
9
|
var _index = require("./theme/index.js");
|
|
7
10
|
Object.keys(_index).forEach(function (key) {
|
|
8
11
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -25,4 +28,6 @@ Object.keys(_index2).forEach(function (key) {
|
|
|
25
28
|
}
|
|
26
29
|
});
|
|
27
30
|
});
|
|
31
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
|
+
(0, _expo.registerRootComponent)(_app.default);
|
|
28
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_expo","require","_app","_interopRequireDefault","_index","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_index2","e","__esModule","default","registerRootComponent","App"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACAA,OAAA;AAGA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AAIA,IAAAG,MAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAR,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAZ,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AAA6B,SAAAL,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH7B,IAAAG,2BAAqB,EAACC,YAAG,CAAC","ignoreList":[]}
|
package/lib/module/app.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useRef, useState } from "react";
|
|
4
|
-
import { StyleSheet } from "react-native";
|
|
4
|
+
import { StyleSheet, Text } from "react-native";
|
|
5
5
|
import { Ionicons } from "@expo/vector-icons";
|
|
6
6
|
import { RelatedProvider, useTheme } from "./theme/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { ScratchCard, ScratchCardContent } from "./components/index.js";
|
|
8
8
|
import { SafeAreaView } from "react-native-safe-area-context";
|
|
9
9
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
10
10
|
// import BRANDS from "./constants/BRANDS";
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
export default function App() {
|
|
13
13
|
const {
|
|
14
14
|
theme
|
|
@@ -230,15 +230,34 @@ export default function App() {
|
|
|
230
230
|
flex: 1,
|
|
231
231
|
backgroundColor: theme.background
|
|
232
232
|
},
|
|
233
|
-
children: /*#__PURE__*/_jsx(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
233
|
+
children: /*#__PURE__*/_jsx(ScratchCard, {
|
|
234
|
+
backgroundColor: "#8A2BE2",
|
|
235
|
+
text: "Scratch to reveal your prize!",
|
|
236
|
+
textFontColor: "#FFFFFF",
|
|
237
|
+
textFontSize: 18,
|
|
238
|
+
width: 300,
|
|
239
|
+
height: 150
|
|
240
|
+
// onScratched={() => alert("Congratulations! You won a prize!")}
|
|
241
|
+
,
|
|
242
|
+
children: /*#__PURE__*/_jsxs(ScratchCardContent, {
|
|
243
|
+
style: {
|
|
244
|
+
backgroundColor: "#FFD700"
|
|
245
|
+
},
|
|
246
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
247
|
+
style: {
|
|
248
|
+
fontSize: 24,
|
|
249
|
+
fontWeight: "bold",
|
|
250
|
+
color: "#000"
|
|
251
|
+
},
|
|
252
|
+
children: "50% OFF COUPON"
|
|
253
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
254
|
+
style: {
|
|
255
|
+
marginTop: 8,
|
|
256
|
+
color: "#333"
|
|
257
|
+
},
|
|
258
|
+
children: "Use code: SCRATCH50"
|
|
259
|
+
})]
|
|
260
|
+
})
|
|
242
261
|
})
|
|
243
262
|
})
|
|
244
263
|
})
|