@codeleap/mobile 4.0.2 → 4.2.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 (510) hide show
  1. package/dist/Registry.d.ts +7 -0
  2. package/dist/Registry.js +67 -0
  3. package/dist/Registry.js.map +1 -0
  4. package/dist/components/ActionIcon/index.d.ts +13 -0
  5. package/dist/components/ActionIcon/index.js +79 -0
  6. package/dist/components/ActionIcon/index.js.map +1 -0
  7. package/dist/components/ActionIcon/styles.d.ts +5 -0
  8. package/dist/components/ActionIcon/styles.js +3 -0
  9. package/dist/components/ActionIcon/styles.js.map +1 -0
  10. package/dist/components/ActionIcon/types.d.ts +11 -0
  11. package/dist/components/ActionIcon/types.js +3 -0
  12. package/dist/components/ActionIcon/types.js.map +1 -0
  13. package/dist/components/ActivityIndicator/index.d.ts +15 -0
  14. package/dist/components/ActivityIndicator/index.js +66 -0
  15. package/dist/components/ActivityIndicator/index.js.map +1 -0
  16. package/dist/components/ActivityIndicator/styles.d.ts +1 -0
  17. package/dist/components/ActivityIndicator/styles.js +3 -0
  18. package/dist/components/ActivityIndicator/styles.js.map +1 -0
  19. package/dist/components/ActivityIndicator/types.d.ts +9 -0
  20. package/dist/components/ActivityIndicator/types.js +3 -0
  21. package/dist/components/ActivityIndicator/types.js.map +1 -0
  22. package/dist/components/Autocomplete/index.d.ts +13 -0
  23. package/dist/components/Autocomplete/index.js +192 -0
  24. package/dist/components/Autocomplete/index.js.map +1 -0
  25. package/dist/components/Autocomplete/styles.d.ts +8 -0
  26. package/dist/components/Autocomplete/styles.js +3 -0
  27. package/dist/components/Autocomplete/styles.js.map +1 -0
  28. package/dist/components/Autocomplete/types.d.ts +58 -0
  29. package/dist/components/Autocomplete/types.js +3 -0
  30. package/dist/components/Autocomplete/types.js.map +1 -0
  31. package/dist/components/Avatar/index.d.ts +13 -0
  32. package/dist/components/Avatar/index.js +112 -0
  33. package/dist/components/Avatar/index.js.map +1 -0
  34. package/dist/components/Avatar/styles.d.ts +2 -0
  35. package/dist/components/Avatar/styles.js +3 -0
  36. package/dist/components/Avatar/styles.js.map +1 -0
  37. package/dist/components/Avatar/types.d.ts +19 -0
  38. package/dist/components/Avatar/types.js +3 -0
  39. package/dist/components/Avatar/types.js.map +1 -0
  40. package/dist/components/AvatarGroup/index.d.ts +13 -0
  41. package/dist/components/AvatarGroup/index.js +79 -0
  42. package/dist/components/AvatarGroup/index.js.map +1 -0
  43. package/dist/components/AvatarGroup/styles.d.ts +3 -0
  44. package/dist/components/AvatarGroup/styles.js +3 -0
  45. package/dist/components/AvatarGroup/styles.js.map +1 -0
  46. package/dist/components/AvatarGroup/types.d.ts +9 -0
  47. package/dist/components/AvatarGroup/types.js +3 -0
  48. package/dist/components/AvatarGroup/types.js.map +1 -0
  49. package/dist/components/Backdrop/index.d.ts +13 -0
  50. package/dist/components/Backdrop/index.js +82 -0
  51. package/dist/components/Backdrop/index.js.map +1 -0
  52. package/dist/components/Backdrop/styles.d.ts +1 -0
  53. package/dist/components/Backdrop/styles.js +3 -0
  54. package/dist/components/Backdrop/styles.js.map +1 -0
  55. package/dist/components/Backdrop/types.d.ts +11 -0
  56. package/dist/components/Backdrop/types.js +3 -0
  57. package/dist/components/Backdrop/types.js.map +1 -0
  58. package/dist/components/Badge/index.d.ts +13 -0
  59. package/dist/components/Badge/index.js +109 -0
  60. package/dist/components/Badge/index.js.map +1 -0
  61. package/dist/components/Badge/styles.d.ts +4 -0
  62. package/dist/components/Badge/styles.js +3 -0
  63. package/dist/components/Badge/styles.js.map +1 -0
  64. package/dist/components/Badge/types.d.ts +27 -0
  65. package/dist/components/Badge/types.js +3 -0
  66. package/dist/components/Badge/types.js.map +1 -0
  67. package/dist/components/Button/index.d.ts +5 -0
  68. package/dist/components/Button/index.js +123 -0
  69. package/dist/components/Button/index.js.map +1 -0
  70. package/dist/components/Button/styles.d.ts +12 -0
  71. package/dist/components/Button/styles.js +3 -0
  72. package/dist/components/Button/styles.js.map +1 -0
  73. package/dist/components/Button/types.d.ts +16 -0
  74. package/dist/components/Button/types.js +3 -0
  75. package/dist/components/Button/types.js.map +1 -0
  76. package/dist/components/Calendar/index.d.ts +19 -0
  77. package/dist/components/Calendar/index.js +82 -0
  78. package/dist/components/Calendar/index.js.map +1 -0
  79. package/dist/components/Calendar/types.d.ts +95 -0
  80. package/dist/components/Calendar/types.js +3 -0
  81. package/dist/components/Calendar/types.js.map +1 -0
  82. package/dist/components/Checkbox/index.d.ts +13 -0
  83. package/dist/components/Checkbox/index.js +120 -0
  84. package/dist/components/Checkbox/index.js.map +1 -0
  85. package/dist/components/Checkbox/styles.d.ts +7 -0
  86. package/dist/components/Checkbox/styles.js +3 -0
  87. package/dist/components/Checkbox/styles.js.map +1 -0
  88. package/dist/components/Checkbox/types.d.ts +10 -0
  89. package/dist/components/Checkbox/types.js +3 -0
  90. package/dist/components/Checkbox/types.js.map +1 -0
  91. package/dist/components/DatePickerModal/index.d.ts +13 -0
  92. package/dist/components/DatePickerModal/index.js +156 -0
  93. package/dist/components/DatePickerModal/index.js.map +1 -0
  94. package/dist/components/DatePickerModal/styles.d.ts +5 -0
  95. package/dist/components/DatePickerModal/styles.js +3 -0
  96. package/dist/components/DatePickerModal/styles.js.map +1 -0
  97. package/dist/components/DatePickerModal/types.d.ts +42 -0
  98. package/dist/components/DatePickerModal/types.js +3 -0
  99. package/dist/components/DatePickerModal/types.js.map +1 -0
  100. package/dist/components/EmptyPlaceholder/index.d.ts +13 -0
  101. package/dist/components/EmptyPlaceholder/index.js +87 -0
  102. package/dist/components/EmptyPlaceholder/index.js.map +1 -0
  103. package/dist/components/EmptyPlaceholder/styles.d.ts +2 -0
  104. package/dist/components/EmptyPlaceholder/styles.js +3 -0
  105. package/dist/components/EmptyPlaceholder/styles.js.map +1 -0
  106. package/dist/components/EmptyPlaceholder/types.d.ts +20 -0
  107. package/dist/components/EmptyPlaceholder/types.js +3 -0
  108. package/dist/components/EmptyPlaceholder/types.js.map +1 -0
  109. package/dist/components/FileInput/index.d.ts +9 -0
  110. package/dist/components/FileInput/index.js +218 -0
  111. package/dist/components/FileInput/index.js.map +1 -0
  112. package/dist/components/FileInput/types.d.ts +23 -0
  113. package/dist/components/FileInput/types.js +3 -0
  114. package/dist/components/FileInput/types.js.map +1 -0
  115. package/dist/components/Grid/index.d.ts +5 -0
  116. package/dist/components/Grid/index.js +110 -0
  117. package/dist/components/Grid/index.js.map +1 -0
  118. package/dist/components/Grid/styles.d.ts +2 -0
  119. package/dist/components/Grid/styles.js +3 -0
  120. package/dist/components/Grid/styles.js.map +1 -0
  121. package/dist/components/Grid/types.d.ts +15 -0
  122. package/dist/components/Grid/types.js +3 -0
  123. package/dist/components/Grid/types.js.map +1 -0
  124. package/dist/components/Icon/index.d.ts +7 -0
  125. package/dist/components/Icon/index.js +96 -0
  126. package/dist/components/Icon/index.js.map +1 -0
  127. package/dist/components/Icon/styles.d.ts +2 -0
  128. package/dist/components/Icon/styles.js +3 -0
  129. package/dist/components/Icon/styles.js.map +1 -0
  130. package/dist/components/Icon/types.d.ts +12 -0
  131. package/dist/components/Icon/types.js +3 -0
  132. package/dist/components/Icon/types.js.map +1 -0
  133. package/dist/components/Image/index.d.ts +5 -0
  134. package/dist/components/Image/index.js +151 -0
  135. package/dist/components/Image/index.js.map +1 -0
  136. package/dist/components/Image/styles.d.ts +2 -0
  137. package/dist/components/Image/styles.js +3 -0
  138. package/dist/components/Image/styles.js.map +1 -0
  139. package/dist/components/Image/types.d.ts +16 -0
  140. package/dist/components/Image/types.js +3 -0
  141. package/dist/components/Image/types.js.map +1 -0
  142. package/dist/components/ImageView/Spotlight.d.ts +41 -0
  143. package/dist/components/ImageView/Spotlight.js +178 -0
  144. package/dist/components/ImageView/Spotlight.js.map +1 -0
  145. package/dist/components/ImageView/component.d.ts +5 -0
  146. package/dist/components/ImageView/component.js +18 -0
  147. package/dist/components/ImageView/component.js.map +1 -0
  148. package/dist/components/ImageView/index.d.ts +2 -0
  149. package/dist/components/ImageView/index.js +19 -0
  150. package/dist/components/ImageView/index.js.map +1 -0
  151. package/dist/components/InputBase/index.d.ts +11 -0
  152. package/dist/components/InputBase/index.js +110 -0
  153. package/dist/components/InputBase/index.js.map +1 -0
  154. package/dist/components/InputBase/styles.d.ts +20 -0
  155. package/dist/components/InputBase/styles.js +99 -0
  156. package/dist/components/InputBase/styles.js.map +1 -0
  157. package/dist/components/InputBase/types.d.ts +26 -0
  158. package/dist/components/InputBase/types.js +3 -0
  159. package/dist/components/InputBase/types.js.map +1 -0
  160. package/dist/components/InputBase/utils.d.ts +12 -0
  161. package/dist/components/InputBase/utils.js +41 -0
  162. package/dist/components/InputBase/utils.js.map +1 -0
  163. package/dist/components/List/index.d.ts +5 -0
  164. package/dist/components/List/index.js +104 -0
  165. package/dist/components/List/index.js.map +1 -0
  166. package/dist/components/List/styles.d.ts +5 -0
  167. package/dist/components/List/styles.js +3 -0
  168. package/dist/components/List/styles.js.map +1 -0
  169. package/dist/components/List/types.d.ts +36 -0
  170. package/dist/components/List/types.js +3 -0
  171. package/dist/components/List/types.js.map +1 -0
  172. package/dist/components/LoadingOverlay/index.d.ts +13 -0
  173. package/dist/components/LoadingOverlay/index.js +84 -0
  174. package/dist/components/LoadingOverlay/index.js.map +1 -0
  175. package/dist/components/LoadingOverlay/styles.d.ts +4 -0
  176. package/dist/components/LoadingOverlay/styles.js +3 -0
  177. package/dist/components/LoadingOverlay/styles.js.map +1 -0
  178. package/dist/components/LoadingOverlay/types.d.ts +8 -0
  179. package/dist/components/LoadingOverlay/types.js +3 -0
  180. package/dist/components/LoadingOverlay/types.js.map +1 -0
  181. package/dist/components/Modal/index.d.ts +14 -0
  182. package/dist/components/Modal/index.js +151 -0
  183. package/dist/components/Modal/index.js.map +1 -0
  184. package/dist/components/Modal/styles.d.ts +4 -0
  185. package/dist/components/Modal/styles.js +3 -0
  186. package/dist/components/Modal/styles.js.map +1 -0
  187. package/dist/components/Modal/types.d.ts +36 -0
  188. package/dist/components/Modal/types.js +3 -0
  189. package/dist/components/Modal/types.js.map +1 -0
  190. package/dist/components/Navigation/Navigation.d.ts +55 -0
  191. package/dist/components/Navigation/Navigation.js +84 -0
  192. package/dist/components/Navigation/Navigation.js.map +1 -0
  193. package/dist/components/Navigation/constants.d.ts +9 -0
  194. package/dist/components/Navigation/constants.js +12 -0
  195. package/dist/components/Navigation/constants.js.map +1 -0
  196. package/dist/components/Navigation/index.d.ts +3 -0
  197. package/dist/components/Navigation/index.js +20 -0
  198. package/dist/components/Navigation/index.js.map +1 -0
  199. package/dist/components/Navigation/types.d.ts +26 -0
  200. package/dist/components/Navigation/types.js +3 -0
  201. package/dist/components/Navigation/types.js.map +1 -0
  202. package/dist/components/Navigation/utils.d.ts +3 -0
  203. package/dist/components/Navigation/utils.js +69 -0
  204. package/dist/components/Navigation/utils.js.map +1 -0
  205. package/dist/components/NumberIncrement/index.d.ts +5 -0
  206. package/dist/components/NumberIncrement/index.js +263 -0
  207. package/dist/components/NumberIncrement/index.js.map +1 -0
  208. package/dist/components/NumberIncrement/styles.d.ts +4 -0
  209. package/dist/components/NumberIncrement/styles.js +3 -0
  210. package/dist/components/NumberIncrement/styles.js.map +1 -0
  211. package/dist/components/NumberIncrement/types.d.ts +34 -0
  212. package/dist/components/NumberIncrement/types.js +3 -0
  213. package/dist/components/NumberIncrement/types.js.map +1 -0
  214. package/dist/components/NumberIncrement/utils.d.ts +5 -0
  215. package/dist/components/NumberIncrement/utils.js +27 -0
  216. package/dist/components/NumberIncrement/utils.js.map +1 -0
  217. package/dist/components/Pager/PagerDots.d.ts +16 -0
  218. package/dist/components/Pager/PagerDots.js +58 -0
  219. package/dist/components/Pager/PagerDots.js.map +1 -0
  220. package/dist/components/Pager/index.d.ts +14 -0
  221. package/dist/components/Pager/index.js +127 -0
  222. package/dist/components/Pager/index.js.map +1 -0
  223. package/dist/components/Pager/styles.d.ts +4 -0
  224. package/dist/components/Pager/styles.js +3 -0
  225. package/dist/components/Pager/styles.js.map +1 -0
  226. package/dist/components/Pager/types.d.ts +25 -0
  227. package/dist/components/Pager/types.js +3 -0
  228. package/dist/components/Pager/types.js.map +1 -0
  229. package/dist/components/PaginationIndicator/index.d.ts +11 -0
  230. package/dist/components/PaginationIndicator/index.js +49 -0
  231. package/dist/components/PaginationIndicator/index.js.map +1 -0
  232. package/dist/components/PaginationIndicator/styles.d.ts +2 -0
  233. package/dist/components/PaginationIndicator/styles.js +3 -0
  234. package/dist/components/PaginationIndicator/styles.js.map +1 -0
  235. package/dist/components/PaginationIndicator/types.d.ts +10 -0
  236. package/dist/components/PaginationIndicator/types.js +3 -0
  237. package/dist/components/PaginationIndicator/types.js.map +1 -0
  238. package/dist/components/PlacesAutocomplete/index.d.ts +19 -0
  239. package/dist/components/PlacesAutocomplete/index.js +127 -0
  240. package/dist/components/PlacesAutocomplete/index.js.map +1 -0
  241. package/dist/components/PlacesAutocomplete/styles.d.ts +4 -0
  242. package/dist/components/PlacesAutocomplete/styles.js +3 -0
  243. package/dist/components/PlacesAutocomplete/styles.js.map +1 -0
  244. package/dist/components/PlacesAutocomplete/types.d.ts +41 -0
  245. package/dist/components/PlacesAutocomplete/types.js +3 -0
  246. package/dist/components/PlacesAutocomplete/types.js.map +1 -0
  247. package/dist/components/RadioInput/index.d.ts +13 -0
  248. package/dist/components/RadioInput/index.js +123 -0
  249. package/dist/components/RadioInput/index.js.map +1 -0
  250. package/dist/components/RadioInput/styles.d.ts +6 -0
  251. package/dist/components/RadioInput/styles.js +3 -0
  252. package/dist/components/RadioInput/styles.js.map +1 -0
  253. package/dist/components/RadioInput/types.d.ts +27 -0
  254. package/dist/components/RadioInput/types.js +3 -0
  255. package/dist/components/RadioInput/types.js.map +1 -0
  256. package/dist/components/RefreshControl/index.d.ts +13 -0
  257. package/dist/components/RefreshControl/index.js +67 -0
  258. package/dist/components/RefreshControl/index.js.map +1 -0
  259. package/dist/components/RefreshControl/styles.d.ts +1 -0
  260. package/dist/components/RefreshControl/styles.js +3 -0
  261. package/dist/components/RefreshControl/styles.js.map +1 -0
  262. package/dist/components/RefreshControl/types.d.ts +6 -0
  263. package/dist/components/RefreshControl/types.js +3 -0
  264. package/dist/components/RefreshControl/types.js.map +1 -0
  265. package/dist/components/Scroll/index.d.ts +5 -0
  266. package/dist/components/Scroll/index.js +108 -0
  267. package/dist/components/Scroll/index.js.map +1 -0
  268. package/dist/components/Scroll/styles.d.ts +1 -0
  269. package/dist/components/Scroll/styles.js +3 -0
  270. package/dist/components/Scroll/styles.js.map +1 -0
  271. package/dist/components/Scroll/types.d.ts +16 -0
  272. package/dist/components/Scroll/types.js +3 -0
  273. package/dist/components/Scroll/types.js.map +1 -0
  274. package/dist/components/SearchInput/index.d.ts +15 -0
  275. package/dist/components/SearchInput/index.js +93 -0
  276. package/dist/components/SearchInput/index.js.map +1 -0
  277. package/dist/components/Sections/index.d.ts +5 -0
  278. package/dist/components/Sections/index.js +118 -0
  279. package/dist/components/Sections/index.js.map +1 -0
  280. package/dist/components/Sections/styles.d.ts +1 -0
  281. package/dist/components/Sections/styles.js +3 -0
  282. package/dist/components/Sections/styles.js.map +1 -0
  283. package/dist/components/Sections/types.d.ts +34 -0
  284. package/dist/components/Sections/types.js +3 -0
  285. package/dist/components/Sections/types.js.map +1 -0
  286. package/dist/components/SegmentedControl/Option.d.ts +18 -0
  287. package/dist/components/SegmentedControl/Option.js +44 -0
  288. package/dist/components/SegmentedControl/Option.js.map +1 -0
  289. package/dist/components/SegmentedControl/index.d.ts +5 -0
  290. package/dist/components/SegmentedControl/index.js +174 -0
  291. package/dist/components/SegmentedControl/index.js.map +1 -0
  292. package/dist/components/SegmentedControl/styles.d.ts +8 -0
  293. package/dist/components/SegmentedControl/styles.js +3 -0
  294. package/dist/components/SegmentedControl/styles.js.map +1 -0
  295. package/dist/components/SegmentedControl/types.d.ts +34 -0
  296. package/dist/components/SegmentedControl/types.js +3 -0
  297. package/dist/components/SegmentedControl/types.js.map +1 -0
  298. package/dist/components/Select/index.d.ts +13 -0
  299. package/dist/components/Select/index.js +259 -0
  300. package/dist/components/Select/index.js.map +1 -0
  301. package/dist/components/Select/styles.d.ts +9 -0
  302. package/dist/components/Select/styles.js +3 -0
  303. package/dist/components/Select/styles.js.map +1 -0
  304. package/dist/components/Select/types.d.ts +77 -0
  305. package/dist/components/Select/types.js +3 -0
  306. package/dist/components/Select/types.js.map +1 -0
  307. package/dist/components/Slider/index.d.ts +13 -0
  308. package/dist/components/Slider/index.js +183 -0
  309. package/dist/components/Slider/index.js.map +1 -0
  310. package/dist/components/Slider/styles.d.ts +11 -0
  311. package/dist/components/Slider/styles.js +3 -0
  312. package/dist/components/Slider/styles.js.map +1 -0
  313. package/dist/components/Slider/types.d.ts +22 -0
  314. package/dist/components/Slider/types.js +3 -0
  315. package/dist/components/Slider/types.js.map +1 -0
  316. package/dist/components/SortablePhotos/index.d.ts +13 -0
  317. package/dist/components/SortablePhotos/index.js +125 -0
  318. package/dist/components/SortablePhotos/index.js.map +1 -0
  319. package/dist/components/SortablePhotos/styles.d.ts +2 -0
  320. package/dist/components/SortablePhotos/styles.js +3 -0
  321. package/dist/components/SortablePhotos/styles.js.map +1 -0
  322. package/dist/components/SortablePhotos/types.d.ts +54 -0
  323. package/dist/components/SortablePhotos/types.js +3 -0
  324. package/dist/components/SortablePhotos/types.js.map +1 -0
  325. package/dist/components/SortablePhotos/useSortablePhotos.d.ts +21 -0
  326. package/dist/components/SortablePhotos/useSortablePhotos.js +192 -0
  327. package/dist/components/SortablePhotos/useSortablePhotos.js.map +1 -0
  328. package/dist/components/Switch/index.d.ts +13 -0
  329. package/dist/components/Switch/index.js +115 -0
  330. package/dist/components/Switch/index.js.map +1 -0
  331. package/dist/components/Switch/styles.d.ts +7 -0
  332. package/dist/components/Switch/styles.js +3 -0
  333. package/dist/components/Switch/styles.js.map +1 -0
  334. package/dist/components/Switch/types.d.ts +9 -0
  335. package/dist/components/Switch/types.js +3 -0
  336. package/dist/components/Switch/types.js.map +1 -0
  337. package/dist/components/Text/index.d.ts +7 -0
  338. package/dist/components/Text/index.js +127 -0
  339. package/dist/components/Text/index.js.map +1 -0
  340. package/dist/components/Text/styles.d.ts +6 -0
  341. package/dist/components/Text/styles.js +3 -0
  342. package/dist/components/Text/styles.js.map +1 -0
  343. package/dist/components/Text/types.d.ts +16 -0
  344. package/dist/components/Text/types.js +3 -0
  345. package/dist/components/Text/types.js.map +1 -0
  346. package/dist/components/TextInput/index.d.ts +5 -0
  347. package/dist/components/TextInput/index.js +181 -0
  348. package/dist/components/TextInput/index.js.map +1 -0
  349. package/dist/components/TextInput/styles.d.ts +5 -0
  350. package/dist/components/TextInput/styles.js +3 -0
  351. package/dist/components/TextInput/styles.js.map +1 -0
  352. package/dist/components/TextInput/types.d.ts +21 -0
  353. package/dist/components/TextInput/types.js +3 -0
  354. package/dist/components/TextInput/types.js.map +1 -0
  355. package/dist/components/Touchable/index.d.ts +5 -0
  356. package/dist/components/Touchable/index.js +220 -0
  357. package/dist/components/Touchable/index.js.map +1 -0
  358. package/dist/components/Touchable/styles.d.ts +6 -0
  359. package/dist/components/Touchable/styles.js +3 -0
  360. package/dist/components/Touchable/styles.js.map +1 -0
  361. package/dist/components/Touchable/types.d.ts +25 -0
  362. package/dist/components/Touchable/types.js +3 -0
  363. package/dist/components/Touchable/types.js.map +1 -0
  364. package/dist/components/View/index.d.ts +13 -0
  365. package/dist/components/View/index.js +53 -0
  366. package/dist/components/View/index.js.map +1 -0
  367. package/dist/components/View/styles.d.ts +1 -0
  368. package/dist/components/View/styles.js +3 -0
  369. package/dist/components/View/styles.js.map +1 -0
  370. package/dist/components/View/types.d.ts +13 -0
  371. package/dist/components/View/types.js +3 -0
  372. package/dist/components/View/types.js.map +1 -0
  373. package/dist/components/components.d.ts +42 -0
  374. package/dist/components/components.js +59 -0
  375. package/dist/components/components.js.map +1 -0
  376. package/dist/hooks/index.d.ts +2 -0
  377. package/dist/hooks/index.js +15 -0
  378. package/dist/hooks/index.js.map +1 -0
  379. package/dist/index.d.ts +8 -0
  380. package/dist/index.js +44 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/modules/PressableRipple/index.d.ts +2 -0
  383. package/dist/modules/PressableRipple/index.js +9 -0
  384. package/dist/modules/PressableRipple/index.js.map +1 -0
  385. package/dist/modules/PressableRipple/ripple.d.ts +30 -0
  386. package/dist/modules/PressableRipple/ripple.js +213 -0
  387. package/dist/modules/PressableRipple/ripple.js.map +1 -0
  388. package/dist/modules/PressableRipple/styles.d.ts +19 -0
  389. package/dist/modules/PressableRipple/styles.js +29 -0
  390. package/dist/modules/PressableRipple/styles.js.map +1 -0
  391. package/dist/modules/PressableRipple/type.d.ts +12 -0
  392. package/dist/modules/PressableRipple/type.js +3 -0
  393. package/dist/modules/PressableRipple/type.js.map +1 -0
  394. package/dist/modules/reactNavigation.d.ts +21 -0
  395. package/dist/modules/reactNavigation.js +25 -0
  396. package/dist/modules/reactNavigation.js.map +1 -0
  397. package/dist/modules/textInputMask.d.ts +6 -0
  398. package/dist/modules/textInputMask.js +21 -0
  399. package/dist/modules/textInputMask.js.map +1 -0
  400. package/dist/modules/types/textInputMask.d.ts +7 -0
  401. package/dist/modules/types/textInputMask.js +3 -0
  402. package/dist/modules/types/textInputMask.js.map +1 -0
  403. package/dist/types/index.d.ts +8 -0
  404. package/dist/types/index.js +18 -0
  405. package/dist/types/index.js.map +1 -0
  406. package/dist/types/utility.d.ts +14 -0
  407. package/dist/types/utility.js +3 -0
  408. package/dist/types/utility.js.map +1 -0
  409. package/dist/utils/KeyboardAware/context.d.ts +14 -0
  410. package/dist/utils/KeyboardAware/context.js +28 -0
  411. package/dist/utils/KeyboardAware/context.js.map +1 -0
  412. package/dist/utils/KeyboardAware/index.d.ts +3 -0
  413. package/dist/utils/KeyboardAware/index.js +20 -0
  414. package/dist/utils/KeyboardAware/index.js.map +1 -0
  415. package/dist/utils/KeyboardAware/keyboardHooks.d.ts +21 -0
  416. package/dist/utils/KeyboardAware/keyboardHooks.js +82 -0
  417. package/dist/utils/KeyboardAware/keyboardHooks.js.map +1 -0
  418. package/dist/utils/KeyboardAware/types.d.ts +1 -0
  419. package/dist/utils/KeyboardAware/types.js +7 -0
  420. package/dist/utils/KeyboardAware/types.js.map +1 -0
  421. package/dist/utils/ModalManager/components.d.ts +15 -0
  422. package/dist/utils/ModalManager/components.js +83 -0
  423. package/dist/utils/ModalManager/components.js.map +1 -0
  424. package/dist/utils/ModalManager/context.d.ts +48 -0
  425. package/dist/utils/ModalManager/context.js +184 -0
  426. package/dist/utils/ModalManager/context.js.map +1 -0
  427. package/dist/utils/ModalManager/index.d.ts +10 -0
  428. package/dist/utils/ModalManager/index.js +12 -0
  429. package/dist/utils/ModalManager/index.js.map +1 -0
  430. package/dist/utils/NotificationManager/index.d.ts +55 -0
  431. package/dist/utils/NotificationManager/index.js +304 -0
  432. package/dist/utils/NotificationManager/index.js.map +1 -0
  433. package/dist/utils/NotificationManager/types.d.ts +16 -0
  434. package/dist/utils/NotificationManager/types.js +3 -0
  435. package/dist/utils/NotificationManager/types.js.map +1 -0
  436. package/dist/utils/OSAlert.d.ts +32 -0
  437. package/dist/utils/OSAlert.js +143 -0
  438. package/dist/utils/OSAlert.js.map +1 -0
  439. package/dist/utils/PermissionManager/context.d.ts +53 -0
  440. package/dist/utils/PermissionManager/context.js +324 -0
  441. package/dist/utils/PermissionManager/context.js.map +1 -0
  442. package/dist/utils/PermissionManager/index.d.ts +4 -0
  443. package/dist/utils/PermissionManager/index.js +9 -0
  444. package/dist/utils/PermissionManager/index.js.map +1 -0
  445. package/dist/utils/PermissionManager/types.d.ts +16 -0
  446. package/dist/utils/PermissionManager/types.js +3 -0
  447. package/dist/utils/PermissionManager/types.js.map +1 -0
  448. package/dist/utils/StorageManager.d.ts +20 -0
  449. package/dist/utils/StorageManager.js +86 -0
  450. package/dist/utils/StorageManager.js.map +1 -0
  451. package/dist/utils/Subscription.d.ts +17 -0
  452. package/dist/utils/Subscription.js +72 -0
  453. package/dist/utils/Subscription.js.map +1 -0
  454. package/dist/utils/deprecated/notifications.d.ts +40 -0
  455. package/dist/utils/deprecated/notifications.js +274 -0
  456. package/dist/utils/deprecated/notifications.js.map +1 -0
  457. package/dist/utils/hooks.d.ts +68 -0
  458. package/dist/utils/hooks.js +228 -0
  459. package/dist/utils/hooks.js.map +1 -0
  460. package/dist/utils/index.d.ts +14 -0
  461. package/dist/utils/index.js +44 -0
  462. package/dist/utils/index.js.map +1 -0
  463. package/dist/utils/input.d.ts +35 -0
  464. package/dist/utils/input.js +49 -0
  465. package/dist/utils/input.js.map +1 -0
  466. package/dist/utils/locale.d.ts +1 -0
  467. package/dist/utils/locale.js +10 -0
  468. package/dist/utils/locale.js.map +1 -0
  469. package/dist/utils/misc.d.ts +12 -0
  470. package/dist/utils/misc.js +124 -0
  471. package/dist/utils/misc.js.map +1 -0
  472. package/dist/utils/theme.d.ts +23 -0
  473. package/dist/utils/theme.js +41 -0
  474. package/dist/utils/theme.js.map +1 -0
  475. package/dist/utils/useQueryListRefresh.d.ts +12 -0
  476. package/dist/utils/useQueryListRefresh.js +42 -0
  477. package/dist/utils/useQueryListRefresh.js.map +1 -0
  478. package/package.json +15 -13
  479. package/package.json.bak +53 -0
  480. package/src/components/Badge/index.tsx +3 -3
  481. package/src/components/DatePickerModal/index.tsx +3 -2
  482. package/src/components/FileInput/index.tsx +7 -7
  483. package/src/components/FileInput/types.ts +1 -1
  484. package/src/components/Image/index.tsx +1 -1
  485. package/src/components/Image/types.ts +1 -1
  486. package/src/components/NumberIncrement/index.tsx +21 -3
  487. package/src/components/NumberIncrement/types.ts +1 -0
  488. package/src/components/Pager/PagerDots.tsx +56 -0
  489. package/src/components/Pager/index.tsx +85 -173
  490. package/src/components/Pager/styles.ts +6 -1
  491. package/src/components/Pager/types.ts +16 -26
  492. package/src/components/PlacesAutocomplete/index.tsx +154 -0
  493. package/src/components/PlacesAutocomplete/styles.ts +12 -0
  494. package/src/components/PlacesAutocomplete/types.ts +42 -0
  495. package/src/components/Select/index.tsx +9 -13
  496. package/src/components/SortablePhotos/index.tsx +170 -0
  497. package/src/components/SortablePhotos/styles.ts +9 -0
  498. package/src/components/SortablePhotos/types.ts +58 -0
  499. package/src/components/SortablePhotos/useSortablePhotos.ts +174 -0
  500. package/src/components/Text/index.tsx +1 -1
  501. package/src/components/Text/types.ts +3 -2
  502. package/src/components/TextInput/index.tsx +8 -0
  503. package/src/components/TextInput/types.ts +2 -0
  504. package/src/components/components.ts +2 -0
  505. package/src/modules/PressableRipple/ripple.js +61 -61
  506. package/src/utils/StorageManager.ts +112 -0
  507. package/src/utils/hooks.ts +2 -51
  508. package/src/utils/index.ts +2 -1
  509. package/src/utils/misc.ts +41 -2
  510. package/src/utils/theme.ts +13 -9
