related-ui-components 4.1.2 → 4.1.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.
@@ -1,90 +1,85 @@
1
1
  "use strict";
2
2
 
3
- import React, { useState, useRef, useEffect } from "react";
4
- import { View, StyleSheet, Animated, Easing } from "react-native";
5
- import { Svg, Path, G, Text as SvgText, Circle } from "react-native-svg";
6
- import { Button } from "../Button/index.js";
3
+ import React, { useEffect, useRef, useState } from "react";
4
+ import { Animated, Easing, StyleSheet, View } from "react-native";
5
+ import { Circle, G, Path, Svg, Text as SvgText } from "react-native-svg";
7
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- //default random colors
9
7
  const colors = ["#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"];
10
- // Constants for consistent animation
11
- const ROTATION_DURATION = 2500; // Duration for one full rotation
12
- const DECEL_DURATION = 3000; // Duration for deceleration phase
13
- const EXTRA_SPINS = 3; // Number of extra full rotations before stopping
8
+ // Config for the single animation
9
+ const TOTAL_SPINS = 5; // How many full rotations before stopping
10
+ const SPIN_DURATION = 4000; // Total time for the one animation
14
11
 
15
12
  const SpinWheel = ({
16
13
  items,
17
14
  size = 300,
18
15
  winner,
19
- minSpinDuration = 2000,
20
- onSpinStart,
21
16
  onSpinEnd,
22
17
  containerStyle,
23
18
  centerStyle,
24
- spinButtonText = "Spin",
25
19
  wheelTextStyle,
26
20
  knobStyle,
27
21
  knobColor = "#D81E5B",
28
- actionButtonStyle,
29
- actionButtonTextStyle,
30
22
  wheelBorderColor,
31
23
  wheelBorderWidth,
32
24
  wheelTextColor = "#FFFFFF",
33
- actionButtonProps,
34
25
  centerSize,
35
26
  centerComponent
36
27
  }) => {
37
28
  const wheelItems = items.length > 0 ? items : [];
38
- const spinLoop = useRef(null);
39
- const spinStartTime = useRef(0);
40
29
  const [spinning, setSpinning] = useState(false);
30
+
31
+ // 0-1 represents 0-360 degrees. We keep increasing this value.
41
32
  const rotateValue = useRef(new Animated.Value(0)).current;
42
33
  const rotationRef = useRef(0);
43
- const startInfiniteSpin = () => {
44
- rotateValue.setValue(rotationRef.current);
45
- spinStartTime.current = Date.now();
46
- spinLoop.current = Animated.loop(Animated.timing(rotateValue, {
47
- toValue: rotationRef.current + 1,
48
- duration: ROTATION_DURATION,
49
- easing: Easing.linear,
50
- useNativeDriver: true
51
- }));
52
- spinLoop.current.start();
53
- setSpinning(true);
54
- onSpinStart?.();
55
- };
56
- const stopOnWinner = winnerValue => {
57
- if (!spinLoop.current) return;
58
- spinLoop.current.stop();
59
- spinLoop.current = null;
34
+
35
+ // Sync the ref with the animated value to ensure we start next spin from where we left off
36
+ useEffect(() => {
37
+ const listener = rotateValue.addListener(({
38
+ value
39
+ }) => {
40
+ rotationRef.current = value;
41
+ });
42
+ return () => {
43
+ rotateValue.removeListener(listener);
44
+ };
45
+ }, [rotateValue]);
46
+
47
+ // Main Logic: Trigger spin when 'winner' is provided
48
+ useEffect(() => {
49
+ if (winner != null && !spinning) {
50
+ spinToWinner(winner);
51
+ }
52
+ }, [winner]);
53
+ const spinToWinner = winnerValue => {
60
54
  const winnerId = typeof winnerValue === "object" ? winnerValue.id : winnerValue;
61
55
  const index = items.findIndex(i => i.id === winnerId);
62
- if (index === -1) return;
56
+ if (index === -1) {
57
+ console.warn("Winner not found in items array");
58
+ return;
59
+ }
60
+ setSpinning(true);
63
61
 
64
- // Calculate target angle (pointer at top = 270 degrees)
62
+ // 1. Calculate the angle where the item is centered
65
63
  const anglePerItem = 360 / items.length;
64
+ // We want the item centered at 270 degrees (top of the wheel in standard SVG)
66
65
  const segmentCenter = (index + 0.5) * anglePerItem;
67
66
  const targetAngle = (270 - segmentCenter + 360) % 360;
68
67
 
69
- // Get current rotation position
70
- const currentRotation = rotationRef.current;
71
- const currentAngle = currentRotation * 360 % 360;
68
+ // 2. Calculate offset from current position
69
+ const currentRotationDegrees = rotationRef.current * 360 % 360;
70
+ const offset = (targetAngle - currentRotationDegrees + 360) % 360;
72
71
 
73
- // Calculate shortest path to target
74
- let offset = (targetAngle - currentAngle + 360) % 360;
72
+ // 3. Calculate total rotation:
73
+ // Current Rotation + (Distance to target) + (Extra Full Spins)
74
+ // We divide by 360 because our Animated.Value goes from 0 to 1 for a full circle
75
+ const finalRotation = rotationRef.current + (offset + 360 * TOTAL_SPINS) / 360;
75
76
 
76
- // Add extra full rotations for dramatic effect
77
- const extraRotations = EXTRA_SPINS * 360;
78
- const totalRotation = offset + extraRotations;
79
-
80
- // Final rotation value
81
- const finalRotation = currentRotation + totalRotation / 360;
82
-
83
- // Use ease-out cubic for smooth deceleration
77
+ // 4. One smooth animation
84
78
  Animated.timing(rotateValue, {
85
79
  toValue: finalRotation,
86
- duration: DECEL_DURATION,
80
+ duration: SPIN_DURATION,
87
81
  easing: Easing.out(Easing.cubic),
82
+ // Starts fast, slows down smoothly
88
83
  useNativeDriver: true
89
84
  }).start(() => {
90
85
  rotationRef.current = finalRotation;
@@ -92,16 +87,6 @@ const SpinWheel = ({
92
87
  onSpinEnd?.(items[index]);
93
88
  });
94
89
  };
95
- useEffect(() => {
96
- const listener = rotateValue.addListener(({
97
- value
98
- }) => {
99
- rotationRef.current = value;
100
- });
101
- return () => {
102
- rotateValue.removeListener(listener);
103
- };
104
- }, [rotateValue]);
105
90
  const anglePerItem = wheelItems.length > 0 ? 360 / wheelItems.length : 0;
106
91
  const generateWheelPaths = () => {
107
92
  if (wheelItems.length === 0) return [];
@@ -129,15 +114,6 @@ const SpinWheel = ({
129
114
  });
130
115
  };
131
116
  const wheelPaths = generateWheelPaths();
132
- useEffect(() => {
133
- if (!winner || !spinning) return;
134
- const elapsed = Date.now() - spinStartTime.current;
135
- const delay = Math.max(0, minSpinDuration - elapsed);
136
- const timeout = setTimeout(() => {
137
- stopOnWinner(winner);
138
- }, delay);
139
- return () => clearTimeout(timeout);
140
- }, [winner, spinning]);
141
117
  const rotate = rotateValue.interpolate({
142
118
  inputRange: [0, 1],
143
119
  outputRange: ["0deg", "360deg"]
@@ -188,14 +164,14 @@ const SpinWheel = ({
188
164
  })]
189
165
  }, item.id);
190
166
  })
191
- }), wheelBorderWidth && /*#__PURE__*/_jsx(Circle, {
167
+ }), wheelBorderWidth ? /*#__PURE__*/_jsx(Circle, {
192
168
  cx: size / 2,
193
169
  cy: size / 2,
194
170
  r: size / 2 - wheelBorderWidth / 2,
195
171
  stroke: wheelBorderColor,
196
172
  strokeWidth: wheelBorderWidth,
197
173
  fill: "none"
198
- })]
174
+ }) : /*#__PURE__*/_jsx(View, {})]
199
175
  })
