@admin-layout/gluestack-ui-mobile 11.0.1-alpha.0 → 11.0.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/components/Fallback.js +12 -12
  3. package/lib/components/Fallback.js.map +1 -1
  4. package/lib/components/Layout/components/BasicLayout.js +2 -2
  5. package/lib/components/Layout/components/BasicLayout.js.map +1 -1
  6. package/lib/components/Layout/components/BottomTabBar.js +6 -6
  7. package/lib/components/Layout/components/BottomTabBar.js.map +1 -1
  8. package/lib/components/Layout/components/Drawer.js +16 -17
  9. package/lib/components/Layout/components/Drawer.js.map +1 -1
  10. package/lib/components/Layout/components/Header.js +12 -15
  11. package/lib/components/Layout/components/Header.js.map +1 -1
  12. package/lib/components/Layout/components/Sample.js +1 -1
  13. package/lib/components/Layout/components/Sample.js.map +1 -1
  14. package/lib/components/Layout/components/SettingDrawer/LayoutButton.js +9 -9
  15. package/lib/components/Layout/components/SettingDrawer/LayoutButton.js.map +1 -1
  16. package/lib/components/Layout/components/SettingDrawer/SettingDrawer.js +37 -36
  17. package/lib/components/Layout/components/SettingDrawer/SettingDrawer.js.map +1 -1
  18. package/lib/components/Layout/components/SettingDrawer/ThemeColorButton.js +13 -2
  19. package/lib/components/Layout/components/SettingDrawer/ThemeColorButton.js.map +1 -1
  20. package/lib/components/Layout/components/SideBar.js +7 -10
  21. package/lib/components/Layout/components/SideBar.js.map +1 -1
  22. package/lib/components/ToastAlert.d.ts +1 -1
  23. package/lib/components/ToastAlert.js +4 -4
  24. package/lib/components/ToastAlert.js.map +1 -1
  25. package/lib/components/UnAuthenticatedComponent.js +9 -9
  26. package/lib/components/UnAuthenticatedComponent.js.map +1 -1
  27. package/lib/components/WithConfiguration.js +1 -1
  28. package/lib/components/WithConfiguration.js.map +1 -1
  29. package/lib/components/WithPermission.d.ts +1 -1
  30. package/lib/components/WithPermission.js +1 -1
  31. package/lib/components/WithPermission.js.map +1 -1
  32. package/lib/components/WithPolicy.js +1 -1
  33. package/lib/components/WithPolicy.js.map +1 -1
  34. package/lib/components/index.d.ts +1 -0
  35. package/lib/components/index.js +1 -0
  36. package/lib/components/index.js.map +1 -1
  37. package/lib/components/ui/IconSymbol.d.ts +19 -0
  38. package/lib/components/ui/IconSymbol.ios.d.ts +10 -0
  39. package/lib/components/ui/IconSymbol.ios.js +12 -0
  40. package/lib/components/ui/IconSymbol.ios.js.map +1 -0
  41. package/lib/components/ui/IconSymbol.js +21 -0
  42. package/lib/components/ui/IconSymbol.js.map +1 -0
  43. package/lib/components/ui/TabBarBackground.d.ts +2 -0
  44. package/lib/components/ui/TabBarBackground.ios.d.ts +3 -0
  45. package/lib/components/ui/TabBarBackground.ios.js +20 -0
  46. package/lib/components/ui/TabBarBackground.ios.js.map +1 -0
  47. package/lib/components/ui/TabBarBackground.js +6 -0
  48. package/lib/components/ui/TabBarBackground.js.map +1 -0
  49. package/lib/components/ui/accordion/index.d.ts +193 -0
  50. package/lib/components/ui/accordion/index.js +177 -0
  51. package/lib/components/ui/accordion/index.js.map +1 -0
  52. package/lib/components/ui/actionsheet/index.d.ts +735 -0
  53. package/lib/components/ui/actionsheet/index.js +274 -0
  54. package/lib/components/ui/actionsheet/index.js.map +1 -0
  55. package/lib/components/ui/alert/index.d.ts +479 -0
  56. package/lib/components/ui/alert/index.js +153 -0
  57. package/lib/components/ui/alert/index.js.map +1 -0
  58. package/lib/components/ui/alert-dialog/index.d.ts +59 -0
  59. package/lib/components/ui/alert-dialog/index.js +137 -0
  60. package/lib/components/ui/alert-dialog/index.js.map +1 -0
  61. package/lib/components/ui/avatar/index.d.ts +144 -0
  62. package/lib/components/ui/avatar/index.js +99 -0
  63. package/lib/components/ui/avatar/index.js.map +1 -0
  64. package/lib/components/ui/badge/index.d.ts +386 -0
  65. package/lib/components/ui/badge/index.js +139 -0
  66. package/lib/components/ui/badge/index.js.map +1 -0
  67. package/lib/components/ui/box/index.d.ts +7 -0
  68. package/lib/components/ui/box/index.js +9 -0
  69. package/lib/components/ui/box/index.js.map +1 -0
  70. package/lib/components/ui/box/index.web.d.ts +6 -0
  71. package/lib/components/ui/box/index.web.js +8 -0
  72. package/lib/components/ui/box/index.web.js.map +1 -0
  73. package/lib/components/ui/box/styles.d.ts +1 -0
  74. package/lib/components/ui/box/styles.js +9 -0
  75. package/lib/components/ui/box/styles.js.map +1 -0
  76. package/lib/components/ui/button/index.d.ts +529 -0
  77. package/lib/components/ui/button/index.js +280 -0
  78. package/lib/components/ui/button/index.js.map +1 -0
  79. package/lib/components/ui/card/index.d.ts +129 -0
  80. package/lib/components/ui/card/index.js +9 -0
  81. package/lib/components/ui/card/index.js.map +1 -0
  82. package/lib/components/ui/card/index.web.d.ts +126 -0
  83. package/lib/components/ui/card/index.web.js +8 -0
  84. package/lib/components/ui/card/index.web.js.map +1 -0
  85. package/lib/components/ui/card/styles.d.ts +123 -0
  86. package/lib/components/ui/card/styles.js +20 -0
  87. package/lib/components/ui/card/styles.js.map +1 -0
  88. package/lib/components/ui/center/index.d.ts +5 -0
  89. package/lib/components/ui/center/index.js +9 -0
  90. package/lib/components/ui/center/index.js.map +1 -0
  91. package/lib/components/ui/center/index.web.d.ts +4 -0
  92. package/lib/components/ui/center/index.web.js +8 -0
  93. package/lib/components/ui/center/index.web.js.map +1 -0
  94. package/lib/components/ui/center/styles.d.ts +1 -0
  95. package/lib/components/ui/center/styles.js +7 -0
  96. package/lib/components/ui/center/styles.js.map +1 -0
  97. package/lib/components/ui/checkbox/index.d.ts +115 -0
  98. package/lib/components/ui/checkbox/index.js +127 -0
  99. package/lib/components/ui/checkbox/index.js.map +1 -0
  100. package/lib/components/ui/divider/index.d.ts +54 -0
  101. package/lib/components/ui/divider/index.js +22 -0
  102. package/lib/components/ui/divider/index.js.map +1 -0
  103. package/lib/components/ui/drawer/index.d.ts +207 -0
  104. package/lib/components/ui/drawer/index.js +198 -0
  105. package/lib/components/ui/drawer/index.js.map +1 -0
  106. package/lib/components/ui/fab/index.d.ts +520 -0
  107. package/lib/components/ui/fab/index.js +142 -0
  108. package/lib/components/ui/fab/index.js.map +1 -0
  109. package/lib/components/ui/flat-list/index.d.ts +1 -0
  110. package/lib/components/ui/flat-list/index.js +3 -0
  111. package/lib/components/ui/flat-list/index.js.map +1 -0
  112. package/lib/components/ui/form-control/index.d.ts +2072 -0
  113. package/lib/components/ui/form-control/index.js +290 -0
  114. package/lib/components/ui/form-control/index.js.map +1 -0
  115. package/lib/components/ui/gluestack-ui-provider/config.d.ts +4 -0
  116. package/lib/components/ui/gluestack-ui-provider/config.js +287 -0
  117. package/lib/components/ui/gluestack-ui-provider/config.js.map +1 -0
  118. package/lib/components/ui/gluestack-ui-provider/index.d.ts +8 -0
  119. package/lib/components/ui/gluestack-ui-provider/index.js +22 -0
  120. package/lib/components/ui/gluestack-ui-provider/index.js.map +1 -0
  121. package/lib/components/ui/gluestack-ui-provider/index.web.d.ts +7 -0
  122. package/lib/components/ui/gluestack-ui-provider/index.web.js +69 -0
  123. package/lib/components/ui/gluestack-ui-provider/index.web.js.map +1 -0
  124. package/lib/components/ui/gluestack-ui-provider/script.d.ts +1 -0
  125. package/lib/components/ui/gluestack-ui-provider/script.js +17 -0
  126. package/lib/components/ui/gluestack-ui-provider/script.js.map +1 -0
  127. package/lib/components/ui/gluestack-ui-provider/types.d.ts +1 -0
  128. package/lib/components/ui/gluestack-ui-provider/types.js +2 -0
  129. package/lib/components/ui/gluestack-ui-provider/types.js.map +1 -0
  130. package/lib/components/ui/grid/index.d.ts +27 -0
  131. package/lib/components/ui/grid/index.js +175 -0
  132. package/lib/components/ui/grid/index.js.map +1 -0
  133. package/lib/components/ui/grid/index.web.d.ts +23 -0
  134. package/lib/components/ui/grid/index.web.js +20 -0
  135. package/lib/components/ui/grid/index.web.js.map +1 -0
  136. package/lib/components/ui/grid/styles.d.ts +2 -0
  137. package/lib/components/ui/grid/styles.js +11 -0
  138. package/lib/components/ui/grid/styles.js.map +1 -0
  139. package/lib/components/ui/heading/index.d.ts +335 -0
  140. package/lib/components/ui/heading/index.js +135 -0
  141. package/lib/components/ui/heading/index.js.map +1 -0
  142. package/lib/components/ui/heading/index.web.d.ts +335 -0
  143. package/lib/components/ui/heading/index.web.js +113 -0
  144. package/lib/components/ui/heading/index.web.js.map +1 -0
  145. package/lib/components/ui/heading/styles.d.ts +330 -0
  146. package/lib/components/ui/heading/styles.js +43 -0
  147. package/lib/components/ui/heading/styles.js.map +1 -0
  148. package/lib/components/ui/hstack/index.d.ts +150 -0
  149. package/lib/components/ui/hstack/index.js +9 -0
  150. package/lib/components/ui/hstack/index.js.map +1 -0
  151. package/lib/components/ui/hstack/index.web.d.ts +148 -0
  152. package/lib/components/ui/hstack/index.web.js +8 -0
  153. package/lib/components/ui/hstack/index.web.js.map +1 -0
  154. package/lib/components/ui/hstack/styles.d.ts +145 -0
  155. package/lib/components/ui/hstack/styles.js +24 -0
  156. package/lib/components/ui/hstack/styles.js.map +1 -0
  157. package/lib/components/ui/icon/index.d.ts +364 -0
  158. package/lib/components/ui/icon/index.js +565 -0
  159. package/lib/components/ui/icon/index.js.map +1 -0
  160. package/lib/components/ui/icon/index.web.d.ts +489 -0
  161. package/lib/components/ui/icon/index.web.js +555 -0
  162. package/lib/components/ui/icon/index.web.js.map +1 -0
  163. package/lib/components/ui/image/index.d.ts +132 -0
  164. package/lib/components/ui/image/index.js +33 -0
  165. package/lib/components/ui/image/index.js.map +1 -0
  166. package/lib/components/ui/image-background/index.d.ts +3 -0
  167. package/lib/components/ui/image-background/index.js +11 -0
  168. package/lib/components/ui/image-background/index.js.map +1 -0
  169. package/lib/components/ui/index.d.ts +54 -0
  170. package/lib/components/ui/index.js +55 -0
  171. package/lib/components/ui/index.js.map +1 -0
  172. package/lib/components/ui/input/index.d.ts +262 -0
  173. package/lib/components/ui/input/index.js +121 -0
  174. package/lib/components/ui/input/index.js.map +1 -0
  175. package/lib/components/ui/input-accessory-view/index.d.ts +1 -0
  176. package/lib/components/ui/input-accessory-view/index.js +3 -0
  177. package/lib/components/ui/input-accessory-view/index.js.map +1 -0
  178. package/lib/components/ui/keyboard-avoiding-view/index.d.ts +1 -0
  179. package/lib/components/ui/keyboard-avoiding-view/index.js +3 -0
  180. package/lib/components/ui/keyboard-avoiding-view/index.js.map +1 -0
  181. package/lib/components/ui/link/index.d.ts +369 -0
  182. package/lib/components/ui/link/index.js +69 -0
  183. package/lib/components/ui/link/index.js.map +1 -0
  184. package/lib/components/ui/menu/index.d.ts +376 -0
  185. package/lib/components/ui/menu/index.js +120 -0
  186. package/lib/components/ui/menu/index.js.map +1 -0
  187. package/lib/components/ui/modal/index.d.ts +146 -0
  188. package/lib/components/ui/modal/index.js +137 -0
  189. package/lib/components/ui/modal/index.js.map +1 -0
  190. package/lib/components/ui/popover/index.d.ts +310 -0
  191. package/lib/components/ui/popover/index.js +172 -0
  192. package/lib/components/ui/popover/index.js.map +1 -0
  193. package/lib/components/ui/portal/index.d.ts +2 -0
  194. package/lib/components/ui/portal/index.js +9 -0
  195. package/lib/components/ui/portal/index.js.map +1 -0
  196. package/lib/components/ui/pressable/index.d.ts +13 -0
  197. package/lib/components/ui/pressable/index.js +20 -0
  198. package/lib/components/ui/pressable/index.js.map +1 -0
  199. package/lib/components/ui/progress/index.d.ts +174 -0
  200. package/lib/components/ui/progress/index.js +127 -0
  201. package/lib/components/ui/progress/index.js.map +1 -0
  202. package/lib/components/ui/radio/index.d.ts +160 -0
  203. package/lib/components/ui/radio/index.js +122 -0
  204. package/lib/components/ui/radio/index.js.map +1 -0
  205. package/lib/components/ui/refresh-control/index.d.ts +1 -0
  206. package/lib/components/ui/refresh-control/index.js +3 -0
  207. package/lib/components/ui/refresh-control/index.js.map +1 -0
  208. package/lib/components/ui/safe-area-view/index.d.ts +6 -0
  209. package/lib/components/ui/safe-area-view/index.js +9 -0
  210. package/lib/components/ui/safe-area-view/index.js.map +1 -0
  211. package/lib/components/ui/safe-area-view/styles.d.ts +1 -0
  212. package/lib/components/ui/safe-area-view/styles.js +9 -0
  213. package/lib/components/ui/safe-area-view/styles.js.map +1 -0
  214. package/lib/components/ui/scroll-view/index.d.ts +1 -0
  215. package/lib/components/ui/scroll-view/index.js +3 -0
  216. package/lib/components/ui/scroll-view/index.js.map +1 -0
  217. package/lib/components/ui/section-list/index.d.ts +1 -0
  218. package/lib/components/ui/section-list/index.js +3 -0
  219. package/lib/components/ui/section-list/index.js.map +1 -0
  220. package/lib/components/ui/select/index.d.ts +1708 -0
  221. package/lib/components/ui/select/index.js +155 -0
  222. package/lib/components/ui/select/index.js.map +1 -0
  223. package/lib/components/ui/select/select-actionsheet.d.ts +900 -0
  224. package/lib/components/ui/select/select-actionsheet.js +275 -0
  225. package/lib/components/ui/select/select-actionsheet.js.map +1 -0
  226. package/lib/components/ui/skeleton/index.d.ts +268 -0
  227. package/lib/components/ui/skeleton/index.js +63 -0
  228. package/lib/components/ui/skeleton/index.js.map +1 -0
  229. package/lib/components/ui/skeleton/index.web.d.ts +267 -0
  230. package/lib/components/ui/skeleton/index.web.js +37 -0
  231. package/lib/components/ui/skeleton/index.web.js.map +1 -0
  232. package/lib/components/ui/skeleton/styles.d.ts +257 -0
  233. package/lib/components/ui/skeleton/styles.js +35 -0
  234. package/lib/components/ui/skeleton/styles.js.map +1 -0
  235. package/lib/components/ui/slider/index.d.ts +211 -0
  236. package/lib/components/ui/slider/index.js +180 -0
  237. package/lib/components/ui/slider/index.js.map +1 -0
  238. package/lib/components/ui/spinner/index.d.ts +4 -0
  239. package/lib/components/ui/spinner/index.js +15 -0
  240. package/lib/components/ui/spinner/index.js.map +1 -0
  241. package/lib/components/ui/status-bar/index.d.ts +1 -0
  242. package/lib/components/ui/status-bar/index.js +3 -0
  243. package/lib/components/ui/status-bar/index.js.map +1 -0
  244. package/lib/components/ui/switch/index.d.ts +72 -0
  245. package/lib/components/ui/switch/index.js +25 -0
  246. package/lib/components/ui/switch/index.js.map +1 -0
  247. package/lib/components/ui/table/index.d.ts +17 -0
  248. package/lib/components/ui/table/index.js +96 -0
  249. package/lib/components/ui/table/index.js.map +1 -0
  250. package/lib/components/ui/table/index.web.d.ts +10 -0
  251. package/lib/components/ui/table/index.web.js +60 -0
  252. package/lib/components/ui/table/index.web.js.map +1 -0
  253. package/lib/components/ui/table/styles.d.ts +75 -0
  254. package/lib/components/ui/table/styles.js +36 -0
  255. package/lib/components/ui/table/styles.js.map +1 -0
  256. package/lib/components/ui/text/index.d.ts +358 -0
  257. package/lib/components/ui/text/index.js +19 -0
  258. package/lib/components/ui/text/index.js.map +1 -0
  259. package/lib/components/ui/text/index.web.d.ts +6 -0
  260. package/lib/components/ui/text/index.web.js +18 -0
  261. package/lib/components/ui/text/index.web.js.map +1 -0
  262. package/lib/components/ui/text/styles.d.ts +352 -0
  263. package/lib/components/ui/text/styles.js +45 -0
  264. package/lib/components/ui/text/styles.js.map +1 -0
  265. package/lib/components/ui/textarea/index.d.ts +129 -0
  266. package/lib/components/ui/textarea/index.js +52 -0
  267. package/lib/components/ui/textarea/index.js.map +1 -0
  268. package/lib/components/ui/toast/index.d.ts +527 -0
  269. package/lib/components/ui/toast/index.js +165 -0
  270. package/lib/components/ui/toast/index.js.map +1 -0
  271. package/lib/components/ui/tooltip/index.d.ts +391 -0
  272. package/lib/components/ui/tooltip/index.js +75 -0
  273. package/lib/components/ui/tooltip/index.js.map +1 -0
  274. package/lib/components/ui/utils/use-break-point-value.d.ts +14 -0
  275. package/lib/components/ui/utils/use-break-point-value.js +54 -0
  276. package/lib/components/ui/utils/use-break-point-value.js.map +1 -0
  277. package/lib/components/ui/view/index.d.ts +1 -0
  278. package/lib/components/ui/view/index.js +3 -0
  279. package/lib/components/ui/view/index.js.map +1 -0
  280. package/lib/components/ui/virtualized-list/index.d.ts +1 -0
  281. package/lib/components/ui/virtualized-list/index.js +3 -0
  282. package/lib/components/ui/virtualized-list/index.js.map +1 -0
  283. package/lib/components/ui/vstack/index.d.ts +149 -0
  284. package/lib/components/ui/vstack/index.js +9 -0
  285. package/lib/components/ui/vstack/index.js.map +1 -0
  286. package/lib/components/ui/vstack/index.web.d.ts +6 -0
  287. package/lib/components/ui/vstack/index.web.js +8 -0
  288. package/lib/components/ui/vstack/index.web.js.map +1 -0
  289. package/lib/components/ui/vstack/styles.d.ts +145 -0
  290. package/lib/components/ui/vstack/styles.js +24 -0
  291. package/lib/components/ui/vstack/styles.js.map +1 -0
  292. package/lib/components/usePermissionAutoFetch.d.ts +19 -7
  293. package/lib/components/with-interactions-lifecycle-managed.js +13 -11
  294. package/lib/components/with-interactions-lifecycle-managed.js.map +1 -1
  295. package/lib/components/with-interactions-managed.js +3 -3
  296. package/lib/components/with-interactions-managed.js.map +1 -1
  297. package/lib/containers/layout/ProLayout.js +2 -2
  298. package/lib/containers/layout/ProLayout.js.map +1 -1
  299. package/lib/global.css +3 -0
  300. package/lib/gluestack-ui-base-config.d.ts +8 -0
  301. package/lib/gluestack-ui-base-config.js +12 -0
  302. package/lib/gluestack-ui-base-config.js.map +1 -0
  303. package/lib/gluestack-ui.config.json +10 -0
  304. package/lib/index.d.ts +0 -3
  305. package/lib/index.js +5 -5
  306. package/lib/index.js.map +1 -1
  307. package/lib/nativewind-env.d.ts +1 -0
  308. package/lib/tailwind-base-config.d.ts +194 -0
  309. package/lib/tailwind-base-config.js +197 -0
  310. package/lib/tailwind-base-config.js.map +1 -0
  311. package/lib/tailwind.config.d.ts +1 -0
  312. package/lib/tailwind.config.js +197 -0
  313. package/lib/tailwind.config.js.map +1 -0
  314. package/lib/utils/generateMobileNavigations.js +26 -2
  315. package/lib/utils/generateMobileNavigations.js.map +1 -1
  316. package/package.json +39 -8
  317. package/src/components/Fallback.tsx +54 -58
  318. package/src/components/Layout/components/BasicLayout.tsx +2 -2
  319. package/src/components/Layout/components/BottomTabBar.tsx +92 -101
  320. package/src/components/Layout/components/Drawer.tsx +31 -28
  321. package/src/components/Layout/components/Header.tsx +26 -27
  322. package/src/components/Layout/components/Sample.tsx +1 -1
  323. package/src/components/Layout/components/SettingDrawer/LayoutButton.tsx +15 -29
  324. package/src/components/Layout/components/SettingDrawer/SettingDrawer.tsx +49 -57
  325. package/src/components/Layout/components/SettingDrawer/ThemeColorButton.tsx +14 -5
  326. package/src/components/Layout/components/SideBar.tsx +12 -17
  327. package/src/components/ToastAlert.tsx +13 -13
  328. package/src/components/UnAuthenticatedComponent.tsx +19 -27
  329. package/src/components/WithConfiguration.tsx +1 -1
  330. package/src/components/WithPermission.tsx +1 -1
  331. package/src/components/WithPolicy.tsx +1 -1
  332. package/src/components/index.ts +1 -0
  333. package/src/components/ui/IconSymbol.ios.tsx +33 -0
  334. package/src/components/ui/IconSymbol.tsx +40 -0
  335. package/src/components/ui/TabBarBackground.ios.tsx +23 -0
  336. package/src/components/ui/TabBarBackground.tsx +6 -0
  337. package/src/components/ui/accordion/index.tsx +304 -0
  338. package/src/components/ui/actionsheet/index.tsx +499 -0
  339. package/src/components/ui/alert/index.tsx +205 -0
  340. package/src/components/ui/alert-dialog/index.tsx +260 -0
  341. package/src/components/ui/avatar/index.tsx +162 -0
  342. package/src/components/ui/badge/index.tsx +188 -0
  343. package/src/components/ui/box/index.tsx +14 -0
  344. package/src/components/ui/box/index.web.tsx +13 -0
  345. package/src/components/ui/box/styles.tsx +10 -0
  346. package/src/components/ui/button/index.tsx +353 -0
  347. package/src/components/ui/card/index.tsx +16 -0
  348. package/src/components/ui/card/index.web.tsx +15 -0
  349. package/src/components/ui/card/styles.tsx +20 -0
  350. package/src/components/ui/center/index.tsx +14 -0
  351. package/src/components/ui/center/index.web.tsx +14 -0
  352. package/src/components/ui/center/styles.tsx +8 -0
  353. package/src/components/ui/checkbox/index.tsx +192 -0
  354. package/src/components/ui/divider/index.tsx +38 -0
  355. package/src/components/ui/drawer/index.tsx +311 -0
  356. package/src/components/ui/fab/index.tsx +190 -0
  357. package/src/components/ui/flat-list/index.tsx +2 -0
  358. package/src/components/ui/form-control/index.tsx +432 -0
  359. package/src/components/ui/gluestack-ui-provider/config.ts +309 -0
  360. package/src/components/ui/gluestack-ui-provider/index.tsx +38 -0
  361. package/src/components/ui/gluestack-ui-provider/index.web.tsx +88 -0
  362. package/src/components/ui/gluestack-ui-provider/script.ts +17 -0
  363. package/src/components/ui/gluestack-ui-provider/types.ts +1 -0
  364. package/src/components/ui/grid/index.tsx +284 -0
  365. package/src/components/ui/grid/index.web.tsx +61 -0
  366. package/src/components/ui/grid/styles.tsx +13 -0
  367. package/src/components/ui/heading/index.tsx +193 -0
  368. package/src/components/ui/heading/index.web.tsx +177 -0
  369. package/src/components/ui/heading/styles.tsx +43 -0
  370. package/src/components/ui/hstack/index.tsx +17 -0
  371. package/src/components/ui/hstack/index.web.tsx +15 -0
  372. package/src/components/ui/hstack/styles.tsx +25 -0
  373. package/src/components/ui/icon/index.tsx +1202 -0
  374. package/src/components/ui/icon/index.web.tsx +1190 -0
  375. package/src/components/ui/image/index.tsx +48 -0
  376. package/src/components/ui/image-background/index.tsx +21 -0
  377. package/src/components/ui/index.ts +54 -0
  378. package/src/components/ui/input/index.tsx +191 -0
  379. package/src/components/ui/input-accessory-view/index.tsx +2 -0
  380. package/src/components/ui/keyboard-avoiding-view/index.tsx +2 -0
  381. package/src/components/ui/link/index.tsx +92 -0
  382. package/src/components/ui/menu/index.tsx +179 -0
  383. package/src/components/ui/modal/index.tsx +244 -0
  384. package/src/components/ui/popover/index.tsx +309 -0
  385. package/src/components/ui/portal/index.tsx +12 -0
  386. package/src/components/ui/pressable/index.tsx +34 -0
  387. package/src/components/ui/progress/index.tsx +160 -0
  388. package/src/components/ui/radio/index.tsx +178 -0
  389. package/src/components/ui/refresh-control/index.tsx +2 -0
  390. package/src/components/ui/safe-area-view/index.tsx +22 -0
  391. package/src/components/ui/safe-area-view/styles.tsx +10 -0
  392. package/src/components/ui/scroll-view/index.tsx +2 -0
  393. package/src/components/ui/section-list/index.tsx +2 -0
  394. package/src/components/ui/select/index.tsx +251 -0
  395. package/src/components/ui/select/select-actionsheet.tsx +503 -0
  396. package/src/components/ui/skeleton/index.tsx +113 -0
  397. package/src/components/ui/skeleton/index.web.tsx +92 -0
  398. package/src/components/ui/skeleton/styles.tsx +35 -0
  399. package/src/components/ui/slider/index.tsx +239 -0
  400. package/src/components/ui/spinner/index.tsx +31 -0
  401. package/src/components/ui/status-bar/index.tsx +2 -0
  402. package/src/components/ui/switch/index.tsx +33 -0
  403. package/src/components/ui/table/index.tsx +171 -0
  404. package/src/components/ui/table/index.web.tsx +95 -0
  405. package/src/components/ui/table/styles.tsx +44 -0
  406. package/src/components/ui/text/index.tsx +53 -0
  407. package/src/components/ui/text/index.web.tsx +45 -0
  408. package/src/components/ui/text/styles.tsx +47 -0
  409. package/src/components/ui/textarea/index.tsx +83 -0
  410. package/src/components/ui/toast/index.tsx +218 -0
  411. package/src/components/ui/tooltip/index.tsx +104 -0
  412. package/src/components/ui/utils/use-break-point-value.ts +79 -0
  413. package/src/components/ui/view/index.tsx +2 -0
  414. package/src/components/ui/virtualized-list/index.tsx +2 -0
  415. package/src/components/ui/vstack/index.tsx +17 -0
  416. package/src/components/ui/vstack/index.web.tsx +16 -0
  417. package/src/components/ui/vstack/styles.tsx +25 -0
  418. package/src/components/with-interactions-lifecycle-managed.tsx +13 -14
  419. package/src/components/with-interactions-managed.tsx +3 -7
  420. package/src/containers/layout/ProLayout.tsx +3 -3
  421. package/src/global.css +3 -0
  422. package/src/gluestack-ui-base-config.js +12 -0
  423. package/src/gluestack-ui.config.json +10 -0
  424. package/src/index.ts +6 -7
  425. package/src/nativewind-env.d.ts +1 -0
  426. package/src/tailwind-base-config.js +197 -0
  427. package/src/tailwind.config.js +198 -0
  428. package/src/utils/generateMobileNavigations.ts +29 -1
  429. package/tsconfig.json +3 -9