@@ -1,7 +1,7 @@
1
- import PropTypes from 'prop-types';
2
- import React, { PureComponent } from 'react';
3
- import { View, Animated, Easing, Platform, TouchableWithoutFeedback, I18nManager } from 'react-native';
4
- import { styles, radius } from './styles.js';
1
+ import PropTypes from 'prop-types'
2
+ import React, { PureComponent } from 'react'
3
+ import { View, Animated, Easing, Platform, TouchableWithoutFeedback, I18nManager } from 'react-native'
4
+ import { styles, radius } from './styles.js'
5
5
 
6
6
  export default class Ripple extends PureComponent {
7
7
  static defaultProps = {
@@ -18,7 +18,7 @@ export default class Ripple extends PureComponent {
18
18
  disabled: false,
19
19
 
20
20
  onRippleAnimation: (animation, callback) => animation.start(callback),
21
- };
21
+ }
22
22
 
23
23
  static propTypes = {
24
24
  ...Animated.View.propTypes,
@@ -35,51 +35,51 @@ export default class Ripple extends PureComponent {
35
35
  disabled: PropTypes.bool,
36
36
 
37
37
  onRippleAnimation: PropTypes.func,
38
- };
38
+ }
39
39
 
40
40
  constructor(props) {
41
- super(props);
41
+ super(props)
42
42
 
43
- this.onLayout = this.onLayout.bind(this);
44
- this.onPress = this.onPress.bind(this);
45
- this.onPressIn = this.onPressIn.bind(this);
46
- this.onPressOut = this.onPressOut.bind(this);
47
- this.onLongPress = this.onLongPress.bind(this);
48
- this.onAnimationEnd = this.onAnimationEnd.bind(this);
43
+ this.onLayout = this.onLayout.bind(this)
44
+ this.onPress = this.onPress.bind(this)
45
+ this.onPressIn = this.onPressIn.bind(this)
46
+ this.onPressOut = this.onPressOut.bind(this)
47
+ this.onLongPress = this.onLongPress.bind(this)
48
+ this.onAnimationEnd = this.onAnimationEnd.bind(this)
49
49
 
50
- this.renderRipple = this.renderRipple.bind(this);
50
+ this.renderRipple = this.renderRipple.bind(this)
51
51
 
52
- this.unique = 0;
53
- this.mounted = false;
52
+ this.unique = 0
53
+ this.mounted = false
54
54
 
55
55
  this.state = {
56
56
  width: 0,
57
57
  height: 0,
58
58
  ripples: [],
59
- };
59
+ }
60
60
  }
