@zezosoft/zezo-ott-react-native-ui-kit 1.1.0 → 1.1.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 (512) hide show
  1. package/lib/module/Styles/globalStyles.js +0 -5
  2. package/lib/module/Styles/globalStyles.js.map +1 -1
  3. package/lib/module/components/Auth/AuthProvider/AuthProvider.js +64 -40
  4. package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
  5. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +5 -2
  6. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  7. package/lib/module/components/Auth/Login/LoginWithEmail.js +17 -11
  8. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  9. package/lib/module/components/Auth/Login/LoginWithPhone.js +12 -6
  10. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  11. package/lib/module/components/Auth/OTP/OTP.js +7 -4
  12. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  13. package/lib/module/components/Auth/QrLogin/QrLogin.js +133 -86
  14. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -1
  15. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +174 -109
  16. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -1
  17. package/lib/module/components/Auth/SignUp/SignUp.js +19 -13
  18. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  19. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +54 -36
  20. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
  21. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +29 -11
  22. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
  23. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js +13 -7
  24. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
  25. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +33 -21
  26. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  27. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +26 -20
  28. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  29. package/lib/module/components/BlogView/BlogView.js +36 -20
  30. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  31. package/lib/module/components/BottomSheet/BottomSheet.js +152 -0
  32. package/lib/module/components/BottomSheet/BottomSheet.js.map +1 -0
  33. package/lib/module/components/BottomSheet/index.js +4 -0
  34. package/lib/module/components/BottomSheet/index.js.map +1 -0
  35. package/lib/module/components/Button/BackBtn.js +46 -16
  36. package/lib/module/components/Button/BackBtn.js.map +1 -1
  37. package/lib/module/components/Button/PrimaryBtn.js +19 -13
  38. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  39. package/lib/module/components/Button/SecondaryBtn.js +19 -13
  40. package/lib/module/components/Button/SecondaryBtn.js.map +1 -1
  41. package/lib/module/components/Button/TextButton.js +19 -13
  42. package/lib/module/components/Button/TextButton.js.map +1 -1
  43. package/lib/module/components/Content/Card/Category/Category.js +70 -37
  44. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  45. package/lib/module/components/Content/Card/Sliders/Styles/One.js +40 -32
  46. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  47. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +109 -48
  48. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  49. package/lib/module/components/Content/Card/Styles/RotateInOut.js +4 -11
  50. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  51. package/lib/module/components/Content/Card/components/CardPoster.js +105 -43
  52. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  53. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js +18 -17
  54. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js.map +1 -1
  55. package/lib/module/components/Content/Card/components/ThumbnailCard.js +78 -28
  56. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  57. package/lib/module/components/Content/Content.js +44 -25
  58. package/lib/module/components/Content/Content.js.map +1 -1
  59. package/lib/module/components/Content/Sections.js +37 -29
  60. package/lib/module/components/Content/Sections.js.map +1 -1
  61. package/lib/module/components/ContentView/ContentView.js +70 -41
  62. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  63. package/lib/module/components/ContentView/MoreContentList.js +74 -40
  64. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  65. package/lib/module/components/ContentView/components/AboutSection.js +40 -19
  66. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  67. package/lib/module/components/ContentView/components/CastCard.js +6 -7
  68. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  69. package/lib/module/components/ContentView/components/EpisodeCard.js +2 -2
  70. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  71. package/lib/module/components/ContentView/components/GenreTags.js +25 -13
  72. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  73. package/lib/module/components/ContentView/components/HeroBanner.js +39 -11
  74. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  75. package/lib/module/components/ContentView/components/MiniInfo.js +84 -77
  76. package/lib/module/components/ContentView/components/MiniInfo.js.map +1 -1
  77. package/lib/module/components/ContentView/components/PlayButton.js +11 -7
  78. package/lib/module/components/ContentView/components/PlayButton.js.map +1 -1
  79. package/lib/module/components/ContentView/components/Title.js +12 -12
  80. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  81. package/lib/module/components/ContentView/components/TrailerButton.js +12 -7
  82. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  83. package/lib/module/components/Fallbacks/NoContentFallback.js +27 -22
  84. package/lib/module/components/Fallbacks/NoContentFallback.js.map +1 -1
  85. package/lib/module/components/Fallbacks/NotFoundFallback.js +6 -4
  86. package/lib/module/components/Fallbacks/NotFoundFallback.js.map +1 -1
  87. package/lib/module/components/Headers/AppHeader.js +22 -13
  88. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  89. package/lib/module/components/Headers/Three.js +6 -5
  90. package/lib/module/components/Headers/Three.js.map +1 -1
  91. package/lib/module/components/Headers/Two.js +19 -14
  92. package/lib/module/components/Headers/Two.js.map +1 -1
  93. package/lib/module/components/Input/InputOne.js +46 -31
  94. package/lib/module/components/Input/InputOne.js.map +1 -1
  95. package/lib/module/components/Loader/Loader.js +2 -2
  96. package/lib/module/components/Loader/Loader.js.map +1 -1
  97. package/lib/module/components/Logo/Logo.js +17 -14
  98. package/lib/module/components/Logo/Logo.js.map +1 -1
  99. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js +134 -0
  100. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js.map +1 -0
  101. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js +154 -0
  102. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js.map +1 -0
  103. package/lib/module/components/Reels/ReelsSeries/MediaControls/MiddleControls.js +173 -0
  104. package/lib/module/components/Reels/ReelsSeries/MediaControls/MiddleControls.js.map +1 -0
  105. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js +77 -0
  106. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js.map +1 -0
  107. package/lib/module/components/Reels/ReelsSeries/MediaControls/TopControls.js +132 -0
  108. package/lib/module/components/Reels/ReelsSeries/MediaControls/TopControls.js.map +1 -0
  109. package/lib/module/components/Reels/ReelsSeries/Model/DetailsModal.js +165 -0
  110. package/lib/module/components/Reels/ReelsSeries/Model/DetailsModal.js.map +1 -0
  111. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js +106 -0
  112. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js.map +1 -0
  113. package/lib/module/components/Reels/ReelsSeries/Model/UnlockModal.js +124 -0
  114. package/lib/module/components/Reels/ReelsSeries/Model/UnlockModal.js.map +1 -0
  115. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js +102 -64
  116. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js.map +1 -1
  117. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +241 -232
  118. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -1
  119. package/lib/module/components/Reels/ReelsSeries/components/AnimatedThreeLines.js +153 -0
  120. package/lib/module/components/Reels/ReelsSeries/components/AnimatedThreeLines.js.map +1 -0
  121. package/lib/module/components/Reels/ReelsSeries/{Model → components}/Episodes.js +46 -36
  122. package/lib/module/components/Reels/ReelsSeries/components/Episodes.js.map +1 -0
  123. package/lib/module/components/Reels/ReelsSeries/components/GradientOverlay.js +35 -0
  124. package/lib/module/components/Reels/ReelsSeries/components/GradientOverlay.js.map +1 -0
  125. package/lib/module/components/Reels/ReelsSeries/components/Like.js +37 -0
  126. package/lib/module/components/Reels/ReelsSeries/components/Like.js.map +1 -0
  127. package/lib/module/components/Reels/ReelsSeries/components/RotatingLoader.js +55 -0
  128. package/lib/module/components/Reels/ReelsSeries/components/RotatingLoader.js.map +1 -0
  129. package/lib/module/components/Reels/ReelsSeries/components/Synopsis.js +268 -0
  130. package/lib/module/components/Reels/ReelsSeries/components/Synopsis.js.map +1 -0
  131. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js +143 -0
  132. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map +1 -0
  133. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.js +56 -0
  134. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.js.map +1 -0
  135. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/index.js +5 -0
  136. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/index.js.map +1 -0
  137. package/lib/module/components/Reels/utils/Controls/gestureUtils.js +30 -0
  138. package/lib/module/components/Reels/utils/Controls/gestureUtils.js.map +1 -0
  139. package/lib/module/components/Reels/utils/Controls/index.js +7 -0
  140. package/lib/module/components/Reels/utils/Controls/index.js.map +1 -0
  141. package/lib/module/components/Reels/utils/Controls/overlayUtils.js +28 -0
  142. package/lib/module/components/Reels/utils/Controls/overlayUtils.js.map +1 -0
  143. package/lib/module/components/Reels/utils/Controls/videoControlsConstants.js +27 -0
  144. package/lib/module/components/Reels/utils/Controls/videoControlsConstants.js.map +1 -0
  145. package/lib/module/components/Reels/utils/Controls/videoRef.js +5 -0
  146. package/lib/module/components/Reels/utils/Controls/videoRef.js.map +1 -0
  147. package/lib/module/components/Reels/utils/index.js +4 -0
  148. package/lib/module/components/Reels/utils/index.js.map +1 -0
  149. package/lib/module/components/Reels/utils/timeoutUtils.js +24 -0
  150. package/lib/module/components/Reels/utils/timeoutUtils.js.map +1 -0
  151. package/lib/module/components/Search/One.js +2 -1
  152. package/lib/module/components/Search/One.js.map +1 -1
  153. package/lib/module/components/Search/components/SearchCard.js +15 -19
  154. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  155. package/lib/module/components/Settings/AppSettings.js +97 -62
  156. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  157. package/lib/module/components/Subscription/SubOne.js +313 -254
  158. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  159. package/lib/module/components/Text/Text.js +15 -12
  160. package/lib/module/components/Text/Text.js.map +1 -1
  161. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +25 -23
  162. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  163. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js +23 -18
  164. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -1
  165. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js +38 -24
  166. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js.map +1 -1
  167. package/lib/module/components/User/WatchHistory/WatchHistory.js +21 -14
  168. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  169. package/lib/module/components/User/WatchLater/WatchLater.js +30 -21
  170. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  171. package/lib/module/components/User/components/UserAvatar.js +38 -19
  172. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  173. package/lib/module/components/User/components/UserSection.js +37 -17
  174. package/lib/module/components/User/components/UserSection.js.map +1 -1
  175. package/lib/module/components/View/View.js +7 -4
  176. package/lib/module/components/View/View.js.map +1 -1
  177. package/lib/module/components/index.js +1 -1
  178. package/lib/module/components/index.js.map +1 -1
  179. package/lib/module/hooks/index.js +17 -0
  180. package/lib/module/hooks/index.js.map +1 -0
  181. package/lib/module/hooks/useDebounce.js +25 -6
  182. package/lib/module/hooks/useDebounce.js.map +1 -1
  183. package/lib/module/hooks/useKeyboard.js +7 -4
  184. package/lib/module/hooks/useKeyboard.js.map +1 -1
  185. package/lib/module/hooks/useNavigationMode.js +10 -4
  186. package/lib/module/hooks/useNavigationMode.js.map +1 -1
  187. package/lib/module/hooks/usePaginatedSection.js +1 -1
  188. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  189. package/lib/module/hooks/usePrevious.js +30 -0
  190. package/lib/module/hooks/usePrevious.js.map +1 -0
  191. package/lib/module/hooks/useSafeCallback.js +33 -0
  192. package/lib/module/hooks/useSafeCallback.js.map +1 -0
  193. package/lib/module/hooks/useSkeletonItems.js +33 -0
  194. package/lib/module/hooks/useSkeletonItems.js.map +1 -0
  195. package/lib/module/hooks/useSplashCache.js +2 -1
  196. package/lib/module/hooks/useSplashCache.js.map +1 -1
  197. package/lib/module/hooks/useThemeColors.js +33 -0
  198. package/lib/module/hooks/useThemeColors.js.map +1 -0
  199. package/lib/module/theme/ThemeProvider.js +24 -15
  200. package/lib/module/theme/ThemeProvider.js.map +1 -1
  201. package/lib/module/theme/hook/useInternalTheme.js +18 -11
  202. package/lib/module/theme/hook/useInternalTheme.js.map +1 -1
  203. package/lib/module/theme/hook/useThemeStatusBar.js +10 -4
  204. package/lib/module/theme/hook/useThemeStatusBar.js.map +1 -1
  205. package/lib/module/theme/themes.js +3 -3
  206. package/lib/typescript/src/Styles/globalStyles.d.ts +0 -5
  207. package/lib/typescript/src/Styles/globalStyles.d.ts.map +1 -1
  208. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts.map +1 -1
  209. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  210. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  211. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  212. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  213. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +0 -15
  214. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -1
  215. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +0 -1
  216. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -1
  217. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  218. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
  220. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  222. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  223. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +1 -1
  224. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  225. package/lib/typescript/src/components/BlogView/BlogView.d.ts +2 -1
  226. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  227. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +18 -0
  228. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts.map +1 -0
  229. package/lib/typescript/src/components/BottomSheet/index.d.ts +3 -0
  230. package/lib/typescript/src/components/BottomSheet/index.d.ts.map +1 -0
  231. package/lib/typescript/src/components/Button/BackBtn.d.ts +5 -3
  232. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  233. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts +2 -1
  234. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  235. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts +2 -1
  236. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts.map +1 -1
  237. package/lib/typescript/src/components/Button/TextButton.d.ts +2 -2
  238. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  239. package/lib/typescript/src/components/Button/index.d.ts +4 -2
  240. package/lib/typescript/src/components/Button/index.d.ts.map +1 -1
  241. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  242. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  243. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  244. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  245. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  246. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts +2 -2
  247. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts.map +1 -1
  248. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts +2 -0
  249. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  250. package/lib/typescript/src/components/Content/Content.d.ts +2 -0
  251. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  252. package/lib/typescript/src/components/Content/Sections.d.ts +2 -2
  253. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  254. package/lib/typescript/src/components/ContentView/ContentView.d.ts +6 -1
  255. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  256. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  257. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +2 -1
  258. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  259. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +6 -1
  260. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  261. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +2 -1
  262. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  263. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts +1 -1
  264. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  265. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +2 -1
  266. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  267. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts +1 -1
  268. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts.map +1 -1
  269. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts +2 -1
  270. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +1 -1
  271. package/lib/typescript/src/components/ContentView/components/Title.d.ts +1 -1
  272. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  273. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +2 -1
  274. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  275. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts +2 -1
  276. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts.map +1 -1
  277. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts +1 -1
  278. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts.map +1 -1
  279. package/lib/typescript/src/components/Headers/AppHeader.d.ts +2 -2
  280. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  281. package/lib/typescript/src/components/Headers/Three.d.ts +2 -2
  282. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  283. package/lib/typescript/src/components/Headers/Two.d.ts +2 -2
  284. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  285. package/lib/typescript/src/components/Headers/index.d.ts +2 -2
  286. package/lib/typescript/src/components/Input/Input.d.ts +1 -1
  287. package/lib/typescript/src/components/Input/InputOne.d.ts +2 -2
  288. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  289. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
  290. package/lib/typescript/src/components/Logo/Logo.d.ts +2 -1
  291. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  292. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts +14 -0
  293. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts.map +1 -0
  294. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts +60 -0
  295. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts.map +1 -0
  296. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.d.ts +14 -0
  297. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.d.ts.map +1 -0
  298. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts +14 -0
  299. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts.map +1 -0
  300. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/TopControls.d.ts +12 -0
  301. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/TopControls.d.ts.map +1 -0
  302. package/lib/typescript/src/components/Reels/ReelsSeries/Model/DetailsModal.d.ts +16 -0
  303. package/lib/typescript/src/components/Reels/ReelsSeries/Model/DetailsModal.d.ts.map +1 -0
  304. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts +15 -0
  305. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts.map +1 -0
  306. package/lib/typescript/src/components/Reels/ReelsSeries/Model/UnlockModal.d.ts +14 -0
  307. package/lib/typescript/src/components/Reels/ReelsSeries/Model/UnlockModal.d.ts.map +1 -0
  308. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts +8 -2
  309. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts.map +1 -1
  310. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts +8 -2
  311. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -1
  312. package/lib/typescript/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.d.ts +13 -0
  313. package/lib/typescript/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.d.ts.map +1 -0
  314. package/lib/typescript/src/components/Reels/ReelsSeries/{Model → components}/Episodes.d.ts +3 -2
  315. package/lib/typescript/src/components/Reels/ReelsSeries/components/Episodes.d.ts.map +1 -0
  316. package/lib/typescript/src/components/Reels/ReelsSeries/components/GradientOverlay.d.ts +7 -0
  317. package/lib/typescript/src/components/Reels/ReelsSeries/components/GradientOverlay.d.ts.map +1 -0
  318. package/lib/typescript/src/components/Reels/ReelsSeries/components/Like.d.ts +7 -0
  319. package/lib/typescript/src/components/Reels/ReelsSeries/components/Like.d.ts.map +1 -0
  320. package/lib/typescript/src/components/Reels/ReelsSeries/components/RotatingLoader.d.ts +12 -0
  321. package/lib/typescript/src/components/Reels/ReelsSeries/components/RotatingLoader.d.ts.map +1 -0
  322. package/lib/typescript/src/components/Reels/ReelsSeries/components/Synopsis.d.ts +12 -0
  323. package/lib/typescript/src/components/Reels/ReelsSeries/components/Synopsis.d.ts.map +1 -0
  324. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts +11 -0
  325. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts.map +1 -0
  326. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.d.ts +10 -0
  327. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.d.ts.map +1 -0
  328. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/index.d.ts +3 -0
  329. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/index.d.ts.map +1 -0
  330. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +13 -0
  331. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -1
  332. package/lib/typescript/src/components/Reels/utils/Controls/gestureUtils.d.ts +10 -0
  333. package/lib/typescript/src/components/Reels/utils/Controls/gestureUtils.d.ts.map +1 -0
  334. package/lib/typescript/src/components/Reels/utils/Controls/index.d.ts +5 -0
  335. package/lib/typescript/src/components/Reels/utils/Controls/index.d.ts.map +1 -0
  336. package/lib/typescript/src/components/Reels/utils/Controls/overlayUtils.d.ts +12 -0
  337. package/lib/typescript/src/components/Reels/utils/Controls/overlayUtils.d.ts.map +1 -0
  338. package/lib/typescript/src/components/Reels/utils/Controls/videoControlsConstants.d.ts +24 -0
  339. package/lib/typescript/src/components/Reels/utils/Controls/videoControlsConstants.d.ts.map +1 -0
  340. package/lib/typescript/src/components/Reels/utils/Controls/videoRef.d.ts +3 -0
  341. package/lib/typescript/src/components/Reels/utils/Controls/videoRef.d.ts.map +1 -0
  342. package/lib/typescript/src/components/Reels/utils/index.d.ts +2 -0
  343. package/lib/typescript/src/components/Reels/utils/index.d.ts.map +1 -0
  344. package/lib/typescript/src/components/Reels/utils/timeoutUtils.d.ts +14 -0
  345. package/lib/typescript/src/components/Reels/utils/timeoutUtils.d.ts.map +1 -0
  346. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  347. package/lib/typescript/src/components/Search/components/SearchCard.d.ts +2 -5
  348. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  349. package/lib/typescript/src/components/Search/index.d.ts +1 -1
  350. package/lib/typescript/src/components/Settings/AppSettings.d.ts +2 -2
  351. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  352. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  353. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  354. package/lib/typescript/src/components/Text/Text.d.ts +2 -2
  355. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  356. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +1 -1
  357. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  358. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +1 -1
  359. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -1
  360. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts +1 -1
  361. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts.map +1 -1
  362. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts +1 -1
  363. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  364. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts +1 -1
  365. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  366. package/lib/typescript/src/components/User/components/UserAvatar.d.ts +1 -1
  367. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  368. package/lib/typescript/src/components/User/components/UserSection.d.ts +1 -1
  369. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  370. package/lib/typescript/src/components/View/View.d.ts +2 -0
  371. package/lib/typescript/src/components/View/View.d.ts.map +1 -1
  372. package/lib/typescript/src/components/index.d.ts +1 -1
  373. package/lib/typescript/src/components/index.d.ts.map +1 -1
  374. package/lib/typescript/src/hooks/index.d.ts +14 -0
  375. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  376. package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -1
  377. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  378. package/lib/typescript/src/hooks/useNavigationMode.d.ts.map +1 -1
  379. package/lib/typescript/src/hooks/usePrevious.d.ts +12 -0
  380. package/lib/typescript/src/hooks/usePrevious.d.ts.map +1 -0
  381. package/lib/typescript/src/hooks/useSafeCallback.d.ts +15 -0
  382. package/lib/typescript/src/hooks/useSafeCallback.d.ts.map +1 -0
  383. package/lib/typescript/src/hooks/useSkeletonItems.d.ts +11 -0
  384. package/lib/typescript/src/hooks/useSkeletonItems.d.ts.map +1 -0
  385. package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -1
  386. package/lib/typescript/src/hooks/useThemeColors.d.ts +27 -0
  387. package/lib/typescript/src/hooks/useThemeColors.d.ts.map +1 -0
  388. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  389. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts.map +1 -1
  390. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts.map +1 -1
  391. package/package.json +2 -2
  392. package/src/Styles/globalStyles.ts +0 -5
  393. package/src/components/Auth/AuthProvider/AuthProvider.tsx +288 -212
  394. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +11 -4
  395. package/src/components/Auth/Login/LoginWithEmail.tsx +266 -238
  396. package/src/components/Auth/Login/LoginWithPhone.tsx +18 -6
  397. package/src/components/Auth/OTP/OTP.tsx +21 -5
  398. package/src/components/Auth/QrLogin/QrLogin.tsx +225 -185
  399. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +282 -166
  400. package/src/components/Auth/SignUp/SignUp.tsx +312 -293
  401. package/src/components/Auth/SplashScreen/SplashScreen.tsx +186 -131
  402. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +32 -15
  403. package/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.tsx +11 -5
  404. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +34 -18
  405. package/src/components/BackgroundLayout/BackgroundLayout.tsx +43 -37
  406. package/src/components/BlogView/BlogView.tsx +66 -30
  407. package/src/components/BottomSheet/BottomSheet.tsx +195 -0
  408. package/src/components/BottomSheet/index.ts +2 -0
  409. package/src/components/Button/BackBtn.tsx +87 -24
  410. package/src/components/Button/PrimaryBtn.tsx +42 -25
  411. package/src/components/Button/SecondaryBtn.tsx +41 -25
  412. package/src/components/Button/TextButton.tsx +54 -32
  413. package/src/components/Content/Card/Category/Category.tsx +94 -56
  414. package/src/components/Content/Card/Sliders/Styles/One.tsx +63 -47
  415. package/src/components/Content/Card/Sliders/Styles/Two.tsx +131 -51
  416. package/src/components/Content/Card/Styles/RotateInOut.tsx +7 -9
  417. package/src/components/Content/Card/components/CardPoster.tsx +136 -55
  418. package/src/components/Content/Card/components/RentOrBuyIcon.tsx +58 -38
  419. package/src/components/Content/Card/components/ThumbnailCard.tsx +122 -47
  420. package/src/components/Content/Content.tsx +164 -97
  421. package/src/components/Content/Sections.tsx +99 -43
  422. package/src/components/ContentView/ContentView.tsx +194 -128
  423. package/src/components/ContentView/MoreContentList.tsx +215 -151
  424. package/src/components/ContentView/components/AboutSection.tsx +132 -93
  425. package/src/components/ContentView/components/CastCard.tsx +148 -138
  426. package/src/components/ContentView/components/EpisodeCard.tsx +160 -155
  427. package/src/components/ContentView/components/GenreTags.tsx +68 -53
  428. package/src/components/ContentView/components/HeroBanner.tsx +326 -284
  429. package/src/components/ContentView/components/MiniInfo.tsx +181 -159
  430. package/src/components/ContentView/components/PlayButton.tsx +27 -16
  431. package/src/components/ContentView/components/Title.tsx +89 -72
  432. package/src/components/ContentView/components/TrailerButton.tsx +35 -22
  433. package/src/components/Fallbacks/NoContentFallback.tsx +107 -103
  434. package/src/components/Fallbacks/NotFoundFallback.tsx +12 -4
  435. package/src/components/Headers/AppHeader.tsx +42 -26
  436. package/src/components/Headers/Three.tsx +12 -8
  437. package/src/components/Headers/Two.tsx +31 -10
  438. package/src/components/Input/InputOne.tsx +136 -108
  439. package/src/components/Loader/Loader.tsx +2 -2
  440. package/src/components/Logo/Logo.tsx +43 -27
  441. package/src/components/Reels/ReelsSeries/MediaControls/BottomControls.tsx +156 -0
  442. package/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.tsx +234 -0
  443. package/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.tsx +196 -0
  444. package/src/components/Reels/ReelsSeries/MediaControls/RightControls.tsx +92 -0
  445. package/src/components/Reels/ReelsSeries/MediaControls/TopControls.tsx +163 -0
  446. package/src/components/Reels/ReelsSeries/Model/DetailsModal.tsx +210 -0
  447. package/src/components/Reels/ReelsSeries/Model/SettingModal.tsx +143 -0
  448. package/src/components/Reels/ReelsSeries/Model/UnlockModal.tsx +154 -0
  449. package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +142 -74
  450. package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +349 -250
  451. package/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.tsx +184 -0
  452. package/src/components/Reels/ReelsSeries/{Model → components}/Episodes.tsx +54 -33
  453. package/src/components/Reels/ReelsSeries/components/GradientOverlay.tsx +41 -0
  454. package/src/components/Reels/ReelsSeries/components/Like.tsx +40 -0
  455. package/src/components/Reels/ReelsSeries/components/RotatingLoader.tsx +79 -0
  456. package/src/components/Reels/ReelsSeries/components/Synopsis.tsx +332 -0
  457. package/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.tsx +190 -0
  458. package/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.tsx +80 -0
  459. package/src/components/Reels/ReelsSeries/components/VideoControls/index.ts +2 -0
  460. package/src/components/Reels/ReelsSeries/types.ts +13 -2
  461. package/src/components/Reels/utils/Controls/gestureUtils.ts +42 -0
  462. package/src/components/Reels/utils/Controls/index.ts +4 -0
  463. package/src/components/Reels/utils/Controls/overlayUtils.ts +35 -0
  464. package/src/components/Reels/utils/Controls/videoControlsConstants.ts +25 -0
  465. package/src/components/Reels/utils/Controls/videoRef.ts +4 -0
  466. package/src/components/Reels/utils/index.ts +1 -0
  467. package/src/components/Reels/utils/timeoutUtils.ts +29 -0
  468. package/src/components/Search/One.tsx +2 -4
  469. package/src/components/Search/components/SearchCard.tsx +19 -13
  470. package/src/components/Settings/AppSettings.tsx +217 -128
  471. package/src/components/Subscription/SubOne.tsx +394 -317
  472. package/src/components/Text/Text.tsx +33 -22
  473. package/src/components/User/DeviceSessions/DeviceSessions.tsx +129 -102
  474. package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +36 -17
  475. package/src/components/User/PurchaseHistory/PurchaseHistory.tsx +194 -140
  476. package/src/components/User/WatchHistory/WatchHistory.tsx +63 -36
  477. package/src/components/User/WatchLater/WatchLater.tsx +119 -81
  478. package/src/components/User/components/UserAvatar.tsx +49 -15
  479. package/src/components/User/components/UserSection.tsx +71 -37
  480. package/src/components/View/View.tsx +10 -2
  481. package/src/components/index.ts +1 -1
  482. package/src/hooks/index.ts +14 -0
  483. package/src/hooks/useDebounce.ts +25 -6
  484. package/src/hooks/useKeyboard.ts +12 -5
  485. package/src/hooks/useNavigationMode.ts +16 -5
  486. package/src/hooks/usePaginatedSection.ts +1 -1
  487. package/src/hooks/usePrevious.ts +28 -0
  488. package/src/hooks/useSafeCallback.ts +43 -0
  489. package/src/hooks/useSkeletonItems.ts +30 -0
  490. package/src/hooks/useSplashCache.ts +2 -1
  491. package/src/hooks/useThemeColors.ts +51 -0
  492. package/src/theme/ThemeProvider.tsx +33 -11
  493. package/src/theme/hook/useInternalTheme.ts +19 -13
  494. package/src/theme/hook/useThemeStatusBar.ts +14 -5
  495. package/src/theme/themes.ts +3 -3
  496. package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js.map +0 -1
  497. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js +0 -212
  498. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js.map +0 -1
  499. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js +0 -182
  500. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js.map +0 -1
  501. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js +0 -203
  502. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js.map +0 -1
  503. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts.map +0 -1
  504. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts +0 -9
  505. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts.map +0 -1
  506. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts +0 -13
  507. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts.map +0 -1
  508. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts +0 -18
  509. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts.map +0 -1
  510. package/src/components/Reels/ReelsSeries/Model/Synopsis.tsx +0 -242
  511. package/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.tsx +0 -209
  512. package/src/components/Reels/ReelsSeries/ReelSeriesOverlay.tsx +0 -185
