@zezosoft/zezo-ott-react-native-ui-kit 1.2.0 → 1.2.2

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.
Files changed (166) hide show
  1. package/lib/module/components/Auth/AuthProvider/AuthProvider.js +2 -2
  2. package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
  3. package/lib/module/components/Auth/One/ForgotPassword/ForgotPassword.js +16 -16
  4. package/lib/module/components/Auth/One/ForgotPassword/ForgotPassword.js.map +1 -1
  5. package/lib/module/components/Auth/One/Login/LoginWithEmail.js +16 -16
  6. package/lib/module/components/Auth/One/Login/LoginWithEmail.js.map +1 -1
  7. package/lib/module/components/Auth/One/Login/LoginWithPhone.js +17 -17
  8. package/lib/module/components/Auth/One/Login/LoginWithPhone.js.map +1 -1
  9. package/lib/module/components/Auth/One/OTP/OTP.js +100 -67
  10. package/lib/module/components/Auth/One/OTP/OTP.js.map +1 -1
  11. package/lib/module/components/Auth/One/SignUp/SignUp.js +17 -17
  12. package/lib/module/components/Auth/One/SignUp/SignUp.js.map +1 -1
  13. package/lib/module/components/Auth/One/SplashScreen/SplashScreen.js +57 -76
  14. package/lib/module/components/Auth/One/SplashScreen/SplashScreen.js.map +1 -1
  15. package/lib/module/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.js +23 -26
  16. package/lib/module/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
  17. package/lib/module/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.js +56 -18
  18. package/lib/module/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
  19. package/lib/module/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.js +62 -71
  20. package/lib/module/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  21. package/lib/module/components/Auth/Two/AuthHeader/AuthHeader.js +20 -17
  22. package/lib/module/components/Auth/Two/AuthHeader/AuthHeader.js.map +1 -1
  23. package/lib/module/components/Auth/Two/ForgotPassword/ForgotPassword.js +11 -13
  24. package/lib/module/components/Auth/Two/ForgotPassword/ForgotPassword.js.map +1 -1
  25. package/lib/module/components/Auth/Two/Login/EmailOrPhoneLogin.js +489 -0
  26. package/lib/module/components/Auth/Two/Login/EmailOrPhoneLogin.js.map +1 -0
  27. package/lib/module/components/Auth/Two/OTP/OTP.js +90 -91
  28. package/lib/module/components/Auth/Two/OTP/OTP.js.map +1 -1
  29. package/lib/module/components/Auth/Two/SignUp/SignUp.js +49 -66
  30. package/lib/module/components/Auth/Two/SignUp/SignUp.js.map +1 -1
  31. package/lib/module/components/Auth/Two/index.js +3 -7
  32. package/lib/module/components/Auth/Two/index.js.map +1 -1
  33. package/lib/module/components/BackgroundLayout/{BackgroundLayout.js → One/One.js} +12 -9
  34. package/lib/module/components/BackgroundLayout/One/One.js.map +1 -0
  35. package/lib/module/components/BackgroundLayout/{BackgroundLayoutOne.js → Two/Two.js} +11 -5
  36. package/lib/module/components/BackgroundLayout/Two/Two.js.map +1 -0
  37. package/lib/module/components/BackgroundLayout/index.js +10 -0
  38. package/lib/module/components/BackgroundLayout/index.js.map +1 -0
  39. package/lib/module/components/ContentView/One/components/AboutSection.js +9 -18
  40. package/lib/module/components/ContentView/One/components/AboutSection.js.map +1 -1
  41. package/lib/module/components/ContentView/One/components/GenreTags.js +5 -1
  42. package/lib/module/components/ContentView/One/components/GenreTags.js.map +1 -1
  43. package/lib/module/components/ContentView/Two/components/AboutSection.js +4 -1
  44. package/lib/module/components/ContentView/Two/components/AboutSection.js.map +1 -1
  45. package/lib/module/components/ContentView/Two/components/Details.js +3 -0
  46. package/lib/module/components/ContentView/Two/components/Details.js.map +1 -1
  47. package/lib/module/components/ContentView/Two/components/GenreTags.js +4 -1
  48. package/lib/module/components/ContentView/Two/components/GenreTags.js.map +1 -1
  49. package/lib/module/components/ContentView/Two/components/SectionTabs.js +3 -0
  50. package/lib/module/components/ContentView/Two/components/SectionTabs.js.map +1 -1
  51. package/lib/module/components/ContentView/Two/components/Title.js.map +1 -1
  52. package/lib/module/components/Headers/One.js +1 -1
  53. package/lib/module/components/Input/Input.js +2 -4
  54. package/lib/module/components/Input/Input.js.map +1 -1
  55. package/lib/module/components/Input/InputThree.js +31 -33
  56. package/lib/module/components/Input/InputThree.js.map +1 -1
  57. package/lib/module/components/Input/InputTwo.js +1 -0
  58. package/lib/module/components/Input/InputTwo.js.map +1 -1
  59. package/lib/module/components/Input/{PhoneNumberInput.js → PhoneInput/One/One.js} +4 -4
  60. package/lib/module/components/Input/PhoneInput/One/One.js.map +1 -0
  61. package/lib/module/components/Input/{PhoneNumberInputTwo.js → PhoneInput/Two/Two.js} +2 -2
  62. package/lib/module/components/Input/PhoneInput/Two/Two.js.map +1 -0
  63. package/lib/module/components/Input/PhoneInput/index.js +15 -0
  64. package/lib/module/components/Input/PhoneInput/index.js.map +1 -0
  65. package/lib/module/components/Keyboard/HideKeyboard.js +1 -1
  66. package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
  67. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js +4 -3
  68. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js.map +1 -1
  69. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js +3 -1
  70. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js.map +1 -1
  71. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +37 -6
  72. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -1
  73. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js +9 -6
  74. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map +1 -1
  75. package/lib/module/components/Reels/ReelsSeries/utils/quality.js +19 -15
  76. package/lib/module/components/Reels/ReelsSeries/utils/quality.js.map +1 -1
  77. package/lib/module/hooks/useSplashCache.js +120 -85
  78. package/lib/module/hooks/useSplashCache.js.map +1 -1
  79. package/lib/typescript/src/components/Auth/One/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  80. package/lib/typescript/src/components/Auth/One/Login/LoginWithEmail.d.ts.map +1 -1
  81. package/lib/typescript/src/components/Auth/One/Login/LoginWithPhone.d.ts.map +1 -1
  82. package/lib/typescript/src/components/Auth/One/OTP/OTP.d.ts.map +1 -1
  83. package/lib/typescript/src/components/Auth/One/SignUp/SignUp.d.ts.map +1 -1
  84. package/lib/typescript/src/components/Auth/One/SplashScreen/SplashScreen.d.ts.map +1 -1
  85. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.d.ts +4 -0
  86. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
  87. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -1
  88. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.d.ts +1 -0
  89. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  90. package/lib/typescript/src/components/Auth/One/index.d.ts.map +1 -1
  91. package/lib/typescript/src/components/Auth/Two/AuthHeader/AuthHeader.d.ts.map +1 -1
  92. package/lib/typescript/src/components/Auth/Two/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  93. package/lib/typescript/src/components/Auth/Two/Login/EmailOrPhoneLogin.d.ts +47 -0
  94. package/lib/typescript/src/components/Auth/Two/Login/EmailOrPhoneLogin.d.ts.map +1 -0
  95. package/lib/typescript/src/components/Auth/Two/OTP/OTP.d.ts +0 -12
  96. package/lib/typescript/src/components/Auth/Two/OTP/OTP.d.ts.map +1 -1
  97. package/lib/typescript/src/components/Auth/Two/SignUp/SignUp.d.ts +1 -17
  98. package/lib/typescript/src/components/Auth/Two/SignUp/SignUp.d.ts.map +1 -1
  99. package/lib/typescript/src/components/Auth/Two/index.d.ts +33 -85
  100. package/lib/typescript/src/components/Auth/Two/index.d.ts.map +1 -1
  101. package/lib/typescript/src/components/Auth/index.d.ts +33 -85
  102. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  103. package/lib/typescript/src/components/BackgroundLayout/{BackgroundLayout.d.ts → One/One.d.ts} +5 -5
  104. package/lib/typescript/src/components/BackgroundLayout/One/One.d.ts.map +1 -0
  105. package/lib/typescript/src/components/BackgroundLayout/{BackgroundLayoutOne.d.ts → Two/Two.d.ts} +4 -3
  106. package/lib/typescript/src/components/BackgroundLayout/Two/Two.d.ts.map +1 -0
  107. package/lib/typescript/src/components/BackgroundLayout/index.d.ts +20 -0
  108. package/lib/typescript/src/components/BackgroundLayout/index.d.ts.map +1 -0
  109. package/lib/typescript/src/components/ContentView/One/components/AboutSection.d.ts +3 -3
  110. package/lib/typescript/src/components/ContentView/One/components/AboutSection.d.ts.map +1 -1
  111. package/lib/typescript/src/components/ContentView/One/components/GenreTags.d.ts +1 -1
  112. package/lib/typescript/src/components/ContentView/One/components/GenreTags.d.ts.map +1 -1
  113. package/lib/typescript/src/components/ContentView/Two/components/AboutSection.d.ts +1 -1
  114. package/lib/typescript/src/components/ContentView/Two/components/AboutSection.d.ts.map +1 -1
  115. package/lib/typescript/src/components/ContentView/Two/components/Details.d.ts.map +1 -1
  116. package/lib/typescript/src/components/ContentView/Two/components/GenreTags.d.ts +1 -1
  117. package/lib/typescript/src/components/ContentView/Two/components/GenreTags.d.ts.map +1 -1
  118. package/lib/typescript/src/components/ContentView/Two/components/SectionTabs.d.ts +1 -1
  119. package/lib/typescript/src/components/ContentView/Two/components/SectionTabs.d.ts.map +1 -1
  120. package/lib/typescript/src/components/ContentView/Two/components/Title.d.ts +1 -1
  121. package/lib/typescript/src/components/ContentView/Two/components/Title.d.ts.map +1 -1
  122. package/lib/typescript/src/components/Input/Input.d.ts +4 -2
  123. package/lib/typescript/src/components/Input/Input.d.ts.map +1 -1
  124. package/lib/typescript/src/components/Input/InputThree.d.ts +0 -1
  125. package/lib/typescript/src/components/Input/InputThree.d.ts.map +1 -1
  126. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  127. package/lib/typescript/src/components/Input/{PhoneNumberInput.d.ts → PhoneInput/One/One.d.ts} +4 -4
  128. package/lib/typescript/src/components/Input/PhoneInput/One/One.d.ts.map +1 -0
  129. package/lib/typescript/src/components/Input/{PhoneNumberInputTwo.d.ts → PhoneInput/Two/Two.d.ts} +4 -4
  130. package/lib/typescript/src/components/Input/PhoneInput/Two/Two.d.ts.map +1 -0
  131. package/lib/typescript/src/components/Input/PhoneInput/index.d.ts +12 -0
  132. package/lib/typescript/src/components/Input/PhoneInput/index.d.ts.map +1 -0
  133. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts +4 -2
  134. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts.map +1 -1
  135. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts +5 -3
  136. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts.map +1 -1
  137. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -1
  138. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts +5 -12
  139. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts.map +1 -1
  140. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +4 -0
  141. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -1
  142. package/lib/typescript/src/components/Reels/ReelsSeries/utils/quality.d.ts +1 -4
  143. package/lib/typescript/src/components/Reels/ReelsSeries/utils/quality.d.ts.map +1 -1
  144. package/lib/typescript/src/hooks/useSplashCache.d.ts +7 -10
  145. package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -1
  146. package/package.json +1 -1
  147. package/lib/module/components/Auth/Two/Login/AuthLoginShell.js +0 -138
  148. package/lib/module/components/Auth/Two/Login/AuthLoginShell.js.map +0 -1
  149. package/lib/module/components/Auth/Two/Login/LoginWithEmail.js +0 -226
  150. package/lib/module/components/Auth/Two/Login/LoginWithEmail.js.map +0 -1
  151. package/lib/module/components/Auth/Two/Login/LoginWithPhone.js +0 -143
  152. package/lib/module/components/Auth/Two/Login/LoginWithPhone.js.map +0 -1
  153. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +0 -1
  154. package/lib/module/components/BackgroundLayout/BackgroundLayoutOne.js.map +0 -1
  155. package/lib/module/components/Input/PhoneNumberInput.js.map +0 -1
  156. package/lib/module/components/Input/PhoneNumberInputTwo.js.map +0 -1
  157. package/lib/typescript/src/components/Auth/Two/Login/AuthLoginShell.d.ts +0 -17
  158. package/lib/typescript/src/components/Auth/Two/Login/AuthLoginShell.d.ts.map +0 -1
  159. package/lib/typescript/src/components/Auth/Two/Login/LoginWithEmail.d.ts +0 -52
  160. package/lib/typescript/src/components/Auth/Two/Login/LoginWithEmail.d.ts.map +0 -1
  161. package/lib/typescript/src/components/Auth/Two/Login/LoginWithPhone.d.ts +0 -37
  162. package/lib/typescript/src/components/Auth/Two/Login/LoginWithPhone.d.ts.map +0 -1
  163. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +0 -1
  164. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayoutOne.d.ts.map +0 -1
  165. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +0 -1
  166. package/lib/typescript/src/components/Input/PhoneNumberInputTwo.d.ts.map +0 -1
