rn-custom-ui 1.0.0

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 (332) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +477 -0
  3. package/lib/module/assets/images/close.png +0 -0
  4. package/lib/module/components/CustomCheckbox/index.js +99 -0
  5. package/lib/module/components/CustomCheckbox/index.js.map +1 -0
  6. package/lib/module/components/CustomCheckbox/styles.js +213 -0
  7. package/lib/module/components/CustomCheckbox/styles.js.map +1 -0
  8. package/lib/module/components/CustomCheckbox/types.js +4 -0
  9. package/lib/module/components/CustomCheckbox/types.js.map +1 -0
  10. package/lib/module/components/closeButton/index.js +45 -0
  11. package/lib/module/components/closeButton/index.js.map +1 -0
  12. package/lib/module/components/closeButton/types.js +4 -0
  13. package/lib/module/components/closeButton/types.js.map +1 -0
  14. package/lib/module/components/customButton/index.js +176 -0
  15. package/lib/module/components/customButton/index.js.map +1 -0
  16. package/lib/module/components/customButton/styles.js +282 -0
  17. package/lib/module/components/customButton/styles.js.map +1 -0
  18. package/lib/module/components/customButton/types.js +4 -0
  19. package/lib/module/components/customButton/types.js.map +1 -0
  20. package/lib/module/components/customDropDown/DropDownBottomSheet.js +57 -0
  21. package/lib/module/components/customDropDown/DropDownBottomSheet.js.map +1 -0
  22. package/lib/module/components/customDropDown/DropDownList.js +51 -0
  23. package/lib/module/components/customDropDown/DropDownList.js.map +1 -0
  24. package/lib/module/components/customDropDown/DropDownListItem.js +38 -0
  25. package/lib/module/components/customDropDown/DropDownListItem.js.map +1 -0
  26. package/lib/module/components/customDropDown/DropDownListModal.js +63 -0
  27. package/lib/module/components/customDropDown/DropDownListModal.js.map +1 -0
  28. package/lib/module/components/customDropDown/index.js +143 -0
  29. package/lib/module/components/customDropDown/index.js.map +1 -0
  30. package/lib/module/components/customDropDown/styles.js +189 -0
  31. package/lib/module/components/customDropDown/styles.js.map +1 -0
  32. package/lib/module/components/customDropDown/types.js +4 -0
  33. package/lib/module/components/customDropDown/types.js.map +1 -0
  34. package/lib/module/components/customDropDown/utils.js +17 -0
  35. package/lib/module/components/customDropDown/utils.js.map +1 -0
  36. package/lib/module/components/customList/ListEmpty.js +33 -0
  37. package/lib/module/components/customList/ListEmpty.js.map +1 -0
  38. package/lib/module/components/customList/ListFooterLoader.js +14 -0
  39. package/lib/module/components/customList/ListFooterLoader.js.map +1 -0
  40. package/lib/module/components/customList/defaultKeyExtractor.js +9 -0
  41. package/lib/module/components/customList/defaultKeyExtractor.js.map +1 -0
  42. package/lib/module/components/customList/getFlashList.js +19 -0
  43. package/lib/module/components/customList/getFlashList.js.map +1 -0
  44. package/lib/module/components/customList/index.js +117 -0
  45. package/lib/module/components/customList/index.js.map +1 -0
  46. package/lib/module/components/customList/styles.js +45 -0
  47. package/lib/module/components/customList/styles.js.map +1 -0
  48. package/lib/module/components/customList/types.js +4 -0
  49. package/lib/module/components/customList/types.js.map +1 -0
  50. package/lib/module/components/customModal/ModalFooter.js +44 -0
  51. package/lib/module/components/customModal/ModalFooter.js.map +1 -0
  52. package/lib/module/components/customModal/index.js +132 -0
  53. package/lib/module/components/customModal/index.js.map +1 -0
  54. package/lib/module/components/customModal/styles.js +123 -0
  55. package/lib/module/components/customModal/styles.js.map +1 -0
  56. package/lib/module/components/customModal/types.js +4 -0
  57. package/lib/module/components/customModal/types.js.map +1 -0
  58. package/lib/module/components/customModal/useCustomModal.js +23 -0
  59. package/lib/module/components/customModal/useCustomModal.js.map +1 -0
  60. package/lib/module/components/customNumberPad/NumberPadKey.js +39 -0
  61. package/lib/module/components/customNumberPad/NumberPadKey.js.map +1 -0
  62. package/lib/module/components/customNumberPad/index.js +156 -0
  63. package/lib/module/components/customNumberPad/index.js.map +1 -0
  64. package/lib/module/components/customNumberPad/styles.js +131 -0
  65. package/lib/module/components/customNumberPad/styles.js.map +1 -0
  66. package/lib/module/components/customNumberPad/types.js +4 -0
  67. package/lib/module/components/customNumberPad/types.js.map +1 -0
  68. package/lib/module/components/customNumberPad/useNumberPadInput.js +44 -0
  69. package/lib/module/components/customNumberPad/useNumberPadInput.js.map +1 -0
  70. package/lib/module/components/customNumberPad/utils.js +38 -0
  71. package/lib/module/components/customNumberPad/utils.js.map +1 -0
  72. package/lib/module/components/customSlideTabs/AnimatedTabIndicator.js +66 -0
  73. package/lib/module/components/customSlideTabs/AnimatedTabIndicator.js.map +1 -0
  74. package/lib/module/components/customSlideTabs/TabBarItem.js +61 -0
  75. package/lib/module/components/customSlideTabs/TabBarItem.js.map +1 -0
  76. package/lib/module/components/customSlideTabs/TabScene.js +88 -0
  77. package/lib/module/components/customSlideTabs/TabScene.js.map +1 -0
  78. package/lib/module/components/customSlideTabs/index.js +277 -0
  79. package/lib/module/components/customSlideTabs/index.js.map +1 -0
  80. package/lib/module/components/customSlideTabs/styles.js +132 -0
  81. package/lib/module/components/customSlideTabs/styles.js.map +1 -0
  82. package/lib/module/components/customSlideTabs/tabBarScroll.js +65 -0
  83. package/lib/module/components/customSlideTabs/tabBarScroll.js.map +1 -0
  84. package/lib/module/components/customSlideTabs/types.js +4 -0
  85. package/lib/module/components/customSlideTabs/types.js.map +1 -0
  86. package/lib/module/components/loading/index.js +34 -0
  87. package/lib/module/components/loading/index.js.map +1 -0
  88. package/lib/module/customFunctions/array.js +61 -0
  89. package/lib/module/customFunctions/array.js.map +1 -0
  90. package/lib/module/customFunctions/async.js +62 -0
  91. package/lib/module/customFunctions/async.js.map +1 -0
  92. package/lib/module/customFunctions/date.js +109 -0
  93. package/lib/module/customFunctions/date.js.map +1 -0
  94. package/lib/module/customFunctions/general.js +29 -0
  95. package/lib/module/customFunctions/general.js.map +1 -0
  96. package/lib/module/customFunctions/id.js +20 -0
  97. package/lib/module/customFunctions/id.js.map +1 -0
  98. package/lib/module/customFunctions/index.js +29 -0
  99. package/lib/module/customFunctions/index.js.map +1 -0
  100. package/lib/module/customFunctions/number.js +94 -0
  101. package/lib/module/customFunctions/number.js.map +1 -0
  102. package/lib/module/customFunctions/object.js +39 -0
  103. package/lib/module/customFunctions/object.js.map +1 -0
  104. package/lib/module/customFunctions/string.js +63 -0
  105. package/lib/module/customFunctions/string.js.map +1 -0
  106. package/lib/module/customFunctions/types.js +2 -0
  107. package/lib/module/customFunctions/types.js.map +1 -0
  108. package/lib/module/customFunctions/validation.js +34 -0
  109. package/lib/module/customFunctions/validation.js.map +1 -0
  110. package/lib/module/customHooks/errors.js +61 -0
  111. package/lib/module/customHooks/errors.js.map +1 -0
  112. package/lib/module/customHooks/fetchJson.js +36 -0
  113. package/lib/module/customHooks/fetchJson.js.map +1 -0
  114. package/lib/module/customHooks/index.js +10 -0
  115. package/lib/module/customHooks/index.js.map +1 -0
  116. package/lib/module/customHooks/internal.js +49 -0
  117. package/lib/module/customHooks/internal.js.map +1 -0
  118. package/lib/module/customHooks/types.js +2 -0
  119. package/lib/module/customHooks/types.js.map +1 -0
  120. package/lib/module/customHooks/useApi.js +91 -0
  121. package/lib/module/customHooks/useApi.js.map +1 -0
  122. package/lib/module/customHooks/useLazyApi.js +80 -0
  123. package/lib/module/customHooks/useLazyApi.js.map +1 -0
  124. package/lib/module/customHooks/useMutation.js +69 -0
  125. package/lib/module/customHooks/useMutation.js.map +1 -0
  126. package/lib/module/customHooks/usePaginatedApi.js +127 -0
  127. package/lib/module/customHooks/usePaginatedApi.js.map +1 -0
  128. package/lib/module/customHooks/usePollingApi.js +37 -0
  129. package/lib/module/customHooks/usePollingApi.js.map +1 -0
  130. package/lib/module/index.js +13 -0
  131. package/lib/module/index.js.map +1 -0
  132. package/lib/module/multiply.js +6 -0
  133. package/lib/module/multiply.js.map +1 -0
  134. package/lib/module/package.json +1 -0
  135. package/lib/typescript/package.json +1 -0
  136. package/lib/typescript/src/components/CustomCheckbox/index.d.ts +5 -0
  137. package/lib/typescript/src/components/CustomCheckbox/index.d.ts.map +1 -0
  138. package/lib/typescript/src/components/CustomCheckbox/styles.d.ts +67 -0
  139. package/lib/typescript/src/components/CustomCheckbox/styles.d.ts.map +1 -0
  140. package/lib/typescript/src/components/CustomCheckbox/types.d.ts +28 -0
  141. package/lib/typescript/src/components/CustomCheckbox/types.d.ts.map +1 -0
  142. package/lib/typescript/src/components/closeButton/index.d.ts +4 -0
  143. package/lib/typescript/src/components/closeButton/index.d.ts.map +1 -0
  144. package/lib/typescript/src/components/closeButton/types.d.ts +8 -0
  145. package/lib/typescript/src/components/closeButton/types.d.ts.map +1 -0
  146. package/lib/typescript/src/components/customButton/index.d.ts +5 -0
  147. package/lib/typescript/src/components/customButton/index.d.ts.map +1 -0
  148. package/lib/typescript/src/components/customButton/styles.d.ts +231 -0
  149. package/lib/typescript/src/components/customButton/styles.d.ts.map +1 -0
  150. package/lib/typescript/src/components/customButton/types.d.ts +46 -0
  151. package/lib/typescript/src/components/customButton/types.d.ts.map +1 -0
  152. package/lib/typescript/src/components/customDropDown/DropDownBottomSheet.d.ts +18 -0
  153. package/lib/typescript/src/components/customDropDown/DropDownBottomSheet.d.ts.map +1 -0
  154. package/lib/typescript/src/components/customDropDown/DropDownList.d.ts +17 -0
  155. package/lib/typescript/src/components/customDropDown/DropDownList.d.ts.map +1 -0
  156. package/lib/typescript/src/components/customDropDown/DropDownListItem.d.ts +15 -0
  157. package/lib/typescript/src/components/customDropDown/DropDownListItem.d.ts.map +1 -0
  158. package/lib/typescript/src/components/customDropDown/DropDownListModal.d.ts +19 -0
  159. package/lib/typescript/src/components/customDropDown/DropDownListModal.d.ts.map +1 -0
  160. package/lib/typescript/src/components/customDropDown/index.d.ts +5 -0
  161. package/lib/typescript/src/components/customDropDown/index.d.ts.map +1 -0
  162. package/lib/typescript/src/components/customDropDown/styles.d.ts +190 -0
  163. package/lib/typescript/src/components/customDropDown/styles.d.ts.map +1 -0
  164. package/lib/typescript/src/components/customDropDown/types.d.ts +37 -0
  165. package/lib/typescript/src/components/customDropDown/types.d.ts.map +1 -0
  166. package/lib/typescript/src/components/customDropDown/utils.d.ts +4 -0
  167. package/lib/typescript/src/components/customDropDown/utils.d.ts.map +1 -0
  168. package/lib/typescript/src/components/customList/ListEmpty.d.ts +10 -0
  169. package/lib/typescript/src/components/customList/ListEmpty.d.ts.map +1 -0
  170. package/lib/typescript/src/components/customList/ListFooterLoader.d.ts +3 -0
  171. package/lib/typescript/src/components/customList/ListFooterLoader.d.ts.map +1 -0
  172. package/lib/typescript/src/components/customList/defaultKeyExtractor.d.ts +2 -0
  173. package/lib/typescript/src/components/customList/defaultKeyExtractor.d.ts.map +1 -0
  174. package/lib/typescript/src/components/customList/getFlashList.d.ts +6 -0
  175. package/lib/typescript/src/components/customList/getFlashList.d.ts.map +1 -0
  176. package/lib/typescript/src/components/customList/index.d.ts +11 -0
  177. package/lib/typescript/src/components/customList/index.d.ts.map +1 -0
  178. package/lib/typescript/src/components/customList/styles.d.ts +42 -0
  179. package/lib/typescript/src/components/customList/styles.d.ts.map +1 -0
  180. package/lib/typescript/src/components/customList/types.d.ts +33 -0
  181. package/lib/typescript/src/components/customList/types.d.ts.map +1 -0
  182. package/lib/typescript/src/components/customModal/ModalFooter.d.ts +12 -0
  183. package/lib/typescript/src/components/customModal/ModalFooter.d.ts.map +1 -0
  184. package/lib/typescript/src/components/customModal/index.d.ts +6 -0
  185. package/lib/typescript/src/components/customModal/index.d.ts.map +1 -0
  186. package/lib/typescript/src/components/customModal/styles.d.ts +83 -0
  187. package/lib/typescript/src/components/customModal/styles.d.ts.map +1 -0
  188. package/lib/typescript/src/components/customModal/types.d.ts +36 -0
  189. package/lib/typescript/src/components/customModal/types.d.ts.map +1 -0
  190. package/lib/typescript/src/components/customModal/useCustomModal.d.ts +8 -0
  191. package/lib/typescript/src/components/customModal/useCustomModal.d.ts.map +1 -0
  192. package/lib/typescript/src/components/customNumberPad/NumberPadKey.d.ts +23 -0
  193. package/lib/typescript/src/components/customNumberPad/NumberPadKey.d.ts.map +1 -0
  194. package/lib/typescript/src/components/customNumberPad/index.d.ts +7 -0
  195. package/lib/typescript/src/components/customNumberPad/index.d.ts.map +1 -0
  196. package/lib/typescript/src/components/customNumberPad/styles.d.ts +37 -0
  197. package/lib/typescript/src/components/customNumberPad/styles.d.ts.map +1 -0
  198. package/lib/typescript/src/components/customNumberPad/types.d.ts +47 -0
  199. package/lib/typescript/src/components/customNumberPad/types.d.ts.map +1 -0
  200. package/lib/typescript/src/components/customNumberPad/useNumberPadInput.d.ts +16 -0
  201. package/lib/typescript/src/components/customNumberPad/useNumberPadInput.d.ts.map +1 -0
  202. package/lib/typescript/src/components/customNumberPad/utils.d.ts +4 -0
  203. package/lib/typescript/src/components/customNumberPad/utils.d.ts.map +1 -0
  204. package/lib/typescript/src/components/customSlideTabs/AnimatedTabIndicator.d.ts +16 -0
  205. package/lib/typescript/src/components/customSlideTabs/AnimatedTabIndicator.d.ts.map +1 -0
  206. package/lib/typescript/src/components/customSlideTabs/TabBarItem.d.ts +23 -0
  207. package/lib/typescript/src/components/customSlideTabs/TabBarItem.d.ts.map +1 -0
  208. package/lib/typescript/src/components/customSlideTabs/TabScene.d.ts +21 -0
  209. package/lib/typescript/src/components/customSlideTabs/TabScene.d.ts.map +1 -0
  210. package/lib/typescript/src/components/customSlideTabs/index.d.ts +5 -0
  211. package/lib/typescript/src/components/customSlideTabs/index.d.ts.map +1 -0
  212. package/lib/typescript/src/components/customSlideTabs/styles.d.ts +130 -0
  213. package/lib/typescript/src/components/customSlideTabs/styles.d.ts.map +1 -0
  214. package/lib/typescript/src/components/customSlideTabs/tabBarScroll.d.ts +15 -0
  215. package/lib/typescript/src/components/customSlideTabs/tabBarScroll.d.ts.map +1 -0
  216. package/lib/typescript/src/components/customSlideTabs/types.d.ts +68 -0
  217. package/lib/typescript/src/components/customSlideTabs/types.d.ts.map +1 -0
  218. package/lib/typescript/src/components/loading/index.d.ts +7 -0
  219. package/lib/typescript/src/components/loading/index.d.ts.map +1 -0
  220. package/lib/typescript/src/customFunctions/array.d.ts +7 -0
  221. package/lib/typescript/src/customFunctions/array.d.ts.map +1 -0
  222. package/lib/typescript/src/customFunctions/async.d.ts +9 -0
  223. package/lib/typescript/src/customFunctions/async.d.ts.map +1 -0
  224. package/lib/typescript/src/customFunctions/date.d.ts +18 -0
  225. package/lib/typescript/src/customFunctions/date.d.ts.map +1 -0
  226. package/lib/typescript/src/customFunctions/general.d.ts +7 -0
  227. package/lib/typescript/src/customFunctions/general.d.ts.map +1 -0
  228. package/lib/typescript/src/customFunctions/id.d.ts +4 -0
  229. package/lib/typescript/src/customFunctions/id.d.ts.map +1 -0
  230. package/lib/typescript/src/customFunctions/index.d.ts +26 -0
  231. package/lib/typescript/src/customFunctions/index.d.ts.map +1 -0
  232. package/lib/typescript/src/customFunctions/number.d.ts +15 -0
  233. package/lib/typescript/src/customFunctions/number.d.ts.map +1 -0
  234. package/lib/typescript/src/customFunctions/object.d.ts +6 -0
  235. package/lib/typescript/src/customFunctions/object.d.ts.map +1 -0
  236. package/lib/typescript/src/customFunctions/string.d.ts +20 -0
  237. package/lib/typescript/src/customFunctions/string.d.ts.map +1 -0
  238. package/lib/typescript/src/customFunctions/types.d.ts +22 -0
  239. package/lib/typescript/src/customFunctions/types.d.ts.map +1 -0
  240. package/lib/typescript/src/customFunctions/validation.d.ts +11 -0
  241. package/lib/typescript/src/customFunctions/validation.d.ts.map +1 -0
  242. package/lib/typescript/src/customHooks/errors.d.ts +16 -0
  243. package/lib/typescript/src/customHooks/errors.d.ts.map +1 -0
  244. package/lib/typescript/src/customHooks/fetchJson.d.ts +5 -0
  245. package/lib/typescript/src/customHooks/fetchJson.d.ts.map +1 -0
  246. package/lib/typescript/src/customHooks/index.d.ts +9 -0
  247. package/lib/typescript/src/customHooks/index.d.ts.map +1 -0
  248. package/lib/typescript/src/customHooks/internal.d.ts +12 -0
  249. package/lib/typescript/src/customHooks/internal.d.ts.map +1 -0
  250. package/lib/typescript/src/customHooks/types.d.ts +49 -0
  251. package/lib/typescript/src/customHooks/types.d.ts.map +1 -0
  252. package/lib/typescript/src/customHooks/useApi.d.ts +13 -0
  253. package/lib/typescript/src/customHooks/useApi.d.ts.map +1 -0
  254. package/lib/typescript/src/customHooks/useLazyApi.d.ts +14 -0
  255. package/lib/typescript/src/customHooks/useLazyApi.d.ts.map +1 -0
  256. package/lib/typescript/src/customHooks/useMutation.d.ts +15 -0
  257. package/lib/typescript/src/customHooks/useMutation.d.ts.map +1 -0
  258. package/lib/typescript/src/customHooks/usePaginatedApi.d.ts +19 -0
  259. package/lib/typescript/src/customHooks/usePaginatedApi.d.ts.map +1 -0
  260. package/lib/typescript/src/customHooks/usePollingApi.d.ts +13 -0
  261. package/lib/typescript/src/customHooks/usePollingApi.d.ts.map +1 -0
  262. package/lib/typescript/src/index.d.ts +11 -0
  263. package/lib/typescript/src/index.d.ts.map +1 -0
  264. package/lib/typescript/src/multiply.d.ts +2 -0
  265. package/lib/typescript/src/multiply.d.ts.map +1 -0
  266. package/package.json +181 -0
  267. package/src/assets/images/close.png +0 -0
  268. package/src/components/CustomCheckbox/index.tsx +143 -0
  269. package/src/components/CustomCheckbox/styles.ts +146 -0
  270. package/src/components/CustomCheckbox/types.ts +33 -0
  271. package/src/components/closeButton/index.tsx +40 -0
  272. package/src/components/closeButton/types.ts +13 -0
  273. package/src/components/customButton/index.tsx +288 -0
  274. package/src/components/customButton/styles.ts +247 -0
  275. package/src/components/customButton/types.ts +71 -0
  276. package/src/components/customDropDown/DropDownBottomSheet.tsx +70 -0
  277. package/src/components/customDropDown/DropDownList.tsx +88 -0
  278. package/src/components/customDropDown/DropDownListItem.tsx +74 -0
  279. package/src/components/customDropDown/DropDownListModal.tsx +86 -0
  280. package/src/components/customDropDown/index.tsx +213 -0
  281. package/src/components/customDropDown/styles.ts +184 -0
  282. package/src/components/customDropDown/types.ts +48 -0
  283. package/src/components/customDropDown/utils.ts +24 -0
  284. package/src/components/customList/ListEmpty.tsx +36 -0
  285. package/src/components/customList/ListFooterLoader.tsx +11 -0
  286. package/src/components/customList/defaultKeyExtractor.ts +7 -0
  287. package/src/components/customList/getFlashList.ts +26 -0
  288. package/src/components/customList/index.tsx +142 -0
  289. package/src/components/customList/styles.ts +43 -0
  290. package/src/components/customList/types.ts +60 -0
  291. package/src/components/customModal/ModalFooter.tsx +57 -0
  292. package/src/components/customModal/index.tsx +166 -0
  293. package/src/components/customModal/styles.ts +131 -0
  294. package/src/components/customModal/types.ts +48 -0
  295. package/src/components/customModal/useCustomModal.ts +25 -0
  296. package/src/components/customNumberPad/NumberPadKey.tsx +81 -0
  297. package/src/components/customNumberPad/index.tsx +204 -0
  298. package/src/components/customNumberPad/styles.ts +146 -0
  299. package/src/components/customNumberPad/types.ts +53 -0
  300. package/src/components/customNumberPad/useNumberPadInput.ts +56 -0
  301. package/src/components/customNumberPad/utils.ts +54 -0
  302. package/src/components/customSlideTabs/AnimatedTabIndicator.tsx +103 -0
  303. package/src/components/customSlideTabs/TabBarItem.tsx +118 -0
  304. package/src/components/customSlideTabs/TabScene.tsx +136 -0
  305. package/src/components/customSlideTabs/index.tsx +385 -0
  306. package/src/components/customSlideTabs/styles.ts +136 -0
  307. package/src/components/customSlideTabs/tabBarScroll.ts +92 -0
  308. package/src/components/customSlideTabs/types.ts +87 -0
  309. package/src/components/loading/index.tsx +34 -0
  310. package/src/customFunctions/array.ts +83 -0
  311. package/src/customFunctions/async.ts +85 -0
  312. package/src/customFunctions/date.ts +158 -0
  313. package/src/customFunctions/general.ts +35 -0
  314. package/src/customFunctions/id.ts +25 -0
  315. package/src/customFunctions/index.ts +91 -0
  316. package/src/customFunctions/number.ts +139 -0
  317. package/src/customFunctions/object.ts +59 -0
  318. package/src/customFunctions/string.ts +119 -0
  319. package/src/customFunctions/types.ts +25 -0
  320. package/src/customFunctions/validation.ts +49 -0
  321. package/src/customHooks/errors.ts +87 -0
  322. package/src/customHooks/fetchJson.ts +49 -0
  323. package/src/customHooks/index.ts +20 -0
  324. package/src/customHooks/internal.ts +67 -0
  325. package/src/customHooks/types.ts +71 -0
  326. package/src/customHooks/useApi.ts +107 -0
  327. package/src/customHooks/useLazyApi.ts +92 -0
  328. package/src/customHooks/useMutation.ts +97 -0
  329. package/src/customHooks/usePaginatedApi.ts +168 -0
  330. package/src/customHooks/usePollingApi.ts +48 -0
  331. package/src/index.tsx +63 -0
  332. package/src/multiply.tsx +3 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useMemo, useState } from 'react';