61
61
 
62
62
  componentDidMount() {
63
- this.mounted = true;
63
+ this.mounted = true
64
64
  }
65
65
 
66
66
  componentWillUnmount() {
67
- this.mounted = false;
67
+ this.mounted = false
68
68
  }
69
69
 
70
70
  onLayout(event) {
71
- let { width, height } = event.nativeEvent.layout;
72
- let { onLayout } = this.props;
71
+ let { width, height } = event.nativeEvent.layout
72
+ let { onLayout } = this.props
73
73
 
74
74
  if ('function' === typeof onLayout) {
75
- onLayout(event);
75
+ onLayout(event)
76
76
  }
77
77
 
78
- this.setState({ width, height });
78
+ this.setState({ width, height })
79
79
  }
80
80
 
81
81
  onPress(event) {
82
- let { onPress } = this.props;
82
+ let { onPress } = this.props
83
83
 
84
84
  if ('function' === typeof onPress) {
85
85
  onPress(event)
@@ -87,61 +87,61 @@ export default class Ripple extends PureComponent {
87
87
  }
88
88
 
89
89
  onLongPress(event) {
90
- let { onLongPress } = this.props;
90
+ let { onLongPress } = this.props
91
91
 
92
92
  if ('function' === typeof onLongPress) {
93
- requestAnimationFrame(() => onLongPress(event));
93
+ requestAnimationFrame(() => onLongPress(event))
94
94
  }
95
95
 
96
- this.startRipple(event);
96
+ this.startRipple(event)
97
97
  }
98
98
 
99
99
  onPressIn(event) {
100
- let { onPressIn } = this.props;
100
+ let { onPressIn } = this.props
101
101
 
102
102
  if ('function' === typeof onPressIn) {
103
- onPressIn(event);
103
+ onPressIn(event)
104
104
  }
105
105
 
106
- this.startRipple(event);
106
+ this.startRipple(event)
107
107
  }
108
108
 
109
109
  onPressOut(event) {
110
- let { onPressOut } = this.props;
110
+ let { onPressOut } = this.props
111
111
 
112
112
  if ('function' === typeof onPressOut) {
113
- onPressOut(event);
113
+ onPressOut(event)
114
114
  }
115
115
  }
116
116
 
117
117
  onAnimationEnd() {
118
118
  if (this.mounted) {
119
- this.setState(({ ripples }) => ({ ripples: ripples.slice(1) }));
119
+ this.setState(({ ripples }) => ({ ripples: ripples.slice(1) }))
120
120
  }
121
121
  }
122
122
 
123
123
  startRipple(event) {
124
- let { width, height } = this.state;
124
+ let { width, height } = this.state
125
125
  let {
126
126
  rippleDuration,
127
127
  rippleCentered,
128
128
  rippleSize,
129
129
  onRippleAnimation,
130
- } = this.props;
130
+ } = this.props
131
131
 
132
- let w2 = 0.5 * width;
133
- let h2 = 0.5 * height;
132
+ let w2 = 0.5 * width
133
+ let h2 = 0.5 * height
134
134
 
135
- let { locationX, locationY } = rippleCentered?
136
- { locationX: w2, locationY: h2 }:
137
- event.nativeEvent;
135
+ let { locationX, locationY } = rippleCentered ?
136
+ { locationX: w2, locationY: h2 } :
137
+ event.nativeEvent
138
138
 
139
- let offsetX = Math.abs(w2 - locationX);
140
- let offsetY = Math.abs(h2 - locationY);
139
+ let offsetX = Math.abs(w2 - locationX)
140
+ let offsetY = Math.abs(h2 - locationY)
141
141
 
142
- let R = rippleSize > 0?
143
- 0.5 * rippleSize:
144
- Math.sqrt(Math.pow(w2 + offsetX, 2) + Math.pow(h2 + offsetY, 2));
142
+ let R = rippleSize > 0 ?
143
+ 0.5 * rippleSize :
144
+ Math.sqrt(Math.pow(w2 + offsetX, 2) + Math.pow(h2 + offsetY, 2))
145
145
 
146
146
  let ripple = {
147
147
  unique: this.unique++,
@@ -149,7 +149,7 @@ export default class Ripple extends PureComponent {
149
149
  locationX,
150
150
  locationY,
151
151
  R,
152
- };
152
+ }
153
153
 
154
154
  let animation = Animated
155
155
  .timing(ripple.progress, {
@@ -157,20 +157,20 @@ export default class Ripple extends PureComponent {
157
157
  easing: Easing.out(Easing.ease),
158
158
  duration: rippleDuration,
159
159
  useNativeDriver: true,
160
- });
160
+ })
161
161
 
162
- onRippleAnimation(animation, this.onAnimationEnd);
162
+ onRippleAnimation(animation, this.onAnimationEnd)
163
163
 
164
- this.setState(({ ripples }) => ({ ripples: ripples.concat(ripple) }));
164
+ this.setState(({ ripples }) => ({ ripples: ripples.concat(ripple) }))
165
165
  }