@@ -12,8 +12,8 @@ import { Button } from "../../../Button/index.js";
12
12
  import Display from "../../../../utils/Display.js";
13
13
  import { Text } from "../../../Text/index.js";
14
14
  import { RFValue } from 'react-native-responsive-fontsize';
15
- import BackgroundLayoutOne from "../../../BackgroundLayout/BackgroundLayoutOne.js";
16
15
  import { MessageSquare } from 'lucide-react-native';
16
+ import { BackgroundLayout } from "../../../BackgroundLayout/index.js";
17
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
18
  const DEFAULT_TEXT = {
19
19
  otpLabel: 'Enter OTP',
@@ -24,12 +24,14 @@ const DEFAULT_TEXT = {
24
24
  resendOtpText: 'Resend OTP',
25
25
  resendOtpCountdownText: 'Resend OTP in'
26
26
  };
27
+ const AUTO_SUBMIT_DELAY_MS = 300;
28
+ const RESEND_COUNTDOWN_INTERVAL_MS = 1000;
27
29
  const OTP = ({
28
- // title,
30
+ title,
29
31
  onSubmit,
30
32
  onTopBackBtnPress,
31
33
  containerStyle,
32
- // titleStyle,
34
+ titleStyle,
33
35
  formStyle,
34
36
  backBtnStyle,
35
37
  loading = false,
@@ -45,9 +47,7 @@ const OTP = ({
45
47
  resendDisabledTime = 30,
46
48
  renderSubmitButton,
47
49
  renderBackButton,
48
- // renderOtpHeader,
49
50
  renderOtpInput,
50
- // renderPhoneText,
51
51
  cellStyle,
52
52
  focusCellStyle
53
53
  }) => {
@@ -61,6 +61,9 @@ const OTP = ({
61
61
  const [isSubmitting, setIsSubmitting] = useState(false);
62
62
  const [resendTimer, setResendTimer] = useState(resendDisabledTime);
63
63
  const hasAutoSubmittedRef = useRef(false);
64
+ const autoSubmitTimerRef = useRef(null);
65
+ const lastAutoSubmittedOtpRef = useRef('');
66
+ const handleSubmitRef = useRef(() => Promise.resolve());
64
67
  const ref = useBlurOnFulfill({
65
68
  value: otp,
66
69
  cellCount: otpDigitCount
@@ -69,6 +72,12 @@ const OTP = ({
69
72
  value: otp,
70
73
  setValue: setOtp
71
74
  });
75
+ const setOtpDigitsOnly = useCallback(value => {
76
+ setOtp(value.replace(/\D/g, ''));
77
+ }, []);
78
+ const isFocusedArray = useMemo(() => Array.from({
79
+ length: otpDigitCount
80
+ }, (_, i) => otp.length === i), [otp.length, otpDigitCount]);
72
81
  const styles = useMemo(() => StyleSheet.create({
73
82
  container: {
74
83
  flex: 1,
@@ -77,10 +86,6 @@ const OTP = ({
77
86
  justifyContent: 'center',
78
87
  alignItems: 'center'
79
88
  },
80
- header: {
81
- alignItems: 'center',
82
- gap: scale(8)
83
- },
84
89
  topBackBtnWrapper: {
85
90
  position: 'absolute',
86
91
  top: verticalScale(5),
@@ -88,16 +93,10 @@ const OTP = ({
88
93
  right: scale(16),
89
94
  zIndex: 10
90
95
  },
91
- headerRow: {
92
- flexDirection: 'row',
93
- alignItems: 'center',
94
- paddingVertical: verticalScale(12)
95
- },
96
96
  headerTitle: {
97
- fontSize: RFValue(20),
97
+ fontSize: RFValue(18),
98
98
  fontWeight: '400',
99
- marginLeft: scale(55),
100
- marginTop: verticalScale(20),
99
+ marginLeft: scale(10),
101
100
  color: resolvedTheme.colors.textPrimary
102
101
  },
103
102
  centerContent: {
@@ -108,23 +107,6 @@ const OTP = ({
108
107
  justifyContent: 'center',
109
108
  gap: verticalScale(4)
110
109
  },
111
- title: {
112
- fontSize: RFValue(21),
113
- fontWeight: '700',
114
- marginTop: verticalScale(8),
115
- color: resolvedTheme.colors.textPrimary,
116
- textAlign: 'center'
117
- },
118
- sentText: {
119
- fontSize: RFValue(12),
120
- color: resolvedTheme.colors.onSurfaceVariant,
121
- textAlign: 'center',
122
- lineHeight: scale(18)
123
- },
124
- sentNumberContainer: {
125
- marginTop: verticalScale(8),
126
- alignItems: 'center'
127
- },
128
110
  form: {
129
111
  width: '100%',
130
112
  gap: verticalScale(20),
@@ -154,7 +136,7 @@ const OTP = ({
154
136
  },
155
137
  focusCell: {
156
138
  borderColor: resolvedTheme.colors.primary,
157
- backgroundColor: resolvedTheme.colors.surfaceVariant
139
+ backgroundColor: resolvedTheme.colors.border
158
140
  },
159
141
  otpInfoRow: {
160
142
  flexDirection: 'row',
@@ -179,13 +161,27 @@ const OTP = ({
179
161
  flexDirection: 'row',
180
162
  alignItems: 'center',
181
163
  gap: scale(6)
164
+ },
165
+ resendSection: {
166
+ alignItems: 'center',
167
+ marginTop: verticalScale(10)
168
+ },
169
+ resendText: {
170
+ fontSize: RFValue(12)
171
+ },
172
+ resendTextDisabled: {
173
+ color: resolvedTheme.colors.onSurfaceVariant
174
+ },
175
+ resendTextActive: {
176
+ color: resolvedTheme.colors.textPrimary
177
+ },
178
+ submitButtonTitle: {
179
+ fontSize: RFValue(13)
182
180
  }
183
- }), [isKeyboardOpen, resolvedTheme.colors.onSurfaceVariant, resolvedTheme.colors.primary, resolvedTheme.colors.surfaceVariant, resolvedTheme.colors.textPrimary]);
181
+ }), [isKeyboardOpen, resolvedTheme.colors.border, resolvedTheme.colors.onSurfaceVariant, resolvedTheme.colors.primary, resolvedTheme.colors.textPrimary]);
184
182
  useEffect(() => {
185
183
  if (resendTimer <= 0) return;
186
- const timer = setInterval(() => {
187
- setResendTimer(prev => prev - 1);
188
- }, 1000);
184
+ const timer = setInterval(() => setResendTimer(prev => prev - 1), RESEND_COUNTDOWN_INTERVAL_MS);
189
185
  return () => clearInterval(timer);
190
186
  }, [resendTimer]);
191
187
  const handleSubmit = useCallback(async () => {
@@ -201,24 +197,39 @@ const OTP = ({
201
197
  setIsSubmitting(false);
202
198
  }
203
199
  }, [onSubmit, otp, otpDigitCount]);
204
-
205
- // Auto-submit when OTP is auto-filled and complete (only once per full value)
200
+ handleSubmitRef.current = handleSubmit;
206
201
  useEffect(() => {
207
- // Reset flag if user clears or edits back to incomplete OTP,
208
- // so auto-submit can happen again for a new value.
202
+ if (autoSubmitTimerRef.current) {
203
+ clearTimeout(autoSubmitTimerRef.current);
204
+ autoSubmitTimerRef.current = null;
205
+ }
209
206
  if (otp.length !== otpDigitCount) {
210
207
  hasAutoSubmittedRef.current = false;
208
+ lastAutoSubmittedOtpRef.current = '';
211
209
  return undefined;
212
210
  }
213
- if (autoSubmitOnFill && !hasAutoSubmittedRef.current && !isSubmitting && !loading && onSubmit) {
214
- hasAutoSubmittedRef.current = true;
215
- const timer = setTimeout(() => {
216
- handleSubmit();
217
- }, 300); // Small delay to ensure OTP is fully set
218
- return () => clearTimeout(timer);
211
+ if (lastAutoSubmittedOtpRef.current === otp) return undefined;
212
+ if (!autoSubmitOnFill || hasAutoSubmittedRef.current || isSubmitting || loading || !onSubmit) {
213
+ return undefined;
219
214
  }
220
- return undefined;
221
- }, [otp, otpDigitCount, autoSubmitOnFill, isSubmitting, loading, onSubmit, handleSubmit]);
215
+ hasAutoSubmittedRef.current = true;
216
+ lastAutoSubmittedOtpRef.current = otp;
217
+ autoSubmitTimerRef.current = setTimeout(() => {
218
+ if (otp.length === otpDigitCount && !isSubmitting && !loading) {
219
+ handleSubmitRef.current();
220
+ } else {
221
+ hasAutoSubmittedRef.current = false;
222
+ lastAutoSubmittedOtpRef.current = '';
223
+ }
224
+ autoSubmitTimerRef.current = null;
225
+ }, AUTO_SUBMIT_DELAY_MS);
226
+ return () => {
227
+ if (autoSubmitTimerRef.current) {
228
+ clearTimeout(autoSubmitTimerRef.current);
229
+ autoSubmitTimerRef.current = null;
230
+ }
231
+ };
232
+ }, [otp, otpDigitCount, autoSubmitOnFill, isSubmitting, loading, onSubmit]);
222
233
  const handleResendOtp = useCallback(() => {
223
234
  if (onResendOtp) {
224
235
  onResendOtp();
@@ -228,23 +239,29 @@ const OTP = ({
228
239
  const isLoading = useMemo(() => loading || isSubmitting, [loading, isSubmitting]);
229
240
  const isSubmitDisabled = useMemo(() => otp.length !== otpDigitCount || isLoading, [otp.length, otpDigitCount, isLoading]);
230
241
  const shouldRender = useMemo(() => condition => typeof condition === 'function' || !!condition, []);
231
- return /*#__PURE__*/_jsx(BackgroundLayoutOne, {
242
+ const renderCell = useCallback(({
243
+ index,
244
+ symbol,
245
+ isFocused
246
+ }) => /*#__PURE__*/_jsx(Text, {
247
+ style: [styles.cell, cellStyle, isFocused && styles.focusCell, isFocused && focusCellStyle],
248
+ onLayout: getCellOnLayoutHandler(index),
249
+ children: symbol || (isFocused ? /*#__PURE__*/_jsx(Cursor, {}) : null)
250
+ }, index), [styles, cellStyle, focusCellStyle, getCellOnLayoutHandler]);
251
+ const noop = useCallback(() => {}, []);
252
+ return /*#__PURE__*/_jsx(BackgroundLayout.Two, {
232
253
  children: /*#__PURE__*/_jsxs(View, {
233
254
  style: [styles.container, containerStyle],
234
255
  children: [shouldRender(renderBackButton || onTopBackBtnPress) && /*#__PURE__*/_jsx(View, {
235
256
  style: styles.topBackBtnWrapper,
236
257
  children: renderBackButton ? renderBackButton({
237
- onPress: onTopBackBtnPress ?? (() => {})
238
- }) : /*#__PURE__*/_jsxs(View, {
239
- style: styles.headerRow,
240
- children: [/*#__PURE__*/_jsx(BackBtn, {
241
- theme: overrideTheme,
242
- style: backBtnStyle,
243
- onPress: onTopBackBtnPress
244
- }), /*#__PURE__*/_jsx(Text, {
245
- style: styles.headerTitle,
246
- children: "Verify OTP"
247
- })]
258
+ onPress: onTopBackBtnPress ?? noop
259
+ }) : /*#__PURE__*/_jsx(BackBtn, {
260
+ theme: overrideTheme,
261
+ style: backBtnStyle,
262
+ onPress: onTopBackBtnPress,
263
+ textStyle: [styles.headerTitle, titleStyle],
264
+ label: title ?? DEFAULT_TEXT.otpLabel
248
265
  })
249
266
  }), /*#__PURE__*/_jsx(HideKeyboard, {
250
267
  children: /*#__PURE__*/_jsxs(View, {
@@ -262,48 +279,33 @@ const OTP = ({
262
279
  style: [styles.form, formStyle],
263
280
  children: [renderOtpInput ? renderOtpInput({
264
281
  value: otp,
265
- onChange: val => setOtp(val.replace(/\D/g, '')),
266
- isFocused: Array.from({
267
- length: otpDigitCount
268
- }, (_, i) => otp.length === i)
282
+ onChange: setOtpDigitsOnly,
283
+ isFocused: isFocusedArray
269
284
  }) : /*#__PURE__*/_jsx(CodeField, {
270
285
  ref: ref,
271
286
  ...codeFieldProps,
272
287
  value: otp,
273
- onChangeText: input => setOtp(input.replace(/\D/g, '')),
288
+ onChangeText: setOtpDigitsOnly,
274
289
  cellCount: otpDigitCount,
275
290
  rootStyle: styles.codeFieldRoot,
276
291
  keyboardType: keyboardType,
277
292
  textContentType: enableAutoFill ? 'oneTimeCode' : 'none',
278
293
  autoComplete: enableAutoFill ? Platform.OS === 'android' ? 'sms-otp' : 'off' : 'off',
279
- renderCell: ({
280
- index,
281
- symbol,
282
- isFocused
283
- }) => /*#__PURE__*/_jsx(Text, {
284
- style: [styles.cell, cellStyle, isFocused && styles.focusCell, isFocused && focusCellStyle],
285
- onLayout: getCellOnLayoutHandler(index),
286
- children: symbol || (isFocused ? /*#__PURE__*/_jsx(Cursor, {}) : null)
287
- }, index)
294
+ renderCell: renderCell
288
295
  }), renderSubmitButton ? renderSubmitButton({
289
296
  onPress: handleSubmit,
290
297
  disabled: isSubmitDisabled,
291
298
  loading: isLoading
292
299
  }) : /*#__PURE__*/_jsx(Button.Primary, {
293
- title: text.submitButton || DEFAULT_TEXT.submitButton,
300
+ title: text?.submitButton ?? DEFAULT_TEXT.submitButton,
294
301
  theme: overrideTheme,
295
302
  onPress: handleSubmit,
296
- loadingText: text.loadingSubmitBtnText,
297
- titleStyle: {
298
- fontSize: RFValue(13)
299
- },
303
+ loadingText: text?.loadingSubmitBtnText,
304
+ titleStyle: styles.submitButtonTitle,
300
305
  disabled: isSubmitDisabled,
301
306
  loading: isLoading
302
307
  }), !isKeyboardOpen && /*#__PURE__*/_jsx(View, {
303
- style: {
304
- alignItems: 'center',
305
- marginTop: verticalScale(10)
306
- },
308
+ style: styles.resendSection,
307
309
  children: /*#__PURE__*/_jsxs(View, {
308
310
  style: styles.resendRow,
309
311
  children: [/*#__PURE__*/_jsx(MessageSquare, {
@@ -311,11 +313,8 @@ const OTP = ({
311
313
  color: resendTimer > 0 ? resolvedTheme.colors.onSurfaceVariant : resolvedTheme.colors.textPrimary
312
314
  }), /*#__PURE__*/_jsx(Text, {
313
315
  onPress: resendTimer <= 0 ? handleResendOtp : undefined,
314
- style: {
315
- fontSize: RFValue(12),
316
- color: resendTimer > 0 ? resolvedTheme.colors.onSurfaceVariant : resolvedTheme.colors.textPrimary
317
- },
318
- children: resendTimer > 0 ? `${text?.resendOtpCountdownText || DEFAULT_TEXT.resendOtpCountdownText} ${resendTimer}s` : text?.resendOtpText || DEFAULT_TEXT.resendOtpText
316
+ style: [styles.resendText, resendTimer > 0 ? styles.resendTextDisabled : styles.resendTextActive],
317
+ children: resendTimer > 0 ? `${text?.resendOtpCountdownText ?? DEFAULT_TEXT.resendOtpCountdownText} ${resendTimer}s` : text?.resendOtpText ?? DEFAULT_TEXT.resendOtpText
319
318
  })]
320
319
  })
321
320
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","useState","useCallback","useEffect","useRef","View","StyleSheet","Platform","CodeField","Cursor","useBlurOnFulfill","useClearByFocusCell","scale","verticalScale","HideKeyboard","useKeyboard","BackBtn","useInternalTheme","Button","Display","Text","RFValue","BackgroundLayoutOne","MessageSquare","jsx","_jsx","jsxs","_jsxs","DEFAULT_TEXT","otpLabel","otpPlaceholder","submitButton","loadingSubmitBtnText","otpSentText","resendOtpText","resendOtpCountdownText","OTP","onSubmit","onTopBackBtnPress","containerStyle","formStyle","backBtnStyle","loading","theme","overrideTheme","otpDigitCount","keyboardType","phoneNumber","countryCode","enableAutoFill","autoSubmitOnFill","text","onResendOtp","resendDisabledTime","renderSubmitButton","renderBackButton","renderOtpInput","cellStyle","focusCellStyle","resolvedTheme","isKeyboardOpen","otp","setOtp","isSubmitting","setIsSubmitting","resendTimer","setResendTimer","hasAutoSubmittedRef","ref","value","cellCount","codeFieldProps","getCellOnLayoutHandler","setValue","styles","create","container","flex","width","paddingHorizontal","justifyContent","alignItems","header","gap","topBackBtnWrapper","position","top","left","right","zIndex","headerRow","flexDirection","paddingVertical","headerTitle","fontSize","fontWeight","marginLeft","marginTop","color","colors","textPrimary","centerContent","maxWidth","title","textAlign","sentText","onSurfaceVariant","lineHeight","sentNumberContainer","form","marginBottom","codeFieldRoot","setWidth","cell","height","paddingTop","OS","borderWidth","borderRadius","alignSelf","overflow","borderColor","focusCell","primary","backgroundColor","surfaceVariant","otpInfoRow","flexWrap","otpInfoText","flexShrink","otpPhone","resendRow","timer","setInterval","prev","clearInterval","handleSubmit","length","error","console","current","undefined","setTimeout","clearTimeout","handleResendOtp","isLoading","isSubmitDisabled","shouldRender","condition","children","style","onPress","replace","onChange","val","isFocused","Array","from","_","i","onChangeText","input","rootStyle","textContentType","autoComplete","renderCell","index","symbol","onLayout","disabled","Primary","loadingText","titleStyle","size"],"sourceRoot":"../../../../../../src","sources":["components/Auth/Two/OTP/OTP.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","useState","useCallback","useEffect","useRef","View","StyleSheet","Platform","CodeField","Cursor","useBlurOnFulfill","useClearByFocusCell","scale","verticalScale","HideKeyboard","useKeyboard","BackBtn","useInternalTheme","Button","Display","Text","RFValue","MessageSquare","BackgroundLayout","jsx","_jsx","jsxs","_jsxs","DEFAULT_TEXT","otpLabel","otpPlaceholder","submitButton","loadingSubmitBtnText","otpSentText","resendOtpText","resendOtpCountdownText","AUTO_SUBMIT_DELAY_MS","RESEND_COUNTDOWN_INTERVAL_MS","OTP","title","onSubmit","onTopBackBtnPress","containerStyle","titleStyle","formStyle","backBtnStyle","loading","theme","overrideTheme","otpDigitCount","keyboardType","phoneNumber","countryCode","enableAutoFill","autoSubmitOnFill","text","onResendOtp","resendDisabledTime","renderSubmitButton","renderBackButton","renderOtpInput","cellStyle","focusCellStyle","resolvedTheme","isKeyboardOpen","otp","setOtp","isSubmitting","setIsSubmitting","resendTimer","setResendTimer","hasAutoSubmittedRef","autoSubmitTimerRef","lastAutoSubmittedOtpRef","handleSubmitRef","Promise","resolve","ref","value","cellCount","codeFieldProps","getCellOnLayoutHandler","setValue","setOtpDigitsOnly","replace","isFocusedArray","Array","from","length","_","i","styles","create","container","flex","width","paddingHorizontal","justifyContent","alignItems","topBackBtnWrapper","position","top","left","right","zIndex","headerTitle","fontSize","fontWeight","marginLeft","color","colors","textPrimary","centerContent","maxWidth","gap","form","marginTop","marginBottom","codeFieldRoot","setWidth","cell","height","paddingTop","OS","borderWidth","borderRadius","textAlign","alignSelf","overflow","borderColor","focusCell","primary","backgroundColor","border","otpInfoRow","flexDirection","flexWrap","otpInfoText","onSurfaceVariant","flexShrink","otpPhone","resendRow","resendSection","resendText","resendTextDisabled","resendTextActive","submitButtonTitle","timer","setInterval","prev","clearInterval","handleSubmit","error","console","current","clearTimeout","undefined","setTimeout","handleResendOtp","isLoading","isSubmitDisabled","shouldRender","condition","renderCell","index","symbol","isFocused","style","onLayout","children","noop","Two","onPress","textStyle","label","onChange","onChangeText","rootStyle","textContentType","autoComplete","disabled","Primary","loadingText","size"],"sourceRoot":"../../../../../../src","sources":["components/Auth/Two/OTP/OTP.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@
5
5
  * @lastModified Mon 16 Jun 2025 at 03:05 PM
6
6
  */
7
7
  import React, { useCallback, useMemo } from 'react';
8
- import { StyleSheet, View, Keyboard, KeyboardAvoidingView, Platform } from 'react-native';
8
+ import { StyleSheet, View, Keyboard, ScrollView, Platform } from 'react-native';
9
9
  import { useForm, Controller } from 'react-hook-form';
10
10
  import { scale, verticalScale } from 'react-native-size-matters';
11
11
  import { Input } from "../../../Input/Input.js";
@@ -17,8 +17,8 @@ import HideKeyboard from "../../../Keyboard/HideKeyboard.js";
17
17
  import { Text } from "../../../Text/index.js";
18
18
  import { RFValue } from 'react-native-responsive-fontsize';
19
19
  import { Lock, Mail, UserIcon } from 'lucide-react-native';
20
- import BackgroundLayoutOne from "../../../BackgroundLayout/BackgroundLayoutOne.js";
21
20
  import AuthHeader from "../AuthHeader/AuthHeader.js";
21
+ import { BackgroundLayout } from "../../../BackgroundLayout/index.js";
22
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
23
  const Signup = /*#__PURE__*/React.memo(({
24
24
  title = 'Sign Up',
@@ -33,7 +33,6 @@ const Signup = /*#__PURE__*/React.memo(({
33
33
  inputContainerStyle,
34
34
  minPasswordLength = 6,
35
35
  loadingSubmitBtn,
36
- // backgroundImage,
37
36
  logoUri,
38
37
  theme: overrideTheme,
39
38
  text,
@@ -79,50 +78,42 @@ const Signup = /*#__PURE__*/React.memo(({
79
78
  setIsLoading(false);
80
79
  }
81
80
  }, [onSubmit]);
82
-
83
- // Memoize gradient split background
84
- // const gradientSplitBackground = useMemo(
85
- // () => (isKeyboardOpen ? (Platform.OS === 'ios' ? 0.19 : 0.14) : 0.3),
86
- // [isKeyboardOpen]
87
- // );
88
-
89
- // Memoize disabled state
90
81
  const isDisabled = useMemo(() => loadingSubmitBtn || isLoading, [loadingSubmitBtn, isLoading]);
91
- return /*#__PURE__*/_jsx(BackgroundLayoutOne, {
82
+ return /*#__PURE__*/_jsx(BackgroundLayout.Two, {
92
83
  children: /*#__PURE__*/_jsxs(View, {
93
- style: [styles.root, containerStyle],
94
- children: [/*#__PURE__*/_jsx(HideKeyboard, {
95
- keyboardVerticalOffset: 0,
96
- children: /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
97
- style: styles.keyboardArea,
98
- behavior: Platform.OS === 'ios' ? 'padding' : undefined,
99
- keyboardVerticalOffset: Platform.OS === 'ios' ? verticalScale(40) : 0,
100
- children: [/*#__PURE__*/_jsx(AuthHeader, {
101
- logoUri: logoUri,
102
- onLogoPress: () => {},
103
- rightTitle: "Sign In",
104
- onRightPress: () => {
105
- Keyboard.dismiss();
106
- requestAnimationFrame(() => onLogin?.());
107
- },
108
- theme: overrideTheme
109
- }), /*#__PURE__*/_jsxs(View, {
110
- style: styles.centerContent,
84
+ style: [styles.container, containerStyle],
85
+ children: [/*#__PURE__*/_jsx(AuthHeader, {
86
+ logoUri: logoUri,
87
+ onLogoPress: () => {},
88
+ rightTitle: "Sign In",
89
+ onRightPress: () => {
90
+ Keyboard.dismiss();
91
+ requestAnimationFrame(() => onLogin?.());
92
+ },
93
+ theme: overrideTheme
94
+ }), /*#__PURE__*/_jsx(HideKeyboard, {
95
+ keyboardVerticalOffset: scale(-50),
96
+ children: /*#__PURE__*/_jsx(ScrollView, {
97
+ style: styles.scrollView,
98
+ keyboardShouldPersistTaps: "handled",
99
+ showsVerticalScrollIndicator: false,
100
+ children: /*#__PURE__*/_jsxs(View, {
101
+ style: [styles.mainContent, isKeyboardOpen && styles.mainContentKeyboardOpen],
111
102
  children: [renderSingUpHeader ? renderSingUpHeader() : /*#__PURE__*/_jsxs(View, {
112
- style: styles.headerTextContainer,
103
+ style: [styles.headerContainer, isKeyboardOpen && styles.headerContainerKeyboardOpen],
113
104
  children: [/*#__PURE__*/_jsx(Text, {
114
105
  style: [styles.title, titleStyle, {
115
106
  color: resolvedTheme?.colors?.textPrimary
116
107
  }],
117
108
  children: title
118
109
  }), /*#__PURE__*/_jsx(Text, {
119
- style: [styles.subTitle, subtitleStyle, {
110
+ style: [styles.subtitle, subtitleStyle, {
120
111
  color: resolvedTheme?.colors?.textPrimary
121
112
  }],
122
113
  children: subTitle
123
114
  })]
124
115
  }), /*#__PURE__*/_jsxs(View, {
125
- style: [styles.form, formStyle],
116
+ style: [styles.formContainer, formStyle],
126
117
  children: [/*#__PURE__*/_jsx(Controller, {
127
118
  control: control,
128
119
  name: "username",
@@ -140,8 +131,7 @@ const Signup = /*#__PURE__*/React.memo(({
140
131
  value
141
132
  }
142
133
  }) => /*#__PURE__*/_jsx(Input.Three, {
143
- placeholder: text?.usernamePlaceholder || 'Name',
144
- label: text?.usernameLabel || 'Name',
134
+ placeholder: text?.usernamePlaceholder ?? 'Name',
145
135
  value: value,
146
136
  onChangeText: onChange,
147
137
  onBlur: onBlur,
@@ -172,8 +162,7 @@ const Signup = /*#__PURE__*/React.memo(({
172
162
  value
173
163
  }
174
164
  }) => /*#__PURE__*/_jsx(Input.Three, {
175
- placeholder: text?.emailPlaceholder || 'Email',
176
- label: text?.emailLabel || 'Email',
165
+ placeholder: text?.emailPlaceholder ?? 'Email',
177
166
  value: value,
178
167
  onChangeText: inputText => {
179
168
  const sanitized = inputText.replace(/[^\w@.\-+]/g, '');
@@ -211,8 +200,7 @@ const Signup = /*#__PURE__*/React.memo(({
211
200
  value
212
201
  }
213
202
  }) => /*#__PURE__*/_jsx(Input.Three, {
214
- placeholder: text?.passwordPlaceholder || 'Password',
215
- label: text?.passwordLabel || 'Password',
203
+ placeholder: text?.passwordPlaceholder ?? 'Password',
216
204
  value: value,
217
205
  secureTextEntry: true,
218
206
  onChangeText: inputText => {
@@ -249,8 +237,7 @@ const Signup = /*#__PURE__*/React.memo(({
249
237
  value
250
238
  }
251
239
  }) => /*#__PURE__*/_jsx(Input.Three, {
252
- placeholder: text?.confirmPasswordPlaceholder || 'Confirm Password',
253
- label: text?.confirmPasswordLabel || 'Confirm Password',
240
+ placeholder: text?.confirmPasswordPlaceholder ?? 'Confirm Password',
254
241
  value: value,
255
242
  secureTextEntry: true,
256
243
  onChangeText: inputText => {
@@ -286,14 +273,14 @@ const Signup = /*#__PURE__*/React.memo(({
286
273
  onPress: handleSubmit(handleFormSubmit)
287
274
  }))]
288
275
  })]
289
- })]
276
+ })
290
277
  })
291
278
  }), (renderLoginPrompt || onLogin) && /*#__PURE__*/_jsx(View, {
292
- style: styles.bottomFixed,
279
+ style: styles.footerContainer,
293
280
  children: renderLoginPrompt ? renderLoginPrompt() : /*#__PURE__*/_jsxs(View, {
294
- style: styles.loginRow,
281
+ style: styles.loginPromptRow,
295
282
  children: [/*#__PURE__*/_jsx(Text, {
296
- style: [styles.loginPrompt, loginTextProps],
283
+ style: [styles.loginPromptText, loginTextProps],
297
284
  children: text?.loginPrompt || 'Already have an account?'
298
285
  }), /*#__PURE__*/_jsx(TextButton, {
299
286
  title: text?.loginLink || 'Login',
@@ -314,47 +301,46 @@ const styles = StyleSheet.create({
314
301
  container: {
315
302
  flex: 1,
316
303
  width: '100%',
317
- justifyContent: 'center',
318
- alignItems: 'center'
304
+ position: 'relative',
305
+ paddingHorizontal: scale(16)
319
306
  },
320
- centerContent: {
307
+ scrollView: {
321
308
  flex: 1,
309
+ width: '100%'
310
+ },
311
+ mainContent: {
322
312
  width: '100%',
323
313
  alignItems: 'center',
324
314
  justifyContent: 'flex-start',
325
315
  paddingTop: Platform.OS === 'ios' ? verticalScale(70) : verticalScale(50)
326
316
  },
327
- root: {
328
- flex: 1,
329
- width: '100%',
330
- position: 'relative'
331
- },
332
- keyboardArea: {
333
- flex: 1,
334
- width: '100%',
335
- paddingHorizontal: scale(16)
317
+ mainContentKeyboardOpen: {
318
+ paddingTop: verticalScale(25)
336
319
  },
337
- headerTextContainer: {
320
+ headerContainer: {
338
321
  width: '100%',
339
322
  alignItems: 'center',
340
323
  marginBottom: verticalScale(70)
341
324
  },
325
+ headerContainerKeyboardOpen: {
326
+ marginBottom: verticalScale(12)
327
+ },
342
328
  title: {
343
329
  fontSize: RFValue(21),
344
330
  fontWeight: '700',
345
331
  marginTop: verticalScale(4),
346
332
  marginBottom: verticalScale(10)
347
333
  },
348
- subTitle: {
334
+ subtitle: {
349
335
  fontSize: RFValue(13),
350
336
  opacity: 0.7,
351
337
  textAlign: 'center'
352
338
  },
353
- form: {
339
+ formContainer: {
354
340
  width: '100%',
355
341
  gap: verticalScale(6)
356
342
  },
357
- bottomFixed: {
343
+ footerContainer: {
358
344
  position: 'absolute',
359
345
  bottom: verticalScale(40),
360
346
  left: 0,
@@ -362,18 +348,15 @@ const styles = StyleSheet.create({
362
348
  alignItems: 'center',
363
349
  zIndex: 999
364
350
  },
365
- loginRow: {
351
+ loginPromptRow: {
366
352
  flexDirection: 'row',
367
353
  alignItems: 'center',
368
354
  justifyContent: 'center',
369
355
  flexWrap: 'wrap'
370
356
  },
371
- loginPrompt: {
357
+ loginPromptText: {
372
358
  textAlign: 'center',
373
359
  marginRight: 4
374
- },
375
- loginContainer: {
376
- alignItems: 'center'
377
360
  }
378
361
  });
379
362
  //# sourceMappingURL=SignUp.js.map