4
+ import { applyNumberPadKey } from "./utils.js";
5
+ export const useNumberPadInput = ({
6
+ initialValue = '',
7
+ maxLength,
8
+ allowDecimal = false,
9
+ decimalPlaces
10
+ } = {}) => {
11
+ const [value, setValue] = useState(initialValue);
12
+ const handleChange = useCallback(nextValue => {
13
+ setValue(nextValue);
14
+ }, []);
15
+ const handleKeyPress = useCallback(key => {
16
+ setValue(current => {
17
+ const next = applyNumberPadKey(current, key, {
18
+ maxLength,
19
+ allowDecimal,
20
+ decimalPlaces
21
+ });
22
+ return next ?? current;
23
+ });
24
+ }, [allowDecimal, decimalPlaces, maxLength]);
25
+ const clear = useCallback(() => {
26
+ setValue('');
27
+ }, []);
28
+ const numberPadProps = useMemo(() => ({
29
+ value,
30
+ onChange: handleChange,
31
+ maxLength,
32
+ allowDecimal,
33
+ decimalPlaces
34
+ }), [allowDecimal, decimalPlaces, handleChange, maxLength, value]);
35
+ return {
36
+ value,
37
+ setValue,
38
+ clear,
39
+ handleChange,
40
+ handleKeyPress,
41
+ numberPadProps
42
+ };
43
+ };
44
+ //# sourceMappingURL=useNumberPadInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useState","applyNumberPadKey","useNumberPadInput","initialValue","maxLength","allowDecimal","decimalPlaces","value","setValue","handleChange","nextValue","handleKeyPress","key","current","next","clear","numberPadProps","onChange"],"sourceRoot":"../../../../src","sources":["components/customNumberPad/useNumberPadInput.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEtD,SAASC,iBAAiB,QAAQ,YAAS;AAG3C,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAChCC,YAAY,GAAG,EAAE;EACjBC,SAAS;EACTC,YAAY,GAAG,KAAK;EACpBC;AACwB,CAAC,GAAG,CAAC,CAAC,KAAK;EACnC,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAACG,YAAY,CAAC;EAEhD,MAAMM,YAAY,GAAGX,WAAW,CAAEY,SAAiB,IAAK;IACtDF,QAAQ,CAACE,SAAS,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,cAAc,GAAGb,WAAW,CAC/Bc,GAAW,IAAK;IACfJ,QAAQ,CAAEK,OAAO,IAAK;MACpB,MAAMC,IAAI,GAAGb,iBAAiB,CAACY,OAAO,EAAED,GAAG,EAAE;QAC3CR,SAAS;QACTC,YAAY;QACZC;MACF,CAAC,CAAC;MAEF,OAAOQ,IAAI,IAAID,OAAO;IACxB,CAAC,CAAC;EACJ,CAAC,EACD,CAACR,YAAY,EAAEC,aAAa,EAAEF,SAAS,CACzC,CAAC;EAED,MAAMW,KAAK,GAAGjB,WAAW,CAAC,MAAM;IAC9BU,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,cAAc,GAAGjB,OAAO,CAC5B,OAAO;IACLQ,KAAK;IACLU,QAAQ,EAAER,YAAY;IACtBL,SAAS;IACTC,YAAY;IACZC;EACF,CAAC,CAAC,EACF,CAACD,YAAY,EAAEC,aAAa,EAAEG,YAAY,EAAEL,SAAS,EAAEG,KAAK,CAC9D,CAAC;EAED,OAAO;IACLA,KAAK;IACLC,QAAQ;IACRO,KAAK;IACLN,YAAY;IACZE,cAAc;IACdK;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ export const NUMBER_PAD_ROWS = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']];
4
+ export const applyNumberPadKey = (value, key, options = {}) => {
5
+ const {
6
+ maxLength,
7
+ allowDecimal = false,
8
+ decimalPlaces
9
+ } = options;
10
+ if (key === 'backspace') {
11
+ return value.slice(0, -1);
12
+ }
13
+ if (key === '.') {
14
+ if (!allowDecimal || value.includes('.')) {
15
+ return null;
16
+ }
17
+ const next = value ? `${value}.` : '0.';
18
+ return maxLength && next.length > maxLength ? null : next;
19
+ }
20
+ if (!/^\d$/.test(key)) {
21
+ return null;
22
+ }
23
+ const next = `${value}${key}`;
24
+ if (maxLength && next.length > maxLength) {
25
+ return null;
26
+ }
27
+ if (allowDecimal && decimalPlaces != null && value.includes('.')) {
28
+ const [, decimalPart = ''] = value.split('.');
29
+ if (decimalPart.length >= decimalPlaces) {
30
+ return null;
31
+ }
32
+ }
33
+ if (value === '0' && key !== '.') {
34
+ return key;
35
+ }
36
+ return next;
37
+ };
38
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NUMBER_PAD_ROWS","applyNumberPadKey","value","key","options","maxLength","allowDecimal","decimalPlaces","slice","includes","next","length","test","decimalPart","split"],"sourceRoot":"../../../../src","sources":["components/customNumberPad/utils.ts"],"mappings":";;AAEA,OAAO,MAAMA,eAAe,GAAG,CAC7B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACf,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACP;AAEV,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,KAAa,EACbC,GAAW,EACXC,OAGC,GAAG,CAAC,CAAC,KACY;EAClB,MAAM;IAAEC,SAAS;IAAEC,YAAY,GAAG,KAAK;IAAEC;EAAc,CAAC,GAAGH,OAAO;EAElE,IAAID,GAAG,KAAK,WAAW,EAAE;IACvB,OAAOD,KAAK,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC3B;EAEA,IAAIL,GAAG,KAAK,GAAG,EAAE;IACf,IAAI,CAACG,YAAY,IAAIJ,KAAK,CAACO,QAAQ,CAAC,GAAG,CAAC,EAAE;MACxC,OAAO,IAAI;IACb;IAEA,MAAMC,IAAI,GAAGR,KAAK,GAAG,GAAGA,KAAK,GAAG,GAAG,IAAI;IACvC,OAAOG,SAAS,IAAIK,IAAI,CAACC,MAAM,GAAGN,SAAS,GAAG,IAAI,GAAGK,IAAI;EAC3D;EAEA,IAAI,CAAC,MAAM,CAACE,IAAI,CAACT,GAAG,CAAC,EAAE;IACrB,OAAO,IAAI;EACb;EAEA,MAAMO,IAAI,GAAG,GAAGR,KAAK,GAAGC,GAAG,EAAE;EAE7B,IAAIE,SAAS,IAAIK,IAAI,CAACC,MAAM,GAAGN,SAAS,EAAE;IACxC,OAAO,IAAI;EACb;EAEA,IAAIC,YAAY,IAAIC,aAAa,IAAI,IAAI,IAAIL,KAAK,CAACO,QAAQ,CAAC,GAAG,CAAC,EAAE;IAChE,MAAM,GAAGI,WAAW,GAAG,EAAE,CAAC,GAAGX,KAAK,CAACY,KAAK,CAAC,GAAG,CAAC;IAC7C,IAAID,WAAW,CAACF,MAAM,IAAIJ,aAAa,EAAE;MACvC,OAAO,IAAI;IACb;EACF;EAEA,IAAIL,KAAK,KAAK,GAAG,IAAIC,GAAG,KAAK,GAAG,EAAE;IAChC,OAAOA,GAAG;EACZ;EAEA,OAAOO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ import { Animated } from 'react-native';
5
+ import { styles } from "./styles.js";
6
+ import { getIndicatorAtProgress } from "./tabBarScroll.js";
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const AnimatedTabIndicator = ({
9
+ metrics,
10
+ pagerScrollX,
11
+ tabBarScrollX,
12
+ pageWidth,
13
+ initialScrollX = 0,
14
+ showPill = true,
15
+ showUnderline = true,
16
+ pillStyle,
17
+ underlineStyle
18
+ }) => {
19
+ const indicatorLeft = useRef(new Animated.Value(0)).current;
20
+ const indicatorWidth = useRef(new Animated.Value(0)).current;
21
+ const hasMetrics = metrics.some(metric => metric.width > 0);
22
+ useEffect(() => {
23
+ if (!hasMetrics || pageWidth <= 0) {
24
+ return;
25
+ }
26
+ const updateIndicator = scrollValue => {
27
+ const progress = scrollValue / pageWidth;
28
+ const {
29
+ left,
30
+ width
31
+ } = getIndicatorAtProgress(progress, metrics);
32
+ indicatorLeft.setValue(left);
33
+ indicatorWidth.setValue(width);
34
+ };
35
+ updateIndicator(initialScrollX);
36
+ const listenerId = pagerScrollX.addListener(({
37
+ value
38
+ }) => {
39
+ updateIndicator(value);
40
+ });
41
+ return () => {
42
+ pagerScrollX.removeListener(listenerId);
43
+ };
44
+ }, [hasMetrics, indicatorLeft, indicatorWidth, initialScrollX, metrics, pageWidth, pagerScrollX]);
45
+ if (!hasMetrics) {
46
+ return null;
47
+ }
48
+ const animatedLeft = Animated.subtract(indicatorLeft, tabBarScrollX);
49
+ return /*#__PURE__*/_jsxs(_Fragment, {
50
+ children: [showPill && /*#__PURE__*/_jsx(Animated.View, {
51
+ pointerEvents: "none",
52
+ style: [styles.indicatorPill, pillStyle, {
53
+ left: animatedLeft,
54
+ width: indicatorWidth
55
+ }]
56
+ }), showUnderline && /*#__PURE__*/_jsx(Animated.View, {
57
+ pointerEvents: "none",
58
+ style: [styles.indicatorUnderline, underlineStyle, {
59
+ left: animatedLeft,
60
+ width: indicatorWidth
61
+ }]
62
+ })]
63
+ });
64
+ };
65
+ export default AnimatedTabIndicator;
66
+ //# sourceMappingURL=AnimatedTabIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","Animated","styles","getIndicatorAtProgress","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AnimatedTabIndicator","metrics","pagerScrollX","tabBarScrollX","pageWidth","initialScrollX","showPill","showUnderline","pillStyle","underlineStyle","indicatorLeft","Value","current","indicatorWidth","hasMetrics","some","metric","width","updateIndicator","scrollValue","progress","left","setValue","listenerId","addListener","value","removeListener","animatedLeft","subtract","children","View","pointerEvents","style","indicatorPill","indicatorUnderline"],"sourceRoot":"../../../../src","sources":["components/customSlideTabs/AnimatedTabIndicator.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAAwC,cAAc;AAEvE,SAASC,MAAM,QAAQ,aAAU;AACjC,SAASC,sBAAsB,QAA8B,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAc9E,MAAMC,oBAAoB,GAAGA,CAAC;EAC5BC,OAAO;EACPC,YAAY;EACZC,aAAa;EACbC,SAAS;EACTC,cAAc,GAAG,CAAC;EAClBC,QAAQ,GAAG,IAAI;EACfC,aAAa,GAAG,IAAI;EACpBC,SAAS;EACTC;AACyB,CAAC,KAAK;EAC/B,MAAMC,aAAa,GAAGpB,MAAM,CAAC,IAAIC,QAAQ,CAACoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC3D,MAAMC,cAAc,GAAGvB,MAAM,CAAC,IAAIC,QAAQ,CAACoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC5D,MAAME,UAAU,GAAGb,OAAO,CAACc,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,KAAK,GAAG,CAAC,CAAC;EAE7D5B,SAAS,CAAC,MAAM;IACd,IAAI,CAACyB,UAAU,IAAIV,SAAS,IAAI,CAAC,EAAE;MACjC;IACF;IAEA,MAAMc,eAAe,GAAIC,WAAmB,IAAK;MAC/C,MAAMC,QAAQ,GAAGD,WAAW,GAAGf,SAAS;MACxC,MAAM;QAAEiB,IAAI;QAAEJ;MAAM,CAAC,GAAGxB,sBAAsB,CAAC2B,QAAQ,EAAEnB,OAAO,CAAC;MACjES,aAAa,CAACY,QAAQ,CAACD,IAAI,CAAC;MAC5BR,cAAc,CAACS,QAAQ,CAACL,KAAK,CAAC;IAChC,CAAC;IAEDC,eAAe,CAACb,cAAc,CAAC;IAE/B,MAAMkB,UAAU,GAAGrB,YAAY,CAACsB,WAAW,CAAC,CAAC;MAAEC;IAAM,CAAC,KAAK;MACzDP,eAAe,CAACO,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXvB,YAAY,CAACwB,cAAc,CAACH,UAAU,CAAC;IACzC,CAAC;EACH,CAAC,EAAE,CACDT,UAAU,EACVJ,aAAa,EACbG,cAAc,EACdR,cAAc,EACdJ,OAAO,EACPG,SAAS,EACTF,YAAY,CACb,CAAC;EAEF,IAAI,CAACY,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,MAAMa,YAAY,GAAGpC,QAAQ,CAACqC,QAAQ,CAAClB,aAAa,EAAEP,aAAa,CAAC;EAEpE,oBACEJ,KAAA,CAAAF,SAAA;IAAAgC,QAAA,GACGvB,QAAQ,iBACPX,IAAA,CAACJ,QAAQ,CAACuC,IAAI;MACZC,aAAa,EAAC,MAAM;MACpBC,KAAK,EAAE,CACLxC,MAAM,CAACyC,aAAa,EACpBzB,SAAS,EACT;QACEa,IAAI,EAAEM,YAAY;QAClBV,KAAK,EAAEJ;MACT,CAAC;IACD,CACH,CACF,EACAN,aAAa,iBACZZ,IAAA,CAACJ,QAAQ,CAACuC,IAAI;MACZC,aAAa,EAAC,MAAM;MACpBC,KAAK,EAAE,CACLxC,MAAM,CAAC0C,kBAAkB,EACzBzB,cAAc,EACd;QACEY,IAAI,EAAEM,YAAY;QAClBV,KAAK,EAAEJ;MACT,CAAC;IACD,CACH,CACF;EAAA,CACD,CAAC;AAEP,CAAC;AAED,eAAeb,oBAAoB","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ import { Image, Pressable, Text, View } from 'react-native';
4
+ import { styles } from "./styles.js";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ const TabBarItem = ({
7
+ item,
8
+ index,
9
+ isActive,
10
+ showUnderline = true,
11
+ useAnimatedIndicator = true,
12
+ onPress,
13
+ onMeasure,
14
+ renderTab,
15
+ tabStyle,
16
+ activeTabStyle,
17
+ tabTextStyle,
18
+ activeTabTextStyle,
19
+ tabImageStyle,
20
+ activeTabImageStyle,
21
+ underlineStyle
22
+ }) => {
23
+ const Icon = item.LeftIcon;
24
+ const handleLayout = event => {
25
+ onMeasure?.(index, event.nativeEvent.layout.width);
26
+ };
27
+ return /*#__PURE__*/_jsxs(Pressable, {
28
+ accessibilityRole: "tab",
29
+ accessibilityState: {
30
+ selected: isActive
31
+ },
32
+ accessibilityLabel: item.title,
33
+ onLayout: handleLayout,
34
+ onPress: () => onPress(index),
35
+ style: [styles.tabItem, useAnimatedIndicator && styles.tabItemTransparent, tabStyle, !useAnimatedIndicator && isActive && styles.tabItemActive, !useAnimatedIndicator && isActive && activeTabStyle],
36
+ children: [renderTab ? renderTab(item, index, isActive) : /*#__PURE__*/_jsxs(View, {
37
+ style: styles.tabContent,
38
+ children: [item.image && /*#__PURE__*/_jsx(Image, {
39
+ resizeMode: "contain",
40
+ source: item.image,
41
+ style: [styles.tabImage, tabImageStyle, isActive && styles.tabImageActive, isActive && activeTabImageStyle]
42
+ }), Icon && /*#__PURE__*/_jsx(Icon, {
43
+ size: 18,
44
+ color: isActive ? '#0D6EFD' : '#6C757D'
45
+ }), /*#__PURE__*/_jsx(Text, {
46
+ style: [styles.tabText, tabTextStyle, isActive && styles.tabTextActive, isActive && activeTabTextStyle],
47
+ children: item.title
48
+ }), item.badge != null && /*#__PURE__*/_jsx(View, {
49
+ style: styles.badge,
50
+ children: /*#__PURE__*/_jsx(Text, {
51
+ style: styles.badgeText,
52
+ children: item.badge
53
+ })
54
+ })]
55
+ }), showUnderline && isActive && !renderTab && !useAnimatedIndicator && /*#__PURE__*/_jsx(View, {
56
+ style: [styles.underline, underlineStyle]
57
+ })]
58
+ });
59
+ };
60
+ export default TabBarItem;
61
+ //# sourceMappingURL=TabBarItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Image","Pressable","Text","View","styles","jsx","_jsx","jsxs","_jsxs","TabBarItem","item","index","isActive","showUnderline","useAnimatedIndicator","onPress","onMeasure","renderTab","tabStyle","activeTabStyle","tabTextStyle","activeTabTextStyle","tabImageStyle","activeTabImageStyle","underlineStyle","Icon","LeftIcon","handleLayout","event","nativeEvent","layout","width","accessibilityRole","accessibilityState","selected","accessibilityLabel","title","onLayout","style","tabItem","tabItemTransparent","tabItemActive","children","tabContent","image","resizeMode","source","tabImage","tabImageActive","size","color","tabText","tabTextActive","badge","badgeText","underline"],"sourceRoot":"../../../../src","sources":["components/customSlideTabs/TabBarItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ import { Text, View } from 'react-native';
5
+ import { useApi } from "../../customHooks/useApi.js";
6
+ import { styles } from "./styles.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const TabScene = ({
9
+ tab,
10
+ index,
11
+ isActive,
12
+ shouldMount,
13
+ fetchSceneData,
14
+ fetchWhenActive,
15
+ refetchOnRevisit,
16
+ keepPreviousSceneData,
17
+ renderScene,
18
+ renderSceneHeader,
19
+ showSceneHeading = true,
20
+ sceneStyle,
21
+ sceneHeaderStyle,
22
+ sceneHeadingStyle,
23
+ sceneSubtitleStyle
24
+ }) => {
25
+ const hasFetchedRef = useRef(false);
26
+ const shouldFetch = Boolean(fetchSceneData) && fetchWhenActive && isActive && shouldMount && (refetchOnRevisit || !hasFetchedRef.current);
27
+ const api = useApi(signal => fetchSceneData(tab, index, signal), {
28
+ enabled: shouldFetch && Boolean(fetchSceneData),
29
+ keepPreviousData: keepPreviousSceneData,
30
+ deps: [tab.key, index]
31
+ });
32
+ useEffect(() => {
33
+ if (api.isSuccess) {
34
+ hasFetchedRef.current = true;
35
+ }
36
+ }, [api.isSuccess]);
37
+ if (!shouldMount) {
38
+ return /*#__PURE__*/_jsx(View, {
39
+ style: [styles.scene, sceneStyle],
40
+ children: /*#__PURE__*/_jsx(View, {
41
+ style: styles.scenePlaceholder,
42
+ children: /*#__PURE__*/_jsx(Text, {
43
+ style: styles.scenePlaceholderText,
44
+ children: "Swipe to open this tab"
45
+ })
46
+ })
47
+ });
48
+ }
49
+ const sceneState = {
50
+ tab,
51
+ index,
52
+ isActive,
53
+ data: api.data,
54
+ error: api.error,
55
+ isIdle: api.isIdle,
56
+ isLoading: api.isLoading,
57
+ isSuccess: api.isSuccess,
58
+ isError: api.isError,
59
+ refetch: api.refetch,
60
+ reset: api.reset
61
+ };
62
+ const heading = tab.heading ?? tab.title;
63
+ const hasDefaultHeader = showSceneHeading && (heading || tab.subtitle);
64
+ const renderHeader = () => {
65
+ if (renderSceneHeader) {
66
+ return renderSceneHeader(sceneState);
67
+ }
68
+ if (!hasDefaultHeader) {
69
+ return null;
70
+ }
71
+ return /*#__PURE__*/_jsxs(View, {
72
+ style: [styles.sceneHeader, sceneHeaderStyle],
73
+ children: [!!heading && /*#__PURE__*/_jsx(Text, {
74
+ style: [styles.sceneHeading, sceneHeadingStyle],
75
+ children: heading
76
+ }), !!tab.subtitle && /*#__PURE__*/_jsx(Text, {
77
+ style: [styles.sceneSubtitle, sceneSubtitleStyle],
78
+ children: tab.subtitle
79
+ })]
80
+ });
81
+ };
82
+ return /*#__PURE__*/_jsxs(View, {
83
+ style: [styles.scene, sceneStyle],
84
+ children: [renderHeader(), renderScene(sceneState)]
85
+ });
86
+ };
87
+ export default TabScene;
88
+ //# sourceMappingURL=TabScene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","Text","View","useApi","styles","jsx","_jsx","jsxs","_jsxs","TabScene","tab","index","isActive","shouldMount","fetchSceneData","fetchWhenActive","refetchOnRevisit","keepPreviousSceneData","renderScene","renderSceneHeader","showSceneHeading","sceneStyle","sceneHeaderStyle","sceneHeadingStyle","sceneSubtitleStyle","hasFetchedRef","shouldFetch","Boolean","current","api","signal","enabled","keepPreviousData","deps","key","isSuccess","style","scene","children","scenePlaceholder","scenePlaceholderText","sceneState","data","error","isIdle","isLoading","isError","refetch","reset","heading","title","hasDefaultHeader","subtitle","renderHeader","sceneHeader","sceneHeading","sceneSubtitle"],"sourceRoot":"../../../../src","sources":["components/customSlideTabs/TabScene.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { Animated, Dimensions, FlatList, View } from 'react-native';
5
+ import AnimatedTabIndicator from "./AnimatedTabIndicator.js";
6
+ import TabBarItem from "./TabBarItem.js";
7
+ import TabScene from "./TabScene.js";
8
+ import { styles } from "./styles.js";
9
+ import { buildTabLayoutMetrics, getCenteredTabScrollOffset, getCenteredTabScrollOffsetFromProgress, getMaxTabScrollOffset } from "./tabBarScroll.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const CustomSlideTabs = ({
12
+ tabs,
13
+ renderScene,
14
+ fetchSceneData,
15
+ initialIndex = 0,
16
+ lazy = true,
17
+ fetchWhenActive = true,
18
+ refetchOnRevisit = false,
19
+ keepPreviousSceneData = true,
20
+ onTabChange,
21
+ renderTab,
22
+ renderSceneHeader,
23
+ showSceneHeading = true,
24
+ animatedIndicator = true,
25
+ showUnderline = true,
26
+ tabBarStyle,
27
+ tabStyle,
28
+ activeTabStyle,
29
+ tabTextStyle,
30
+ activeTabTextStyle,
31
+ tabImageStyle,
32
+ activeTabImageStyle,
33
+ underlineStyle,
34
+ indicatorPillStyle,
35
+ sceneHeadingStyle,
36
+ sceneSubtitleStyle,
37
+ sceneHeaderStyle,
38
+ sceneContainerStyle,
39
+ sceneStyle,
40
+ pageWidth
41
+ }) => {
42
+ const [selectedIndex, setSelectedIndex] = useState(initialIndex);
43
+ const [visitedIndexes, setVisitedIndexes] = useState(() => new Set([initialIndex]));
44
+ const [containerWidth, setContainerWidth] = useState(pageWidth ?? Dimensions.get('window').width);
45
+ const [tabWidthsVersion, setTabWidthsVersion] = useState(0);
46
+ const tabListRef = useRef(null);
47
+ const pagerRef = useRef(null);
48
+ const tabWidthsRef = useRef([]);
49
+ const tabBarWidthRef = useRef(0);
50
+ const tabBarScrollXRef = useRef(0);
51
+ const tabLayoutMetricsRef = useRef(buildTabLayoutMetrics([]));
52
+ const pagerScrollX = useRef(new Animated.Value(0)).current;
53
+ const tabBarScrollX = useRef(new Animated.Value(0)).current;
54
+ const resolvedWidth = pageWidth ?? containerWidth;
55
+ const tabWidthsSnapshot = useMemo(() => tabs.map((_, index) => tabWidthsVersion >= 0 ? tabWidthsRef.current[index] : undefined), [tabWidthsVersion, tabs]);
56
+ const tabLayoutMetrics = useMemo(() => {
57
+ const metrics = buildTabLayoutMetrics(tabWidthsSnapshot);
58
+ tabLayoutMetricsRef.current = metrics;
59
+ return metrics;
60
+ }, [tabWidthsSnapshot]);
61
+ const applyTabBarScroll = useCallback((offset, animated) => {
62
+ const maxOffset = getMaxTabScrollOffset(tabLayoutMetricsRef.current, tabBarWidthRef.current);
63
+ const safeOffset = Math.min(maxOffset, Math.max(0, offset));
64
+ tabListRef.current?.scrollToOffset({
65
+ offset: safeOffset,
66
+ animated
67
+ });
68
+ tabBarScrollXRef.current = safeOffset;
69
+ tabBarScrollX.setValue(safeOffset);
70
+ }, [tabBarScrollX]);
71
+ const scrollTabBarToIndex = useCallback((index, animated) => {
72
+ const nextOffset = getCenteredTabScrollOffset(index, tabLayoutMetricsRef.current, tabBarWidthRef.current);
73
+ if (nextOffset == null) {
74
+ return;
75
+ }
76
+ applyTabBarScroll(nextOffset, animated);
77
+ }, [applyTabBarScroll]);
78
+ const scrollTabBarToProgress = useCallback((progress, animated) => {
79
+ const nextOffset = getCenteredTabScrollOffsetFromProgress(progress, tabLayoutMetricsRef.current, tabBarWidthRef.current);
80
+ if (nextOffset == null) {
81
+ return;
82
+ }
83
+ applyTabBarScroll(nextOffset, animated);
84
+ }, [applyTabBarScroll]);
85
+ const handleTabMeasure = useCallback((index, width) => {
86
+ if (tabWidthsRef.current[index] === width) {
87
+ return;
88
+ }
89
+ tabWidthsRef.current[index] = width;
90
+ setTabWidthsVersion(current => current + 1);
91
+ }, []);
92
+ const scrollPagerToIndex = useCallback((index, animated = true) => {
93
+ pagerRef.current?.scrollToIndex({
94
+ index,
95
+ animated
96
+ });
97
+ }, []);
98
+ const selectTab = useCallback((index, animated = true) => {
99
+ if (index < 0 || index >= tabs.length) {
100
+ return;
101
+ }
102
+ setSelectedIndex(index);
103
+ setVisitedIndexes(current => {
104
+ const next = new Set(current);
105
+ next.add(index);
106
+ return next;
107
+ });
108
+ scrollPagerToIndex(index, animated);
109
+ onTabChange?.(index, tabs[index]);
110
+ }, [onTabChange, scrollPagerToIndex, tabs]);
111
+ const onPagerMomentumEnd = useCallback(event => {
112
+ const offsetX = event.nativeEvent.contentOffset.x;
113
+ const nextIndex = Math.round(offsetX / resolvedWidth);
114
+ const safeIndex = Math.max(0, Math.min(nextIndex, tabs.length - 1));
115
+ if (safeIndex !== selectedIndex) {
116
+ setSelectedIndex(safeIndex);
117
+ setVisitedIndexes(current => {
118
+ const next = new Set(current);
119
+ next.add(safeIndex);
120
+ return next;
121
+ });
122
+ onTabChange?.(safeIndex, tabs[safeIndex]);
123
+ }
124
+ }, [onTabChange, resolvedWidth, selectedIndex, tabs]);
125
+ const onContainerLayout = useCallback(event => {
126
+ if (!pageWidth) {
127
+ setContainerWidth(event.nativeEvent.layout.width);
128
+ }
129
+ }, [pageWidth]);
130
+ const onTabBarLayout = useCallback(event => {
131
+ tabBarWidthRef.current = event.nativeEvent.layout.width;
132
+ scrollTabBarToIndex(selectedIndex, false);
133
+ }, [scrollTabBarToIndex, selectedIndex]);
134
+ const onTabBarScroll = useMemo(() => Animated.event([{
135
+ nativeEvent: {
136
+ contentOffset: {
137
+ x: tabBarScrollX
138
+ }
139
+ }
140
+ }], {
141
+ useNativeDriver: false,
142
+ listener: event => {
143
+ tabBarScrollXRef.current = event.nativeEvent.contentOffset.x;
144
+ }
145
+ }), [tabBarScrollX]);
146
+ const onPagerScroll = useMemo(() => Animated.event([{
147
+ nativeEvent: {
148
+ contentOffset: {
149
+ x: pagerScrollX
150
+ }
151
+ }
152
+ }], {
153
+ useNativeDriver: false,
154
+ listener: event => {
155
+ if (resolvedWidth <= 0) {
156
+ return;
157
+ }
158
+ const progress = event.nativeEvent.contentOffset.x / resolvedWidth;
159
+ scrollTabBarToProgress(progress, false);
160
+ }
161
+ }), [pagerScrollX, resolvedWidth, scrollTabBarToProgress]);
162
+ useEffect(() => {
163
+ pagerScrollX.setValue(initialIndex * resolvedWidth);
164
+ }, [initialIndex, pagerScrollX, resolvedWidth]);
165
+ useEffect(() => {
166
+ tabWidthsRef.current = [];
167
+ setTabWidthsVersion(current => current + 1);
168
+ }, [tabs]);
169
+ useEffect(() => {
170
+ scrollPagerToIndex(initialIndex, false);
171
+ scrollTabBarToIndex(initialIndex, false);
172
+ }, [initialIndex, scrollPagerToIndex, scrollTabBarToIndex]);
173
+ useEffect(() => {
174
+ if (tabLayoutMetrics.some(metric => metric.width > 0)) {
175
+ scrollTabBarToIndex(selectedIndex, false);
176
+ }
177
+ }, [tabLayoutMetrics, scrollTabBarToIndex, selectedIndex]);
178
+ const tabBarData = useMemo(() => tabs, [tabs]);
179
+ const renderPagerItem = useCallback(({
180
+ item,
181
+ index
182
+ }) => /*#__PURE__*/_jsx(View, {
183
+ style: {
184
+ width: resolvedWidth
185
+ },
186
+ children: /*#__PURE__*/_jsx(TabScene, {
187
+ tab: item,
188
+ index: index,
189
+ isActive: selectedIndex === index,
190
+ shouldMount: !lazy || visitedIndexes.has(index),
191
+ fetchSceneData: fetchSceneData,
192
+ fetchWhenActive: fetchWhenActive,
193
+ refetchOnRevisit: refetchOnRevisit,
194
+ keepPreviousSceneData: keepPreviousSceneData,
195
+ renderScene: renderScene,
196
+ renderSceneHeader: renderSceneHeader,
197
+ showSceneHeading: showSceneHeading,
198
+ sceneStyle: sceneStyle,
199
+ sceneHeaderStyle: sceneHeaderStyle,
200
+ sceneHeadingStyle: sceneHeadingStyle,
201
+ sceneSubtitleStyle: sceneSubtitleStyle
202
+ })
203
+ }), [fetchSceneData, fetchWhenActive, keepPreviousSceneData, lazy, refetchOnRevisit, renderScene, renderSceneHeader, resolvedWidth, sceneHeaderStyle, sceneHeadingStyle, sceneStyle, sceneSubtitleStyle, selectedIndex, showSceneHeading, visitedIndexes]);
204
+ return /*#__PURE__*/_jsxs(View, {
205
+ style: styles.container,
206
+ onLayout: onContainerLayout,
207
+ children: [/*#__PURE__*/_jsxs(View, {
208
+ style: [styles.tabBar, tabBarStyle],
209
+ onLayout: onTabBarLayout,
210
+ children: [animatedIndicator && /*#__PURE__*/_jsx(AnimatedTabIndicator, {
211
+ metrics: tabLayoutMetrics,
212
+ pagerScrollX: pagerScrollX,
213
+ tabBarScrollX: tabBarScrollX,
214
+ pageWidth: resolvedWidth,
215
+ initialScrollX: selectedIndex * resolvedWidth,
216
+ showPill: true,
217
+ showUnderline: showUnderline,
218
+ pillStyle: indicatorPillStyle,
219
+ underlineStyle: underlineStyle
220
+ }), /*#__PURE__*/_jsx(FlatList, {
221
+ ref: tabListRef,
222
+ horizontal: true,
223
+ showsHorizontalScrollIndicator: false,
224
+ data: tabBarData,
225
+ keyExtractor: item => item.key,
226
+ contentContainerStyle: styles.tabBarContent,
227
+ scrollEventThrottle: 16,
228
+ onScroll: onTabBarScroll,
229
+ renderItem: ({
230
+ item,
231
+ index
232
+ }) => /*#__PURE__*/_jsx(TabBarItem, {
233
+ item: item,
234
+ index: index,
235
+ isActive: selectedIndex === index,
236
+ showUnderline: showUnderline,
237
+ useAnimatedIndicator: animatedIndicator,
238
+ renderTab: renderTab,
239
+ tabStyle: tabStyle,
240
+ activeTabStyle: activeTabStyle,
241
+ tabTextStyle: tabTextStyle,
242
+ activeTabTextStyle: activeTabTextStyle,
243
+ tabImageStyle: tabImageStyle,
244
+ activeTabImageStyle: activeTabImageStyle,
245
+ underlineStyle: underlineStyle,
246
+ onMeasure: handleTabMeasure,
247
+ onPress: selectTab
248
+ })
249
+ })]
250
+ }), /*#__PURE__*/_jsx(Animated.FlatList, {
251
+ ref: pagerRef,
252
+ horizontal: true,
253
+ pagingEnabled: true,
254
+ bounces: false,
255
+ scrollEventThrottle: 16,
256
+ showsHorizontalScrollIndicator: false,
257
+ data: tabBarData,
258
+ keyExtractor: item => `scene-${item.key}`,
259
+ style: [styles.pager, sceneContainerStyle],
260
+ getItemLayout: (_, index) => ({
261
+ length: resolvedWidth,
262
+ offset: resolvedWidth * index,
263
+ index
264
+ }),
265
+ onScroll: onPagerScroll,
266
+ onMomentumScrollEnd: onPagerMomentumEnd,
267
+ onScrollToIndexFailed: ({
268
+ index
269
+ }) => {
270
+ setTimeout(() => scrollPagerToIndex(index), 100);
271
+ },
272
+ renderItem: renderPagerItem
273
+ })]
274
+ });
275
+ };
276
+ export default CustomSlideTabs;
277
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","Animated","Dimensions","FlatList","View","AnimatedTabIndicator","TabBarItem","TabScene","styles","buildTabLayoutMetrics","getCenteredTabScrollOffset","getCenteredTabScrollOffsetFromProgress","getMaxTabScrollOffset","jsx","_jsx","jsxs","_jsxs","CustomSlideTabs","tabs","renderScene","fetchSceneData","initialIndex","lazy","fetchWhenActive","refetchOnRevisit","keepPreviousSceneData","onTabChange","renderTab","renderSceneHeader","showSceneHeading","animatedIndicator","showUnderline","tabBarStyle","tabStyle","activeTabStyle","tabTextStyle","activeTabTextStyle","tabImageStyle","activeTabImageStyle","underlineStyle","indicatorPillStyle","sceneHeadingStyle","sceneSubtitleStyle","sceneHeaderStyle","sceneContainerStyle","sceneStyle","pageWidth","selectedIndex","setSelectedIndex","visitedIndexes","setVisitedIndexes","Set","containerWidth","setContainerWidth","get","width","tabWidthsVersion","setTabWidthsVersion","tabListRef","pagerRef","tabWidthsRef","tabBarWidthRef","tabBarScrollXRef","tabLayoutMetricsRef","pagerScrollX","Value","current","tabBarScrollX","resolvedWidth","tabWidthsSnapshot","map","_","index","undefined","tabLayoutMetrics","metrics","applyTabBarScroll","offset","animated","maxOffset","safeOffset","Math","min","max","scrollToOffset","setValue","scrollTabBarToIndex","nextOffset","scrollTabBarToProgress","progress","handleTabMeasure","scrollPagerToIndex","scrollToIndex","selectTab","length","next","add","onPagerMomentumEnd","event","offsetX","nativeEvent","contentOffset","x","nextIndex","round","safeIndex","onContainerLayout","layout","onTabBarLayout","onTabBarScroll","useNativeDriver","listener","onPagerScroll","some","metric","tabBarData","renderPagerItem","item","style","children","tab","isActive","shouldMount","has","container","onLayout","tabBar","initialScrollX","showPill","pillStyle","ref","horizontal","showsHorizontalScrollIndicator","data","keyExtractor","key","contentContainerStyle","tabBarContent","scrollEventThrottle","onScroll","renderItem","useAnimatedIndicator","onMeasure","onPress","pagingEnabled","bounces","pager","getItemLayout","onMomentumScrollEnd","onScrollToIndexFailed","setTimeout"],"sourceRoot":"../../../../src","sources":["components/customSlideTabs/index.tsx"],"mappings":"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","ignoreList":[]}