166
166
 
167
167
  renderRipple({ unique, progress, locationX, locationY, R }) {
168
- let { rippleColor, rippleOpacity, rippleFades } = this.props;
168
+ let { rippleColor, color = rippleColor, rippleOpacity, rippleFades } = this.props
169
169
 
170
170
  let rippleStyle = {
171
171
  top: locationY - radius,
172
- [I18nManager.isRTL? 'right' : 'left']: locationX - radius,
173
- backgroundColor: rippleColor,
172
+ [I18nManager.isRTL ? 'right' : 'left']: locationX - radius,
173
+ backgroundColor: color,
174
174
 
175
175
  transform: [{
176
176
  scale: progress.interpolate({
@@ -179,21 +179,21 @@ export default class Ripple extends PureComponent {
179
179
  }),
180
180
  }],
181
181
 
182
- opacity: rippleFades?
182
+ opacity: rippleFades ?
183
183
  progress.interpolate({
184
184
  inputRange: [0, 1],
185
185
  outputRange: [rippleOpacity, 0],
186
- }):
186
+ }) :
187
187
  rippleOpacity,
188
- };
188
+ }
189
189
 
190
190
  return (
191
191
  <Animated.View style={[styles.ripple, rippleStyle]} key={unique} />
192
- );
192
+ )
193
193
  }