@@ -19,9 +19,163 @@ import AppHeader from "../Headers/AppHeader.js";
19
19
  import { useInternalTheme } from "../../theme/hook/useInternalTheme.js";
20
20
  import Display from "../../utils/Display.js";
21
21
  import { RFValue } from 'react-native-responsive-fontsize';
22
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ // Memoized Plan Details Modal Component
24
+ const PlanDetailsModalContent = /*#__PURE__*/memo(({
25
+ plan,
26
+ colors,
27
+ onClose
28
+ }) => {
29
+ const modalContentStyle = useMemo(() => [styles.modalContent, {
30
+ backgroundColor: colors.surface
31
+ }], [colors.surface]);
32
+ const modalTitleStyle = useMemo(() => [styles.modalTitle, {
33
+ color: colors.textPrimary
34
+ }], [colors.textPrimary]);
35
+ const modalCloseButtonStyle = useMemo(() => [styles.modalCloseButton, {
36
+ backgroundColor: colors.background
37
+ }], [colors.background]);
38
+ const priceHighlightBoxStyle = useMemo(() => [styles.priceHighlightBox, {
39
+ backgroundColor: colors.background
40
+ }], [colors.background]);
41
+ const platformBadgeStyle = useMemo(() => [styles.platformBadge, {
42
+ backgroundColor: colors.surface,
43
+ borderColor: colors.primary
44
+ }], [colors.surface, colors.primary]);
45
+ const modalPriceLabelStyle = useMemo(() => [styles.modalPriceLabel, {
46
+ color: colors.textSecondary
47
+ }], [colors.textSecondary]);
48
+ const modalPriceValueStyle = useMemo(() => [styles.modalPriceValue, {
49
+ color: colors.primary
50
+ }], [colors.primary]);
51
+ const modalPriceDurationStyle = useMemo(() => [styles.modalPriceDuration, {
52
+ color: colors.textSecondary
53
+ }], [colors.textSecondary]);
54
+ const modalSectionTitleStyle = useMemo(() => [styles.modalSectionTitle, {
55
+ color: colors.textPrimary
56
+ }], [colors.textPrimary]);
57
+ const platformBadgeTextStyle = useMemo(() => [styles.platformBadgeText, {
58
+ color: colors.textPrimary
59
+ }], [colors.textPrimary]);
60
+ const benefitBulletStyle = useMemo(() => [styles.benefitBullet, {
61
+ color: colors.primary
62
+ }], [colors.primary]);
63
+ const benefitTextStyle = useMemo(() => [styles.benefitText, {
64
+ color: colors.textSecondary
65
+ }], [colors.textSecondary]);
66
+ const modalSectionValueStyle = useMemo(() => [styles.modalSectionValue, {
67
+ color: colors.textSecondary
68
+ }], [colors.textSecondary]);
69
+ return /*#__PURE__*/_jsxs(View, {
70
+ style: modalContentStyle,
71
+ children: [/*#__PURE__*/_jsxs(View, {
72
+ style: styles.modalHeader,
73
+ children: [/*#__PURE__*/_jsx(Text, {
74
+ style: modalTitleStyle,
75
+ children: plan.title || 'Plan Details'
76
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
77
+ onPress: onClose,
78
+ style: modalCloseButtonStyle,
79
+ activeOpacity: 0.7,
80
+ children: /*#__PURE__*/_jsx(X, {
81
+ size: scale(20),
82
+ color: colors.textPrimary
83
+ })
84
+ })]
85
+ }), /*#__PURE__*/_jsxs(ScrollView, {
86
+ style: styles.modalScrollView,
87
+ contentContainerStyle: styles.modalScrollContent,
88
+ showsVerticalScrollIndicator: false,
89
+ bounces: false,
90
+ scrollEventThrottle: 16,
91
+ keyboardShouldPersistTaps: "handled",
92
+ removeClippedSubviews: false,
93
+ nestedScrollEnabled: true,
94
+ children: [/*#__PURE__*/_jsx(View, {
95
+ style: [styles.modalSection, styles.modalFirstSection],
96
+ children: /*#__PURE__*/_jsxs(View, {
97
+ style: priceHighlightBoxStyle,
98
+ children: [/*#__PURE__*/_jsx(Text, {
99
+ style: modalPriceLabelStyle,
100
+ children: "PRICING"
101
+ }), /*#__PURE__*/_jsx(Text, {
102
+ style: modalPriceValueStyle,
103
+ children: plan.price
104
+ }), /*#__PURE__*/_jsxs(Text, {
105
+ style: modalPriceDurationStyle,
106
+ children: ["per ", plan.duration]
107
+ })]
108
+ })
109
+ }), /*#__PURE__*/_jsxs(View, {
110
+ style: styles.modalSection,
111
+ children: [/*#__PURE__*/_jsx(Text, {
112
+ style: modalSectionTitleStyle,
113
+ children: "Available On"
114
+ }), /*#__PURE__*/_jsx(View, {
115
+ style: platformBadgeStyle,
116
+ children: /*#__PURE__*/_jsx(Text, {
117
+ style: platformBadgeTextStyle,
118
+ children: plan.platforms
119
+ })
120
+ })]
121
+ }), plan.benefits && plan.benefits.length > 0 && /*#__PURE__*/_jsxs(View, {
122
+ style: styles.modalSection,
123
+ children: [/*#__PURE__*/_jsx(Text, {
124
+ style: modalSectionTitleStyle,
125
+ children: "Benefits"
126
+ }), plan.benefits.map((benefit, index) => /*#__PURE__*/_jsxs(View, {
127
+ style: styles.benefitRow,
128
+ children: [/*#__PURE__*/_jsx(Text, {
129
+ style: benefitBulletStyle,
130
+ children: "\u2022"
131
+ }), /*#__PURE__*/_jsx(Text, {
132
+ style: benefitTextStyle,
133
+ children: benefit
134
+ })]
135
+ }, `benefit-${plan.id}-${index}`))]
136
+ }), plan.extraDetails?.description && /*#__PURE__*/_jsxs(View, {
137
+ style: styles.modalSection,
138
+ children: [/*#__PURE__*/_jsx(Text, {
139
+ style: modalSectionTitleStyle,
140
+ children: "Description"
141
+ }), /*#__PURE__*/_jsx(Text, {
142
+ style: modalSectionValueStyle,
143
+ children: plan.extraDetails.description
144
+ })]
145
+ }), plan.extraDetails?.features && plan.extraDetails.features.length > 0 && /*#__PURE__*/_jsxs(View, {
146
+ style: styles.modalSection,
147
+ children: [/*#__PURE__*/_jsx(Text, {
148
+ style: modalSectionTitleStyle,
149
+ children: "Features"
150
+ }), plan.extraDetails.features.map((feature, index) => /*#__PURE__*/_jsxs(View, {
151
+ style: styles.benefitRow,
152
+ children: [/*#__PURE__*/_jsx(Text, {
153
+ style: benefitBulletStyle,
154
+ children: "\u2713"
155
+ }), /*#__PURE__*/_jsx(Text, {
156
+ style: benefitTextStyle,
157
+ children: feature
158
+ })]
159
+ }, `feature-${plan.id}-${index}`))]
160
+ }), plan.extraDetails?.terms && /*#__PURE__*/_jsxs(View, {
161
+ style: styles.modalSection,
162
+ children: [/*#__PURE__*/_jsx(Text, {
163
+ style: modalSectionTitleStyle,
164
+ children: "Terms & Conditions"
165
+ }), /*#__PURE__*/_jsx(Text, {
166
+ style: modalSectionValueStyle,
167
+ children: plan.extraDetails.terms
168
+ })]
169
+ })]
170
+ })]
171
+ });
172
+ });
173
+ PlanDetailsModalContent.displayName = 'PlanDetailsModalContent';
23
174
  const CAROUSEL_WIDTH = Display.fullWidth;
