@codeleap/mobile 4.1.0 → 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 (490) 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 +9 -10
  479. package/package.json.bak +53 -0
  480. package/src/components/Badge/index.tsx +3 -3
  481. package/src/components/Image/index.tsx +1 -1
  482. package/src/components/Image/types.ts +1 -1
  483. package/src/components/Pager/index.tsx +4 -4
  484. package/src/components/Pager/types.ts +2 -2
  485. package/src/components/PlacesAutocomplete/index.tsx +3 -1
  486. package/src/modules/PressableRipple/ripple.js +61 -61
  487. package/src/utils/StorageManager.ts +112 -0
  488. package/src/utils/hooks.ts +2 -51
  489. package/src/utils/index.ts +2 -1
  490. 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'
@@ -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
  },