194
194
 
195
195
  render() {
196
- let { ripples } = this.state;
196
+ let { ripples } = this.state
197
197
  let {
198
198
  delayLongPress,
199
199
  delayPressIn,
@@ -225,7 +225,7 @@ export default class Ripple extends PureComponent {
225
225
  radiusStyles,
226
226
 
227
227
  ...props
228
- } = this.props;
228
+ } = this.props
229
229
 
230
230
  let touchableProps = {
231
231
  disabled,
@@ -241,8 +241,8 @@ export default class Ripple extends PureComponent {
241
241
  onPressOut: this.onPressOut,
242
242
  onLongPress: onLongPress ? this.onLongPress : undefined,
243
243
 
244
- ...('web' !== Platform.OS? { nativeID } : null),
245
- };
244
+ ...('web' !== Platform.OS ? { nativeID } : null),
245
+ }
246
246
 
247
247
  return (
248
248
  <TouchableWithoutFeedback {...touchableProps} ref={ref}>
@@ -253,6 +253,6 @@ export default class Ripple extends PureComponent {
253
253
  </View>
254
254
  </Animated.View>
255
255
  </TouchableWithoutFeedback>
256
- );
256
+ )
257
257
  }
258
258
  }
@@ -0,0 +1,112 @@
1
+ import { MMKV } from 'react-native-mmkv'
2
+ import { AnyFunction, AnyRecord } from '@codeleap/common'
3
+
4
+ type StorageKey<T extends Record<string, any>> = keyof T | (string & {}) | ((allKeys: T) => string) | [keyof T, any]
5
+
6
+ type ValueTypeMap<V = AnyRecord> = {
7
+ string: string
8
+ number: number
9
+ boolean: boolean
10
+ object: V
11
+ }
12
+
13
+ export class StorageManager<T extends Record<string, any>> {
14
+ public instance = new MMKV()
15
+
16
+ public storageKeys: T
17
+
18
+ constructor(keys: T) {
19
+ this.storageKeys = keys
20
+ }
21
+
22
+ public getStorageKey(key: StorageKey<T>): string {
23
+ if (typeof key == 'function') {
24
+ return key(this.storageKeys)
25
+ }
26
+
27
+ if (Array.isArray(key)) {
28
+ const [storageKey, value] = key
29
+
30
+ const extractor = this.storageKeys?.[storageKey] as unknown as AnyFunction
31
+
32
+ return extractor?.(value)
33
+ }
34
+
35
+ const storageKey = this.storageKeys?.[key]
36
+
37
+ if (!!storageKey) {
38
+ return storageKey
39
+ } else {
40
+ return key as string
41
+ }
42
+ }
43
+
44
+ private parseValue(value: any) {
45
+ try {
46
+ return JSON.parse(value)
47
+ } catch (e) {
48
+ return value
49
+ }
50
+ }
51
+
52
+ public exists(key: StorageKey<T>) {
53
+ const storageKey = this.getStorageKey(key)
54
+ return this.instance.contains(storageKey)
55
+ }
56
+
57
+ public get(key: StorageKey<T>, type: 'string'): string | undefined
58
+ public get(key: StorageKey<T>, type: 'number'): number | undefined
59
+ public get(key: StorageKey<T>, type: 'boolean'): boolean | undefined
60
+ public get<V extends AnyRecord = AnyRecord>(key: StorageKey<T>): V | undefined
61
+ public get<V extends AnyRecord = AnyRecord>(key: StorageKey<T>, type?: keyof ValueTypeMap<V>): ValueTypeMap<V>[keyof ValueTypeMap<V>] | undefined {
62
+ const storageKey = this.getStorageKey(key)
63
+
64
+ if (type === 'string') {
65
+ return this.instance.getString(storageKey) as ValueTypeMap<V>[keyof ValueTypeMap<V>]
66
+ } else if (type === 'number') {
67
+ return this.instance.getNumber(storageKey) as ValueTypeMap<V>[keyof ValueTypeMap<V>]
68
+ } else if (type === 'boolean') {
69
+ return this.instance.getBoolean(storageKey) as ValueTypeMap<V>[keyof ValueTypeMap<V>]
70
+ } else {
71
+ const value = this.instance.getString(storageKey)
72
+
73
+ return !!value ? this.parseValue(value) : undefined
74
+ }
75
+ }
76
+
77
+ public set<V extends any>(key: StorageKey<T>, value: V) {
78
+ const storageKey = this.getStorageKey(key)
79
+
80
+ const isValidValue = typeof value == 'string' || typeof value == 'number' || typeof value == 'boolean'
81
+
82
+ const parsedValue = isValidValue ? value : JSON.stringify(value)
83
+
84
+ this.instance.set(storageKey, parsedValue)
85
+ }
86
+
87
+ public remove(key: StorageKey<T>) {
88
+ const storageKey = this.getStorageKey(key)
89
+
90
+ this.instance.delete(storageKey)
91
+ }
92
+
93
+ public multiRemove(keys: Array<StorageKey<T>>) {
94
+ for (const key of keys) {
95
+ const storageKey = this.getStorageKey(key)
96
+ this.instance.delete(storageKey)
97
+ }
98
+ }
99
+
100
+ public multiGet(keys: Array<StorageKey<T>>): Partial<Record<keyof T, any>> {
101
+ const values: Partial<Record<keyof T, any>> = {}
102
+
103
+ for (const key of keys) {
104
+ const storageKey = this.getStorageKey(key)
105
+ const value = this.instance.getString(storageKey)
106
+
107
+ values[key as keyof T] = value
108
+ }
109
+
110
+ return values
111
+ }
112
+ }
@@ -1,8 +1,6 @@
1
1
  import { onMount, onUpdate, shadeColor, TypeGuards, usePrevious, useRef, useState } from '@codeleap/common'
