@webority-technologies/mobile 0.0.1

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 (536) hide show
  1. package/README.md +399 -0
  2. package/lib/commonjs/api/publicClient.js +73 -0
  3. package/lib/commonjs/api/userClient.js +290 -0
  4. package/lib/commonjs/auth/authStore.js +107 -0
  5. package/lib/commonjs/auth/index.js +44 -0
  6. package/lib/commonjs/auth/jwt.js +84 -0
  7. package/lib/commonjs/components/Accordion/Accordion.js +257 -0
  8. package/lib/commonjs/components/Accordion/index.js +26 -0
  9. package/lib/commonjs/components/Avatar/Avatar.js +283 -0
  10. package/lib/commonjs/components/Avatar/index.js +26 -0
  11. package/lib/commonjs/components/Badge/Badge.js +212 -0
  12. package/lib/commonjs/components/Badge/index.js +20 -0
  13. package/lib/commonjs/components/Banner/Banner.js +276 -0
  14. package/lib/commonjs/components/Banner/index.js +20 -0
  15. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +288 -0
  16. package/lib/commonjs/components/BottomNavigation/index.js +20 -0
  17. package/lib/commonjs/components/BottomSheet/BottomSheet.js +367 -0
  18. package/lib/commonjs/components/BottomSheet/index.js +20 -0
  19. package/lib/commonjs/components/Button/Button.js +281 -0
  20. package/lib/commonjs/components/Button/index.js +20 -0
  21. package/lib/commonjs/components/Card/Card.js +194 -0
  22. package/lib/commonjs/components/Card/index.js +20 -0
  23. package/lib/commonjs/components/Carousel/Carousel.js +475 -0
  24. package/lib/commonjs/components/Carousel/index.js +20 -0
  25. package/lib/commonjs/components/Checkbox/Checkbox.js +165 -0
  26. package/lib/commonjs/components/Checkbox/index.js +20 -0
  27. package/lib/commonjs/components/Chip/Chip.js +272 -0
  28. package/lib/commonjs/components/Chip/index.js +20 -0
  29. package/lib/commonjs/components/DatePicker/DatePicker.js +813 -0
  30. package/lib/commonjs/components/DatePicker/index.js +20 -0
  31. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +622 -0
  32. package/lib/commonjs/components/DateRangePicker/index.js +20 -0
  33. package/lib/commonjs/components/Dialog/Dialog.js +215 -0
  34. package/lib/commonjs/components/Dialog/index.js +20 -0
  35. package/lib/commonjs/components/Divider/Divider.js +118 -0
  36. package/lib/commonjs/components/Divider/index.js +20 -0
  37. package/lib/commonjs/components/Drawer/Drawer.js +344 -0
  38. package/lib/commonjs/components/Drawer/index.js +20 -0
  39. package/lib/commonjs/components/EmptyState/EmptyState.js +201 -0
  40. package/lib/commonjs/components/EmptyState/index.js +20 -0
  41. package/lib/commonjs/components/FAB/FAB.js +457 -0
  42. package/lib/commonjs/components/FAB/index.js +26 -0
  43. package/lib/commonjs/components/Field/Field.js +127 -0
  44. package/lib/commonjs/components/Field/index.js +20 -0
  45. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +81 -0
  46. package/lib/commonjs/components/ForceUpdateDialog/index.js +20 -0
  47. package/lib/commonjs/components/Header/Header.js +339 -0
  48. package/lib/commonjs/components/Header/index.js +20 -0
  49. package/lib/commonjs/components/Icon/Icon.js +120 -0
  50. package/lib/commonjs/components/Icon/index.js +20 -0
  51. package/lib/commonjs/components/ImageGallery/ImageGallery.js +463 -0
  52. package/lib/commonjs/components/ImageGallery/index.js +20 -0
  53. package/lib/commonjs/components/Input/Input.js +390 -0
  54. package/lib/commonjs/components/Input/index.js +20 -0
  55. package/lib/commonjs/components/ListItem/ListItem.js +241 -0
  56. package/lib/commonjs/components/ListItem/index.js +20 -0
  57. package/lib/commonjs/components/LoadingSpinner/LoadingSpinner.js +183 -0
  58. package/lib/commonjs/components/LoadingSpinner/index.js +20 -0
  59. package/lib/commonjs/components/Modal/Modal.js +239 -0
  60. package/lib/commonjs/components/Modal/index.js +20 -0
  61. package/lib/commonjs/components/NumberInput/NumberInput.js +392 -0
  62. package/lib/commonjs/components/NumberInput/index.js +20 -0
  63. package/lib/commonjs/components/OTPInput/OTPInput.js +375 -0
  64. package/lib/commonjs/components/OTPInput/index.js +20 -0
  65. package/lib/commonjs/components/ProgressBar/ProgressBar.js +149 -0
  66. package/lib/commonjs/components/ProgressBar/index.js +20 -0
  67. package/lib/commonjs/components/Radio/Radio.js +160 -0
  68. package/lib/commonjs/components/Radio/RadioGroup.js +43 -0
  69. package/lib/commonjs/components/Radio/index.js +39 -0
  70. package/lib/commonjs/components/Rating/Rating.js +236 -0
  71. package/lib/commonjs/components/Rating/index.js +20 -0
  72. package/lib/commonjs/components/SearchBar/SearchBar.js +274 -0
  73. package/lib/commonjs/components/SearchBar/index.js +20 -0
  74. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +184 -0
  75. package/lib/commonjs/components/SegmentedControl/index.js +20 -0
  76. package/lib/commonjs/components/Select/Select.js +540 -0
  77. package/lib/commonjs/components/Select/index.js +20 -0
  78. package/lib/commonjs/components/SkeletonLoader/SkeletonContent.js +191 -0
  79. package/lib/commonjs/components/SkeletonLoader/SkeletonLoader.js +311 -0
  80. package/lib/commonjs/components/SkeletonLoader/index.js +57 -0
  81. package/lib/commonjs/components/Slider/Slider.js +443 -0
  82. package/lib/commonjs/components/Slider/index.js +20 -0
  83. package/lib/commonjs/components/Stepper/Stepper.js +403 -0
  84. package/lib/commonjs/components/Stepper/index.js +20 -0
  85. package/lib/commonjs/components/Swipeable/Swipeable.js +349 -0
  86. package/lib/commonjs/components/Swipeable/index.js +20 -0
  87. package/lib/commonjs/components/Switch/Switch.js +173 -0
  88. package/lib/commonjs/components/Switch/index.js +20 -0
  89. package/lib/commonjs/components/Tabs/Tabs.js +204 -0
  90. package/lib/commonjs/components/Tabs/index.js +20 -0
  91. package/lib/commonjs/components/TimePicker/TimePicker.js +551 -0
  92. package/lib/commonjs/components/TimePicker/index.js +20 -0
  93. package/lib/commonjs/components/Toast/Toast.js +273 -0
  94. package/lib/commonjs/components/Toast/ToastProvider.js +195 -0
  95. package/lib/commonjs/components/Toast/index.js +39 -0
  96. package/lib/commonjs/components/Tooltip/Tooltip.js +363 -0
  97. package/lib/commonjs/components/Tooltip/index.js +20 -0
  98. package/lib/commonjs/components/index.js +392 -0
  99. package/lib/commonjs/config/index.js +63 -0
  100. package/lib/commonjs/formatters/currency.js +61 -0
  101. package/lib/commonjs/formatters/date.js +156 -0
  102. package/lib/commonjs/formatters/index.js +77 -0
  103. package/lib/commonjs/formatters/initials.js +28 -0
  104. package/lib/commonjs/formatters/number.js +76 -0
  105. package/lib/commonjs/formatters/phone.js +59 -0
  106. package/lib/commonjs/hooks/index.js +27 -0
  107. package/lib/commonjs/hooks/useDebounce.js +17 -0
  108. package/lib/commonjs/hooks/usePressAnimation.js +44 -0
  109. package/lib/commonjs/hooks/useToggle.js +22 -0
  110. package/lib/commonjs/index.js +628 -0
  111. package/lib/commonjs/initSDK.js +47 -0
  112. package/lib/commonjs/initUI.js +24 -0
  113. package/lib/commonjs/initUserAuth.js +40 -0
  114. package/lib/commonjs/logger/index.js +127 -0
  115. package/lib/commonjs/network/NetworkStatusBanner.js +89 -0
  116. package/lib/commonjs/network/index.js +32 -0
  117. package/lib/commonjs/network/networkStatus.js +88 -0
  118. package/lib/commonjs/package.json +1 -0
  119. package/lib/commonjs/permissions/index.js +180 -0
  120. package/lib/commonjs/storage/index.js +187 -0
  121. package/lib/commonjs/theme/ThemeContext.js +73 -0
  122. package/lib/commonjs/theme/index.js +93 -0
  123. package/lib/commonjs/theme/merge.js +30 -0
  124. package/lib/commonjs/theme/tokens.js +319 -0
  125. package/lib/commonjs/theme/types.js +6 -0
  126. package/lib/commonjs/types/vector-icons.d.js +2 -0
  127. package/lib/commonjs/utils/dimensions.js +31 -0
  128. package/lib/commonjs/utils/hapticUtils.js +57 -0
  129. package/lib/commonjs/utils/imageCompression.js +51 -0
  130. package/lib/commonjs/utils/index.js +83 -0
  131. package/lib/commonjs/utils/responsive.js +48 -0
  132. package/lib/commonjs/utils/shadows.js +12 -0
  133. package/lib/commonjs/utils/spacing.js +86 -0
  134. package/lib/commonjs/validators/index.js +165 -0
  135. package/lib/commonjs/versionCheck/index.js +338 -0
  136. package/lib/module/api/publicClient.js +69 -0
  137. package/lib/module/api/userClient.js +283 -0
  138. package/lib/module/auth/authStore.js +100 -0
  139. package/lib/module/auth/index.js +5 -0
  140. package/lib/module/auth/jwt.js +78 -0
  141. package/lib/module/components/Accordion/Accordion.js +251 -0
  142. package/lib/module/components/Accordion/index.js +4 -0
  143. package/lib/module/components/Avatar/Avatar.js +278 -0
  144. package/lib/module/components/Avatar/index.js +4 -0
  145. package/lib/module/components/Badge/Badge.js +208 -0
  146. package/lib/module/components/Badge/index.js +4 -0
  147. package/lib/module/components/Banner/Banner.js +272 -0
  148. package/lib/module/components/Banner/index.js +4 -0
  149. package/lib/module/components/BottomNavigation/BottomNavigation.js +284 -0
  150. package/lib/module/components/BottomNavigation/index.js +4 -0
  151. package/lib/module/components/BottomSheet/BottomSheet.js +363 -0
  152. package/lib/module/components/BottomSheet/index.js +4 -0
  153. package/lib/module/components/Button/Button.js +277 -0
  154. package/lib/module/components/Button/index.js +4 -0
  155. package/lib/module/components/Card/Card.js +190 -0
  156. package/lib/module/components/Card/index.js +4 -0
  157. package/lib/module/components/Carousel/Carousel.js +471 -0
  158. package/lib/module/components/Carousel/index.js +4 -0
  159. package/lib/module/components/Checkbox/Checkbox.js +161 -0
  160. package/lib/module/components/Checkbox/index.js +4 -0
  161. package/lib/module/components/Chip/Chip.js +268 -0
  162. package/lib/module/components/Chip/index.js +4 -0
  163. package/lib/module/components/DatePicker/DatePicker.js +808 -0
  164. package/lib/module/components/DatePicker/index.js +4 -0
  165. package/lib/module/components/DateRangePicker/DateRangePicker.js +618 -0
  166. package/lib/module/components/DateRangePicker/index.js +4 -0
  167. package/lib/module/components/Dialog/Dialog.js +210 -0
  168. package/lib/module/components/Dialog/index.js +4 -0
  169. package/lib/module/components/Divider/Divider.js +114 -0
  170. package/lib/module/components/Divider/index.js +4 -0
  171. package/lib/module/components/Drawer/Drawer.js +340 -0
  172. package/lib/module/components/Drawer/index.js +4 -0
  173. package/lib/module/components/EmptyState/EmptyState.js +197 -0
  174. package/lib/module/components/EmptyState/index.js +4 -0
  175. package/lib/module/components/FAB/FAB.js +452 -0
  176. package/lib/module/components/FAB/index.js +4 -0
  177. package/lib/module/components/Field/Field.js +123 -0
  178. package/lib/module/components/Field/index.js +4 -0
  179. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +75 -0
  180. package/lib/module/components/ForceUpdateDialog/index.js +4 -0
  181. package/lib/module/components/Header/Header.js +335 -0
  182. package/lib/module/components/Header/index.js +4 -0
  183. package/lib/module/components/Icon/Icon.js +111 -0
  184. package/lib/module/components/Icon/index.js +4 -0
  185. package/lib/module/components/ImageGallery/ImageGallery.js +458 -0
  186. package/lib/module/components/ImageGallery/index.js +4 -0
  187. package/lib/module/components/Input/Input.js +384 -0
  188. package/lib/module/components/Input/index.js +4 -0
  189. package/lib/module/components/ListItem/ListItem.js +237 -0
  190. package/lib/module/components/ListItem/index.js +4 -0
  191. package/lib/module/components/LoadingSpinner/LoadingSpinner.js +179 -0
  192. package/lib/module/components/LoadingSpinner/index.js +4 -0
  193. package/lib/module/components/Modal/Modal.js +235 -0
  194. package/lib/module/components/Modal/index.js +4 -0
  195. package/lib/module/components/NumberInput/NumberInput.js +388 -0
  196. package/lib/module/components/NumberInput/index.js +4 -0
  197. package/lib/module/components/OTPInput/OTPInput.js +371 -0
  198. package/lib/module/components/OTPInput/index.js +4 -0
  199. package/lib/module/components/ProgressBar/ProgressBar.js +145 -0
  200. package/lib/module/components/ProgressBar/index.js +4 -0
  201. package/lib/module/components/Radio/Radio.js +155 -0
  202. package/lib/module/components/Radio/RadioGroup.js +38 -0
  203. package/lib/module/components/Radio/index.js +5 -0
  204. package/lib/module/components/Rating/Rating.js +232 -0
  205. package/lib/module/components/Rating/index.js +4 -0
  206. package/lib/module/components/SearchBar/SearchBar.js +270 -0
  207. package/lib/module/components/SearchBar/index.js +4 -0
  208. package/lib/module/components/SegmentedControl/SegmentedControl.js +180 -0
  209. package/lib/module/components/SegmentedControl/index.js +4 -0
  210. package/lib/module/components/Select/Select.js +536 -0
  211. package/lib/module/components/Select/index.js +4 -0
  212. package/lib/module/components/SkeletonLoader/SkeletonContent.js +186 -0
  213. package/lib/module/components/SkeletonLoader/SkeletonLoader.js +301 -0
  214. package/lib/module/components/SkeletonLoader/index.js +5 -0
  215. package/lib/module/components/Slider/Slider.js +439 -0
  216. package/lib/module/components/Slider/index.js +4 -0
  217. package/lib/module/components/Stepper/Stepper.js +399 -0
  218. package/lib/module/components/Stepper/index.js +4 -0
  219. package/lib/module/components/Swipeable/Swipeable.js +344 -0
  220. package/lib/module/components/Swipeable/index.js +4 -0
  221. package/lib/module/components/Switch/Switch.js +169 -0
  222. package/lib/module/components/Switch/index.js +4 -0
  223. package/lib/module/components/Tabs/Tabs.js +200 -0
  224. package/lib/module/components/Tabs/index.js +4 -0
  225. package/lib/module/components/TimePicker/TimePicker.js +545 -0
  226. package/lib/module/components/TimePicker/index.js +4 -0
  227. package/lib/module/components/Toast/Toast.js +268 -0
  228. package/lib/module/components/Toast/ToastProvider.js +187 -0
  229. package/lib/module/components/Toast/index.js +5 -0
  230. package/lib/module/components/Tooltip/Tooltip.js +358 -0
  231. package/lib/module/components/Tooltip/index.js +4 -0
  232. package/lib/module/components/index.js +47 -0
  233. package/lib/module/config/index.js +55 -0
  234. package/lib/module/formatters/currency.js +56 -0
  235. package/lib/module/formatters/date.js +148 -0
  236. package/lib/module/formatters/index.js +8 -0
  237. package/lib/module/formatters/initials.js +23 -0
  238. package/lib/module/formatters/number.js +69 -0
  239. package/lib/module/formatters/phone.js +53 -0
  240. package/lib/module/hooks/index.js +6 -0
  241. package/lib/module/hooks/useDebounce.js +12 -0
  242. package/lib/module/hooks/usePressAnimation.js +39 -0
  243. package/lib/module/hooks/useToggle.js +17 -0
  244. package/lib/module/index.js +37 -0
  245. package/lib/module/initSDK.js +42 -0
  246. package/lib/module/initUI.js +19 -0
  247. package/lib/module/initUserAuth.js +36 -0
  248. package/lib/module/logger/index.js +123 -0
  249. package/lib/module/network/NetworkStatusBanner.js +83 -0
  250. package/lib/module/network/index.js +5 -0
  251. package/lib/module/network/networkStatus.js +81 -0
  252. package/lib/module/package.json +1 -0
  253. package/lib/module/permissions/index.js +177 -0
  254. package/lib/module/storage/index.js +183 -0
  255. package/lib/module/theme/ThemeContext.js +65 -0
  256. package/lib/module/theme/index.js +48 -0
  257. package/lib/module/theme/merge.js +25 -0
  258. package/lib/module/theme/tokens.js +315 -0
  259. package/lib/module/theme/types.js +4 -0
  260. package/lib/module/types/vector-icons.d.js +2 -0
  261. package/lib/module/utils/dimensions.js +4 -0
  262. package/lib/module/utils/hapticUtils.js +51 -0
  263. package/lib/module/utils/imageCompression.js +46 -0
  264. package/lib/module/utils/index.js +8 -0
  265. package/lib/module/utils/responsive.js +42 -0
  266. package/lib/module/utils/shadows.js +7 -0
  267. package/lib/module/utils/spacing.js +82 -0
  268. package/lib/module/validators/index.js +143 -0
  269. package/lib/module/versionCheck/index.js +334 -0
  270. package/lib/typescript/commonjs/api/publicClient.d.ts +11 -0
  271. package/lib/typescript/commonjs/api/userClient.d.ts +18 -0
  272. package/lib/typescript/commonjs/auth/authStore.d.ts +20 -0
  273. package/lib/typescript/commonjs/auth/index.d.ts +5 -0
  274. package/lib/typescript/commonjs/auth/jwt.d.ts +31 -0
  275. package/lib/typescript/commonjs/components/Accordion/Accordion.d.ts +33 -0
  276. package/lib/typescript/commonjs/components/Accordion/index.d.ts +3 -0
  277. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +42 -0
  278. package/lib/typescript/commonjs/components/Avatar/index.d.ts +3 -0
  279. package/lib/typescript/commonjs/components/Badge/Badge.d.ts +27 -0
  280. package/lib/typescript/commonjs/components/Badge/index.d.ts +3 -0
  281. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +27 -0
  282. package/lib/typescript/commonjs/components/Banner/index.d.ts +3 -0
  283. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.d.ts +34 -0
  284. package/lib/typescript/commonjs/components/BottomNavigation/index.d.ts +3 -0
  285. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +45 -0
  286. package/lib/typescript/commonjs/components/BottomSheet/index.d.ts +3 -0
  287. package/lib/typescript/commonjs/components/Button/Button.d.ts +29 -0
  288. package/lib/typescript/commonjs/components/Button/index.d.ts +3 -0
  289. package/lib/typescript/commonjs/components/Card/Card.d.ts +29 -0
  290. package/lib/typescript/commonjs/components/Card/index.d.ts +3 -0
  291. package/lib/typescript/commonjs/components/Carousel/Carousel.d.ts +66 -0
  292. package/lib/typescript/commonjs/components/Carousel/index.d.ts +3 -0
  293. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +24 -0
  294. package/lib/typescript/commonjs/components/Checkbox/index.d.ts +3 -0
  295. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +25 -0
  296. package/lib/typescript/commonjs/components/Chip/index.d.ts +3 -0
  297. package/lib/typescript/commonjs/components/DatePicker/DatePicker.d.ts +25 -0
  298. package/lib/typescript/commonjs/components/DatePicker/index.d.ts +3 -0
  299. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts +32 -0
  300. package/lib/typescript/commonjs/components/DateRangePicker/index.d.ts +3 -0
  301. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +25 -0
  302. package/lib/typescript/commonjs/components/Dialog/index.d.ts +3 -0
  303. package/lib/typescript/commonjs/components/Divider/Divider.d.ts +21 -0
  304. package/lib/typescript/commonjs/components/Divider/index.d.ts +3 -0
  305. package/lib/typescript/commonjs/components/Drawer/Drawer.d.ts +53 -0
  306. package/lib/typescript/commonjs/components/Drawer/index.d.ts +3 -0
  307. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +25 -0
  308. package/lib/typescript/commonjs/components/EmptyState/index.d.ts +3 -0
  309. package/lib/typescript/commonjs/components/FAB/FAB.d.ts +53 -0
  310. package/lib/typescript/commonjs/components/FAB/index.d.ts +3 -0
  311. package/lib/typescript/commonjs/components/Field/Field.d.ts +28 -0
  312. package/lib/typescript/commonjs/components/Field/index.d.ts +3 -0
  313. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +39 -0
  314. package/lib/typescript/commonjs/components/ForceUpdateDialog/index.d.ts +3 -0
  315. package/lib/typescript/commonjs/components/Header/Header.d.ts +36 -0
  316. package/lib/typescript/commonjs/components/Header/index.d.ts +3 -0
  317. package/lib/typescript/commonjs/components/Icon/Icon.d.ts +20 -0
  318. package/lib/typescript/commonjs/components/Icon/index.d.ts +3 -0
  319. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.d.ts +41 -0
  320. package/lib/typescript/commonjs/components/ImageGallery/index.d.ts +3 -0
  321. package/lib/typescript/commonjs/components/Input/Input.d.ts +34 -0
  322. package/lib/typescript/commonjs/components/Input/index.d.ts +3 -0
  323. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +30 -0
  324. package/lib/typescript/commonjs/components/ListItem/index.d.ts +4 -0
  325. package/lib/typescript/commonjs/components/LoadingSpinner/LoadingSpinner.d.ts +20 -0
  326. package/lib/typescript/commonjs/components/LoadingSpinner/index.d.ts +3 -0
  327. package/lib/typescript/commonjs/components/Modal/Modal.d.ts +29 -0
  328. package/lib/typescript/commonjs/components/Modal/index.d.ts +3 -0
  329. package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +35 -0
  330. package/lib/typescript/commonjs/components/NumberInput/index.d.ts +3 -0
  331. package/lib/typescript/commonjs/components/OTPInput/OTPInput.d.ts +29 -0
  332. package/lib/typescript/commonjs/components/OTPInput/index.d.ts +3 -0
  333. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +21 -0
  334. package/lib/typescript/commonjs/components/ProgressBar/index.d.ts +3 -0
  335. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +32 -0
  336. package/lib/typescript/commonjs/components/Radio/RadioGroup.d.ts +16 -0
  337. package/lib/typescript/commonjs/components/Radio/index.d.ts +5 -0
  338. package/lib/typescript/commonjs/components/Rating/Rating.d.ts +22 -0
  339. package/lib/typescript/commonjs/components/Rating/index.d.ts +3 -0
  340. package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +28 -0
  341. package/lib/typescript/commonjs/components/SearchBar/index.d.ts +3 -0
  342. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +36 -0
  343. package/lib/typescript/commonjs/components/SegmentedControl/index.d.ts +3 -0
  344. package/lib/typescript/commonjs/components/Select/Select.d.ts +48 -0
  345. package/lib/typescript/commonjs/components/Select/index.d.ts +3 -0
  346. package/lib/typescript/commonjs/components/SkeletonLoader/SkeletonContent.d.ts +29 -0
  347. package/lib/typescript/commonjs/components/SkeletonLoader/SkeletonLoader.d.ts +42 -0
  348. package/lib/typescript/commonjs/components/SkeletonLoader/index.d.ts +5 -0
  349. package/lib/typescript/commonjs/components/Slider/Slider.d.ts +33 -0
  350. package/lib/typescript/commonjs/components/Slider/index.d.ts +3 -0
  351. package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +25 -0
  352. package/lib/typescript/commonjs/components/Stepper/index.d.ts +3 -0
  353. package/lib/typescript/commonjs/components/Swipeable/Swipeable.d.ts +45 -0
  354. package/lib/typescript/commonjs/components/Swipeable/index.d.ts +3 -0
  355. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +24 -0
  356. package/lib/typescript/commonjs/components/Switch/index.d.ts +3 -0
  357. package/lib/typescript/commonjs/components/Tabs/Tabs.d.ts +37 -0
  358. package/lib/typescript/commonjs/components/Tabs/index.d.ts +3 -0
  359. package/lib/typescript/commonjs/components/TimePicker/TimePicker.d.ts +26 -0
  360. package/lib/typescript/commonjs/components/TimePicker/index.d.ts +3 -0
  361. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +30 -0
  362. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +26 -0
  363. package/lib/typescript/commonjs/components/Toast/index.d.ts +5 -0
  364. package/lib/typescript/commonjs/components/Tooltip/Tooltip.d.ts +22 -0
  365. package/lib/typescript/commonjs/components/Tooltip/index.d.ts +3 -0
  366. package/lib/typescript/commonjs/components/index.d.ts +89 -0
  367. package/lib/typescript/commonjs/config/index.d.ts +40 -0
  368. package/lib/typescript/commonjs/formatters/currency.d.ts +24 -0
  369. package/lib/typescript/commonjs/formatters/date.d.ts +22 -0
  370. package/lib/typescript/commonjs/formatters/index.d.ts +8 -0
  371. package/lib/typescript/commonjs/formatters/initials.d.ts +11 -0
  372. package/lib/typescript/commonjs/formatters/number.d.ts +15 -0
  373. package/lib/typescript/commonjs/formatters/phone.d.ts +13 -0
  374. package/lib/typescript/commonjs/hooks/index.d.ts +6 -0
  375. package/lib/typescript/commonjs/hooks/useDebounce.d.ts +2 -0
  376. package/lib/typescript/commonjs/hooks/usePressAnimation.d.ts +14 -0
  377. package/lib/typescript/commonjs/hooks/useToggle.d.ts +9 -0
  378. package/lib/typescript/commonjs/index.d.ts +37 -0
  379. package/lib/typescript/commonjs/initSDK.d.ts +40 -0
  380. package/lib/typescript/commonjs/initUI.d.ts +12 -0
  381. package/lib/typescript/commonjs/initUserAuth.d.ts +22 -0
  382. package/lib/typescript/commonjs/logger/index.d.ts +42 -0
  383. package/lib/typescript/commonjs/network/NetworkStatusBanner.d.ts +19 -0
  384. package/lib/typescript/commonjs/network/index.d.ts +5 -0
  385. package/lib/typescript/commonjs/network/networkStatus.d.ts +27 -0
  386. package/lib/typescript/commonjs/package.json +1 -0
  387. package/lib/typescript/commonjs/permissions/index.d.ts +20 -0
  388. package/lib/typescript/commonjs/storage/index.d.ts +42 -0
  389. package/lib/typescript/commonjs/theme/ThemeContext.d.ts +18 -0
  390. package/lib/typescript/commonjs/theme/index.d.ts +13 -0
  391. package/lib/typescript/commonjs/theme/merge.d.ts +3 -0
  392. package/lib/typescript/commonjs/theme/tokens.d.ts +4 -0
  393. package/lib/typescript/commonjs/theme/types.d.ts +161 -0
  394. package/lib/typescript/commonjs/utils/dimensions.d.ts +3 -0
  395. package/lib/typescript/commonjs/utils/hapticUtils.d.ts +4 -0
  396. package/lib/typescript/commonjs/utils/imageCompression.d.ts +15 -0
  397. package/lib/typescript/commonjs/utils/index.d.ts +10 -0
  398. package/lib/typescript/commonjs/utils/responsive.d.ts +23 -0
  399. package/lib/typescript/commonjs/utils/shadows.d.ts +4 -0
  400. package/lib/typescript/commonjs/utils/spacing.d.ts +61 -0
  401. package/lib/typescript/commonjs/validators/index.d.ts +46 -0
  402. package/lib/typescript/commonjs/versionCheck/index.d.ts +59 -0
  403. package/lib/typescript/module/api/publicClient.d.ts +11 -0
  404. package/lib/typescript/module/api/userClient.d.ts +18 -0
  405. package/lib/typescript/module/auth/authStore.d.ts +20 -0
  406. package/lib/typescript/module/auth/index.d.ts +5 -0
  407. package/lib/typescript/module/auth/jwt.d.ts +31 -0
  408. package/lib/typescript/module/components/Accordion/Accordion.d.ts +33 -0
  409. package/lib/typescript/module/components/Accordion/index.d.ts +3 -0
  410. package/lib/typescript/module/components/Avatar/Avatar.d.ts +42 -0
  411. package/lib/typescript/module/components/Avatar/index.d.ts +3 -0
  412. package/lib/typescript/module/components/Badge/Badge.d.ts +27 -0
  413. package/lib/typescript/module/components/Badge/index.d.ts +3 -0
  414. package/lib/typescript/module/components/Banner/Banner.d.ts +27 -0
  415. package/lib/typescript/module/components/Banner/index.d.ts +3 -0
  416. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.d.ts +34 -0
  417. package/lib/typescript/module/components/BottomNavigation/index.d.ts +3 -0
  418. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +45 -0
  419. package/lib/typescript/module/components/BottomSheet/index.d.ts +3 -0
  420. package/lib/typescript/module/components/Button/Button.d.ts +29 -0
  421. package/lib/typescript/module/components/Button/index.d.ts +3 -0
  422. package/lib/typescript/module/components/Card/Card.d.ts +29 -0
  423. package/lib/typescript/module/components/Card/index.d.ts +3 -0
  424. package/lib/typescript/module/components/Carousel/Carousel.d.ts +66 -0
  425. package/lib/typescript/module/components/Carousel/index.d.ts +3 -0
  426. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +24 -0
  427. package/lib/typescript/module/components/Checkbox/index.d.ts +3 -0
  428. package/lib/typescript/module/components/Chip/Chip.d.ts +25 -0
  429. package/lib/typescript/module/components/Chip/index.d.ts +3 -0
  430. package/lib/typescript/module/components/DatePicker/DatePicker.d.ts +25 -0
  431. package/lib/typescript/module/components/DatePicker/index.d.ts +3 -0
  432. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts +32 -0
  433. package/lib/typescript/module/components/DateRangePicker/index.d.ts +3 -0
  434. package/lib/typescript/module/components/Dialog/Dialog.d.ts +25 -0
  435. package/lib/typescript/module/components/Dialog/index.d.ts +3 -0
  436. package/lib/typescript/module/components/Divider/Divider.d.ts +21 -0
  437. package/lib/typescript/module/components/Divider/index.d.ts +3 -0
  438. package/lib/typescript/module/components/Drawer/Drawer.d.ts +53 -0
  439. package/lib/typescript/module/components/Drawer/index.d.ts +3 -0
  440. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +25 -0
  441. package/lib/typescript/module/components/EmptyState/index.d.ts +3 -0
  442. package/lib/typescript/module/components/FAB/FAB.d.ts +53 -0
  443. package/lib/typescript/module/components/FAB/index.d.ts +3 -0
  444. package/lib/typescript/module/components/Field/Field.d.ts +28 -0
  445. package/lib/typescript/module/components/Field/index.d.ts +3 -0
  446. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +39 -0
  447. package/lib/typescript/module/components/ForceUpdateDialog/index.d.ts +3 -0
  448. package/lib/typescript/module/components/Header/Header.d.ts +36 -0
  449. package/lib/typescript/module/components/Header/index.d.ts +3 -0
  450. package/lib/typescript/module/components/Icon/Icon.d.ts +20 -0
  451. package/lib/typescript/module/components/Icon/index.d.ts +3 -0
  452. package/lib/typescript/module/components/ImageGallery/ImageGallery.d.ts +41 -0
  453. package/lib/typescript/module/components/ImageGallery/index.d.ts +3 -0
  454. package/lib/typescript/module/components/Input/Input.d.ts +34 -0
  455. package/lib/typescript/module/components/Input/index.d.ts +3 -0
  456. package/lib/typescript/module/components/ListItem/ListItem.d.ts +30 -0
  457. package/lib/typescript/module/components/ListItem/index.d.ts +4 -0
  458. package/lib/typescript/module/components/LoadingSpinner/LoadingSpinner.d.ts +20 -0
  459. package/lib/typescript/module/components/LoadingSpinner/index.d.ts +3 -0
  460. package/lib/typescript/module/components/Modal/Modal.d.ts +29 -0
  461. package/lib/typescript/module/components/Modal/index.d.ts +3 -0
  462. package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +35 -0
  463. package/lib/typescript/module/components/NumberInput/index.d.ts +3 -0
  464. package/lib/typescript/module/components/OTPInput/OTPInput.d.ts +29 -0
  465. package/lib/typescript/module/components/OTPInput/index.d.ts +3 -0
  466. package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +21 -0
  467. package/lib/typescript/module/components/ProgressBar/index.d.ts +3 -0
  468. package/lib/typescript/module/components/Radio/Radio.d.ts +32 -0
  469. package/lib/typescript/module/components/Radio/RadioGroup.d.ts +16 -0
  470. package/lib/typescript/module/components/Radio/index.d.ts +5 -0
  471. package/lib/typescript/module/components/Rating/Rating.d.ts +22 -0
  472. package/lib/typescript/module/components/Rating/index.d.ts +3 -0
  473. package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +28 -0
  474. package/lib/typescript/module/components/SearchBar/index.d.ts +3 -0
  475. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +36 -0
  476. package/lib/typescript/module/components/SegmentedControl/index.d.ts +3 -0
  477. package/lib/typescript/module/components/Select/Select.d.ts +48 -0
  478. package/lib/typescript/module/components/Select/index.d.ts +3 -0
  479. package/lib/typescript/module/components/SkeletonLoader/SkeletonContent.d.ts +29 -0
  480. package/lib/typescript/module/components/SkeletonLoader/SkeletonLoader.d.ts +42 -0
  481. package/lib/typescript/module/components/SkeletonLoader/index.d.ts +5 -0
  482. package/lib/typescript/module/components/Slider/Slider.d.ts +33 -0
  483. package/lib/typescript/module/components/Slider/index.d.ts +3 -0
  484. package/lib/typescript/module/components/Stepper/Stepper.d.ts +25 -0
  485. package/lib/typescript/module/components/Stepper/index.d.ts +3 -0
  486. package/lib/typescript/module/components/Swipeable/Swipeable.d.ts +45 -0
  487. package/lib/typescript/module/components/Swipeable/index.d.ts +3 -0
  488. package/lib/typescript/module/components/Switch/Switch.d.ts +24 -0
  489. package/lib/typescript/module/components/Switch/index.d.ts +3 -0
  490. package/lib/typescript/module/components/Tabs/Tabs.d.ts +37 -0
  491. package/lib/typescript/module/components/Tabs/index.d.ts +3 -0
  492. package/lib/typescript/module/components/TimePicker/TimePicker.d.ts +26 -0
  493. package/lib/typescript/module/components/TimePicker/index.d.ts +3 -0
  494. package/lib/typescript/module/components/Toast/Toast.d.ts +30 -0
  495. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +26 -0
  496. package/lib/typescript/module/components/Toast/index.d.ts +5 -0
  497. package/lib/typescript/module/components/Tooltip/Tooltip.d.ts +22 -0
  498. package/lib/typescript/module/components/Tooltip/index.d.ts +3 -0
  499. package/lib/typescript/module/components/index.d.ts +89 -0
  500. package/lib/typescript/module/config/index.d.ts +40 -0
  501. package/lib/typescript/module/formatters/currency.d.ts +24 -0
  502. package/lib/typescript/module/formatters/date.d.ts +22 -0
  503. package/lib/typescript/module/formatters/index.d.ts +8 -0
  504. package/lib/typescript/module/formatters/initials.d.ts +11 -0
  505. package/lib/typescript/module/formatters/number.d.ts +15 -0
  506. package/lib/typescript/module/formatters/phone.d.ts +13 -0
  507. package/lib/typescript/module/hooks/index.d.ts +6 -0
  508. package/lib/typescript/module/hooks/useDebounce.d.ts +2 -0
  509. package/lib/typescript/module/hooks/usePressAnimation.d.ts +14 -0
  510. package/lib/typescript/module/hooks/useToggle.d.ts +9 -0
  511. package/lib/typescript/module/index.d.ts +37 -0
  512. package/lib/typescript/module/initSDK.d.ts +40 -0
  513. package/lib/typescript/module/initUI.d.ts +12 -0
  514. package/lib/typescript/module/initUserAuth.d.ts +22 -0
  515. package/lib/typescript/module/logger/index.d.ts +42 -0
  516. package/lib/typescript/module/network/NetworkStatusBanner.d.ts +19 -0
  517. package/lib/typescript/module/network/index.d.ts +5 -0
  518. package/lib/typescript/module/network/networkStatus.d.ts +27 -0
  519. package/lib/typescript/module/package.json +1 -0
  520. package/lib/typescript/module/permissions/index.d.ts +20 -0
  521. package/lib/typescript/module/storage/index.d.ts +42 -0
  522. package/lib/typescript/module/theme/ThemeContext.d.ts +18 -0
  523. package/lib/typescript/module/theme/index.d.ts +13 -0
  524. package/lib/typescript/module/theme/merge.d.ts +3 -0
  525. package/lib/typescript/module/theme/tokens.d.ts +4 -0
  526. package/lib/typescript/module/theme/types.d.ts +161 -0
  527. package/lib/typescript/module/utils/dimensions.d.ts +3 -0
  528. package/lib/typescript/module/utils/hapticUtils.d.ts +4 -0
  529. package/lib/typescript/module/utils/imageCompression.d.ts +15 -0
  530. package/lib/typescript/module/utils/index.d.ts +10 -0
  531. package/lib/typescript/module/utils/responsive.d.ts +23 -0
  532. package/lib/typescript/module/utils/shadows.d.ts +4 -0
  533. package/lib/typescript/module/utils/spacing.d.ts +61 -0
  534. package/lib/typescript/module/validators/index.d.ts +46 -0
  535. package/lib/typescript/module/versionCheck/index.d.ts +59 -0
  536. package/package.json +137 -0
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+
3
+ import { getBundleId, getSystemName, getVersion } from 'react-native-device-info';
4
+ import { useEffect, useState } from 'react';
5
+ import { getConfigValue } from "../config/index.js";
6
+ import { Logger } from "../logger/index.js";
7
+
8
+ // Constants
9
+ const MAX_RETRIES = 3;
10
+ const RETRY_DELAY = 3000; // 3 seconds
11
+
12
+ const getCountry = () => getConfigValue('country', 'in').toLowerCase();
13
+ // Utility function to parse and coerce version to a valid format
14
+ const parseVersion = version => {
15
+ Logger.info(`Parsing version: ${version}`);
16
+ const coercedVersion = version.replace(/[^0-9.]/g, '');
17
+ const versionParts = coercedVersion.split('.').map(Number);
18
+ return {
19
+ major: versionParts[0] || 0,
20
+ minor: versionParts[1] || 0,
21
+ patch: versionParts[2] || 0,
22
+ prerelease: version.includes('-') ? version.split('-')[1] ?? '' : ''
23
+ };
24
+ };
25
+
26
+ // Utility function to compare two versions loosely
27
+ const diffLoose = (version1, version2) => {
28
+ Logger.info(`Comparing versions: ${version1} and ${version2}`);
29
+ if (version1 === version2) {
30
+ return null;
31
+ }
32
+ const v1 = parseVersion(version1);
33
+ const v2 = parseVersion(version2);
34
+ if (v1.major < v2.major) {
35
+ return 'major';
36
+ }
37
+ if (v1.major > v2.major) {
38
+ return null;
39
+ }
40
+ if (v1.minor < v2.minor) {
41
+ return 'minor';
42
+ }
43
+ if (v1.minor > v2.minor) {
44
+ return null;
45
+ }
46
+ if (v1.patch < v2.patch) {
47
+ return 'patch';
48
+ }
49
+ if (v1.patch > v2.patch) {
50
+ return null;
51
+ }
52
+ if (v1.prerelease && !v2.prerelease) {
53
+ return 'prerelease';
54
+ }
55
+ if (!v1.prerelease && v2.prerelease) {
56
+ return null;
57
+ }
58
+ if (v1.prerelease < v2.prerelease) {
59
+ return 'prerelease';
60
+ }
61
+ if (v1.prerelease > v2.prerelease) {
62
+ return null;
63
+ }
64
+ return null;
65
+ };
66
+
67
+ // Function to compare current version with the latest version
68
+ const versionCompare = (currentVersion, latestVersion) => {
69
+ Logger.info(`Comparing current version: ${currentVersion} with latest version: ${latestVersion}`);
70
+ if (!latestVersion) {
71
+ return {
72
+ needsUpdate: false,
73
+ updateType: null,
74
+ notice: 'Error: could not get latest version'
75
+ };
76
+ }
77
+ try {
78
+ const updateType = diffLoose(currentVersion, latestVersion);
79
+ return {
80
+ needsUpdate: !!updateType,
81
+ updateType
82
+ };
83
+ } catch (e) {
84
+ const message = e instanceof Error ? e.message : String(e);
85
+ Logger.error(`Error comparing versions: ${message}`);
86
+ const needsUpdate = currentVersion !== latestVersion && latestVersion > currentVersion;
87
+ const updateType = needsUpdate ? 'minor' : null;
88
+ return {
89
+ needsUpdate,
90
+ updateType,
91
+ notice: message.replace(/^Invalid Version:/, 'Not a valid version:')
92
+ };
93
+ }
94
+ };
95
+
96
+ // Function to fetch version details from Google Play Store
97
+ const fetchAndroidVersion = async url => {
98
+ Logger.info(`Fetching Android version from URL: ${url}`);
99
+ let response;
100
+ try {
101
+ response = await fetch(url, {
102
+ headers: {
103
+ 'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36',
104
+ 'sec-fetch-site': 'same-origin'
105
+ }
106
+ });
107
+ } catch (error) {
108
+ const message = error instanceof Error ? error.message : String(error);
109
+ Logger.error(`Error fetching data from Google Play Store: ${message}`);
110
+ throw new Error('Error fetching data from Google Play Store.');
111
+ }
112
+ if (!response.ok) {
113
+ if (response.status === 404) {
114
+ Logger.error('App with app ID not found in Google Play.');
115
+ throw new Error(`App with app ID not found in Google Play.`);
116
+ }
117
+ Logger.error(`Error fetching data: ${response.statusText}`);
118
+ throw new Error(response.statusText);
119
+ }
120
+ const text = await response.text();
121
+
122
+ // Primary regex pattern for current Play Store format
123
+ let versionMatch = text.match(/\[\[\[['"]((\d+\.)+\d+)['"]\]\],/);
124
+
125
+ // Alternate patterns as fallbacks
126
+ if (!versionMatch) {
127
+ // Fallback 1: Look for version in "current version" text
128
+ versionMatch = text.match(/Current Version[^\d]+((\d+\.)+\d+)/i);
129
+ }
130
+ if (!versionMatch) {
131
+ // Fallback 2: Look for itemprop="softwareVersion"
132
+ versionMatch = text.match(/itemprop="softwareVersion"[^>]*>((\d+\.)+\d+)</i);
133
+ }
134
+ if (!versionMatch) {
135
+ // Fallback 3: Try a more generic pattern for version numbers
136
+ const allVersions = text.match(/(\d+\.\d+(\.\d+)?)/g);
137
+ // If we found multiple version-like strings, use the first one
138
+ versionMatch = allVersions && allVersions.length > 0 ? [null, allVersions[0]] : null;
139
+ }
140
+ const version = versionMatch ? versionMatch[1] ?? null : null;
141
+ if (!version) {
142
+ Logger.warn('Could not extract version from Play Store. Using fallback method.');
143
+ }
144
+ const notesMatch = text.match(/<div itemprop="description">(.*?)<\/div>/);
145
+ const notes = notesMatch ? notesMatch[1] ?? '' : '';
146
+ return {
147
+ version,
148
+ releasedAt: new Date().toISOString(),
149
+ notes,
150
+ url,
151
+ lastChecked: new Date().toISOString()
152
+ };
153
+ };
154
+ // Function to fetch version details from Apple App Store
155
+ const fetchIosVersion = async url => {
156
+ Logger.info(`Fetching iOS version from URL: ${url}`);
157
+ let response;
158
+ try {
159
+ response = await fetch(url);
160
+ } catch {
161
+ Logger.error('Error connecting to iTunes.');
162
+ throw new Error('Error connecting to iTunes.');
163
+ }
164
+ const data = await response.json();
165
+ if (!data || !('results' in data)) {
166
+ Logger.error('Unknown error connecting to iTunes.');
167
+ throw new Error('Unknown error connecting to iTunes.');
168
+ }
169
+ if (!data.results.length) {
170
+ Logger.error('App for this bundle ID not found.');
171
+ throw new Error('App for this bundle ID not found.');
172
+ }
173
+ const result = data.results[0];
174
+ return {
175
+ version: result.version || null,
176
+ released: result.currentVersionReleaseDate || result.releaseDate || null,
177
+ notes: result.releaseNotes || '',
178
+ url: result.trackViewUrl || result.artistViewUrl || result.sellerUrl || null,
179
+ country: getCountry(),
180
+ lastChecked: new Date().toISOString()
181
+ };
182
+ };
183
+
184
+ // Function to lookup version based on platform
185
+ const lookupVersion = async (platform, identifier) => {
186
+ Logger.info(`Looking up version for platform: ${platform}, identifier: ${identifier}`);
187
+ const country = getCountry();
188
+ const url = platform === 'ios' ? `https://itunes.apple.com/lookup?bundleId=${identifier}&country=${country}&_=${new Date().valueOf()}` : `https://play.google.com/store/apps/details?id=${identifier}&hl=${country}`;
189
+ return platform === 'ios' ? fetchIosVersion(url) : fetchAndroidVersion(url);
190
+ };
191
+
192
+ /**
193
+ * Check for new version with retry logic
194
+ */
195
+ const checkForUpdates = async () => {
196
+ const platform = getSystemName().toLowerCase();
197
+ const identifier = getBundleId();
198
+ const currentVersion = getVersion();
199
+
200
+ // Implement retry mechanism
201
+ let retryCount = 0;
202
+ let lastError = null;
203
+ while (retryCount <= MAX_RETRIES) {
204
+ try {
205
+ Logger.info(`Checking if new version is available (attempt ${retryCount + 1}/${MAX_RETRIES + 1})`);
206
+ Logger.info(`Platform: ${platform}, identifier: ${identifier}, current version: ${currentVersion}`);
207
+ const latestVersionInfo = await lookupVersion(platform, identifier);
208
+ const comparison = versionCompare(currentVersion, latestVersionInfo.version);
209
+ return {
210
+ isNewVersionAvailable: comparison.needsUpdate,
211
+ updateType: comparison.updateType,
212
+ url: latestVersionInfo.url
213
+ };
214
+ } catch (error) {
215
+ lastError = error;
216
+ const message = error instanceof Error ? error.message : String(error);
217
+ Logger.error(`Error checking version (attempt ${retryCount + 1}/${MAX_RETRIES + 1}): ${message}`);
218
+
219
+ // If we've reached max retries, throw the last error
220
+ if (retryCount === MAX_RETRIES) {
221
+ throw error;
222
+ }
223
+
224
+ // Otherwise, wait and retry
225
+ retryCount++;
226
+ Logger.info(`Retrying version check in ${RETRY_DELAY}ms...`);
227
+ await new Promise(resolve => setTimeout(resolve, RETRY_DELAY));
228
+ }
229
+ }
230
+
231
+ // This should never be reached due to the throw above, but just in case
232
+ throw lastError instanceof Error ? lastError : new Error('Failed to check for updates after multiple attempts');
233
+ };
234
+
235
+ /**
236
+ * Get fallback store URL based on platform
237
+ */
238
+ const getFallbackStoreUrl = () => {
239
+ const platform = getSystemName().toLowerCase();
240
+ const bundleId = getBundleId();
241
+ const country = getCountry();
242
+ return platform === 'ios' ? `https://apps.apple.com/${country}/app/${bundleId}` : `https://play.google.com/store/apps/details?id=${bundleId}&hl=${country}`;
243
+ };
244
+ // Version check functionality
245
+ export const VersionCheck = {
246
+ isNewVersionAvailable: async () => {
247
+ return checkForUpdates();
248
+ },
249
+ openUpdateUrl: async url => {
250
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
251
+ const {
252
+ Linking
253
+ } = require('react-native');
254
+ try {
255
+ if (url) {
256
+ Logger.info(`Opening app store URL: ${url}`);
257
+ await Linking.openURL(url);
258
+ } else {
259
+ const fallbackUrl = getFallbackStoreUrl();
260
+ Logger.info(`Opening fallback store URL: ${fallbackUrl}`);
261
+ await Linking.openURL(fallbackUrl);
262
+ }
263
+ return true;
264
+ } catch (error) {
265
+ const message = error instanceof Error ? error.message : String(error);
266
+ Logger.error(`Failed to open store URL: ${message}`);
267
+
268
+ // Try with fallback URL if the original failed
269
+ try {
270
+ if (url) {
271
+ // Only try fallback if we were using a specific URL before
272
+ const fallbackUrl = getFallbackStoreUrl();
273
+ Logger.info(`Trying fallback store URL: ${fallbackUrl}`);
274
+ await Linking.openURL(fallbackUrl);
275
+ return true;
276
+ }
277
+ } catch (fallbackError) {
278
+ const fbMessage = fallbackError instanceof Error ? fallbackError.message : String(fallbackError);
279
+ Logger.error(`Failed to open fallback URL: ${fbMessage}`);
280
+ }
281
+ return false;
282
+ }
283
+ },
284
+ getFallbackStoreUrl
285
+ };
286
+
287
+ /**
288
+ * Custom hook to check for required app updates.
289
+ *
290
+ * @param isAppReady - Whether the app is ready to perform the check
291
+ * @param environment - The app environment (defaults to the one in config)
292
+ */
293
+ export const useVersionCheck = (isAppReady, environment = getConfigValue('environment', 'Development')) => {
294
+ const [updateInfo, setUpdateInfo] = useState({
295
+ isUpdateRequired: false,
296
+ updateUrl: null
297
+ });
298
+ useEffect(() => {
299
+ let isMounted = true;
300
+ const checkVersion = async () => {
301
+ try {
302
+ // All retry logic is handled in the VersionCheck module
303
+ const {
304
+ isNewVersionAvailable,
305
+ url
306
+ } = await VersionCheck.isNewVersionAvailable();
307
+ if (isNewVersionAvailable && isMounted) {
308
+ Logger.info('Update required. URL:', url || 'Not available yet');
309
+ setUpdateInfo({
310
+ isUpdateRequired: true,
311
+ updateUrl: url
312
+ });
313
+ } else if (isMounted) {
314
+ Logger.info('App is up to date');
315
+ }
316
+ } catch (error) {
317
+ Logger.error('Error checking app version:', error);
318
+ }
319
+ };
320
+
321
+ // Only run version check in Production environment when app is ready
322
+ if (isAppReady && environment === 'Production') {
323
+ void checkVersion();
324
+ }
325
+ return () => {
326
+ isMounted = false;
327
+ };
328
+ }, [isAppReady, environment]);
329
+ return updateInfo;
330
+ };
331
+
332
+ // Export for backward compatibility
333
+ export default VersionCheck;
334
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ import { type AxiosInstance } from 'axios';
2
+ /**
3
+ * Public Axios Client
4
+ * - Base URL: Set your public API base URL.
5
+ * - No Authorization header is attached.
6
+ * - Includes timeout configuration and error handling.
7
+ * - Handles specific HTTP status codes.
8
+ */
9
+ declare const publicClient: AxiosInstance;
10
+ export default publicClient;
11
+ //# sourceMappingURL=publicClient.d.ts.map
@@ -0,0 +1,18 @@
1
+ import { type AxiosInstance } from 'axios';
2
+ import type { AuthActions } from '../initUserAuth';
3
+ /**
4
+ * Minimal Redux-store shape required by the user client to dispatch
5
+ * refresh-token / logout actions.
6
+ */
7
+ export interface RefreshableStore {
8
+ dispatch: (action: unknown) => Promise<{
9
+ error?: {
10
+ message?: string;
11
+ };
12
+ }>;
13
+ }
14
+ declare const userClient: AxiosInstance;
15
+ export declare const injectStore: <S>(_store: S) => void;
16
+ export declare const injectAuthActions: (actions: AuthActions) => void;
17
+ export default userClient;
18
+ //# sourceMappingURL=userClient.d.ts.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Token data persisted in the keychain.
3
+ */
4
+ export interface StoredToken {
5
+ token: string;
6
+ expiry: string;
7
+ }
8
+ /**
9
+ * Store token with expiry.
10
+ */
11
+ export declare const storeToken: (key: string, token: string, expiry: string) => Promise<void>;
12
+ /**
13
+ * Retrieve token and check if expired.
14
+ */
15
+ export declare const getToken: (key: string) => Promise<StoredToken | null>;
16
+ /**
17
+ * Remove token by key.
18
+ */
19
+ export declare const removeToken: (key: string) => Promise<void>;
20
+ //# sourceMappingURL=authStore.d.ts.map
@@ -0,0 +1,5 @@
1
+ export { storeToken, getToken, removeToken } from './authStore';
2
+ export type { StoredToken } from './authStore';
3
+ export { decodeJWT, isJWTExpired, getJWTExpiry } from './jwt';
4
+ export type { JwtClaims } from './jwt';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Standard claims plus arbitrary keys.
3
+ * `sub`, `exp`, `iat`, `nbf` follow RFC 7519 conventions.
4
+ */
5
+ export interface JwtClaims {
6
+ sub?: string;
7
+ exp?: number;
8
+ iat?: number;
9
+ nbf?: number;
10
+ iss?: string;
11
+ aud?: string | string[];
12
+ [key: string]: unknown;
13
+ }
14
+ /**
15
+ * Decode a JWT's payload claims. Does **not** verify the signature.
16
+ *
17
+ * @returns claims object on success, `null` if the token is malformed.
18
+ */
19
+ export declare const decodeJWT: <T extends JwtClaims = JwtClaims>(token: string) => T | null;
20
+ /**
21
+ * Returns true when the token is expired (or unparseable / missing `exp`).
22
+ *
23
+ * @param token JWT string
24
+ * @param leewaySeconds amount of clock-skew tolerance to apply (default 30s)
25
+ */
26
+ export declare const isJWTExpired: (token: string, leewaySeconds?: number) => boolean;
27
+ /**
28
+ * Returns the token's expiry as a Date, or `null` when no `exp` claim exists.
29
+ */
30
+ export declare const getJWTExpiry: (token: string) => Date | null;
31
+ //# sourceMappingURL=jwt.d.ts.map
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import type { StyleProp, ViewStyle } from 'react-native';
3
+ export type AccordionVariant = 'plain' | 'card';
4
+ export interface AccordionProps {
5
+ title: string;
6
+ children: React.ReactNode;
7
+ id?: string;
8
+ expanded?: boolean;
9
+ defaultExpanded?: boolean;
10
+ onChange?: (expanded: boolean) => void;
11
+ icon?: React.ReactNode;
12
+ disabled?: boolean;
13
+ variant?: AccordionVariant;
14
+ accessibilityLabel?: string;
15
+ style?: StyleProp<ViewStyle>;
16
+ headerStyle?: StyleProp<ViewStyle>;
17
+ contentStyle?: StyleProp<ViewStyle>;
18
+ testID?: string;
19
+ }
20
+ export interface AccordionGroupProps {
21
+ children: React.ReactNode;
22
+ allowMultiple?: boolean;
23
+ defaultExpandedKeys?: string[];
24
+ expandedKeys?: string[];
25
+ onChange?: (keys: string[]) => void;
26
+ style?: StyleProp<ViewStyle>;
27
+ testID?: string;
28
+ }
29
+ declare const AccordionGroup: React.FC<AccordionGroupProps>;
30
+ declare const Accordion: React.FC<AccordionProps>;
31
+ export { Accordion, AccordionGroup };
32
+ export default Accordion;
33
+ //# sourceMappingURL=Accordion.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { Accordion, AccordionGroup, default } from './Accordion';
2
+ export type { AccordionProps, AccordionGroupProps, AccordionVariant } from './Accordion';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { ImageSourcePropType, StyleProp, TextStyle, ViewStyle } from 'react-native';
4
+ export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
5
+ export type AvatarShape = 'circle' | 'square' | 'rounded';
6
+ export type AvatarStatus = 'online' | 'offline' | 'busy' | 'away' | null;
7
+ export type AvatarStatusPosition = 'topRight' | 'bottomRight';
8
+ export interface AvatarProps {
9
+ source?: ImageSourcePropType;
10
+ name?: string;
11
+ size?: AvatarSize;
12
+ shape?: AvatarShape;
13
+ status?: AvatarStatus;
14
+ statusPosition?: AvatarStatusPosition;
15
+ backgroundColor?: string;
16
+ color?: string;
17
+ accessibilityLabel?: string;
18
+ style?: StyleProp<ViewStyle>;
19
+ textStyle?: StyleProp<TextStyle>;
20
+ testID?: string;
21
+ }
22
+ declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<View>>;
23
+ export type AvatarGroupSpacing = 'tight' | 'normal' | 'loose';
24
+ export type AvatarGroupOverflowVariant = 'count' | 'plus';
25
+ export interface AvatarGroupProps {
26
+ children: React.ReactElement<AvatarProps>[];
27
+ max?: number;
28
+ size?: AvatarSize;
29
+ spacing?: AvatarGroupSpacing;
30
+ overflowVariant?: AvatarGroupOverflowVariant;
31
+ accessibilityLabel?: string;
32
+ style?: StyleProp<ViewStyle>;
33
+ testID?: string;
34
+ }
35
+ declare const AvatarGroup: React.FC<AvatarGroupProps>;
36
+ type AvatarComponent = typeof Avatar & {
37
+ Group: typeof AvatarGroup;
38
+ };
39
+ declare const AvatarWithGroup: AvatarComponent;
40
+ export { Avatar, AvatarGroup };
41
+ export default AvatarWithGroup;
42
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { Avatar, AvatarGroup, default } from './Avatar';
2
+ export type { AvatarProps, AvatarSize, AvatarShape, AvatarStatus, AvatarStatusPosition, AvatarGroupProps, AvatarGroupSpacing, AvatarGroupOverflowVariant } from './Avatar';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
4
+ export type BadgeVariant = 'standard' | 'dot';
5
+ export type BadgeTone = 'primary' | 'success' | 'warning' | 'error' | 'neutral' | 'info';
6
+ export type BadgeSize = 'sm' | 'md';
7
+ export type BadgeAnchor = 'topRight' | 'topLeft' | 'bottomRight' | 'bottomLeft';
8
+ export interface BadgeProps {
9
+ value?: number | string;
10
+ max?: number;
11
+ variant?: BadgeVariant;
12
+ tone?: BadgeTone;
13
+ size?: BadgeSize;
14
+ invisible?: boolean;
15
+ children?: React.ReactNode;
16
+ anchor?: BadgeAnchor;
17
+ pulse?: boolean;
18
+ accessibilityLabel?: string;
19
+ style?: StyleProp<ViewStyle>;
20
+ badgeStyle?: StyleProp<ViewStyle>;
21
+ textStyle?: StyleProp<TextStyle>;
22
+ testID?: string;
23
+ }
24
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<View>>;
25
+ export { Badge };
26
+ export default Badge;
27
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { Badge, default } from './Badge';
2
+ export type { BadgeProps, BadgeVariant, BadgeTone, BadgeSize, BadgeAnchor } from './Badge';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { StyleProp, ViewStyle } from 'react-native';
4
+ export type BannerVariant = 'info' | 'success' | 'warning' | 'error' | 'neutral';
5
+ export interface BannerAction {
6
+ label: string;
7
+ onPress: () => void;
8
+ tone?: 'primary' | 'neutral';
9
+ }
10
+ export interface BannerProps {
11
+ title?: string;
12
+ message: string | React.ReactNode;
13
+ variant?: BannerVariant;
14
+ icon?: React.ReactNode | false;
15
+ actions?: BannerAction[];
16
+ dismissible?: boolean;
17
+ onDismiss?: () => void;
18
+ visible?: boolean;
19
+ animateMount?: boolean;
20
+ accessibilityLabel?: string;
21
+ style?: StyleProp<ViewStyle>;
22
+ testID?: string;
23
+ }
24
+ declare const Banner: React.ForwardRefExoticComponent<BannerProps & React.RefAttributes<View>>;
25
+ export { Banner };
26
+ export default Banner;
27
+ //# sourceMappingURL=Banner.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { Banner, default } from './Banner';
2
+ export type { BannerProps, BannerVariant, BannerAction } from './Banner';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
4
+ import type { HapticType } from '../../utils';
5
+ export type BottomNavigationVariant = 'pill' | 'underline';
6
+ export type TabBadge = number | string | boolean | null;
7
+ export interface TabIconProps {
8
+ color: string;
9
+ size: number;
10
+ focused: boolean;
11
+ }
12
+ export interface TabConfig {
13
+ key: string;
14
+ label: string;
15
+ icon: (props: TabIconProps) => React.ReactNode;
16
+ activeIcon?: (props: TabIconProps) => React.ReactNode;
17
+ badge?: TabBadge;
18
+ }
19
+ export interface BottomNavigationProps {
20
+ tabs: TabConfig[];
21
+ activeTab: string;
22
+ onTabPress: (tabKey: string) => void;
23
+ haptic?: HapticType | false;
24
+ showLabels?: boolean;
25
+ variant?: BottomNavigationVariant;
26
+ style?: StyleProp<ViewStyle>;
27
+ indicatorStyle?: StyleProp<ViewStyle>;
28
+ labelStyle?: StyleProp<TextStyle>;
29
+ testID?: string;
30
+ }
31
+ declare const BottomNavigation: React.ForwardRefExoticComponent<BottomNavigationProps & React.RefAttributes<View>>;
32
+ export { BottomNavigation };
33
+ export default BottomNavigation;
34
+ //# sourceMappingURL=BottomNavigation.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { BottomNavigation, default } from './BottomNavigation';
2
+ export type { BottomNavigationProps, BottomNavigationVariant, TabConfig, TabIconProps, TabBadge } from './BottomNavigation';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,45 @@
1
+ /**
2
+ * BottomSheet — Reanimated 3 + Gesture Handler 2 implementation.
3
+ *
4
+ * A polished, theme-aware bottom sheet with multi-snap-point support,
5
+ * UI-thread driven pan gestures, and native-driver spring animations.
6
+ *
7
+ * USAGE:
8
+ *
9
+ * const ref = useRef<BottomSheetRef>(null);
10
+ * <BottomSheet ref={ref} snapPoints={[200, '50%', '90%']}>
11
+ * <YourContent />
12
+ * </BottomSheet>
13
+ *
14
+ * ref.current?.expand(); // open at first snap point (or `index` prop)
15
+ * ref.current?.expand(2); // open at specific index
16
+ * ref.current?.collapse(); // animate to smallest snap point
17
+ * ref.current?.close(); // dismiss
18
+ */
19
+ import React from 'react';
20
+ import type { StyleProp, ViewStyle } from 'react-native';
21
+ export type SnapPoint = number | `${number}%`;
22
+ export interface BottomSheetProps {
23
+ snapPoints: SnapPoint[];
24
+ index?: number;
25
+ onChange?: (index: number) => void;
26
+ onAnimate?: (from: number, to: number) => void;
27
+ enablePanDownToClose?: boolean;
28
+ enableBackdropPress?: boolean;
29
+ backdropOpacity?: number;
30
+ handleIndicatorStyle?: StyleProp<ViewStyle>;
31
+ containerStyle?: StyleProp<ViewStyle>;
32
+ children?: React.ReactNode;
33
+ accessibilityLabel?: string;
34
+ accessibilityViewIsModal?: boolean;
35
+ testID?: string;
36
+ }
37
+ export interface BottomSheetRef {
38
+ expand: (index?: number) => void;
39
+ collapse: () => void;
40
+ close: () => void;
41
+ }
42
+ declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<BottomSheetRef>>;
43
+ export { BottomSheet };
44
+ export default BottomSheet;
45
+ //# sourceMappingURL=BottomSheet.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { BottomSheet, default } from './BottomSheet';
2
+ export type { BottomSheetProps, BottomSheetRef, SnapPoint } from './BottomSheet';
3
+ //# sourceMappingURL=index.d.ts.map