@zezosoft/zezo-ott-react-native-ui-kit 1.0.0 → 1.0.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 (351) hide show
  1. package/README.md +1 -1
  2. package/lib/module/components/Account/Account.js +7 -6
  3. package/lib/module/components/Account/Account.js.map +1 -1
  4. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +39 -27
  5. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  6. package/lib/module/components/Auth/Login/LoginWithEmail.js +39 -25
  7. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  8. package/lib/module/components/Auth/Login/LoginWithPhone.js +34 -25
  9. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  10. package/lib/module/components/Auth/OTP/OTP.js +61 -42
  11. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  12. package/lib/module/components/Auth/SignUp/SignUp.js +41 -26
  13. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  14. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +132 -0
  15. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -0
  16. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +61 -0
  17. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -0
  18. package/lib/module/components/{SplashScreen → Auth/SplashScreen}/components/SplashLottie/SplashLottie.js +8 -17
  19. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -0
  20. package/lib/module/components/{SplashScreen → Auth/SplashScreen}/components/SplashVideo/SplashVideo.js +25 -11
  21. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -0
  22. package/lib/module/components/Auth/index.js +3 -1
  23. package/lib/module/components/Auth/index.js.map +1 -1
  24. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +77 -57
  25. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  26. package/lib/module/components/BlogView/BlogView.js +28 -9
  27. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  28. package/lib/module/components/Button/BackBtn.js +1 -1
  29. package/lib/module/components/Button/BackBtn.js.map +1 -1
  30. package/lib/module/components/Button/MenuBtn.js +5 -3
  31. package/lib/module/components/Button/MenuBtn.js.map +1 -1
  32. package/lib/module/components/Button/PrimaryBtn.js +3 -2
  33. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  34. package/lib/module/components/Button/TextButton.js +3 -2
  35. package/lib/module/components/Button/TextButton.js.map +1 -1
  36. package/lib/module/components/Content/Card/Category/Category.js +3 -2
  37. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  38. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +10 -7
  39. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  40. package/lib/module/components/Content/Card/Sliders/Styles/One.js +6 -4
  41. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  42. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +3 -2
  43. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  44. package/lib/module/components/Content/Card/Sliders/index.js +1 -1
  45. package/lib/module/components/Content/Card/Sliders/index.js.map +1 -1
  46. package/lib/module/components/Content/Card/Styles/Five.js +7 -6
  47. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  48. package/lib/module/components/Content/Card/Styles/Four.js +9 -7
  49. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  50. package/lib/module/components/Content/Card/Styles/One.js +33 -70
  51. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  52. package/lib/module/components/Content/Card/Styles/RotateInOut.js +6 -5
  53. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  54. package/lib/module/components/Content/Card/Styles/Six.js +7 -5
  55. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  56. package/lib/module/components/Content/Card/Styles/Three.js +6 -5
  57. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  58. package/lib/module/components/Content/Card/Styles/TopTen.js +10 -12
  59. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  60. package/lib/module/components/Content/Card/Styles/Two.js +8 -6
  61. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  62. package/lib/module/components/Content/Card/components/CardPoster.js +17 -9
  63. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  64. package/lib/module/components/Content/Card/components/NavigateToMore.js +4 -3
  65. package/lib/module/components/Content/Card/components/NavigateToMore.js.map +1 -1
  66. package/lib/module/components/Content/Card/components/NoContentFallback.js +5 -4
  67. package/lib/module/components/Content/Card/components/NoContentFallback.js.map +1 -1
  68. package/lib/module/components/Content/Card/components/ThumbnailCard.js +2 -1
  69. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  70. package/lib/module/components/Content/Content.js +21 -7
  71. package/lib/module/components/Content/Content.js.map +1 -1
  72. package/lib/module/components/Content/Sections.js +1 -1
  73. package/lib/module/components/Content/Sections.js.map +1 -1
  74. package/lib/module/components/ContentView/ContentView.js +8 -6
  75. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  76. package/lib/module/components/ContentView/MoreContentList.js +211 -0
  77. package/lib/module/components/ContentView/MoreContentList.js.map +1 -0
  78. package/lib/module/components/ContentView/components/AboutSection.js +5 -4
  79. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  80. package/lib/module/components/ContentView/components/CastCard.js +5 -4
  81. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  82. package/lib/module/components/ContentView/components/EpisodeCard.js +23 -3
  83. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  84. package/lib/module/components/ContentView/components/GenreTags.js +2 -1
  85. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  86. package/lib/module/components/ContentView/components/HeroBanner.js +14 -5
  87. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  88. package/lib/module/components/ContentView/components/Title.js +4 -3
  89. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  90. package/lib/module/components/ContentView/index.js +1 -0
  91. package/lib/module/components/ContentView/index.js.map +1 -1
  92. package/lib/module/components/Headers/AppHeader.js +20 -25
  93. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  94. package/lib/module/components/Headers/One.js +1 -1
  95. package/lib/module/components/Headers/Three.js +5 -3
  96. package/lib/module/components/Headers/Three.js.map +1 -1
  97. package/lib/module/components/Headers/Two.js +5 -3
  98. package/lib/module/components/Headers/Two.js.map +1 -1
  99. package/lib/module/components/Input/InputOne.js +6 -4
  100. package/lib/module/components/Input/InputOne.js.map +1 -1
  101. package/lib/module/components/Input/InputTwo.js +5 -4
  102. package/lib/module/components/Input/InputTwo.js.map +1 -1
  103. package/lib/module/components/Input/PhoneNumberInput.js +12 -11
  104. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  105. package/lib/module/components/Keyboard/HideKeyboard.js +40 -12
  106. package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
  107. package/lib/module/components/Logo/Logo.js +2 -1
  108. package/lib/module/components/Logo/Logo.js.map +1 -1
  109. package/lib/module/components/Search/One.js +6 -4
  110. package/lib/module/components/Search/One.js.map +1 -1
  111. package/lib/module/components/Search/components/RecentSearchesSection.js +10 -9
  112. package/lib/module/components/Search/components/RecentSearchesSection.js.map +1 -1
  113. package/lib/module/components/Search/components/SearchCard.js +6 -5
  114. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  115. package/lib/module/components/Settings/AppSettings.js +5 -4
  116. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  117. package/lib/module/components/Subscription/SubOne.js +16 -15
  118. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  119. package/lib/module/components/TabBar/One.js +5 -3
  120. package/lib/module/components/TabBar/One.js.map +1 -1
  121. package/lib/module/components/TabBar/Three.js +18 -14
  122. package/lib/module/components/TabBar/Three.js.map +1 -1
  123. package/lib/module/components/TabBar/Two.js +4 -2
  124. package/lib/module/components/TabBar/Two.js.map +1 -1
  125. package/lib/module/components/Text/Text.js +4 -4
  126. package/lib/module/components/Text/Text.js.map +1 -1
  127. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +7 -6
  128. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  129. package/lib/module/components/User/WatchHistory/WatchHistory.js +6 -7
  130. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  131. package/lib/module/components/User/WatchLater/WatchLater.js +12 -9
  132. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  133. package/lib/module/components/User/components/UserAvatar.js +1 -1
  134. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  135. package/lib/module/components/User/components/UserSection.js +5 -4
  136. package/lib/module/components/User/components/UserSection.js.map +1 -1
  137. package/lib/module/components/index.js +0 -1
  138. package/lib/module/components/index.js.map +1 -1
  139. package/lib/module/components/layout/SafeAreaWrapper.js +12 -11
  140. package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
  141. package/lib/module/hooks/useInitSplashCacheSync.js +67 -63
  142. package/lib/module/hooks/useInitSplashCacheSync.js.map +1 -1
  143. package/lib/module/hooks/useKeyboard.js +7 -9
  144. package/lib/module/hooks/useKeyboard.js.map +1 -1
  145. package/lib/module/hooks/usePaginatedSection.js +10 -3
  146. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  147. package/lib/module/theme/ThemeProvider.js +55 -52
  148. package/lib/module/theme/ThemeProvider.js.map +1 -1
  149. package/lib/module/theme/hook/useTheme.js +45 -0
  150. package/lib/module/theme/hook/useTheme.js.map +1 -0
  151. package/lib/module/theme/index.js +1 -0
  152. package/lib/module/theme/index.js.map +1 -1
  153. package/lib/module/theme/themes.js +1 -1
  154. package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
  155. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts +9 -6
  156. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  157. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts +6 -2
  158. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  159. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts +6 -2
  160. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  161. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts +7 -3
  162. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  163. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts +6 -2
  164. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  165. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts +34 -0
  166. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -0
  167. package/lib/typescript/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashImage/SplashImage.d.ts +2 -3
  168. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -0
  169. package/lib/typescript/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashLottie/SplashLottie.d.ts +1 -1
  170. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -0
  171. package/lib/typescript/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashVideo/SplashVideo.d.ts +1 -1
  172. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -0
  173. package/lib/typescript/src/components/Auth/index.d.ts +49 -11
  174. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  175. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +5 -4
  176. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  177. package/lib/typescript/src/components/BlogView/BlogView.d.ts +1 -0
  178. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  179. package/lib/typescript/src/components/Button/MenuBtn.d.ts +1 -8
  180. package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
  181. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  182. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  183. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  184. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  185. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  186. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  187. package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts +1 -1
  188. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  189. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  190. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  191. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  192. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  193. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  194. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  195. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  196. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +4 -0
  197. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  198. package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts.map +1 -1
  199. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts.map +1 -1
  200. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  201. package/lib/typescript/src/components/Content/Content.d.ts +1 -0
  202. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  203. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts +27 -0
  204. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -0
  205. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  206. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  207. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  208. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  209. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  210. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  211. package/lib/typescript/src/components/ContentView/index.d.ts +1 -0
  212. package/lib/typescript/src/components/ContentView/index.d.ts.map +1 -1
  213. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  214. package/lib/typescript/src/components/Headers/Three.d.ts +1 -0
  215. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  216. package/lib/typescript/src/components/Headers/Two.d.ts +1 -0
  217. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  218. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  220. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts +1 -1
  222. package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts.map +1 -1
  223. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  224. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  225. package/lib/typescript/src/components/Search/components/RecentSearchesSection.d.ts.map +1 -1
  226. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  227. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  228. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  229. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  230. package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
  231. package/lib/typescript/src/components/TabBar/Three.d.ts +2 -2
  232. package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
  233. package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
  234. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  235. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  236. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  237. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  238. package/lib/typescript/src/components/index.d.ts +0 -1
  239. package/lib/typescript/src/components/index.d.ts.map +1 -1
  240. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts +2 -4
  241. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
  242. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts +1 -1
  243. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts.map +1 -1
  244. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  245. package/lib/typescript/src/hooks/usePaginatedSection.d.ts +1 -0
  246. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  247. package/lib/typescript/src/theme/ThemeProvider.d.ts +8 -4
  248. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  249. package/lib/typescript/src/theme/hook/useTheme.d.ts +9 -0
  250. package/lib/typescript/src/theme/hook/useTheme.d.ts.map +1 -0
  251. package/lib/typescript/src/theme/index.d.ts +1 -0
  252. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  253. package/lib/typescript/src/types/content/content-view.types.d.ts +7 -3
  254. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  255. package/package.json +3 -2
  256. package/src/components/Account/Account.tsx +7 -6
  257. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +51 -32
  258. package/src/components/Auth/Login/LoginWithEmail.tsx +45 -26
  259. package/src/components/Auth/Login/LoginWithPhone.tsx +38 -24
  260. package/src/components/Auth/OTP/OTP.tsx +96 -61
  261. package/src/components/Auth/SignUp/SignUp.tsx +49 -31
  262. package/src/components/Auth/SplashScreen/SplashScreen.tsx +166 -0
  263. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +66 -0
  264. package/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashLottie/SplashLottie.tsx +7 -19
  265. package/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashVideo/SplashVideo.tsx +23 -14
  266. package/src/components/Auth/index.ts +3 -1
  267. package/src/components/BackgroundLayout/BackgroundLayout.tsx +72 -50
  268. package/src/components/BlogView/BlogView.tsx +29 -9
  269. package/src/components/Button/BackBtn.tsx +1 -1
  270. package/src/components/Button/MenuBtn.tsx +6 -9
  271. package/src/components/Button/PrimaryBtn.tsx +3 -2
  272. package/src/components/Button/TextButton.tsx +3 -2
  273. package/src/components/Content/Card/Category/Category.tsx +3 -2
  274. package/src/components/Content/Card/NowWatching/NowWatching.tsx +15 -8
  275. package/src/components/Content/Card/Sliders/Styles/One.tsx +4 -3
  276. package/src/components/Content/Card/Sliders/Styles/Two.tsx +3 -2
  277. package/src/components/Content/Card/Sliders/index.ts +1 -1
  278. package/src/components/Content/Card/Styles/Five.tsx +7 -6
  279. package/src/components/Content/Card/Styles/Four.tsx +7 -6
  280. package/src/components/Content/Card/Styles/One.tsx +44 -111
  281. package/src/components/Content/Card/Styles/RotateInOut.tsx +5 -5
  282. package/src/components/Content/Card/Styles/Six.tsx +7 -5
  283. package/src/components/Content/Card/Styles/Three.tsx +5 -5
  284. package/src/components/Content/Card/Styles/TopTen.tsx +10 -14
  285. package/src/components/Content/Card/Styles/Two.tsx +9 -7
  286. package/src/components/Content/Card/components/CardPoster.tsx +24 -11
  287. package/src/components/Content/Card/components/NavigateToMore.tsx +4 -3
  288. package/src/components/Content/Card/components/NoContentFallback.tsx +5 -4
  289. package/src/components/Content/Card/components/ThumbnailCard.tsx +2 -1
  290. package/src/components/Content/Content.tsx +38 -7
  291. package/src/components/Content/Sections.tsx +1 -1
  292. package/src/components/ContentView/ContentView.tsx +6 -6
  293. package/src/components/ContentView/MoreContentList.tsx +238 -0
  294. package/src/components/ContentView/components/AboutSection.tsx +5 -4
  295. package/src/components/ContentView/components/CastCard.tsx +5 -4
  296. package/src/components/ContentView/components/EpisodeCard.tsx +30 -4
  297. package/src/components/ContentView/components/GenreTags.tsx +2 -1
  298. package/src/components/ContentView/components/HeroBanner.tsx +10 -6
  299. package/src/components/ContentView/components/Title.tsx +4 -3
  300. package/src/components/ContentView/index.ts +1 -0
  301. package/src/components/Headers/AppHeader.tsx +20 -34
  302. package/src/components/Headers/One.tsx +1 -1
  303. package/src/components/Headers/Three.tsx +4 -3
  304. package/src/components/Headers/Two.tsx +4 -3
  305. package/src/components/Input/InputOne.tsx +6 -4
  306. package/src/components/Input/InputTwo.tsx +5 -4
  307. package/src/components/Input/PhoneNumberInput.tsx +12 -11
  308. package/src/components/Keyboard/HideKeyboard.tsx +41 -15
  309. package/src/components/Logo/Logo.tsx +2 -1
  310. package/src/components/Search/One.tsx +6 -5
  311. package/src/components/Search/components/RecentSearchesSection.tsx +10 -9
  312. package/src/components/Search/components/SearchCard.tsx +6 -5
  313. package/src/components/Settings/AppSettings.tsx +14 -13
  314. package/src/components/Subscription/SubOne.tsx +16 -15
  315. package/src/components/TabBar/One.tsx +6 -3
  316. package/src/components/TabBar/Three.tsx +28 -14
  317. package/src/components/TabBar/Two.tsx +4 -2
  318. package/src/components/Text/Text.tsx +4 -4
  319. package/src/components/User/DeviceSessions/DeviceSessions.tsx +7 -6
  320. package/src/components/User/WatchHistory/WatchHistory.tsx +5 -7
  321. package/src/components/User/WatchLater/WatchLater.tsx +12 -9
  322. package/src/components/User/components/UserAvatar.tsx +1 -1
  323. package/src/components/User/components/UserSection.tsx +5 -4
  324. package/src/components/index.ts +0 -1
  325. package/src/components/layout/SafeAreaWrapper.tsx +16 -9
  326. package/src/hooks/useInitSplashCacheSync.ts +74 -87
  327. package/src/hooks/useKeyboard.ts +9 -8
  328. package/src/hooks/usePaginatedSection.ts +7 -3
  329. package/src/theme/ThemeProvider.tsx +59 -55
  330. package/src/theme/hook/useTheme.ts +41 -0
  331. package/src/theme/index.ts +1 -0
  332. package/src/theme/themes.ts +1 -1
  333. package/src/types/content/content-view.types.ts +4 -2
  334. package/lib/module/components/SplashScreen/SplashScreen.js +0 -109
  335. package/lib/module/components/SplashScreen/SplashScreen.js.map +0 -1
  336. package/lib/module/components/SplashScreen/components/SplashImage/SplashImage.js +0 -68
  337. package/lib/module/components/SplashScreen/components/SplashImage/SplashImage.js.map +0 -1
  338. package/lib/module/components/SplashScreen/components/SplashLottie/SplashLottie.js.map +0 -1
  339. package/lib/module/components/SplashScreen/components/SplashVideo/SplashVideo.js.map +0 -1
  340. package/lib/module/components/SplashScreen/index.js +0 -9
  341. package/lib/module/components/SplashScreen/index.js.map +0 -1
  342. package/lib/typescript/src/components/SplashScreen/SplashScreen.d.ts +0 -32
  343. package/lib/typescript/src/components/SplashScreen/SplashScreen.d.ts.map +0 -1
  344. package/lib/typescript/src/components/SplashScreen/components/SplashImage/SplashImage.d.ts.map +0 -1
  345. package/lib/typescript/src/components/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +0 -1
  346. package/lib/typescript/src/components/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +0 -1
  347. package/lib/typescript/src/components/SplashScreen/index.d.ts +0 -6
  348. package/lib/typescript/src/components/SplashScreen/index.d.ts.map +0 -1
  349. package/src/components/SplashScreen/SplashScreen.tsx +0 -131
  350. package/src/components/SplashScreen/components/SplashImage/SplashImage.tsx +0 -84
  351. package/src/components/SplashScreen/index.ts +0 -6