2
- import { Animated, AppState, AppStateStatus, Platform, PressableAndroidRippleConfig, BackHandler, ViewStyle, ImageStyle, TextStyle, StyleSheet, StyleProp } from 'react-native'
3
-
4
- import AsyncStorage from '@react-native-community/async-storage'
5
- import { AnimatedStyleProp, Easing, EasingFn, interpolateColor, runOnJS, useAnimatedRef, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated'
2
+ import { Animated, AppState, AppStateStatus, Platform, BackHandler, ViewStyle, ImageStyle, TextStyle, StyleSheet, StyleProp } from 'react-native'
3
+ import { AnimatedStyleProp, Easing, EasingFn, useAnimatedStyle, withTiming } from 'react-native-reanimated'
6
4
  import { PressableRippleProps } from '../modules/PressableRipple/type'
7
5
  import { useSoftInputState } from 'react-native-avoid-softinput'
8
6
  import { useMemo } from 'react'
@@ -305,53 +303,6 @@ export function useBackButton(cb: () => boolean|void, deps = []) {
305
303
  }
306
304
  }, deps)
307
305
  }
308
- type StateSetter<T> = T | ((prev:T) => T)
309
-
310
- export function useAsyncStorageState<T>(key:string, defaultValue?: T) {
311
- const [value, _setValue] = useState<T>(undefined)
312
-
313
- onMount(() => {
314
- AsyncStorage.getItem(key).then(val => {
315
- let storedValue = defaultValue
316
-
317
- if (val) {
318
- storedValue = JSON.parse(val)
319
- }
320
-
321
- _setValue(storedValue)
322
- })
323
- })
324
-
325
- const setValue = (to: StateSetter<T>) => {
326
- return new Promise<void>((resolve, reject) => {
327
- _setValue((prev) => {
328
- let newValue = prev
329
- try {
330
-
331
- if (typeof to !== 'function') {
332
- newValue = to
333
- } else {
334
- const fn = to as ((prev:T) => T)
335
- newValue = fn(value)
336
- }
337
-
338
- const jsonVal = JSON.stringify(newValue)
339
-
340
- AsyncStorage.setItem(key, jsonVal).then(resolve).catch(reject)
341
- resolve()
342
- return newValue
343
- } catch (e) {
344
- reject(e)
345
- return newValue
346
- }
347
-
348
- })
349
- })
350
-
351
- }
352
-
353
- return [value, setValue] as [T, typeof setValue]
354
- }
355
306
 
