related-ui-components 1.8.4 → 1.8.5
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/components/Wheel/Wheel.js +185 -175
- package/lib/commonjs/components/Wheel/Wheel.js.map +1 -1
- package/lib/module/components/Wheel/Wheel.js +187 -176
- package/lib/module/components/Wheel/Wheel.js.map +1 -1
- package/lib/typescript/commonjs/components/Wheel/Wheel.d.ts +1 -2
- package/lib/typescript/commonjs/components/Wheel/Wheel.d.ts.map +1 -1
- package/lib/typescript/module/components/Wheel/Wheel.d.ts +1 -2
- package/lib/typescript/module/components/Wheel/Wheel.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Wheel/Wheel.tsx +239 -205
|
@@ -10,57 +10,8 @@ var _reactNativeSvg = require("react-native-svg");
|
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
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
12
|
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; }
|
|
13
|
-
//
|
|
14
|
-
const
|
|
15
|
-
// Red
|
|
16
|
-
"#FFA500",
|
|
17
|
-
// Orange
|
|
18
|
-
"#FFFF00",
|
|
19
|
-
// Yellow
|
|
20
|
-
"#008000",
|
|
21
|
-
// Green
|
|
22
|
-
"#0000FF",
|
|
23
|
-
// Blue
|
|
24
|
-
"#800080",
|
|
25
|
-
// Purple
|
|
26
|
-
"#FFC0CB",
|
|
27
|
-
// Pink
|
|
28
|
-
"#00FFFF",
|
|
29
|
-
// Cyan
|
|
30
|
-
"#FF00FF",
|
|
31
|
-
// Magenta
|
|
32
|
-
"#00FF00",
|
|
33
|
-
// Lime
|
|
34
|
-
"#4B0082",
|
|
35
|
-
// Indigo
|
|
36
|
-
"#EE82EE",
|
|
37
|
-
// Violet
|
|
38
|
-
"#40E0D0",
|
|
39
|
-
// Turquoise
|
|
40
|
-
"#FFD700",
|
|
41
|
-
// Gold
|
|
42
|
-
"#C0C0C0",
|
|
43
|
-
// Silver
|
|
44
|
-
"#FFDAB9",
|
|
45
|
-
// Peach
|
|
46
|
-
"#E6E6FA",
|
|
47
|
-
// Lavender
|
|
48
|
-
"#008080",
|
|
49
|
-
// Teal
|
|
50
|
-
"#FF7F50",
|
|
51
|
-
// Coral
|
|
52
|
-
"#DC143C",
|
|
53
|
-
// Crimson
|
|
54
|
-
"#87CEEB",
|
|
55
|
-
// Sky Blue
|
|
56
|
-
"#7FFF00",
|
|
57
|
-
// Chartreuse
|
|
58
|
-
"#CCCCFF",
|
|
59
|
-
// Periwinkle
|
|
60
|
-
"#FF6347",
|
|
61
|
-
// Tomato
|
|
62
|
-
"#FA8072" // Salmon
|
|
63
|
-
];
|
|
13
|
+
// Default random colors (can be used if item.color is not provided)
|
|
14
|
+
const defaultColors = ["#FF0000", "#FFA500", "#FFFF00", "#008000", "#0000FF", "#800080", "#FFC0CB", "#00FFFF", "#FF00FF", "#00FF00", "#4B0082", "#EE82EE", "#40E0D0", "#FFD700", "#C0C0C0", "#FFDAB9", "#E6E6FA", "#008080", "#FF7F50", "#DC143C", "#87CEEB", "#7FFF00", "#CCCCFF", "#FF6347", "#FA8072"];
|
|
64
15
|
const SpinWheel = ({
|
|
65
16
|
items,
|
|
66
17
|
size = 300,
|
|
@@ -76,109 +27,157 @@ const SpinWheel = ({
|
|
|
76
27
|
knobColor = "#D81E5B",
|
|
77
28
|
actionButtonStyle,
|
|
78
29
|
actionButtonTextStyle,
|
|
79
|
-
wheelTextColor = "#FFFFFF"
|
|
30
|
+
wheelTextColor = "#FFFFFF",
|
|
31
|
+
centerComponent,
|
|
32
|
+
predeterminedWinnerId = null // Default to null
|
|
80
33
|
}) => {
|
|
81
|
-
const wheelItems = items.length > 0 ? items : [];
|
|
34
|
+
const wheelItems = (0, _react.useMemo)(() => items && items.length > 0 ? items : [], [items]);
|
|
82
35
|
const [spinning, setSpinning] = (0, _react.useState)(false);
|
|
83
|
-
const [
|
|
36
|
+
const [_winnerState, setWinnerState] = (0, _react.useState)(null); // Renamed to avoid conflict
|
|
84
37
|
const rotateValue = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
38
|
+
const rotationRef = (0, _react.useRef)(0); // Tracks cumulative rotation in "number of turns"
|
|
85
39
|
|
|
86
|
-
// Track rotation manually for calculations
|
|
87
|
-
const rotationRef = (0, _react.useRef)(0);
|
|
88
|
-
|
|
89
|
-
// Update tracked rotation when animation completes
|
|
90
40
|
(0, _react.useEffect)(() => {
|
|
91
|
-
const
|
|
41
|
+
const listenerId = rotateValue.addListener(({
|
|
92
42
|
value
|
|
93
43
|
}) => {
|
|
94
44
|
rotationRef.current = value;
|
|
95
45
|
});
|
|
96
46
|
return () => {
|
|
97
|
-
rotateValue.removeListener(
|
|
47
|
+
rotateValue.removeListener(listenerId);
|
|
98
48
|
};
|
|
99
49
|
}, [rotateValue]);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
// Create wheel segments
|
|
105
|
-
const generateWheelPaths = () => {
|
|
50
|
+
const anglePerItem = wheelItems.length > 0 ? 360 / wheelItems.length : 0;
|
|
51
|
+
const wheelPaths = (0, _react.useMemo)(() => {
|
|
52
|
+
if (wheelItems.length === 0) return [];
|
|
106
53
|
return wheelItems.map((item, index) => {
|
|
107
54
|
const startAngle = index * anglePerItem;
|
|
108
55
|
const endAngle = (index + 1) * anglePerItem;
|
|
109
|
-
|
|
110
|
-
// Calculate path for segment
|
|
111
56
|
const startRad = startAngle * Math.PI / 180;
|
|
112
57
|
const endRad = endAngle * Math.PI / 180;
|
|
113
58
|
const x1 = size / 2 + size / 2 * Math.cos(startRad);
|
|
114
59
|
const y1 = size / 2 + size / 2 * Math.sin(startRad);
|
|
115
60
|
const x2 = size / 2 + size / 2 * Math.cos(endRad);
|
|
116
61
|
const y2 = size / 2 + size / 2 * Math.sin(endRad);
|
|
117
|
-
const largeArcFlag =
|
|
62
|
+
const largeArcFlag = anglePerItem <= 180 ? "0" : "1";
|
|
118
63
|
const pathData = [`M ${size / 2} ${size / 2}`, `L ${x1} ${y1}`, `A ${size / 2} ${size / 2} 0 ${largeArcFlag} 1 ${x2} ${y2}`, "Z"].join(" ");
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const midRad = (startAngle + endAngle) / 2 * (Math.PI / 180);
|
|
64
|
+
const midAngle = startAngle + anglePerItem / 2;
|
|
65
|
+
const midRad = midAngle * Math.PI / 180;
|
|
122
66
|
const textX = size / 2 + size * 0.32 * Math.cos(midRad);
|
|
123
67
|
const textY = size / 2 + size * 0.32 * Math.sin(midRad);
|
|
124
|
-
const decorationX = size / 2 + size * 0.43 * Math.cos(midRad);
|
|
125
|
-
const decorationY = size / 2 + size * 0.43 * Math.sin(midRad);
|
|
126
68
|
return {
|
|
127
69
|
path: pathData,
|
|
128
70
|
item,
|
|
129
71
|
textX,
|
|
130
72
|
textY,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
angle: (startAngle + endAngle) / 2
|
|
73
|
+
angle: midAngle,
|
|
74
|
+
color: item.color || defaultColors[index % defaultColors.length]
|
|
134
75
|
};
|
|
135
76
|
});
|
|
136
|
-
};
|
|
137
|
-
const wheelPaths = generateWheelPaths();
|
|
138
|
-
|
|
139
|
-
// Handle spin button press
|
|
77
|
+
}, [wheelItems, anglePerItem, size]);
|
|
140
78
|
const handleSpin = () => {
|
|
141
|
-
if (spinning || !enabled)
|
|
79
|
+
if (spinning || !enabled || wheelItems.length === 0 || anglePerItem === 0) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
142
82
|
setSpinning(true);
|
|
143
83
|
onSpinStart?.();
|
|
84
|
+
let targetAnimationToValue;
|
|
85
|
+
let winnerToAnnounce = null;
|
|
86
|
+
const currentWinnerId = predeterminedWinnerId; // Capture prop value at spin start
|
|
87
|
+
let targetWinnerItem = null;
|
|
88
|
+
if (currentWinnerId != null) {
|
|
89
|
+
const foundItem = wheelItems.find(item => item.id === currentWinnerId);
|
|
90
|
+
if (foundItem) {
|
|
91
|
+
targetWinnerItem = foundItem;
|
|
92
|
+
} else {
|
|
93
|
+
console.warn(`SpinWheel: Predetermined winner with id "${currentWinnerId}" not found. Spinning randomly.`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (targetWinnerItem) {
|
|
97
|
+
winnerToAnnounce = targetWinnerItem;
|
|
98
|
+
const winnerIndex = wheelItems.indexOf(targetWinnerItem);
|
|
144
99
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
100
|
+
// Calculate the middle angle of the target segment within the wheel's coordinate system
|
|
101
|
+
const targetSegmentMidAngle_deg = (winnerIndex + 0.5) * anglePerItem;
|
|
102
|
+
|
|
103
|
+
// The pointer is at 270 degrees (top). We want the targetSegmentMidAngle_deg
|
|
104
|
+
// to align with this pointer.
|
|
105
|
+
// If the wheel rotates by R, a point A on wheel is at (A+R)%360.
|
|
106
|
+
// So, (targetSegmentMidAngle_deg + R) % 360 = 270.
|
|
107
|
+
// R % 360 = (270 - targetSegmentMidAngle_deg + 360*k) % 360.
|
|
108
|
+
// This R % 360 is the target orientation for the wheel's 0-degree mark.
|
|
109
|
+
const targetWheelOrientation_deg = (270 - targetSegmentMidAngle_deg + 360 * 10) % 360; // *10 to ensure positive
|
|
110
|
+
|
|
111
|
+
const currentWheelOrientation_deg = rotationRef.current * 360 % 360;
|
|
112
|
+
|
|
113
|
+
// Additional rotation needed to reach the target orientation (shortest positive path)
|
|
114
|
+
const rotationToTarget_deg = (targetWheelOrientation_deg - currentWheelOrientation_deg + 360) % 360;
|
|
115
|
+
const numFullRotations = 3 + Math.floor(Math.random() * 3); // 3 to 5 full spins
|
|
116
|
+
const totalAdditionalRotation_deg = numFullRotations * 360 + rotationToTarget_deg;
|
|
117
|
+
targetAnimationToValue = rotationRef.current + totalAdditionalRotation_deg / 360;
|
|
118
|
+
} else {
|
|
119
|
+
// Fallback to original random spin logic
|
|
120
|
+
const randomSpins = 3 + Math.random() * 2; // 3-5 full rotations
|
|
121
|
+
const randomAngleOffset = Math.random() * 360;
|
|
122
|
+
const totalRandomRotation_deg = 360 * randomSpins + randomAngleOffset;
|
|
123
|
+
targetAnimationToValue = rotationRef.current + totalRandomRotation_deg / 360;
|
|
124
|
+
}
|
|
149
125
|
_reactNative.Animated.timing(rotateValue, {
|
|
150
|
-
toValue:
|
|
126
|
+
toValue: targetAnimationToValue,
|
|
151
127
|
duration: spinDuration,
|
|
152
128
|
easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
|
|
153
129
|
useNativeDriver: true
|
|
154
|
-
}).start(() =>
|
|
155
|
-
|
|
130
|
+
}).start(() => {
|
|
131
|
+
setSpinning(false);
|
|
132
|
+
if (winnerToAnnounce) {
|
|
133
|
+
setWinnerState(winnerToAnnounce);
|
|
134
|
+
onSpinEnd?.(winnerToAnnounce);
|
|
135
|
+
} else {
|
|
136
|
+
// Calculate winner from random spin based on final rotation
|
|
137
|
+
const finalRotationDegrees = rotationRef.current * 360;
|
|
138
|
+
const pointerFixedAt_deg = 270; // Pointer is at the top
|
|
156
139
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
setSpinning(false);
|
|
140
|
+
// Determine which original angle on the wheel is now under the pointer
|
|
141
|
+
const angleUnderPointer_orig = (pointerFixedAt_deg - finalRotationDegrees + 360 * 10) % 360; // *10 for positive
|
|
160
142
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
143
|
+
let winningSegmentIndex = Math.floor(angleUnderPointer_orig / anglePerItem);
|
|
144
|
+
// Ensure index is within bounds
|
|
145
|
+
winningSegmentIndex = Math.max(0, Math.min(wheelItems.length - 1, winningSegmentIndex));
|
|
146
|
+
const calculatedWinner = wheelItems[winningSegmentIndex];
|
|
147
|
+
if (calculatedWinner) {
|
|
148
|
+
setWinnerState(calculatedWinner);
|
|
149
|
+
onSpinEnd?.(calculatedWinner);
|
|
150
|
+
} else if (wheelItems.length > 0) {
|
|
151
|
+
// Fallback, should not happen if items exist and calculation is correct
|
|
152
|
+
console.error("SpinWheel: Could not determine winner from random spin. Falling back to first item.");
|
|
153
|
+
setWinnerState(wheelItems[0]);
|
|
154
|
+
onSpinEnd?.(wheelItems[0]);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
});
|
|
169
158
|
};
|
|
170
|
-
|
|
171
|
-
// Animation interpolation for rotation
|
|
172
|
-
const rotate = rotateValue.interpolate({
|
|
159
|
+
const rotateStyle = rotateValue.interpolate({
|
|
173
160
|
inputRange: [0, 1],
|
|
174
161
|
outputRange: ["0deg", "360deg"]
|
|
175
162
|
});
|
|
176
|
-
|
|
163
|
+
if (wheelItems.length === 0) {
|
|
164
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
165
|
+
style: [styles.container, containerStyle, {
|
|
166
|
+
height: size
|
|
167
|
+
}],
|
|
168
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
169
|
+
children: "No items to display in the wheel."
|
|
170
|
+
})
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
177
174
|
style: [styles.container, containerStyle],
|
|
178
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
175
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
179
176
|
style: {
|
|
180
177
|
width: size,
|
|
181
|
-
height: size
|
|
178
|
+
height: size,
|
|
179
|
+
alignItems: 'center',
|
|
180
|
+
justifyContent: 'center'
|
|
182
181
|
},
|
|
183
182
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
184
183
|
style: [styles.wheelContainer, {
|
|
@@ -186,7 +185,7 @@ const SpinWheel = ({
|
|
|
186
185
|
height: size,
|
|
187
186
|
borderRadius: size / 2,
|
|
188
187
|
transform: [{
|
|
189
|
-
rotate
|
|
188
|
+
rotate: rotateStyle
|
|
190
189
|
}]
|
|
191
190
|
}],
|
|
192
191
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Svg, {
|
|
@@ -199,100 +198,98 @@ const SpinWheel = ({
|
|
|
199
198
|
item,
|
|
200
199
|
textX,
|
|
201
200
|
textY,
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
})
|
|
201
|
+
angle,
|
|
202
|
+
color
|
|
203
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
|
|
204
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
|
|
205
|
+
d: path,
|
|
206
|
+
fill: color,
|
|
207
|
+
stroke: "#000000",
|
|
208
|
+
strokeWidth: 0.5
|
|
209
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Text, {
|
|
210
|
+
x: textX,
|
|
211
|
+
y: textY,
|
|
212
|
+
fill: item.textColor || wheelTextColor,
|
|
213
|
+
fontSize: wheelTextStyle?.fontSize || Math.max(8, size / 25) // Dynamic font size
|
|
214
|
+
,
|
|
215
|
+
fontWeight: wheelTextStyle?.fontWeight || "bold",
|
|
216
|
+
textAnchor: "middle",
|
|
217
|
+
alignmentBaseline: "central",
|
|
218
|
+
transform: `rotate(${angle + 90}, ${textX}, ${textY} )` // Adjusted rotation for readability
|
|
219
|
+
,
|
|
220
|
+
children: item.label
|
|
221
|
+
})]
|
|
222
|
+
}, item.id))
|
|
225
223
|
})
|
|
226
224
|
})
|
|
227
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
225
|
+
}), centerComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
226
|
+
style: styles.centerComponentWrapper,
|
|
227
|
+
children: centerComponent
|
|
228
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
228
229
|
style: [styles.wheelCenter, {
|
|
229
230
|
width: size / 5,
|
|
230
231
|
height: size / 5,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}, {
|
|
234
|
-
translateY: -size / 10
|
|
235
|
-
}],
|
|
236
|
-
borderRadius: size / 5
|
|
232
|
+
borderRadius: size / 10 // Should be half of width/height
|
|
233
|
+
// Centering is now handled by absolute positioning from parent
|
|
237
234
|
}, centerStyle]
|
|
238
235
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
239
|
-
style: styles.
|
|
236
|
+
style: styles.pointerContainer,
|
|
240
237
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
241
238
|
style: [styles.pointer, {
|
|
242
239
|
borderBottomColor: knobColor
|
|
243
240
|
}, knobStyle]
|
|
244
241
|
})
|
|
245
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
246
|
-
style: {
|
|
247
|
-
position: "absolute",
|
|
248
|
-
width: "100%",
|
|
249
|
-
alignItems: "center",
|
|
250
|
-
justifyContent: "center",
|
|
251
|
-
bottom: -70,
|
|
252
|
-
zIndex: 2
|
|
253
|
-
},
|
|
254
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
255
|
-
onPress: handleSpin,
|
|
256
|
-
disabled: spinning || !enabled,
|
|
257
|
-
style: [styles.actionButton, actionButtonStyle],
|
|
258
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
259
|
-
style: [styles.actionButtonText, actionButtonTextStyle],
|
|
260
|
-
children: spinButtonText
|
|
261
|
-
})
|
|
262
|
-
})
|
|
263
242
|
})]
|
|
264
|
-
})
|
|
243
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
244
|
+
onPress: handleSpin,
|
|
245
|
+
disabled: spinning || !enabled,
|
|
246
|
+
style: [styles.actionButton, actionButtonStyle],
|
|
247
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
248
|
+
style: [styles.actionButtonText, actionButtonTextStyle],
|
|
249
|
+
children: spinButtonText
|
|
250
|
+
})
|
|
251
|
+
})]
|
|
265
252
|
});
|
|
266
253
|
};
|
|
267
254
|
const styles = _reactNative.StyleSheet.create({
|
|
268
255
|
container: {
|
|
269
256
|
alignItems: "center",
|
|
270
257
|
justifyContent: "center",
|
|
271
|
-
|
|
272
|
-
marginBottom: 70 // Space for the button
|
|
258
|
+
paddingVertical: 20 // Added padding
|
|
273
259
|
},
|
|
274
260
|
wheelContainer: {
|
|
275
261
|
overflow: "hidden",
|
|
276
|
-
backgroundColor: "transparent"
|
|
262
|
+
backgroundColor: "transparent",
|
|
263
|
+
// Ensure SVG is visible
|
|
264
|
+
alignItems: "center",
|
|
265
|
+
justifyContent: "center"
|
|
266
|
+
},
|
|
267
|
+
centerComponentWrapper: {
|
|
268
|
+
// For custom center component
|
|
269
|
+
position: 'absolute',
|
|
270
|
+
zIndex: 2
|
|
277
271
|
},
|
|
278
272
|
wheelCenter: {
|
|
273
|
+
// Default center circle
|
|
279
274
|
position: "absolute",
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
zIndex:
|
|
275
|
+
backgroundColor: "#333333",
|
|
276
|
+
// Darker center
|
|
277
|
+
borderWidth: 2,
|
|
278
|
+
borderColor: "#FFFFFF",
|
|
279
|
+
// White border for center
|
|
280
|
+
zIndex: 2 // Above wheel paths, below pointer
|
|
286
281
|
},
|
|
287
|
-
|
|
282
|
+
pointerContainer: {
|
|
283
|
+
// Position the pointer correctly at the top center
|
|
288
284
|
position: "absolute",
|
|
285
|
+
top: -5,
|
|
286
|
+
// Adjust to make pointer sit nicely on the edge
|
|
289
287
|
left: "50%",
|
|
290
288
|
transform: [{
|
|
291
289
|
translateX: -10
|
|
292
|
-
}, {
|
|
293
|
-
rotate: "180deg"
|
|
294
290
|
}],
|
|
295
|
-
|
|
291
|
+
// Half of pointer base width
|
|
292
|
+
zIndex: 3 // Above everything else on the wheel
|
|
296
293
|
},
|
|
297
294
|
pointer: {
|
|
298
295
|
width: 0,
|
|
@@ -300,21 +297,34 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
300
297
|
backgroundColor: "transparent",
|
|
301
298
|
borderStyle: "solid",
|
|
302
299
|
borderLeftWidth: 10,
|
|
300
|
+
// Base of triangle
|
|
303
301
|
borderRightWidth: 10,
|
|
304
|
-
|
|
302
|
+
// Base of triangle
|
|
303
|
+
borderBottomWidth: 20,
|
|
304
|
+
// Height of triangle
|
|
305
305
|
borderLeftColor: "transparent",
|
|
306
|
-
borderRightColor: "transparent"
|
|
307
|
-
borderBottomColor
|
|
306
|
+
borderRightColor: "transparent"
|
|
307
|
+
// borderBottomColor is set by knobColor prop
|
|
308
308
|
},
|
|
309
309
|
actionButton: {
|
|
310
|
+
marginTop: 30,
|
|
311
|
+
// Space between wheel and button
|
|
310
312
|
paddingHorizontal: 30,
|
|
311
313
|
paddingVertical: 12,
|
|
312
314
|
borderRadius: 25,
|
|
315
|
+
backgroundColor: "#4CAF50",
|
|
316
|
+
// Example button color
|
|
313
317
|
shadowColor: "#000",
|
|
314
|
-
|
|
315
|
-
|
|
318
|
+
shadowOffset: {
|
|
319
|
+
width: 0,
|
|
320
|
+
height: 2
|
|
321
|
+
},
|
|
322
|
+
shadowOpacity: 0.25,
|
|
323
|
+
shadowRadius: 3.84,
|
|
324
|
+
elevation: 5
|
|
316
325
|
},
|
|
317
326
|
actionButtonText: {
|
|
327
|
+
color: "#FFFFFF",
|
|
318
328
|
fontWeight: "bold",
|
|
319
329
|
fontSize: 16
|
|
320
330
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSvg","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","colors","SpinWheel","items","size","spinDuration","enabled","onSpinStart","onSpinEnd","containerStyle","centerStyle","spinButtonText","wheelTextStyle","knobStyle","knobColor","actionButtonStyle","actionButtonTextStyle","wheelTextColor","wheelItems","length","spinning","setSpinning","useState","_","setWinner","rotateValue","useRef","Animated","Value","current","rotationRef","useEffect","listener","addListener","value","removeListener","anglePerItem","generateWheelPaths","map","item","index","startAngle","endAngle","startRad","Math","PI","endRad","x1","cos","y1","sin","x2","y2","largeArcFlag","pathData","join","midRad","textX","textY","decorationX","decorationY","path","angle","wheelPaths","handleSpin","randomSpins","random","randomAngle","targetRotation","timing","toValue","duration","easing","Easing","out","cubic","useNativeDriver","start","handleSpinEnd","normalizedAngle","winningIndex","floor","adjustedIndex","winningItem","rotate","interpolate","inputRange","outputRange","jsx","View","style","styles","container","children","jsxs","width","height","wheelContainer","borderRadius","transform","Svg","viewBox","G","Fragment","Path","d","fill","color","stroke","strokeWidth","Text","x","y","textColor","fontSize","fontWeight","textAnchor","alignmentBaseline","label","id","wheelCenter","translateX","translateY","pointerPosition","pointer","borderBottomColor","position","alignItems","justifyContent","bottom","zIndex","TouchableOpacity","onPress","disabled","actionButton","actionButtonText","StyleSheet","create","marginTop","marginBottom","overflow","backgroundColor","top","left","borderWidth","borderColor","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderLeftColor","borderRightColor","paddingHorizontal","paddingVertical","shadowColor","shadowRadius","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Wheel/Wheel.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSvg","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultColors","SpinWheel","items","size","spinDuration","enabled","onSpinStart","onSpinEnd","containerStyle","centerStyle","spinButtonText","wheelTextStyle","knobStyle","knobColor","actionButtonStyle","actionButtonTextStyle","wheelTextColor","centerComponent","predeterminedWinnerId","wheelItems","useMemo","length","spinning","setSpinning","useState","_winnerState","setWinnerState","rotateValue","useRef","Animated","Value","current","rotationRef","useEffect","listenerId","addListener","value","removeListener","anglePerItem","wheelPaths","map","item","index","startAngle","endAngle","startRad","Math","PI","endRad","x1","cos","y1","sin","x2","y2","largeArcFlag","pathData","join","midAngle","midRad","textX","textY","path","angle","color","handleSpin","targetAnimationToValue","winnerToAnnounce","currentWinnerId","targetWinnerItem","foundItem","find","id","console","warn","winnerIndex","indexOf","targetSegmentMidAngle_deg","targetWheelOrientation_deg","currentWheelOrientation_deg","rotationToTarget_deg","numFullRotations","floor","random","totalAdditionalRotation_deg","randomSpins","randomAngleOffset","totalRandomRotation_deg","timing","toValue","duration","easing","Easing","out","cubic","useNativeDriver","start","finalRotationDegrees","pointerFixedAt_deg","angleUnderPointer_orig","winningSegmentIndex","max","min","calculatedWinner","error","rotateStyle","interpolate","inputRange","outputRange","jsx","View","style","styles","container","height","children","Text","jsxs","width","alignItems","justifyContent","wheelContainer","borderRadius","transform","rotate","Svg","viewBox","G","Fragment","Path","d","fill","stroke","strokeWidth","x","y","textColor","fontSize","fontWeight","textAnchor","alignmentBaseline","label","centerComponentWrapper","wheelCenter","pointerContainer","pointer","borderBottomColor","TouchableOpacity","onPress","disabled","actionButton","actionButtonText","StyleSheet","create","paddingVertical","overflow","backgroundColor","position","zIndex","borderWidth","borderColor","top","left","translateX","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderLeftColor","borderRightColor","marginTop","paddingHorizontal","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Wheel/Wheel.tsx"],"mappings":"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","ignoreList":[]}
|