@@ -22,7 +22,8 @@ import {
22
22
  Divider,
23
23
  Switch,
24
24
  ScrollView,
25
- } from '@gluestack-ui/themed';
25
+ ActionsheetScrollView,
26
+ } from '../../../ui';
26
27
  import { useSelector } from 'react-redux';
27
28
 
28
29
  import LayoutButton from './LayoutButton';
@@ -32,18 +33,16 @@ import { THEMECOLOR } from '../../../../utils/ThemeColor';
32
33
  export const SettingDrawer = ({ isOpen, onSettingChange, handleClose }: any) => {
33
34
  const settings = useSelector<any>((state) => state.settings) as any;
34
35
  return (
35
- <Actionsheet isOpen={isOpen} onClose={handleClose} zIndex={999}>
36
+ <Actionsheet isOpen={isOpen} onClose={handleClose} className="z-999">
36
37
  <ActionsheetBackdrop />
37
- <ActionsheetContent zIndex={999} w={'100%'}>
38
+ <ActionsheetContent className="z-999">
38
39
  <ActionsheetDragIndicatorWrapper>
39
40
  <ActionsheetDragIndicator />
40
41
  </ActionsheetDragIndicatorWrapper>
41
- <ScrollView>
42
- <Box alignItems="flex-start" bg={'$white'} w={'100%'} p={'$3'}>
43
- <Text color={'#00000'} fontWeight={'$semibold'}>
44
- Page style setting
45
- </Text>
46
- <HStack space={'md'} mt={'$3'}>
42
+ <ActionsheetScrollView>
43
+ <Box className="items-start bg-white p-3">
44
+ <Text className="text-black font-semibold">Page style setting</Text>
45
+ <HStack space={'md'} className="mt-3">
47
46
  <LayoutButton
48
47
  mode="style"
49
48
  settings={settings}
@@ -63,43 +62,40 @@ export const SettingDrawer = ({ isOpen, onSettingChange, handleClose }: any) =>
63
62
  color={'realDark'}
64
63
  />
65
64
  </HStack>
66
- <Text color={'#000000'} fontWeight={'$semibold'} mt={'$2'}>
67
- Select Theme
68
- </Text>
69
- <Select
70
- mt={'$2'}
71
- w={'100%'}
72
- selectedValue={settings?.themeName}
73
- onValueChange={(value) => {
74
- const newSettings = {
75
- ...settings,
76
- themeName: value,
77
- };
78
- onSettingChange(newSettings);
79
- }}
80
- >
81
- <SelectTrigger variant="outline" size="md">
82
- <SelectInput placeholder="Select option" />
83
- <Icon as={ChevronDownIcon} mr={'$3'} />
84
- </SelectTrigger>
85
- <SelectPortal>
86
- <SelectBackdrop />
87
- <SelectContent>
88
- <SelectDragIndicatorWrapper>
89
- <SelectDragIndicator />
90
- </SelectDragIndicatorWrapper>
91
- <SelectItem label="Default" value="default" />
92
- <SelectItem label="Github Theme" value="github" />
93
- <SelectItem label="Slack Theme" value="slack" />
94
- <SelectItem label="Airbnb Theme" value="airbnb" />
95
- <SelectItem label="Spotify Theme" value="spotify" />
96
- </SelectContent>
97
- </SelectPortal>
98
- </Select>
99
- <Text color={'#000000'} fontWeight={'$semibold'} mt={'$2'}>
100
- Theme Color
101
- </Text>
102
- <HStack space={'md'} mt={'$3'} flexWrap={'wrap'}>
65
+ <Text className="text-black font-semibold mt-2">Select Theme</Text>
66
+ <Box className="w-full">
67
+ <Select
68
+ className="mt-2"
69
+ selectedValue={settings?.themeName}
70
+ onValueChange={(value) => {
71
+ const newSettings = {
72
+ ...settings,
73
+ themeName: value,
74
+ };
75
+ onSettingChange(newSettings);
76
+ }}
77
+ >
78
+ <SelectTrigger variant="outline" size="md">
79
+ <SelectInput placeholder="Select option" className="mr-3" />
80
+ <Icon as={ChevronDownIcon} />
81
+ </SelectTrigger>
82
+ <SelectPortal>
83
+ <SelectBackdrop />
84
+ <SelectContent>
85
+ <SelectDragIndicatorWrapper>
86
+ <SelectDragIndicator />
87
+ </SelectDragIndicatorWrapper>
88
+ <SelectItem label="Default" value="default" />
89
+ <SelectItem label="Github Theme" value="github" />
90
+ <SelectItem label="Slack Theme" value="slack" />
91
+ <SelectItem label="Airbnb Theme" value="airbnb" />
92
+ <SelectItem label="Spotify Theme" value="spotify" />
93
+ </SelectContent>
94
+ </SelectPortal>
95
+ </Select>
96
+ </Box>
97
+ <Text className="text-black font-semibold mt-2">Theme Color</Text>
98
+ <HStack space={'md'} className="mt-3 flex-wrap">
103
99
  {THEMECOLOR.map((color, index) => (
104
100
  <ThemeColorButton
105
101
  key={index}
@@ -109,11 +105,9 @@ export const SettingDrawer = ({ isOpen, onSettingChange, handleClose }: any) =>
109
105
  />
110
106
  ))}
111
107
  </HStack>
112
- <Divider my={'$4'} />
113
- <Text color={'#000000'} fontWeight={'$semibold'} mt={'$2'}>
114
- Navigation Mode
115
- </Text>
116
- <HStack space={'md'} mt={'$3'}>
108
+ <Divider className="my-4" />
109
+ <Text className="text-black font-semibold mt-2">Navigation Mode</Text>
110
+ <HStack space={'md'} className="mt-3">
117
111
  <LayoutButton
118
112
  mode="layout"
119
113
  settings={settings}
@@ -136,11 +130,9 @@ export const SettingDrawer = ({ isOpen, onSettingChange, handleClose }: any) =>
136
130
  color={'light'}
137
131
  />
138
132
  </HStack>
139
- <Divider my={'$4'} />
140
- <Text color={'#000000'} fontWeight={'$semibold'} mt={'$2'}>
141
- Regional Settings
142
- </Text>
143
- <HStack w={'100%'} mt={'$3'} justifyContent={'space-between'} alignItems="center">
133
+ <Divider className="my-4" />
134
+ <Text className="text-black font-semibold mt-2">Regional Settings</Text>
135
+ <HStack className="mt-3 w-full justify-between items-center">
144
136
  <Text>Menu Header</Text>
145
137
  <Switch
146
138
  onValueChange={(value) => {
@@ -156,7 +148,7 @@ export const SettingDrawer = ({ isOpen, onSettingChange, handleClose }: any) =>
156
148
  />
157
149
  </HStack>
158
150
  </Box>
159
- </ScrollView>
151
+ </ActionsheetScrollView>
160
152
  </ActionsheetContent>
161
153
  </Actionsheet>
162
154
  );
@@ -1,13 +1,22 @@
1
1
  import React from 'react';
2
- import { Pressable, Box } from '@gluestack-ui/themed';
2
+ import { Pressable, Box } from '../../../ui';
3
+
4
+ const colorClassMap: Record<string, string> = {
5
+ '#4a154b': 'bg-[#4a154b]',
6
+ '#601e69': 'bg-[#601e69]',
7
+ '#1d1c1d': 'bg-[#1d1c1d]',
8
+ '#36c5ef': 'bg-[#36c5ef]',
9
+ '#2db57c': 'bg-[#2db57c]',
10
+ '#e01d5a': 'bg-[#e01d5a]',
11
+ '#ecb12f': 'bg-[#ecb12f]',
12
+ '#616061': 'bg-[#616061]',
13
+ '#dcd9d4': 'bg-[#dcd9d4]',
14
+ };
3
15
 
4
16
  const ThemeColorButton = ({ color, onSettingChange, settings }: any) => {
5
17
  return (
6
18
  <Pressable
7
- backgroundColor={color}
8
- height={'$6'}
9
- width={'$6'}
10
- borderRadius={'$sm'}
19
+ className={`${colorClassMap[color]} w-[26px] h-[26px] rounded-md`}
11
20
  onPress={() => {
12
21
  let { primaryColor, ...rest } = settings;
13
22
  primaryColor = color;
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from 'react';
2
- import { HStack, Icon, Text, Box, StatusBar, Divider, Button, FlatList, SafeAreaView } from '@gluestack-ui/themed';
2
+ import { HStack, Icon, Text, Box, StatusBar, Divider, Button, FlatList } from '../../ui';
3
3
  import { StyleSheet, TouchableOpacity } from 'react-native';
4
4
  import { Ionicons } from '@expo/vector-icons';
5
5
  import { Link } from 'react-router-native';
@@ -38,30 +38,27 @@ const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerR
38
38
  };
39
39
 
40
40
  return (
41
- <Box flex={1} style={{ backgroundColor: navTheme === 'dark' ? COLOR.GREYISH_BLACK : COLOR.WHITE }}>
41
+ <Box className={`flex-1 bg-${navTheme === 'dark' ? COLOR.GREYISH_BLACK : COLOR.WHITE}`}>
42
42
  {!!isMenuExist && (
43
43
  <FlatList
44
44
  data={menuData}
45
- renderItem={({ item }:any) => {
45
+ renderItem={({ item }: any) => {
46
46
  const keys = item?.key.split('.');
47
- const arrowIcon:any = icon || 'chevron-down-outline';
47
+ const arrowIcon: any = icon || 'chevron-down-outline';
48
48
  return item?.routes ? (
49
- <Box p={"$3"}>
49
+ <Box className="p-3">
50
50
  <TouchableOpacity onPress={() => toggle()}>
51
51
  <HStack>
52
- <Ionicons
53
- color={isToggle ? '#fff' : '#a1a1a1'}
54
- name="document-outline"
55
- />
56
- <Text style={{ color: isToggle ? '#fff' : '#a1a1a1' }}>{item.name}</Text>
57
- <Ionicons name={arrowIcon} />
52
+ <Ionicons color={isToggle ? '#fff' : '#a1a1a1'} name="document-outline" />
53
+ <Text color={isToggle ? '#fff' : '#a1a1a1'}>{item.name}</Text>
54
+ <Ionicons name={arrowIcon} />
58
55
  </HStack>
59
56
  </TouchableOpacity>
60
57
  {isToggle
61
58
  ? item.routes.map((subMenu: any) => (
62
59
  <Box key={subMenu.key}>
63
60
  <Link to={subMenu.path} underlayColor="#f0f4f7">
64
- <Text style={{ color: '#a1a1a1' }}>{subMenu.name}</Text>
61
+ <Text className="text-[#a1a1a1]">{subMenu.name}</Text>
65
62
  </Link>
66
63
  </Box>
67
64
  ))
@@ -69,7 +66,7 @@ const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerR
69
66
  </Box>
70
67
  ) : (
71
68
  keys[0] != 'Main' && keys[0] == 'sidebar' && (
72
- <Box key={item.key} p={"$3"}>
69
+ <Box key={item.key} className="p-3">
73
70
  <TouchableOpacity style={{ marginBottom: 10 }} onPress={() => openMenuItem(item)}>
74
71
  <HStack>
75
72
  <Ionicons
@@ -78,10 +75,8 @@ const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerR
78
75
  name={item.icon}
79
76
  />
80
77
  <Text
81
- style={{
82
- color: navTheme === 'dark' ? COLOR.LIGHT_GREY : COLOR.BLACK,
83
- marginLeft: 10,
84
- }}
78
+ color={navTheme === 'dark' ? COLOR.LIGHT_GREY : COLOR.BLACK}
79
+ className="ml-10"
85
80
  >
86
81
  {item.name}
87
82
  </Text>
@@ -1,14 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- import {
4
- Toast,
5
- VStack,
6
- ToastTitle,
7
- ToastDescription,
8
- Pressable,
9
- Icon,
10
- CloseIcon,
11
- } from '@gluestack-ui/themed';
3
+ import { Toast, VStack, ToastTitle, ToastDescription, Pressable, Icon, CloseIcon } from './ui';
12
4
 
13
5
  interface IToast {
14
6
  id: string;
@@ -17,7 +9,7 @@ interface IToast {
17
9
  description?: string;
18
10
  isClosable?: boolean;
19
11
  toast?: any;
20
- variant?:any
12
+ variant?: any;
21
13
  }
22
14
 
23
15
  // variants:
@@ -25,7 +17,15 @@ interface IToast {
25
17
  // solid,
26
18
  // outline
27
19
 
28
- export const ToastAlert = ({ id, status = 'info', title='', description = '',variant='solid', isClosable, toast=null }: IToast) => {
20
+ export const ToastAlert = ({
21
+ id,
22
+ status = 'info',
23
+ title = '',
24
+ description = '',
25
+ variant = 'solid',
26
+ isClosable,
27
+ toast = null,
28
+ }: IToast) => {
29
29
  const toastId = 'toast-' + id;
30
30
  const actionType = status || 'info';
31
31
  return (
@@ -35,8 +35,8 @@ export const ToastAlert = ({ id, status = 'info', title='', description = '',var
35
35
  {description && <ToastDescription>{description}</ToastDescription>}
36
36
  </VStack>
37
37
  {isClosable && toast ? (
38
- <Pressable mt="$1" onPress={() => toast?.close(id)}>
39
- <Icon as={CloseIcon} color="$coolGray50" />
38
+ <Pressable className="mt-1" onPress={() => toast?.close(id)}>
39
+ <Icon as={CloseIcon} className="text-gray-400" />
40
40
  </Pressable>
41
41
  ) : null}
42
42
  </Toast>
@@ -1,38 +1,30 @@
1
1
  import React from 'react';
2
- import {
3
- Box,
4
- Button,
5
- Heading,
6
- Text,
7
- HStack,
8
- Pressable,
9
- Divider,
10
- ButtonText,
11
- SafeAreaView,
12
- } from '@gluestack-ui/themed';
2
+ import { Box, Button, Heading, Text, HStack, Pressable, Divider, ButtonText, StyledSafeAreaView } from './ui';
13
3
  import { useNavigation } from '@react-navigation/native';
14
4
  import { Ionicons } from '@expo/vector-icons';
15
5
  import { Linking } from 'react-native';
16
6
 
17
- const UnAuthenticatedComponent = () => {
7
+ const UnAuthenticatedComponent = () => {
18
8
  const navigation = useNavigation<any>();
19
9
  return (
20
- <SafeAreaView flex={1}>
21
- <Box flex={1} borderTopWidth={'$1'} borderTopColor={'$trueGray200'}>
22
- {/* <Box h={'$1'} bg={Colors.primaryBgColor} /> */}
23
- <Box flex={1} p={'$6'} bg="$white" justifyContent={'center'}>
24
- <Heading mt={'$2'}>Login</Heading>
25
- <Text fontSize="$md" mt={'$2'}>
26
- Log in to continue.
27
- </Text>
28
- <Button bg={'$blue500'} size="lg" my={'$3'} onPress={() => navigation.navigate('MainStack.Login')}>
29
- <ButtonText color="$white">Login</ButtonText>
30
- </Button>
31
- <Divider my={'$3'} />
10
+ <StyledSafeAreaView>
11
+ <Box className="flex-1 border-t border-t-slate-300">
12
+ {/* <Box h={'$1'} bg={Colors.primaryBgColor} /> */}
13
+ <Box className="flex-1 p-6 bg-white justify-center">
14
+ <Heading className="mt-2">Login</Heading>
15
+ <Text className="text-md mt-2">Log in to continue.</Text>
16
+ <Button
17
+ className="bg-blue-500 my-3"
18
+ size="lg"
19
+ onPress={() => navigation.navigate('MainStack.Login')}
20
+ >
21
+ <ButtonText className="text-white">Login</ButtonText>
22
+ </Button>
23
+ <Divider className="my-3" />
24
+ </Box>
32
25
  </Box>
33
- </Box>
34
- </SafeAreaView>
26
+ </StyledSafeAreaView>
35
27
  );
36
28
  };
37
29
 
38
- export default UnAuthenticatedComponent;
30
+ export default UnAuthenticatedComponent;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Spinner, Box, Text, Heading } from '@gluestack-ui/themed';
2
+ import { Spinner, Box, Text, Heading } from './ui';
3
3
  import { PermissionType, Visibility } from 'common';
4
4
  import { IPreDefinedPermissions } from '@adminide-stack/core';
5
5
  import { useSetting, usePermissionAutoFetch } from '@adminide-stack/platform-client';
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Spinner, Box, Text, Heading } from '@gluestack-ui/themed';
2
+ import { Spinner, Box, Text, Heading } from './ui';
3
3
  import { PermissionType } from 'common';
4
4
  import { IPreDefinedPermissions } from '@adminide-stack/core';
5
5
  import { get } from 'lodash-es';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ReactElement } from 'react';
3
- import { Spinner } from '@gluestack-ui/themed';
3
+ import { Spinner } from './ui';
4
4
  import { logger } from '@cdm-logger/client';
5
5
  import { useSetting } from '@adminide-stack/platform-client';
6
6
 
@@ -13,3 +13,4 @@ export * from './WithConfiguration';
13
13
  export * from './WithPolicy';
14
14
  export * from './usePermissionAutoFetch';
15
15
  export * from './useSetting';
16
+ export * from './ui';
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { SymbolView, SymbolViewProps, SymbolWeight } from 'expo-symbols';
3
+ import { StyleProp, ViewStyle } from 'react-native';
4
+
5
+ export function IconSymbol({
6
+ name,
7
+ size = 24,
8
+ color,
9
+ style,
10
+ weight = 'regular',
11
+ }: {
12
+ name: SymbolViewProps['name'];
13
+ size?: number;
14
+ color: string;
15
+ style?: StyleProp<ViewStyle>;
16
+ weight?: SymbolWeight;
17
+ }) {
18
+ return (
19
+ <SymbolView
20
+ weight={weight}
21
+ tintColor={color}
22
+ resizeMode="scaleAspectFit"
23
+ name={name}
24
+ style={[
25
+ {
26
+ width: size,
27
+ height: size,
28
+ },
29
+ style,
30
+ ]}
31
+ />
32
+ );
33
+ }
@@ -0,0 +1,40 @@
1
+ // This file is a fallback for using MaterialIcons on Android and web.
2
+
3
+ import MaterialIcons from '@expo/vector-icons/MaterialIcons';
4
+ import { SymbolWeight } from 'expo-symbols';
5
+ import React from 'react';
6
+ import { OpaqueColorValue, StyleProp, ViewStyle } from 'react-native';
7
+
8
+ // Add your SFSymbol to MaterialIcons mappings here.
9
+ const MAPPING = {
10
+ // See MaterialIcons here: https://icons.expo.fyi
11
+ // See SF Symbols in the SF Symbols app on Mac.
12
+ 'house.fill': 'home',
13
+ 'paperplane.fill': 'send',
14
+ 'chevron.left.forwardslash.chevron.right': 'code',
15
+ 'chevron.right': 'chevron-right',
16
+ } as Partial<
17
+ Record<import('expo-symbols').SymbolViewProps['name'], React.ComponentProps<typeof MaterialIcons>['name']>
18
+ >;
19
+
20
+ export type IconSymbolName = keyof typeof MAPPING;
21
+
22
+ /**
23
+ * An icon component that uses native SFSymbols on iOS, and MaterialIcons on Android and web. This ensures a consistent look across platforms, and optimal resource usage.
24
+ *
25
+ * Icon `name`s are based on SFSymbols and require manual mapping to MaterialIcons.
26
+ */
27
+ export function IconSymbol({
28
+ name,
29
+ size = 24,
30
+ color,
31
+ style,
32
+ }: {
33
+ name: IconSymbolName;
34
+ size?: number;
35
+ color: string | OpaqueColorValue;
36
+ style?: StyleProp<ViewStyle>;
37
+ weight?: SymbolWeight;
38
+ }) {
39
+ return <MaterialIcons color={color} size={size} name={MAPPING[name]} style={style} />;
40
+ }
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { useBottomTabBarHeight } from '@react-navigation/bottom-tabs';
3
+ import { BlurView } from 'expo-blur';
4
+ import { StyleSheet } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+
7
+ export default function BlurTabBarBackground() {
8
+ return (
9
+ <BlurView
10
+ // System chrome material automatically adapts to the system's theme
11
+ // and matches the native tab bar appearance on iOS.
12
+ tint="systemChromeMaterial"
13
+ intensity={100}
14
+ style={StyleSheet.absoluteFill}
15
+ />
16
+ );
17
+ }
18
+
19
+ export function useBottomTabOverflow() {
20
+ const tabHeight = useBottomTabBarHeight();
21
+ const { bottom } = useSafeAreaInsets();
22
+ return tabHeight - bottom;
23
+ }
@@ -0,0 +1,6 @@
1
+ // This is a shim for web and Android where the tab bar is generally opaque.
2
+ export default undefined;
3
+
4
+ export function useBottomTabOverflow() {
5
+ return 0;
6
+ }