356
307
  export function useKeyboardPaddingStyle(styles: ViewStyle[], enabled = true) {
357
308
  const { isSoftInputShown, softInputHeight } = useSoftInputState()
@@ -11,4 +11,5 @@ export * from './input'
11
11
  export * from './theme'
12
12
  export * from './locale'
13
13
  export * from './Subscription'
14
- export * from './useQueryListRefresh'
14
+ export * from './useQueryListRefresh'
15
+ export * from './StorageManager'
package/src/utils/misc.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { MobileFile, MobileInputFile, parseFilePathData, FileWithPreview } from '@codeleap/common'
1
+ import { MobileFile, MobileInputFile, parseFilePathData, FileWithPreview, TypeGuards } from '@codeleap/common'
2
2
 
3
3
  export const stringToFile = (str: string): MobileInputFile => {
4
4
  if (!str) {
@@ -62,7 +62,7 @@ export function isFile(param:any): param is MobileInputFile {
62
62
  }
63
63
  }
64
64
 
65
- export function toMultipart(body) {
65
+ export function toMultipart(body, defaultFileValue = 'null') {
66
66
  const form = new FormData()
67
67
 
68
68
  for (const [key, value] of Object.entries(body)) {
@@ -71,6 +71,17 @@ export function toMultipart(body) {
71
71
  formValue = value.map((file) => form.append(key, toMultipartFile(file)))
72
72
  } else if (isFile(value)) {
73
73
  formValue = toMultipartFile(value)
74
+ } else if (key === 'files' && typeof value === 'object') {
75
+
76
+ if (TypeGuards.isNil(value)) {
77
+ form.append(key, defaultFileValue)
78
+ } else {
79
+
80
+ for (const [filename, file] of Object.entries(value)) {
81
+ form.append(filename, toMultipartFile(file))
82
+ }
83
+ }
84
+
74
85
  } else if (typeof value === 'object') {
75
86
  formValue = JSON.stringify(value)
76
87
  } else {
@@ -81,3 +92,31 @@ export function toMultipart(body) {
81
92
 
82
93
  return form
83
94
  }
95
+
96
+ export function getFileMimeType(uri: string) {
97
+ const extension = uri.split('.').pop().toLowerCase()
98
+
99
+ const mimeTypes = {
100
+ jpg: 'image/jpeg',
101
+ jpeg: 'image/jpeg',
102
+ png: 'image/png',
103
+ gif: 'image/gif',
104
+ webp: 'image/webp',
105
+ pdf: 'application/pdf',
106
+ txt: 'text/plain',
107
+ mp4: 'video/mp4',
108
+ }
109
+
110
+ return mimeTypes[extension] || 'application/octet-stream'
111
+ }
112
+
113
+ export function getFileInfo(uri: string) {
114
+ const fileName = uri.split('/').pop()
115
+ const fileType = getFileMimeType(fileName)
116
+
117
+ return {
118
+ name: fileName,
119
+ type: fileType,
120
+ uri: uri,
121
+ }
122
+ }
@@ -1,23 +1,27 @@
1
- import { Platform, Dimensions, StatusBar, StyleSheet } from 'react-native'
1
+ import { Platform, Dimensions, StyleSheet } from 'react-native'
2
2
  import DeviceInfo from 'react-native-device-info'
3
3
 
4
- type AppValues = {
5
- headerHeight: number
6
- tabBarHeight: number
4
+ type Options = {
5
+ getStatusBarHeight?: () => number
6
+ getAndroidNavbarHeight?: () => number
7
7
  }
8
8
 
9
- export function getMobileThemeValues(initialWindowMetrics, values: AppValues) {
9
+ export function getMobileThemeValues(initialWindowMetrics, options: Options = {}) {
10
10
  const screenDimensions = Dimensions.get('screen')
11
11
 
12
12
  const hasNotch = DeviceInfo.hasNotch()
13
13
  const hasIsland = DeviceInfo.hasDynamicIsland()
14
- const bottomNavHeight = Platform.OS === 'android' ? initialWindowMetrics?.insets?.bottom : 0
14
+ const bottomNavHeight = Platform.OS === 'android' ? options?.getAndroidNavbarHeight?.() ?? 0 : 0
15
15
 
16
16
  const prefersConstantNavigationBar = bottomNavHeight > 0
17
17
 
18
- const safeAreaTop = Platform.OS === 'ios' ? (hasNotch ? 34 + (hasIsland ? 12 : 0) : 20) : StatusBar.currentHeight
18
+ const safeAreaTop = Platform.OS === 'ios' ? (hasNotch ? 34 + (hasIsland ? 12 : 0) : 20) : (options?.getStatusBarHeight?.() || 0)
19
+
20
+ const safeAreaBottom = Platform.select({
21
+ ios: hasNotch && !prefersConstantNavigationBar ? 20 : 0,
22
+ android: bottomNavHeight ?? initialWindowMetrics?.insets.bottom ?? 0,
23
+ })
19
24
 
20
- const safeAreaBottom = (hasNotch && !prefersConstantNavigationBar ? 20 : 0)
21
25
  return {
22
26
  ...screenDimensions,
23
27
  pixel: StyleSheet.hairlineWidth,
@@ -30,7 +34,7 @@ export function getMobileThemeValues(initialWindowMetrics, values: AppValues) {
30
34
  bottomNavHeight,
31
35
  get window() {
32
36
  return {
33
- height: screenDimensions.height - (bottomNavHeight + safeAreaTop),
37
+ height: screenDimensions.height - (safeAreaBottom + safeAreaTop),
34
38
  width: screenDimensions.width,
35
39
  }
36
40
  },