24
175
  const CAROUSEL_HEIGHT = verticalScale(CAROUSEL_WIDTH / 1.4);
176
+
177
+ // Move parsePrice outside component to avoid recreation on every render
178
+ const parsePrice = price => parseFloat(price.replace(/[^\d.]/g, '')) || 0;
25
179
  const SubscriptionSliderOne = ({
26
180
  theme,
27
181
  onSubscribe,
@@ -41,7 +195,6 @@ const SubscriptionSliderOne = ({
41
195
  const colors = appliedTheme.colors;
42
196
  const [selectedPlan, setSelectedPlan] = useState(null);
43
197
  const [isModalVisible, setIsModalVisible] = useState(false);
44
- const parsePrice = price => parseFloat(price.replace(/[^\d.]/g, '')) || 0;
45
198
  const sortedPlans = useMemo(() => {
46
199
  return [...plans].sort((a, b) => {
47
200
  const aPopular = a?.isPopular ? 1 : 0;
@@ -55,119 +208,173 @@ const SubscriptionSliderOne = ({
55
208
  return 0;
56
209
  });
57
210
  }, [plans]);
58
- const placeholderData = useMemo(() => new Array(plans.length || 3).fill({}), [plans]);
211
+ const placeholderData = useMemo(() => new Array(plans.length || 3).fill({}), [plans.length]);
212
+ const shouldLoop = useMemo(() => sortedPlans.length > 1, [sortedPlans.length]);
213
+ const carouselModeConfig = useMemo(() => ({
214
+ parallaxScrollingOffset: Display.fullWidth * 0.21,
215
+ parallaxAdjacentItemScale: 0.8
216
+ }), []);
217
+ const errorMessageStyle = useMemo(() => ({
218
+ color: colors.error
219
+ }), [colors.error]);
220
+ const containerStyle = useMemo(() => [styles.container, {
221
+ backgroundColor: colors.background
222
+ }], [colors.background]);
223
+ const headingStyle = useMemo(() => [styles.heading], []);
224
+ const subTextStyle = useMemo(() => [styles.subText, {
225
+ color: colors.onSurfaceVariant
226
+ }], [colors.onSurfaceVariant]);
227
+ const infoStyle = useMemo(() => [styles.info, {
228
+ color: colors.onSurfaceVariant
229
+ }], [colors.onSurfaceVariant]);
230
+ const cancelTextStyle = useMemo(() => [styles.cancelText, {
231
+ color: colors.onSurfaceVariant
232
+ }], [colors.onSurfaceVariant]);
233
+ const extraContentTextStyle = useMemo(() => [styles.extraContentTextText, {
234
+ color: colors.onSurfaceVariant
235
+ }], [colors.onSurfaceVariant]);
236
+ const modalColors = useMemo(() => ({
237
+ surface: colors.surface,
238
+ background: colors.background,
239
+ textPrimary: colors.textPrimary,
240
+ textSecondary: colors.textSecondary,
241
+ primary: colors.primary
242
+ }), [colors.surface, colors.background, colors.textPrimary, colors.textSecondary, colors.primary]);
243
+ const skeletonColors = useMemo(() => ({
244
+ backgroundColor: colors.skeletonBaseColor,
245
+ highlightColor: colors.skeletonHighlightColor
246
+ }), [colors.skeletonBaseColor, colors.skeletonHighlightColor]);
59
247
  const renderSkeleton = useCallback(() => /*#__PURE__*/_jsx(Animated.View, {
60
248
  entering: FadeIn,
61
249
  exiting: FadeOut,
62
250
  style: styles.cardContainer,
63
251
  children: /*#__PURE__*/_jsx(SkeletonPlaceholder, {
64
252
  borderRadius: 20,
65
- backgroundColor: colors.skeletonBaseColor,
66
- highlightColor: colors.skeletonHighlightColor,
253
+ backgroundColor: skeletonColors.backgroundColor,
254
+ highlightColor: skeletonColors.highlightColor,
67
255
  children: /*#__PURE__*/_jsx(View, {
68
256
  style: styles.card
69
257
  })
70
258
  })
71
- }), [colors.skeletonBaseColor, colors.skeletonHighlightColor]);
259
+ }), [skeletonColors]);
72
260
  const openDetailsModal = useCallback(plan => {
73
261
  setSelectedPlan(plan);
74
262
  setIsModalVisible(true);
75
263
  }, []);
76
264
  const closeDetailsModal = useCallback(() => {
77
265
  setIsModalVisible(false);
78
- setSelectedPlan(null);
266
+ // Delay clearing selectedPlan to prevent flicker during close animation
267
+ setTimeout(() => {
268
+ setSelectedPlan(null);
269
+ }, 300);
79
270
  }, []);
271
+ const gradientConfig = useMemo(() => ({
272
+ colors: colors.cardGradient,
273
+ start: {
274
+ x: 1,
275
+ y: 0
276
+ },
277
+ end: {
278
+ x: 0,
279
+ y: 1.2
280
+ },
281
+ locations: [0, 0.7, 1]
282
+ }), [colors.cardGradient]);
283
+ const cardStyle = useMemo(() => [styles.card, {
284
+ shadowColor: colors.primary
285
+ }], [colors.primary]);
286
+ const handleSubscribe = useCallback(item => {
287
+ onSubscribe?.(item);
288
+ }, [onSubscribe]);
80
289
  const renderPlan = useCallback(({
81
290
  item
82
- }) => /*#__PURE__*/_jsx(View, {
83
- style: styles.cardContainer,
84
- children: /*#__PURE__*/_jsxs(LinearGradient, {
85
- colors: colors.cardGradient,
86
- start: {
87
- x: 1,
88
- y: 0
89
- },
90
- end: {
91
- x: 0,
92
- y: 1.2
93
- },
94
- locations: [0, 0.7, 1],
95
- style: [styles.card, {
96
- shadowColor: colors.primary
97
- }],
98
- children: [item?.isPopular && /*#__PURE__*/_jsx(View, {
99
- style: [styles.popularBadge, {
100
- backgroundColor: colors.button
101
- }],
102
- children: /*#__PURE__*/_jsx(Text, {
103
- style: [styles.popularText, {
104
- color: colors.buttonText
291
+ }) => {
292
+ const isPopular = item?.isPopular;
293
+ const hasBenefits = !!item.benefits?.length;
294
+ const benefitsCount = item.benefits?.length || 0;
295
+ const showViewDetails = hasBenefits || !!item.extraDetails;
296
+ const isSubscribing = subscribeLoadingId === item.id;
297
+ const viewDetailsText = hasBenefits && benefitsCount > 4 ? 'View More Details' : 'View Details';
298
+ return /*#__PURE__*/_jsx(View, {
299
+ style: styles.cardContainer,
300
+ children: /*#__PURE__*/_jsxs(LinearGradient, {
301
+ colors: gradientConfig.colors,
302
+ start: gradientConfig.start,
303
+ end: gradientConfig.end,
304
+ locations: gradientConfig.locations,
305
+ style: cardStyle,
306
+ children: [isPopular && /*#__PURE__*/_jsx(View, {
307
+ style: [styles.popularBadge, {
308
+ backgroundColor: colors.button
105
309
  }],
106
- children: "POPULAR"
107
- })
108
- }), /*#__PURE__*/_jsx(Text, {
109
- numberOfLines: 1,
110
- style: [styles.cardTitle, {
111
- color: colors.white
112
- }],
113
- children: item.title
114
- }), /*#__PURE__*/_jsx(Text, {
115
- style: [styles.price, {
116
- color: colors.white
117
- }],
118
- children: item.price
119
- }), /*#__PURE__*/_jsx(Text, {
120
- style: [styles.per, {
121
- color: colors.white
122
- }],
123
- children: item.duration
124
- }), /*#__PURE__*/_jsx(Text, {
125
- style: [styles.platforms, {
126
- color: colors.white
127
- }],
128
- children: item.platforms
129
- }), !!item.benefits?.length && /*#__PURE__*/_jsx(View, {
130
- style: styles.benefitsContainer,
131
- children: item.benefits.slice(0, 4).map((benefit, i) => /*#__PURE__*/_jsxs(Text, {
310
+ children: /*#__PURE__*/_jsx(Text, {
311
+ style: [styles.popularText, {
312
+ color: colors.buttonText
313
+ }],
314
+ children: "POPULAR"
315
+ })
316
+ }), /*#__PURE__*/_jsx(Text, {
132
317
  numberOfLines: 1,
133
- style: [styles.benefit, {
318
+ style: [styles.cardTitle, {
134
319
  color: colors.white
135
320
  }],
136
- children: ["\u2022 ", benefit]
137
- }, i))
138
- }), (item.benefits?.length || item.extraDetails) && /*#__PURE__*/_jsx(TouchableOpacity, {
139
- style: styles.viewDetailsButton,
140
- onPress: () => openDetailsModal(item),
141
- activeOpacity: 0.7,
142
- children: /*#__PURE__*/_jsx(Text, {
143
- style: [styles.viewDetailsText, {
321
+ children: item.title
322
+ }), /*#__PURE__*/_jsx(Text, {
323
+ style: [styles.price, {
144
324
  color: colors.white
145
325
  }],
146
- children: item.benefits && item.benefits.length > 4 ? 'View More Details' : 'View Details'
147
- })
148
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
149
- style: [styles.subscribeButton, {
150
- backgroundColor: colors.button
151
- }],
152
- onPress: () => onSubscribe?.(item),
153
- activeOpacity: 0.8,
154
- disabled: subscribeLoadingId === item.id,
155
- children: subscribeLoadingId === item.id ? /*#__PURE__*/_jsx(ActivityIndicator, {
156
- size: "small",
157
- color: colors.buttonText
158
- }) : /*#__PURE__*/_jsx(Text, {
159
- style: [styles.subscribeText, {
160
- color: colors.buttonText
326
+ children: item.price
327
+ }), /*#__PURE__*/_jsx(Text, {
328
+ style: [styles.per, {
329
+ color: colors.white
161
330
  }],
162
- children: subscribeButtonText
163
- })
164
- })]
165
- })
166
- }), [colors.button, colors.buttonText, colors.cardGradient, colors.primary, colors.white, onSubscribe, subscribeButtonText, subscribeLoadingId, openDetailsModal]);
331
+ children: item.duration
332
+ }), /*#__PURE__*/_jsx(Text, {
333
+ style: [styles.platforms, {
334
+ color: colors.white
335
+ }],
336
+ children: item.platforms
337
+ }), hasBenefits && item.benefits && /*#__PURE__*/_jsx(View, {
338
+ style: styles.benefitsContainer,
339
+ children: item.benefits.slice(0, 4).map((benefit, i) => /*#__PURE__*/_jsxs(Text, {
340
+ numberOfLines: 1,
341
+ style: [styles.benefit, {
342
+ color: colors.white
343
+ }],
344
+ children: ["\u2022 ", benefit]
345
+ }, `${item.id}-benefit-${i}`))
346
+ }), showViewDetails && /*#__PURE__*/_jsx(TouchableOpacity, {
347
+ style: styles.viewDetailsButton,
348
+ onPress: () => openDetailsModal(item),
349
+ activeOpacity: 0.7,
350
+ children: /*#__PURE__*/_jsx(Text, {
351
+ style: [styles.viewDetailsText, {
352
+ color: colors.white
353
+ }],
354
+ children: viewDetailsText
355
+ })
356
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
357
+ style: [styles.subscribeButton, {
358
+ backgroundColor: colors.button
359
+ }],
360
+ onPress: () => handleSubscribe(item),
361
+ activeOpacity: 0.8,
362
+ disabled: isSubscribing,
363
+ children: isSubscribing ? /*#__PURE__*/_jsx(ActivityIndicator, {
364
+ size: "small",
365
+ color: colors.buttonText
366
+ }) : /*#__PURE__*/_jsx(Text, {
367
+ style: [styles.subscribeText, {
368
+ color: colors.buttonText
369
+ }],
370
+ children: subscribeButtonText
371
+ })
372
+ })]
373
+ })
374
+ });
375
+ }, [gradientConfig, cardStyle, colors.button, colors.buttonText, colors.white, subscribeButtonText, subscribeLoadingId, openDetailsModal, handleSubscribe]);
167
376
  return /*#__PURE__*/_jsxs(View, {
168
- style: [styles.container, {
169
- backgroundColor: colors.background
170
- }],
377
+ style: containerStyle,
171
378
  children: [/*#__PURE__*/_jsx(AppHeader, {
172
379
  title: header.topTitle,
173
380
  onBackPress: onBackPress,
@@ -176,20 +383,16 @@ const SubscriptionSliderOne = ({
176
383
  }), /*#__PURE__*/_jsxs(View, {
177
384
  style: styles.content,
178
385
  children: [/*#__PURE__*/_jsx(Text, {
179
- style: [styles.heading],
386
+ style: headingStyle,
180
387
  color: colors.textPrimary,
181
388
  children: header.title
182
389
  }), /*#__PURE__*/_jsx(Text, {
183
- style: [styles.subText, {
184
- color: colors.onSurfaceVariant
185
- }],
390
+ style: subTextStyle,
186
391
  children: header.subTitle
187
392
  }), !plans || plans.length === 0 && !isLoading && errorMessage ? /*#__PURE__*/_jsx(View, {
188
393
  style: styles.errorMessage,
189
394
  children: /*#__PURE__*/_jsx(Text, {
190
- style: {
191
- color: colors.error
192
- },
395
+ style: errorMessageStyle,
193
396
  children: errorMessage
194
397
  })
195
398
  }) : /*#__PURE__*/_jsx(Carousel, {
@@ -197,30 +400,21 @@ const SubscriptionSliderOne = ({
197
400
  height: CAROUSEL_HEIGHT,
198
401
  data: isLoading ? placeholderData : sortedPlans,
199
402
  renderItem: isLoading ? renderSkeleton : renderPlan,
200
- loop: ((isLoading ? sortedPlans.length : sortedPlans.length) || 0) > 1,
403
+ loop: shouldLoop,
201
404
  autoPlay: false,
202
405
  scrollAnimationDuration: 500,
203
406
  mode: "parallax",
204
- modeConfig: {
205
- parallaxScrollingOffset: Display.fullWidth * 0.21,
206
- parallaxAdjacentItemScale: 0.8
207
- }
407
+ modeConfig: carouselModeConfig
208
408
  }), /*#__PURE__*/_jsx(Text, {
209
- style: [styles.info, {
210
- color: colors.onSurfaceVariant
211
- }],
409
+ style: infoStyle,
212
410
  children: footer.title
213
411
  }), /*#__PURE__*/_jsx(Text, {
214
- style: [styles.cancelText, {
215
- color: colors.onSurfaceVariant
216
- }],
412
+ style: cancelTextStyle,
217
413
  children: footer.subTitle
218
414
  }), extraContentText && /*#__PURE__*/_jsx(View, {
219
415
  style: styles.extraContentTextWrapper,
220
416
  children: /*#__PURE__*/React.isValidElement(extraContentText) ? extraContentText : /*#__PURE__*/_jsx(Text, {
221
- style: [styles.extraContentTextText, {
222
- color: colors.onSurfaceVariant
223
- }],
417
+ style: extraContentTextStyle,
224
418
  children: extraContentText
225
419
  })
226
420
  }), /*#__PURE__*/_jsx(Modal, {
@@ -229,154 +423,19 @@ const SubscriptionSliderOne = ({
229
423
  onBackButtonPress: closeDetailsModal,
230
424
  backdropOpacity: 0.35,
231
425
  useNativeDriver: true,
426
+ useNativeDriverForBackdrop: true,
232
427
  onSwipeComplete: closeDetailsModal,
233
428
  propagateSwipe: true,
234
429
  style: styles.modal,
235
- children: /*#__PURE__*/_jsxs(View, {
236
- style: [styles.modalContent, {
237
- backgroundColor: colors.surface
238
- }],
239
- children: [/*#__PURE__*/_jsxs(View, {
240
- style: styles.modalHeader,
241
- children: [/*#__PURE__*/_jsx(Text, {
242
- style: [styles.modalTitle, {
243
- color: colors.textPrimary
244
- }],
245
- children: selectedPlan?.title || 'Plan Details'
246
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
247
- onPress: closeDetailsModal,
248
- style: [styles.modalCloseButton, {
249
- backgroundColor: colors.background
250
- }],
251
- activeOpacity: 0.7,
252
- children: /*#__PURE__*/_jsx(X, {
253
- size: scale(20),
254
- color: colors.textPrimary
255
- })
256
- })]
257
- }), /*#__PURE__*/_jsx(ScrollView, {
258
- style: styles.modalScrollView,
259
- contentContainerStyle: styles.modalScrollContent,
260
- showsVerticalScrollIndicator: false,
261
- bounces: false,
262
- scrollEventThrottle: 16,
263
- keyboardShouldPersistTaps: "handled",
264
- removeClippedSubviews: false,
265
- nestedScrollEnabled: true,
266
- children: selectedPlan && /*#__PURE__*/_jsxs(_Fragment, {
267
- children: [/*#__PURE__*/_jsx(View, {
268
- style: [styles.modalSection, styles.modalFirstSection],
269
- children: /*#__PURE__*/_jsxs(View, {
270
- style: [styles.priceHighlightBox, {
271
- backgroundColor: colors.background
272
- }],
273
- children: [/*#__PURE__*/_jsx(Text, {
274
- style: [styles.modalPriceLabel, {
275
- color: colors.textSecondary
276
- }],
277
- children: "PRICING"
278
- }), /*#__PURE__*/_jsx(Text, {
279
- style: [styles.modalPriceValue, {
280
- color: colors.primary
281
- }],
282
- children: selectedPlan.price
283
- }), /*#__PURE__*/_jsxs(Text, {
284
- style: [styles.modalPriceDuration, {
285
- color: colors.textSecondary
286
- }],
287
- children: ["per ", selectedPlan.duration]
288
- })]
289
- })
290
- }), /*#__PURE__*/_jsxs(View, {
291
- style: [styles.modalSection],
292
- children: [/*#__PURE__*/_jsx(Text, {
293
- style: [styles.modalSectionTitle, {
294
- color: colors.textPrimary
295
- }],
296
- children: "Available On"
297
- }), /*#__PURE__*/_jsx(View, {
298
- style: [styles.platformBadge, {
299
- backgroundColor: colors.surface,
300
- borderColor: colors.primary
301
- }],
302
- children: /*#__PURE__*/_jsx(Text, {
303
- style: [styles.platformBadgeText, {
304
- color: colors.textPrimary
305
- }],
306
- children: selectedPlan.platforms
307
- })
308
- })]
309
- }), selectedPlan.benefits && selectedPlan.benefits.length > 0 && /*#__PURE__*/_jsxs(View, {
310
- style: styles.modalSection,
311
- children: [/*#__PURE__*/_jsx(Text, {
312
- style: [styles.modalSectionTitle, {
313
- color: colors.textPrimary
314
- }],
315
- children: "Benefits"
316
- }), selectedPlan.benefits.map((benefit, index) => /*#__PURE__*/_jsxs(View, {
317
- style: styles.benefitRow,
318
- children: [/*#__PURE__*/_jsx(Text, {
319
- style: [styles.benefitBullet, {
320
- color: colors.primary
321
- }],
322
- children: "\u2022"
323
- }), /*#__PURE__*/_jsx(Text, {
324
- style: [styles.benefitText, {
325
- color: colors.textSecondary
326
- }],
327
- children: benefit
328
- })]
329
- }, index))]
330
- }), selectedPlan.extraDetails?.description && /*#__PURE__*/_jsxs(View, {
331
- style: styles.modalSection,
332
- children: [/*#__PURE__*/_jsx(Text, {
333
- style: [styles.modalSectionTitle, {
334
- color: colors.textPrimary
335
- }],
336
- children: "Description"
337
- }), /*#__PURE__*/_jsx(Text, {
338
- style: [styles.modalSectionValue, {
339
- color: colors.textSecondary
340
- }],
341
- children: selectedPlan.extraDetails.description
342
- })]
343
- }), selectedPlan.extraDetails?.features && selectedPlan.extraDetails.features.length > 0 && /*#__PURE__*/_jsxs(View, {
344
- style: styles.modalSection,
345
- children: [/*#__PURE__*/_jsx(Text, {
346
- style: [styles.modalSectionTitle, {
347
- color: colors.textPrimary
348
- }],
349
- children: "Features"
350
- }), selectedPlan.extraDetails.features.map((feature, index) => /*#__PURE__*/_jsxs(View, {
351
- style: styles.benefitRow,
352
- children: [/*#__PURE__*/_jsx(Text, {
353
- style: [styles.benefitBullet, {
354
- color: colors.primary
355
- }],
356
- children: "\u2713"
357
- }), /*#__PURE__*/_jsx(Text, {
358
- style: [styles.benefitText, {
359
- color: colors.textSecondary
360
- }],
361
- children: feature
362
- })]
363
- }, index))]
364
- }), selectedPlan.extraDetails?.terms && /*#__PURE__*/_jsxs(View, {
365
- style: styles.modalSection,
366
- children: [/*#__PURE__*/_jsx(Text, {
367
- style: [styles.modalSectionTitle, {
368
- color: colors.textPrimary
369
- }],
370
- children: "Terms & Conditions"
371
- }), /*#__PURE__*/_jsx(Text, {
372
- style: [styles.modalSectionValue, {
373
- color: colors.textSecondary
374
- }],
375
- children: selectedPlan.extraDetails.terms
376
- })]
377
- })]
378
- })
379
- })]
430
+ hideModalContentWhileAnimating: true,
431
+ animationIn: "slideInUp",
432
+ animationOut: "slideOutDown",
433
+ animationInTiming: 300,
434
+ animationOutTiming: 300,
435
+ children: selectedPlan && /*#__PURE__*/_jsx(PlanDetailsModalContent, {
436
+ plan: selectedPlan,
437
+ colors: modalColors,
438
+ onClose: closeDetailsModal
380
439
  })
381
440
  })]
382
441
  })]