200
176
  }), centerComponent ? /*#__PURE__*/_jsx(View, {
201
177
  style: {
@@ -230,23 +206,6 @@ const SpinWheel = ({
230
206
  borderBottomColor: knobColor
231
207
  }, knobStyle]
232
208
  })
233
- }), /*#__PURE__*/_jsx(View, {
234
- style: {
235
- position: "absolute",
236
- width: "100%",
237
- alignItems: "center",
238
- justifyContent: "center",
239
- bottom: -70,
240
- zIndex: 2
241
- },
242
- children: /*#__PURE__*/_jsx(Button, {
243
- style: [styles.actionButton, actionButtonStyle],
244
- onPress: startInfiniteSpin,
245
- title: spinButtonText,
246
- disabled: spinning,
247
- textStyle: [styles.actionButtonText, actionButtonTextStyle],
248
- ...actionButtonProps
249
- })
250
209
  })]
251
210
  })
252
211
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useRef","useEffect","View","StyleSheet","Animated","Easing","Svg","Path","G","Text","SvgText","Circle","Button","jsx","_jsx","jsxs","_jsxs","colors","ROTATION_DURATION","DECEL_DURATION","EXTRA_SPINS","SpinWheel","items","size","winner","minSpinDuration","onSpinStart","onSpinEnd","containerStyle","centerStyle","spinButtonText","wheelTextStyle","knobStyle","knobColor","actionButtonStyle","actionButtonTextStyle","wheelBorderColor","wheelBorderWidth","wheelTextColor","actionButtonProps","centerSize","centerComponent","wheelItems","length","spinLoop","spinStartTime","spinning","setSpinning","rotateValue","Value","current","rotationRef","startInfiniteSpin","setValue","Date","now","loop","timing","toValue","duration","easing","linear","useNativeDriver","start","stopOnWinner","winnerValue","stop","winnerId","id","index","findIndex","i","anglePerItem","segmentCenter","targetAngle","currentRotation","currentAngle","offset","extraRotations","totalRotation","finalRotation","out","cubic","listener","addListener","value","removeListener","generateWheelPaths","map","item","startAngle","endAngle","startRad","Math","PI","endRad","x1","cos","y1","sin","x2","y2","largeArcFlag","pathData","join","midRad","textX","textY","path","angle","wheelPaths","elapsed","delay","max","timeout","setTimeout","clearTimeout","rotate","interpolate","inputRange","outputRange","actualCenterSize","undefined","style","styles","container","children","width","height","wheelContainer","borderRadius","transform","viewBox","Fragment","d","fill","color","floor","random","x","y","textColor","fontSize","fontWeight","textAnchor","alignmentBaseline","label","cx","cy","r","stroke","strokeWidth","position","top","left","translateX","translateY","zIndex","wheelCenter","pointerPosition","pointer","borderBottomColor","alignItems","justifyContent","bottom","actionButton","onPress","title","disabled","textStyle","actionButtonText","create","marginTop","marginBottom","overflow","backgroundColor","borderWidth","borderColor","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderLeftColor","borderRightColor","paddingHorizontal","paddingVertical","shadowColor","shadowRadius"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Wheel/Wheel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","Animated","Easing","StyleSheet","View","Circle","G","Path","Svg","Text","SvgText","jsx","_jsx","jsxs","_jsxs","colors","TOTAL_SPINS","SPIN_DURATION","SpinWheel","items","size","winner","onSpinEnd","containerStyle","centerStyle","wheelTextStyle","knobStyle","knobColor","wheelBorderColor","wheelBorderWidth","wheelTextColor","centerSize","centerComponent","wheelItems","length","spinning","setSpinning","rotateValue","Value","current","rotationRef","listener","addListener","value","removeListener","spinToWinner","winnerValue","winnerId","id","index","findIndex","i","console","warn","anglePerItem","segmentCenter","targetAngle","currentRotationDegrees","offset","finalRotation","timing","toValue","duration","easing","out","cubic","useNativeDriver","start","generateWheelPaths","map","item","startAngle","endAngle","startRad","Math","PI","endRad","x1","cos","y1","sin","x2","y2","largeArcFlag","pathData","join","midRad","textX","textY","path","angle","wheelPaths","rotate","interpolate","inputRange","outputRange","actualCenterSize","undefined","style","styles","container","children","width","height","wheelContainer","borderRadius","transform","viewBox","Fragment","d","fill","color","floor","random","x","y","textColor","fontSize","fontWeight","textAnchor","alignmentBaseline","label","cx","cy","r","stroke","strokeWidth","position","top","left","translateX","translateY","zIndex","wheelCenter","pointerPosition","pointer","borderBottomColor","create","alignItems","justifyContent","marginTop","marginBottom","overflow","backgroundColor","borderWidth","borderColor","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderLeftColor","borderRightColor","actionButton","paddingHorizontal","paddingVertical","shadowColor","shadowRadius","actionButtonText"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Wheel/Wheel.tsx"],"mappings":"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","ignoreList":[]}
@@ -172,9 +172,8 @@ export const UniversalModalProvider = ({
172
172
  const ModalUI = CustomModalComponent || DefaultModalUI;
173
173
  const value = useMemo(() => ({
174
174
  showModal,
175
- hideModal,
176
- isVisible: state.isVisible
177
- }), [showModal, hideModal, state.isVisible]);
175
+ hideModal
176
+ }), [showModal, hideModal]);
178
177
  return /*#__PURE__*/_jsx(ModalContext.Provider, {
179
178
  value: value,
180
179
  children: /*#__PURE__*/_jsxs(PortalProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["Portal","PortalHost","PortalProvider","React","createContext","useCallback","useContext","useEffect","useMemo","useState","BackHandler","StyleSheet","TouchableOpacity","View","KeyboardAvoidingView","Animated","Easing","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","ModalContext","undefined","DEFAULT_MODAL_HOST","DefaultModalUI","isVisible","children","options","onClose","insets","isRendered","setIsRendered","opacity","closeOnBackdropPress","closeOnBackButton","animationConfig","duration","easing","bezier","position","animateFrom","avoidKeyboard","backdropStyle","containerStyle","closeIconComponent","value","finished","backHandler","addEventListener","remove","backdropAnimatedStyle","closeIconAnimatedStyle","contentAnimatedStyle","transform","push","translateY","scale","justifyContent","paddingBottom","bottom","paddingTop","top","ContentWrapper","style","absoluteFill","styles","overlayWrapper","backdrop","activeOpacity","onPress","closeIconContainer","pointerEvents","hitSlop","left","right","behavior","keyboardVerticalOffset","keyboardView","baseContainer","UniversalModalProvider","defaultOptions","portalHostName","CustomModalComponent","state","setState","content","showModal","hideModal","prev","setTimeout","ModalUI","Provider","name","hostName","useModal","context","Error","create","zIndex","elevation","backgroundColor","alignItems","width"],"sourceRoot":"..\\..\\..\\src","sources":["contexts/UniversalModalProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Portal","PortalHost","PortalProvider","React","createContext","useCallback","useContext","useEffect","useMemo","useState","BackHandler","StyleSheet","TouchableOpacity","View","KeyboardAvoidingView","Animated","Easing","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","ModalContext","undefined","DEFAULT_MODAL_HOST","DefaultModalUI","isVisible","children","options","onClose","insets","isRendered","setIsRendered","opacity","closeOnBackdropPress","closeOnBackButton","animationConfig","duration","easing","bezier","position","animateFrom","avoidKeyboard","backdropStyle","containerStyle","closeIconComponent","value","finished","backHandler","addEventListener","remove","backdropAnimatedStyle","closeIconAnimatedStyle","contentAnimatedStyle","transform","push","translateY","scale","justifyContent","paddingBottom","bottom","paddingTop","top","ContentWrapper","style","absoluteFill","styles","overlayWrapper","backdrop","activeOpacity","onPress","closeIconContainer","pointerEvents","hitSlop","left","right","behavior","keyboardVerticalOffset","keyboardView","baseContainer","UniversalModalProvider","defaultOptions","portalHostName","CustomModalComponent","state","setState","content","showModal","hideModal","prev","setTimeout","ModalUI","Provider","name","hostName","useModal","context","Error","create","zIndex","elevation","backgroundColor","alignItems","width"],"sourceRoot":"..\\..\\..\\src","sources":["contexts/UniversalModalProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
3
- import { AppButtonProps } from "../Button";
2
+ import { TextStyle, ViewStyle } from "react-native";
4
3
  export interface SpinWheelItem {
5
4
  id: string | number;
6
5
  label: string;
@@ -10,24 +9,15 @@ export interface SpinWheelItem {
10
9
  }
11
10
  interface SpinWheelProps {
12
11
  items: SpinWheelItem[];
13
- predeterminedWinner?: SpinWheelItem | string | number;
14
12
  size?: number;
15
- startSpin?: boolean;
16
13
  winner?: SpinWheelItem | string | number;
17
- minSpinDuration?: number;
18
14
  spinDuration?: number;
19
- friction?: number;
20
- enabled?: boolean;
21
15
  onSpinStart?: () => void;
22
16
  onSpinEnd?: (item: SpinWheelItem) => void;
23
17
  containerStyle?: ViewStyle;
24
18
  centerStyle?: ViewStyle;
25
- spinButtonText?: string;
26
19
  wheelTextStyle?: TextStyle;
27
20
  knobStyle?: ViewStyle;
28
- actionButtonStyle?: ViewStyle;
29
- actionButtonTextStyle?: TextStyle;
30
- actionButtonProps?: Partial<Omit<AppButtonProps, "title" | "onPress">>;
31
21
  wheelBorderColor?: string;
32
22
  wheelBorderWidth?: number;
33
23
  wheelTextColor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Wheel/Wheel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAOL,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAU,MAAM,WAAW,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,UAAU,cAAc;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACnC;AAOD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmSvC,CAAC;AAqDF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Wheel/Wheel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAIL,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,UAAU,cAAc;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACnC;AAMD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8OvC,CAAC;AAqDF,eAAe,SAAS,CAAC"}
@@ -23,7 +23,6 @@ export interface ModalOptions {
23
23
  interface ModalContextType {
24
24
  showModal: (content: ReactNode, options?: ModalOptions) => void;
25
25
  hideModal: () => void;
26
- isVisible: boolean;
27
26
  }
28
27
  interface ModalProviderProps {
29
28
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalModalProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/UniversalModalProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAEZ,SAAS,EAMV,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,SAAS,EAIT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAiB,EAMf,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,qCAAqC;IACrC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,CAAC,CAAC;CACJ;AAMD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AA8JvD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8D/D,CAAC;AAEF,eAAO,MAAM,QAAQ,wBAMpB,CAAC"}
1
+ {"version":3,"file":"UniversalModalProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/UniversalModalProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAEZ,SAAS,EAMV,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,SAAS,EAIT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAiB,EAMf,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,qCAAqC;IACrC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChE,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,CAAC,CAAC;CACJ;AAMD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AA8JvD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8D/D,CAAC;AAEF,eAAO,MAAM,QAAQ,wBAMpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "related-ui-components",
3
- "version": "4.1.2",
3
+ "version": "4.1.4",
4
4
  "main": "./src/index.ts",
5
5
  "scripts": {
6
6
  "start": "expo start",
@@ -1,16 +1,13 @@
1
- import React, { useState, useRef, useEffect } from "react";
1
+ import React, { useEffect, useRef, useState } from "react";
2
2
  import {
3
- View,
4
- StyleSheet,
5
3
  Animated,
6
- Text,
7
- TouchableOpacity,
8
4
  Easing,
9
- ViewStyle,
5
+ StyleSheet,
10
6
  TextStyle,
7
+ View,
8
+ ViewStyle,
11
9
  } from "react-native";
12
- import { Svg, Path, G, Text as SvgText, Circle } from "react-native-svg";
13
- import { AppButtonProps, Button } from "../Button";
10
+ import { Circle, G, Path, Svg, Text as SvgText } from "react-native-svg";
14
11
 
15
12
  export interface SpinWheelItem {
16
13
  id: string | number;
@@ -20,7 +17,6 @@ export interface SpinWheelItem {
20
17
  textColor?: string;
21
18
  }
22
19
 
23
- //default random colors
24
20
  const colors = [
25
21
  "#FF0000", "#FFA500", "#FFFF00", "#008000", "#0000FF", "#800080",
26
22
  "#FFC0CB", "#00FFFF", "#FF00FF", "#00FF00", "#4B0082", "#EE82EE",
@@ -31,24 +27,15 @@ const colors = [
31
27
 
32
28
  interface SpinWheelProps {
33
29
  items: SpinWheelItem[];
34
- predeterminedWinner?: SpinWheelItem | string | number;
35
30
  size?: number;
36
- startSpin?: boolean;
37
31
  winner?: SpinWheelItem | string | number;
38
- minSpinDuration?: number;
39
32
  spinDuration?: number;
40
- friction?: number;
41
- enabled?: boolean;
42
33
  onSpinStart?: () => void;
43
34
  onSpinEnd?: (item: SpinWheelItem) => void;
44
35
  containerStyle?: ViewStyle;
45
36
  centerStyle?: ViewStyle;
46
- spinButtonText?: string;
47
37
  wheelTextStyle?: TextStyle;
48
38
  knobStyle?: ViewStyle;
49
- actionButtonStyle?: ViewStyle;
50
- actionButtonTextStyle?: TextStyle;
51
- actionButtonProps?: Partial<Omit<AppButtonProps, "title" | "onPress">>;
52
39
  wheelBorderColor?: string;
53
40
  wheelBorderWidth?: number;
54
41
  wheelTextColor?: string;
@@ -57,96 +44,83 @@ interface SpinWheelProps {
57
44
  centerComponent?: React.ReactNode;
58
45
  }
59
46
 
60
- // Constants for consistent animation
61
- const ROTATION_DURATION = 2500; // Duration for one full rotation
62
- const DECEL_DURATION = 3000; // Duration for deceleration phase
63
- const EXTRA_SPINS = 3; // Number of extra full rotations before stopping
47
+ // Config for the single animation
48
+ const TOTAL_SPINS = 5; // How many full rotations before stopping
49
+ const SPIN_DURATION = 4000; // Total time for the one animation
64
50
 
65
51
  const SpinWheel: React.FC<SpinWheelProps> = ({
66
52
  items,
67
53
  size = 300,
68
54
  winner,
69
- minSpinDuration = 2000,
70
- onSpinStart,
71
55
  onSpinEnd,
72
56
  containerStyle,
73
57
  centerStyle,
74
- spinButtonText = "Spin",
75
58
  wheelTextStyle,
76
59
  knobStyle,
77
60
  knobColor = "#D81E5B",
78
- actionButtonStyle,
79
- actionButtonTextStyle,
80
61
  wheelBorderColor,
81
62
  wheelBorderWidth,
82
63
  wheelTextColor = "#FFFFFF",
83
- actionButtonProps,
84
64
  centerSize,
85
65
  centerComponent,
86
66
  }) => {
87
67
  const wheelItems = items.length > 0 ? items : [];
88
-
89
- const spinLoop = useRef<Animated.CompositeAnimation | null>(null);
90
- const spinStartTime = useRef<number>(0);
91
-
92
68
  const [spinning, setSpinning] = useState(false);
69
+
70
+ // 0-1 represents 0-360 degrees. We keep increasing this value.
93
71
  const rotateValue = useRef(new Animated.Value(0)).current;
94
72
  const rotationRef = useRef(0);
95
73
 
96
- const startInfiniteSpin = () => {
97
- rotateValue.setValue(rotationRef.current);
98
- spinStartTime.current = Date.now();
99
-
100
- spinLoop.current = Animated.loop(
101
- Animated.timing(rotateValue, {
102
- toValue: rotationRef.current + 1,
103
- duration: ROTATION_DURATION,
104
- easing: Easing.linear,
105
- useNativeDriver: true,
106
- })
107
- );
108
-
109
- spinLoop.current.start();
110
- setSpinning(true);
111
- onSpinStart?.();
112
- };
113
-
114
- const stopOnWinner = (winnerValue: SpinWheelItem | string | number) => {
115
- if (!spinLoop.current) return;
74
+ // Sync the ref with the animated value to ensure we start next spin from where we left off
75
+ useEffect(() => {
76
+ const listener = rotateValue.addListener(({ value }) => {
77
+ rotationRef.current = value;
78
+ });
79
+ return () => {
80
+ rotateValue.removeListener(listener);
81
+ };
82
+ }, [rotateValue]);
116
83
 
117
- spinLoop.current.stop();
118
- spinLoop.current = null;
84
+ // Main Logic: Trigger spin when 'winner' is provided
85
+ useEffect(() => {
86
+ if (winner != null && !spinning) {
87
+ spinToWinner(winner);
88
+ }
89
+ }, [winner]);
119
90
 
91
+ const spinToWinner = (winnerValue: SpinWheelItem | string | number) => {
120
92
  const winnerId =
121
93
  typeof winnerValue === "object" ? winnerValue.id : winnerValue;
122
94
 
123
95
  const index = items.findIndex((i) => i.id === winnerId);
124
- if (index === -1) return;
96
+ if (index === -1) {
97
+ console.warn("Winner not found in items array");
98
+ return;
99
+ }
125
100
 
126
- // Calculate target angle (pointer at top = 270 degrees)
101
+ setSpinning(true);
102
+
103
+ // 1. Calculate the angle where the item is centered
127
104
  const anglePerItem = 360 / items.length;
105
+ // We want the item centered at 270 degrees (top of the wheel in standard SVG)
128
106
  const segmentCenter = (index + 0.5) * anglePerItem;
129
107
  const targetAngle = (270 - segmentCenter + 360) % 360;
130
108
 
131
- // Get current rotation position
132
- const currentRotation = rotationRef.current;
133
- const currentAngle = (currentRotation * 360) % 360;
134
-
135
- // Calculate shortest path to target
136
- let offset = (targetAngle - currentAngle + 360) % 360;
137
-
138
- // Add extra full rotations for dramatic effect
139
- const extraRotations = EXTRA_SPINS * 360;
140
- const totalRotation = offset + extraRotations;
141
-
142
- // Final rotation value
143
- const finalRotation = currentRotation + totalRotation / 360;
109
+ // 2. Calculate offset from current position
110
+ const currentRotationDegrees = (rotationRef.current * 360) % 360;
111
+ const offset = (targetAngle - currentRotationDegrees + 360) % 360;
112
+
113
+ // 3. Calculate total rotation:
114
+ // Current Rotation + (Distance to target) + (Extra Full Spins)
115
+ // We divide by 360 because our Animated.Value goes from 0 to 1 for a full circle
116
+ const finalRotation =
117
+ rotationRef.current + (offset + 360 * TOTAL_SPINS) / 360;
144
118
 
145
- // Use ease-out cubic for smooth deceleration
119
+ // 4. One smooth animation
146
120
  Animated.timing(rotateValue, {
147
121
  toValue: finalRotation,
148
- duration: DECEL_DURATION,
149
- easing: Easing.out(Easing.cubic),
122
+ duration: SPIN_DURATION,
123
+ easing: Easing.out(Easing.cubic), // Starts fast, slows down smoothly
150
124
  useNativeDriver: true,
151
125
  }).start(() => {
152
126
  rotationRef.current = finalRotation;
@@ -155,16 +129,6 @@ const SpinWheel: React.FC<SpinWheelProps> = ({
155
129
  });
156
130
  };
157
131
 
158
- useEffect(() => {
159
- const listener = rotateValue.addListener(({ value }) => {
160
- rotationRef.current = value;
161
- });
162
-
163
- return () => {
164
- rotateValue.removeListener(listener);
165
- };
166
- }, [rotateValue]);
167
-
168
132
  const anglePerItem = wheelItems.length > 0 ? 360 / wheelItems.length : 0;
169
133
 
170
134
  const generateWheelPaths = () => {
@@ -206,19 +170,6 @@ const SpinWheel: React.FC<SpinWheelProps> = ({
206
170
 
207
171
  const wheelPaths = generateWheelPaths();
208
172
 
209
- useEffect(() => {
210
- if (!winner || !spinning) return;
211
-
212
- const elapsed = Date.now() - spinStartTime.current;
213
- const delay = Math.max(0, minSpinDuration - elapsed);
214
-
215
- const timeout = setTimeout(() => {
216
- stopOnWinner(winner);
217
- }, delay);
218
-
219
- return () => clearTimeout(timeout);
220
- }, [winner, spinning]);
221
-
222
173
  const rotate = rotateValue.interpolate({
223
174
  inputRange: [0, 1],
224
175
  outputRange: ["0deg", "360deg"],
@@ -270,7 +221,7 @@ const SpinWheel: React.FC<SpinWheelProps> = ({
270
221
  })}
271
222
  </G>
272
223
 
273
- {wheelBorderWidth && (
224
+ {wheelBorderWidth ? (
274
225
  <Circle
275
226
  cx={size / 2}
276
227
  cy={size / 2}
@@ -279,6 +230,8 @@ const SpinWheel: React.FC<SpinWheelProps> = ({
279
230
  strokeWidth={wheelBorderWidth}
280
231
  fill="none"
281
232
  />
233
+ ) : (
234
+ <View></View>
282
235
  )}
283
236
  </Svg>
284
237
  </Animated.View>
@@ -330,26 +283,6 @@ const SpinWheel: React.FC<SpinWheelProps> = ({
330
283
  ]}
331
284
  />
332
285
  </View>
333
-
334
- <View
335
- style={{
336
- position: "absolute",
337
- width: "100%",
338
- alignItems: "center",
339
- justifyContent: "center",
340
- bottom: -70,
341
- zIndex: 2,
342
- }}
343
- >
344
- <Button
345
- style={[styles.actionButton, actionButtonStyle]}
346
- onPress={startInfiniteSpin}
347
- title={spinButtonText}
348
- disabled={spinning}
349
- textStyle={[styles.actionButtonText, actionButtonTextStyle]}
350
- {...actionButtonProps}
351
- />
352
- </View>
353
286
  </View>
354
287
  </View>
355
288
  );
@@ -51,7 +51,6 @@ export interface ModalOptions {
51
51
  interface ModalContextType {
52
52
  showModal: (content: ReactNode, options?: ModalOptions) => void;
53
53
  hideModal: () => void;
54
- isVisible: boolean;
55
54
  }
56
55
 
57
56
  interface ModalProviderProps {
@@ -272,8 +271,8 @@ export const UniversalModalProvider: React.FC<ModalProviderProps> = ({
272
271
  const ModalUI = CustomModalComponent || DefaultModalUI;
273
272
 
274
273
  const value = useMemo(
275
- () => ({ showModal, hideModal, isVisible: state.isVisible }),
276
- [showModal, hideModal, state.isVisible],
274
+ () => ({ showModal, hideModal }),
275
+ [showModal, hideModal],
277
276
  );
278
277
 
279
278
  return (