@@ -9,6 +9,7 @@ import type { IContentData } from '../../types';
9
9
  import type { IGetSectionData, ISectionItem } from '../../types/sections';
10
10
  import type { MoreFetchData } from '../../types/hook/usePaginatedSetion';
11
11
  import type { IHistoryItem } from '../../components/User/WatchHistory/WatchHistory';
12
+ import type React from 'react';
12
13
  export type ViewStyleProp = StyleProp<ViewStyle>;
13
14
  export type TextStyleProp = StyleProp<TextStyle>;
14
15
  export type FastImageStyleProp = StyleProp<FastImageStyle>;
@@ -87,11 +88,12 @@ export type ContentViewEvents = {
87
88
  };
88
89
  export type MenuAction = {
89
90
  label: string;
90
- icon: React.ComponentType<{
91
+ icon?: (props: {
91
92
  size?: number;
92
93
  color?: string;
93
- }>;
94
+ }) => React.ReactNode;
94
95
  onPress: () => void;
96
+ isLoading?: boolean;
95
97
  };
96
98
  export type RenderButtons = Partial<{
97
99
  back: () => React.ReactNode;
@@ -110,7 +112,9 @@ export type HeroBannerProps = {
110
112
  title: IContentData['name'];
111
113
  theme: ITheme;
112
114
  isLoading?: boolean;
113
- onPressPlay?: () => void;
115
+ onPressPlay?: ({ is_trailer }: {
116
+ is_trailer: boolean;
117
+ }) => void;
114
118
  onBackPress?: () => void;
115
119
  style?: ViewStyleProp;
116
120
  renderButtons?: RenderButtons;
@@ -1 +1 @@
1
- {"version":3,"file":"content-view.types.d.ts","sourceRoot":"","sources":["../../../../../src/types/content/content-view.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-view.types.d.ts","sourceRoot":"","sources":["../../../../../src/types/content/content-view.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zezosoft/zezo-ott-react-native-ui-kit",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "A professional React Native UI component library built for OTT applications.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -52,10 +52,11 @@
52
52
  "@react-native-masked-view/masked-view": "^0.3.2",
53
53
  "@react-navigation/bottom-tabs": "^7.4.1",
54
54
  "@react-navigation/native": "^7.1.13",
55
+ "color": "^5.0.0",
55
56
  "crypto-js": "^4.2.0",
56
57
  "libphonenumber-js": "^1.12.9",
57
58
  "lodash": "^4.17.21",
58
- "lottie-react-native": "^7.2.3",
59
+ "lottie-react-native": "^7.0.0",
59
60
  "lucide-react-native": "^0.515.0",
60
61
  "react-hook-form": "^7.57.0",
61
62
  "react-native-animated-dots-carousel": "^2.0.1",
@@ -6,7 +6,7 @@
6
6
  import React, { cloneElement, isValidElement, memo, type ReactElement } from 'react';
7
7
  import { View, StyleSheet, ScrollView, TouchableOpacity, type TextStyle } from 'react-native';
8
8
  import { ChevronRight, Trash2 } from 'lucide-react-native';
9
- import { useTheme } from '../../theme';
9
+ import { useTheme } from '../../theme/hook/useTheme';
10
10
  import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
11
11
  import AppHeader from '../Headers/AppHeader';
12
12
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
@@ -15,6 +15,7 @@ import TextButton from '../Button/TextButton';
15
15
  import { Text } from '../Text';
16
16
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
17
17
  import type { AppTheme, ITheme } from '../../theme/themes';
18
+ import { RFValue } from 'react-native-responsive-fontsize';
18
19
 
19
20
  type CardItem = {
20
21
  type: 'card';
@@ -226,7 +227,7 @@ const styles = StyleSheet.create({
226
227
  marginBottom: verticalScale(16)
227
228
  },
228
229
  sectionTitle: {
229
- fontSize: moderateScale(12),
230
+ fontSize: RFValue(11),
230
231
  fontWeight: '500',
231
232
  marginBottom: verticalScale(8),
232
233
  textTransform: 'uppercase'
@@ -238,12 +239,12 @@ const styles = StyleSheet.create({
238
239
  marginBottom: verticalScale(12)
239
240
  },
240
241
  cardTitle: {
241
- fontSize: moderateScale(14),
242
+ fontSize: RFValue(12),
242
243
  fontWeight: '600',
243
244
  marginBottom: verticalScale(4)
244
245
  },
245
246
  cardSub: {
246
- fontSize: moderateScale(12)
247
+ fontSize: RFValue(10)
247
248
  },
248
249
 
249
250
  row: {
@@ -267,7 +268,7 @@ const styles = StyleSheet.create({
267
268
  justifyContent: 'center'
268
269
  },
269
270
  rowText: {
270
- fontSize: moderateScale(14),
271
+ fontSize: RFValue(12),
271
272
  fontWeight: '500'
272
273
  },
273
274
 
@@ -283,6 +284,6 @@ const styles = StyleSheet.create({
283
284
  gap: scale(1)
284
285
  },
285
286
  helpText: {
286
- fontSize: moderateScale(12)
287
+ fontSize: RFValue(10)
287
288
  }
288
289
  });
@@ -10,12 +10,13 @@ import { Input } from '../../Input/Input';
10
10
  import { Button } from '../../Button';
11
11
  import { BackgroundLayout } from '../../BackgroundLayout/BackgroundLayout';
12
12
  import { Logo } from '../../Logo/Logo';
13
- import { useTheme } from '../../../theme';
13
+ import { useTheme } from '../../../theme/hook/useTheme';
14
14
  import { useKeyboard } from '../../../hooks/useKeyboard';
15
15
  import HideKeyboard from '../../Keyboard/HideKeyboard';
16
16
  import BackBtn from '../../Button/BackBtn';
17
17
  import { Text } from '../../Text';
18
18
  import type { AppTheme } from '../../../theme/themes';
19
+ import { RFValue } from 'react-native-responsive-fontsize';
19
20
 
20
21
  type FormValues = {
21
22
  email: string;
@@ -31,7 +32,7 @@ type TextConfig = {
31
32
 
32
33
  type ForgetPasswordProps = {
33
34
  title?: string;
34
- onSubmit?: (values: FormValues) => Promise<void>;
35
+ onSubmit?: ({ email }: { email: string }) => Promise<void> | void;
35
36
  onTopBackBtnPress?: () => void;
36
37
  containerStyle?: ViewStyle;
37
38
  titleStyle?: TextStyle;
@@ -39,11 +40,15 @@ type ForgetPasswordProps = {
39
40
  inputStyle?: TextStyle;
40
41
  inputContainerStyle?: ViewStyle;
41
42
  topBackBtnStyle?: ViewStyle;
42
- backgroundImage?: string;
43
+ backgroundImage?: {
44
+ source?: string | null;
45
+ onImageError?: (error: Error) => void;
46
+ gradientSplitBackground?: number;
47
+ resizeMode?: 'cover' | 'contain' | 'stretch' | 'repeat';
48
+ };
43
49
  logoUri?: string;
44
50
  theme?: AppTheme;
45
51
  loadingSubmitBtn?: boolean;
46
- gradientEnabled?: boolean;
47
52
  text?: TextConfig;
48
53
  renderLogo?: () => React.ReactNode;
49
54
  renderForgetPasswordHeader?: () => React.ReactNode;
@@ -65,8 +70,7 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
65
70
  loadingSubmitBtn = false,
66
71
  backgroundImage,
67
72
  logoUri,
68
- theme,
69
- gradientEnabled = true,
73
+ theme: overrideTheme,
70
74
  text = {
71
75
  emailLabel: 'Email',
72
76
  emailPlaceholder: 'Enter your email',
@@ -88,7 +92,7 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
88
92
  mode: 'onChange'
89
93
  });
90
94
 
91
- const { theme: appliedTheme } = useTheme(theme);
95
+ const { theme: resolvedTheme } = useTheme(overrideTheme);
92
96
  const { isKeyboardOpen } = useKeyboard();
93
97
  const [isLoading, setIsLoading] = useState(false);
94
98
 
@@ -117,20 +121,24 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
117
121
 
118
122
  return (
119
123
  <BackgroundLayout
120
- gradientEnabled={gradientEnabled}
121
- backgroundImage={backgroundImage}
122
- gradientSplit={isKeyboardOpen ? (Platform.OS === 'ios' ? 0.19 : 0.14) : 0.3}
124
+ backgroundImage={backgroundImage?.source}
125
+ theme={resolvedTheme}
126
+ gradientSplitBackground={isKeyboardOpen ? (Platform.OS === 'ios' ? 0.19 : 0.14) : 0.3}
123
127
  >
124
- <HideKeyboard>
125
- <View style={[styles.container, containerStyle]}>
126
- {/* Top Back Button */}
127
- {shouldRender(renderTopBackBtn || onTopBackBtnPress) &&
128
- (renderTopBackBtn ? (
129
- renderTopBackBtn({ onPress: onTopBackBtnPress ?? (() => {}) })
128
+ <View style={[styles.container, containerStyle]}>
129
+ {/* Top Back Button */}
130
+ {shouldRender(renderTopBackBtn || onTopBackBtnPress) && (
131
+ <View style={styles.topBackBtnWrapper}>
132
+ {renderTopBackBtn ? (
133
+ renderTopBackBtn({
134
+ onPress: onTopBackBtnPress ?? (() => {})
135
+ })
130
136
  ) : (
131
- <BackBtn theme={appliedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
132
- ))}
133
-
137
+ <BackBtn theme={resolvedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
138
+ )}
139
+ </View>
140
+ )}
141
+ <HideKeyboard>
134
142
  <View style={styles.centerContent}>
135
143
  {/* Logo */}
136
144
  {renderLogo ? renderLogo() : logoUri ? <Logo logoUri={logoUri} /> : null}
@@ -171,7 +179,7 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
171
179
  errorMessage={errors.email?.message}
172
180
  inputStyle={inputStyle}
173
181
  containerStyle={inputContainerStyle}
174
- theme={appliedTheme}
182
+ theme={resolvedTheme}
175
183
  textContentType="emailAddress"
176
184
  autoCapitalize="none"
177
185
  keyboardType="email-address"
@@ -191,7 +199,7 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
191
199
  <Button.Primary
192
200
  title={text.forgetPasswordButton || 'Continue'}
193
201
  disabled={isSubmitDisabled || !isValid}
194
- theme={appliedTheme}
202
+ theme={resolvedTheme}
195
203
  loading={loadingSubmitBtn || isLoading}
196
204
  loadingText={text.loadingSubmitBtnText || 'Please wait...'}
197
205
  onPress={handleSubmit(handleFormSubmit)}
@@ -200,16 +208,20 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
200
208
  </View>
201
209
 
202
210
  {/* Bottom Info Text */}
203
- {!isKeyboardOpen && renderBottomInfoText ? (
204
- renderBottomInfoText()
205
- ) : text.bottomInfoText ? (
206
- <Text style={styles.bottomInfo} accessibilityRole="text" testID="bottom-info-text">
207
- {text.bottomInfoText}
208
- </Text>
209
- ) : null}
211
+ {!isKeyboardOpen && (
212
+ <>
213
+ {renderBottomInfoText ? (
214
+ renderBottomInfoText()
215
+ ) : text.bottomInfoText ? (
216
+ <Text style={styles.bottomInfo} accessibilityRole="text" testID="bottom-info-text">
217
+ {text.bottomInfoText}
218
+ </Text>
219
+ ) : null}
220
+ </>
221
+ )}
210
222
  </View>
211
- </View>
212
- </HideKeyboard>
223
+ </HideKeyboard>
224
+ </View>
213
225
  </BackgroundLayout>
214
226
  );
215
227
  };
@@ -226,14 +238,21 @@ const styles = StyleSheet.create({
226
238
  justifyContent: 'center',
227
239
  alignItems: 'center'
228
240
  },
241
+ topBackBtnWrapper: {
242
+ position: 'absolute',
243
+ top: verticalScale(6),
244
+ left: 0,
245
+ zIndex: 10
246
+ },
229
247
  centerContent: {
248
+ flex: 1,
230
249
  width: '100%',
231
250
  alignItems: 'center',
232
251
  justifyContent: 'center',
233
252
  gap: verticalScale(16)
234
253
  },
235
254
  title: {
236
- fontSize: scale(24),
255
+ fontSize: RFValue(23),
237
256
  fontWeight: '700',
238
257
  marginTop: verticalScale(12),
239
258
  marginBottom: verticalScale(20),
@@ -246,7 +265,7 @@ const styles = StyleSheet.create({
246
265
  },
247
266
  bottomInfo: {
248
267
  marginTop: verticalScale(15),
249
- fontSize: scale(12),
268
+ fontSize: RFValue(10),
250
269
  fontWeight: '500',
251
270
  textAlign: 'center',
252
271
  opacity: 0.7
@@ -11,12 +11,13 @@ import { Button } from '../../Button';
11
11
  import { BackgroundLayout } from '../../BackgroundLayout/BackgroundLayout';
12
12
  import { Logo } from '../../Logo/Logo';
13
13
  import TextButton from '../../Button/TextButton';
14
- import { useTheme } from '../../../theme';
14
+ import { useTheme } from '../../../theme/hook/useTheme';
15
15
  import HideKeyboard from '../../Keyboard/HideKeyboard';
16
16
  import { useKeyboard } from '../../../hooks/useKeyboard';
17
17
  import BackBtn from '../../Button/BackBtn';
18
18
  import { Text } from '../../Text';
19
19
  import type { AppTheme } from '../../../theme/themes';
20
+ import { RFValue } from 'react-native-responsive-fontsize';
20
21
 
21
22
  type FormValues = {
22
23
  email: string;
@@ -37,12 +38,16 @@ type LoginWithEmailProps = {
37
38
  topBackBtnStyle?: ViewStyle;
38
39
  inputContainerStyle?: ViewStyle;
39
40
  minPasswordLength?: number;
40
- backgroundImage?: string;
41
+ backgroundImage?: {
42
+ source?: string | null;
43
+ onImageError?: (error: Error) => void;
44
+ gradientSplitBackground?: number;
45
+ resizeMode?: 'cover' | 'contain' | 'stretch' | 'repeat';
46
+ };
41
47
  logoUri?: string;
42
48
  loadingSubmitBtn?: boolean;
43
49
 
44
50
  theme?: AppTheme;
45
- gradientEnabled?: boolean;
46
51
  text?: {
47
52
  emailLabel?: string;
48
53
  emailPlaceholder?: string;
@@ -83,8 +88,7 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
83
88
  minPasswordLength = 6,
84
89
  backgroundImage,
85
90
  logoUri,
86
- theme,
87
- gradientEnabled,
91
+ theme: overrideTheme,
88
92
  text,
89
93
  signupTextProps,
90
94
  signupLinkTextProps,
@@ -97,7 +101,7 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
97
101
  renderTopBackBtn
98
102
  }) => {
99
103
  const { isKeyboardOpen } = useKeyboard();
100
- const { theme: appliedTheme } = useTheme(theme);
104
+ const { theme: resolvedTheme } = useTheme(overrideTheme);
101
105
  const [isLoading, setIsLoading] = React.useState(false);
102
106
  const {
103
107
  control,
@@ -132,20 +136,23 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
132
136
 
133
137
  return (
134
138
  <BackgroundLayout
135
- gradientEnabled={gradientEnabled}
136
- backgroundImage={backgroundImage}
137
- gradientSplit={isKeyboardOpen ? 0.31 : 0.35}
139
+ backgroundImage={backgroundImage?.source}
140
+ theme={resolvedTheme}
141
+ gradientSplitBackground={isKeyboardOpen ? 0.31 : 0.35}
138
142
  >
139
- <HideKeyboard keyboardVerticalOffset={verticalScale(-150)}>
140
- <View style={[styles.container, containerStyle]}>
141
- {shouldRender(renderTopBackBtn || onTopBackBtnPress) &&
142
- (renderTopBackBtn ? (
143
+ <View style={[styles.container, containerStyle]}>
144
+ {shouldRender(renderTopBackBtn || onTopBackBtnPress) && (
145
+ <View style={styles.topBackBtnWrapper}>
146
+ {renderTopBackBtn ? (
143
147
  renderTopBackBtn({
144
148
  onPress: onTopBackBtnPress ?? (() => {})
145
149
  })
146
150
  ) : (
147
- <BackBtn theme={appliedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
148
- ))}
151
+ <BackBtn theme={resolvedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
152
+ )}
153
+ </View>
154
+ )}
155
+ <HideKeyboard>
149
156
  <View style={styles.centerContent}>
150
157
  {renderLogo ? renderLogo() : logoUri ? <Logo logoUri={logoUri} /> : null}
151
158
 
@@ -177,7 +184,7 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
177
184
  errorMessage={errors.email?.message}
178
185
  inputStyle={inputStyle}
179
186
  containerStyle={inputContainerStyle}
180
- theme={appliedTheme}
187
+ theme={resolvedTheme}
181
188
  textContentType="emailAddress"
182
189
  autoCapitalize="none"
183
190
  keyboardType="email-address"
@@ -213,10 +220,12 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
213
220
  errorMessage={errors.password?.message}
214
221
  inputStyle={inputStyle}
215
222
  containerStyle={inputContainerStyle}
216
- textContentType="password"
223
+ textContentType="none"
217
224
  autoCapitalize="none"
225
+ spellCheck={false}
218
226
  autoCorrect={false}
219
- theme={appliedTheme}
227
+ autoComplete="off"
228
+ theme={resolvedTheme}
220
229
  />
221
230
  {!isKeyboardOpen &&
222
231
  shouldRender(renderForgotPassword || onForgotPassword) &&
@@ -226,7 +235,7 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
226
235
  <TextButton
227
236
  title={text?.forgotPassword || 'Forgot password?'}
228
237
  onPress={() => handleKeyboardDismiss(onForgotPassword)}
229
- color={appliedTheme.colors.button}
238
+ color={resolvedTheme.colors.button}
230
239
  align="right"
231
240
  style={styles.forgotPasswordText}
232
241
  />
@@ -247,7 +256,10 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
247
256
  title={text?.loginButton || 'Login'}
248
257
  onPress={handleSubmit(handleFormSubmit)}
249
258
  disabled={loadingSubmitBtn || !isValid || isLoading}
250
- theme={appliedTheme}
259
+ theme={resolvedTheme}
260
+ titleStyle={{
261
+ fontSize: RFValue(14)
262
+ }}
251
263
  loadingText={text?.loadingSubmitBtnText || 'Logging in...'}
252
264
  loading={loadingSubmitBtn || isLoading}
253
265
  />
@@ -264,7 +276,7 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
264
276
  <TextButton
265
277
  title={text?.switchToPhoneLogin || 'Login with Phone'}
266
278
  onPress={() => handleKeyboardDismiss(onSwitchToPhoneLogin)}
267
- color={appliedTheme.colors.button}
279
+ color={resolvedTheme.colors.button}
268
280
  style={styles.switchPhoneText}
269
281
  underline
270
282
  bold
@@ -281,7 +293,7 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
281
293
  })
282
294
  ) : (
283
295
  <View style={styles.loginRow}>
284
- <Text style={[styles.loginPrompt, signupTextProps]} color={appliedTheme.colors.textPrimary}>
296
+ <Text style={[styles.loginPrompt, signupTextProps]} color={resolvedTheme.colors.textPrimary}>
285
297
  {text?.signupPrompt || `Don't have an account?`}
286
298
  </Text>
287
299
  <TextButton
@@ -290,15 +302,15 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
290
302
  bold
291
303
  underline
292
304
  align="center"
293
- color={appliedTheme.colors.button}
305
+ color={resolvedTheme.colors.button}
294
306
  style={signupLinkTextProps}
295
307
  />
296
308
  </View>
297
309
  )}
298
310
  </View>
299
311
  )}
300
- </View>
301
- </HideKeyboard>
312
+ </HideKeyboard>
313
+ </View>
302
314
  </BackgroundLayout>
303
315
  );
304
316
  };
@@ -313,13 +325,20 @@ const styles = StyleSheet.create({
313
325
  justifyContent: 'center',
314
326
  alignItems: 'center'
315
327
  },
328
+ topBackBtnWrapper: {
329
+ position: 'absolute',
330
+ top: verticalScale(6),
331
+ left: 0,
332
+ zIndex: 10
333
+ },
316
334
  centerContent: {
335
+ flex: 1,
317
336
  width: '100%',
318
337
  alignItems: 'center',
319
338
  justifyContent: 'center'
320
339
  },
321
340
  title: {
322
- fontSize: scale(22),
341
+ fontSize: RFValue(21),
323
342
  fontWeight: '700',
324
343
  marginTop: verticalScale(5),
325
344
  marginBottom: verticalScale(20)
@@ -12,13 +12,14 @@ import { BackgroundLayout } from '../../BackgroundLayout/BackgroundLayout';
12
12
  import { Logo } from '../../Logo/Logo';
13
13
  import { Button } from '../../Button';
14
14
  import HideKeyboard from '../../Keyboard/HideKeyboard';
15
- import { useTheme } from '../../../theme';
15
+ import { useTheme } from '../../../theme/hook/useTheme';
16
16
  import { useKeyboard } from '../../../hooks/useKeyboard';
17
17
  import PhoneNumberInput from '../../Input/PhoneNumberInput';
18
18
  import TextButton from '../../Button/TextButton';
19
19
  import BackBtn from '../../Button/BackBtn';
20
20
  import { Text } from '../../Text';
21
21
  import type { AppTheme } from '../../../theme/themes';
22
+ import { RFValue } from 'react-native-responsive-fontsize';
22
23
 
23
24
  type PhoneField = {
24
25
  fullNumber: string;
@@ -40,11 +41,15 @@ type LoginWithPhoneProps = {
40
41
  inputStyle?: TextStyle;
41
42
  inputContainerStyle?: ViewStyle;
42
43
  topBackBtnStyle?: ViewStyle;
43
- backgroundImage?: string;
44
+ backgroundImage?: {
45
+ source?: string | null;
46
+ onImageError?: (error: Error) => void;
47
+ gradientSplitBackground?: number;
48
+ resizeMode?: 'cover' | 'contain' | 'stretch' | 'repeat';
49
+ };
44
50
  loadingSubmitBtn?: boolean;
45
51
  logoUri?: string;
46
52
  theme?: AppTheme;
47
- gradientEnabled?: boolean;
48
53
  text?: {
49
54
  phoneLabel?: string;
50
55
  phonePlaceholder?: string;
@@ -81,8 +86,7 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
81
86
  backgroundImage,
82
87
  loadingSubmitBtn,
83
88
  logoUri,
84
- theme,
85
- gradientEnabled = true,
89
+ theme: overrideTheme,
86
90
  text = DEFAULT_TEXT,
87
91
  renderLogo,
88
92
  renderPhoneHeader,
@@ -92,7 +96,7 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
92
96
  renderTopBackBtn
93
97
  }) => {
94
98
  const { isKeyboardOpen } = useKeyboard();
95
- const { theme: appliedTheme } = useTheme(theme);
99
+ const { theme: resolvedTheme } = useTheme(overrideTheme);
96
100
  const [isLoading, setIsLoading] = React.useState(false);
97
101
 
98
102
  const {
@@ -101,7 +105,7 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
101
105
  formState: { errors, isValid }
102
106
  } = useForm<FormValues>({
103
107
  defaultValues: {
104
- phone: { fullNumber: '', countryCode: '+91', formattedNumber: '' }
108
+ phone: { fullNumber: '', countryCode: '91', formattedNumber: '' }
105
109
  },
106
110
  mode: 'onChange'
107
111
  });
@@ -137,18 +141,25 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
137
141
  justifyContent: 'center',
138
142
  alignItems: 'center'
139
143
  },
144
+ topBackBtnWrapper: {
145
+ position: 'absolute',
146
+ top: verticalScale(6),
147
+ left: 0,
148
+ zIndex: 10
149
+ },
140
150
  centerContent: {
151
+ flex: 1,
141
152
  width: '100%',
142
153
  alignItems: 'center',
143
154
  justifyContent: 'center',
144
155
  maxWidth: scale(400)
145
156
  },
146
157
  title: {
147
- fontSize: scale(22),
158
+ fontSize: RFValue(21),
148
159
  fontWeight: '700',
149
160
  marginTop: verticalScale(8),
150
161
  marginBottom: verticalScale(24),
151
- color: appliedTheme.colors.textPrimary
162
+ color: resolvedTheme.colors.textPrimary
152
163
  },
153
164
  form: {
154
165
  width: '100%',
@@ -159,25 +170,28 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
159
170
  marginTop: verticalScale(10)
160
171
  }
161
172
  }),
162
- [appliedTheme]
173
+ [resolvedTheme]
163
174
  );
164
175
  const shouldRender = (condition?: boolean | unknown): boolean => typeof condition === 'function' || !!condition;
165
176
  return (
166
177
  <BackgroundLayout
167
- gradientEnabled={gradientEnabled}
168
- backgroundImage={backgroundImage}
169
- gradientSplit={isKeyboardOpen ? 0.3 : 0.4}
178
+ backgroundImage={backgroundImage?.source}
179
+ theme={resolvedTheme}
180
+ gradientSplitBackground={isKeyboardOpen ? 0.3 : 0.4}
170
181
  >
171
- <HideKeyboard keyboardVerticalOffset={verticalScale(-80)}>
172
- <View style={[styles.container, containerStyle]} testID="login-with-phone">
173
- {shouldRender(renderTopBackBtn || onTopBackBtnPress) &&
174
- (renderTopBackBtn ? (
182
+ <View style={[styles.container, containerStyle]} testID="login-with-phone">
183
+ {shouldRender(renderTopBackBtn || onTopBackBtnPress) && (
184
+ <View style={styles.topBackBtnWrapper}>
185
+ {renderTopBackBtn ? (
175
186
  renderTopBackBtn({
176
187
  onPress: onTopBackBtnPress ?? (() => {})
177
188
  })
178
189
  ) : (
179
- <BackBtn theme={appliedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
180
- ))}
190
+ <BackBtn theme={resolvedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
191
+ )}
192
+ </View>
193
+ )}
194
+ <HideKeyboard>
181
195
  <View style={styles.centerContent}>
182
196
  {renderLogo ? renderLogo() : logoUri ? <Logo logoUri={logoUri} /> : null}
183
197
 
@@ -201,7 +215,7 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
201
215
  errorMessage={errors.phone?.message}
202
216
  inputStyle={inputStyle}
203
217
  containerStyle={inputContainerStyle}
204
- theme={appliedTheme}
218
+ theme={resolvedTheme}
205
219
  accessibilityLabel={`Phone input${errors.phone ? ', error' : ''}`}
206
220
  />
207
221
  )}
@@ -217,7 +231,7 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
217
231
  <Button.Primary
218
232
  title={text.loginButton || DEFAULT_TEXT.loginButton}
219
233
  disabled={loadingSubmitBtn || !isValid || isLoading}
220
- theme={appliedTheme}
234
+ theme={resolvedTheme}
221
235
  onPress={handleSubmit(handleFormSubmit)}
222
236
  loadingText={text.loadingSubmitBtnText || DEFAULT_TEXT.loadingSubmitBtnText}
223
237
  loading={loadingSubmitBtn || isLoading}
@@ -232,7 +246,7 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
232
246
  <TextButton
233
247
  title={text.loginWithEmailButton || DEFAULT_TEXT.loginWithEmailButton}
234
248
  onPress={handleEmailLogin}
235
- color={appliedTheme.colors.button}
249
+ color={resolvedTheme.colors.button}
236
250
  style={styles.switchEmailText}
237
251
  underline
238
252
  bold
@@ -240,8 +254,8 @@ const LoginWithPhone: React.FC<LoginWithPhoneProps> = ({
240
254
  />
241
255
  ))}
242
256
  </View>
243
- </View>
244
- </HideKeyboard>
257
+ </HideKeyboard>
258
+ </View>
245
259
  </BackgroundLayout>
246
260
  );
247
261
  };