@admin-layout/gluestack-ui-mobile 11.0.4-alpha.0 → 11.2.1-alpha.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 (441) hide show
  1. package/CHANGELOG.md +2 -10
  2. package/lib/__tests__/prolayout-layout-feature.test.js +1 -1
  3. package/lib/__tests__/prolayout-layout-feature.test.js.map +1 -1
  4. package/lib/components/Fallback.js +12 -12
  5. package/lib/components/Fallback.js.map +1 -1
  6. package/lib/components/Layout/components/BasicLayout.js +2 -2
  7. package/lib/components/Layout/components/BasicLayout.js.map +1 -1
  8. package/lib/components/Layout/components/BottomTabBar.js +6 -6
  9. package/lib/components/Layout/components/BottomTabBar.js.map +1 -1
  10. package/lib/components/Layout/components/Drawer.js +17 -16
  11. package/lib/components/Layout/components/Drawer.js.map +1 -1
  12. package/lib/components/Layout/components/Header.js +15 -12
  13. package/lib/components/Layout/components/Header.js.map +1 -1
  14. package/lib/components/Layout/components/Sample.js +1 -1
  15. package/lib/components/Layout/components/Sample.js.map +1 -1
  16. package/lib/components/Layout/components/SettingDrawer/LayoutButton.js +9 -9
  17. package/lib/components/Layout/components/SettingDrawer/LayoutButton.js.map +1 -1
  18. package/lib/components/Layout/components/SettingDrawer/SettingDrawer.js +36 -37
  19. package/lib/components/Layout/components/SettingDrawer/SettingDrawer.js.map +1 -1
  20. package/lib/components/Layout/components/SettingDrawer/ThemeColorButton.js +2 -13
  21. package/lib/components/Layout/components/SettingDrawer/ThemeColorButton.js.map +1 -1
  22. package/lib/components/Layout/components/SideBar.js +10 -7
  23. package/lib/components/Layout/components/SideBar.js.map +1 -1
  24. package/lib/components/ToastAlert.d.ts +1 -1
  25. package/lib/components/ToastAlert.js +4 -4
  26. package/lib/components/ToastAlert.js.map +1 -1
  27. package/lib/components/UnAuthenticatedComponent.js +9 -9
  28. package/lib/components/UnAuthenticatedComponent.js.map +1 -1
  29. package/lib/components/WithConfiguration.d.ts +2 -2
  30. package/lib/components/WithConfiguration.js +2 -2
  31. package/lib/components/WithConfiguration.js.map +1 -1
  32. package/lib/components/WithPermission.js +1 -1
  33. package/lib/components/WithPermission.js.map +1 -1
  34. package/lib/components/WithPolicy.d.ts +2 -1
  35. package/lib/components/WithPolicy.js +2 -2
  36. package/lib/components/WithPolicy.js.map +1 -1
  37. package/lib/components/index.d.ts +0 -1
  38. package/lib/components/index.js +0 -1
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/usePermissionAutoFetch.d.ts +7 -19
  41. package/lib/components/with-interactions-lifecycle-managed.js +11 -13
  42. package/lib/components/with-interactions-lifecycle-managed.js.map +1 -1
  43. package/lib/components/with-interactions-managed.js +3 -3
  44. package/lib/components/with-interactions-managed.js.map +1 -1
  45. package/lib/containers/layout/DrawerBottomNavigationConfig.d.ts +53 -47
  46. package/lib/containers/layout/DrawerConfig.d.ts +35 -31
  47. package/lib/containers/layout/ProLayout.js +2 -2
  48. package/lib/containers/layout/ProLayout.js.map +1 -1
  49. package/lib/containers/layout/module.js +1 -1
  50. package/lib/containers/layout/module.js.map +1 -1
  51. package/lib/index.d.ts +3 -0
  52. package/lib/index.js +5 -5
  53. package/lib/index.js.map +1 -1
  54. package/lib/redux/settings.d.ts +7 -9
  55. package/lib/utils/generateMobileNavigations.js +2 -26
  56. package/lib/utils/generateMobileNavigations.js.map +1 -1
  57. package/lib/utils/routeConfigKeyReplace.test.js +1 -1
  58. package/lib/utils/routeConfigKeyReplace.test.js.map +1 -1
  59. package/package.json +12 -37
  60. package/src/__tests__/prolayout-layout-feature.test.tsx +2 -2
  61. package/src/components/Fallback.tsx +58 -54
  62. package/src/components/Layout/components/BasicLayout.tsx +2 -2
  63. package/src/components/Layout/components/BottomTabBar.tsx +101 -92
  64. package/src/components/Layout/components/Drawer.tsx +28 -31
  65. package/src/components/Layout/components/Header.tsx +27 -26
  66. package/src/components/Layout/components/Sample.tsx +1 -1
  67. package/src/components/Layout/components/SettingDrawer/LayoutButton.tsx +29 -15
  68. package/src/components/Layout/components/SettingDrawer/SettingDrawer.tsx +57 -49
  69. package/src/components/Layout/components/SettingDrawer/ThemeColorButton.tsx +5 -14
  70. package/src/components/Layout/components/SideBar.tsx +17 -12
  71. package/src/components/ToastAlert.tsx +13 -13
  72. package/src/components/UnAuthenticatedComponent.tsx +27 -19
  73. package/src/components/WithConfiguration.tsx +4 -7
  74. package/src/components/WithPermission.tsx +1 -1
  75. package/src/components/WithPolicy.tsx +4 -3
  76. package/src/components/index.ts +0 -1
  77. package/src/components/with-interactions-lifecycle-managed.tsx +14 -13
  78. package/src/components/with-interactions-managed.tsx +7 -3
  79. package/src/containers/layout/ProLayout.tsx +3 -3
  80. package/src/containers/layout/module.ts +1 -1
  81. package/src/index.ts +7 -6
  82. package/src/utils/generateMobileNavigations.ts +1 -29
  83. package/src/utils/routeConfigKeyReplace.test.ts +4 -4
  84. package/tsconfig.json +10 -3
  85. package/lib/components/ui/IconSymbol.d.ts +0 -19
  86. package/lib/components/ui/IconSymbol.ios.d.ts +0 -10
  87. package/lib/components/ui/IconSymbol.ios.js +0 -12
  88. package/lib/components/ui/IconSymbol.ios.js.map +0 -1
  89. package/lib/components/ui/IconSymbol.js +0 -21
  90. package/lib/components/ui/IconSymbol.js.map +0 -1
  91. package/lib/components/ui/TabBarBackground.d.ts +0 -2
  92. package/lib/components/ui/TabBarBackground.ios.d.ts +0 -3
  93. package/lib/components/ui/TabBarBackground.ios.js +0 -20
  94. package/lib/components/ui/TabBarBackground.ios.js.map +0 -1
  95. package/lib/components/ui/TabBarBackground.js +0 -6
  96. package/lib/components/ui/TabBarBackground.js.map +0 -1
  97. package/lib/components/ui/accordion/index.d.ts +0 -193
  98. package/lib/components/ui/accordion/index.js +0 -177
  99. package/lib/components/ui/accordion/index.js.map +0 -1
  100. package/lib/components/ui/actionsheet/index.d.ts +0 -735
  101. package/lib/components/ui/actionsheet/index.js +0 -274
  102. package/lib/components/ui/actionsheet/index.js.map +0 -1
  103. package/lib/components/ui/alert/index.d.ts +0 -479
  104. package/lib/components/ui/alert/index.js +0 -153
  105. package/lib/components/ui/alert/index.js.map +0 -1
  106. package/lib/components/ui/alert-dialog/index.d.ts +0 -59
  107. package/lib/components/ui/alert-dialog/index.js +0 -137
  108. package/lib/components/ui/alert-dialog/index.js.map +0 -1
  109. package/lib/components/ui/avatar/index.d.ts +0 -144
  110. package/lib/components/ui/avatar/index.js +0 -99
  111. package/lib/components/ui/avatar/index.js.map +0 -1
  112. package/lib/components/ui/badge/index.d.ts +0 -386
  113. package/lib/components/ui/badge/index.js +0 -139
  114. package/lib/components/ui/badge/index.js.map +0 -1
  115. package/lib/components/ui/box/index.d.ts +0 -7
  116. package/lib/components/ui/box/index.js +0 -9
  117. package/lib/components/ui/box/index.js.map +0 -1
  118. package/lib/components/ui/box/index.web.d.ts +0 -6
  119. package/lib/components/ui/box/index.web.js +0 -8
  120. package/lib/components/ui/box/index.web.js.map +0 -1
  121. package/lib/components/ui/box/styles.d.ts +0 -1
  122. package/lib/components/ui/box/styles.js +0 -9
  123. package/lib/components/ui/box/styles.js.map +0 -1
  124. package/lib/components/ui/button/index.d.ts +0 -529
  125. package/lib/components/ui/button/index.js +0 -280
  126. package/lib/components/ui/button/index.js.map +0 -1
  127. package/lib/components/ui/card/index.d.ts +0 -129
  128. package/lib/components/ui/card/index.js +0 -9
  129. package/lib/components/ui/card/index.js.map +0 -1
  130. package/lib/components/ui/card/index.web.d.ts +0 -126
  131. package/lib/components/ui/card/index.web.js +0 -8
  132. package/lib/components/ui/card/index.web.js.map +0 -1
  133. package/lib/components/ui/card/styles.d.ts +0 -123
  134. package/lib/components/ui/card/styles.js +0 -20
  135. package/lib/components/ui/card/styles.js.map +0 -1
  136. package/lib/components/ui/center/index.d.ts +0 -5
  137. package/lib/components/ui/center/index.js +0 -9
  138. package/lib/components/ui/center/index.js.map +0 -1
  139. package/lib/components/ui/center/index.web.d.ts +0 -4
  140. package/lib/components/ui/center/index.web.js +0 -8
  141. package/lib/components/ui/center/index.web.js.map +0 -1
  142. package/lib/components/ui/center/styles.d.ts +0 -1
  143. package/lib/components/ui/center/styles.js +0 -7
  144. package/lib/components/ui/center/styles.js.map +0 -1
  145. package/lib/components/ui/checkbox/index.d.ts +0 -115
  146. package/lib/components/ui/checkbox/index.js +0 -127
  147. package/lib/components/ui/checkbox/index.js.map +0 -1
  148. package/lib/components/ui/divider/index.d.ts +0 -54
  149. package/lib/components/ui/divider/index.js +0 -22
  150. package/lib/components/ui/divider/index.js.map +0 -1
  151. package/lib/components/ui/drawer/index.d.ts +0 -207
  152. package/lib/components/ui/drawer/index.js +0 -198
  153. package/lib/components/ui/drawer/index.js.map +0 -1
  154. package/lib/components/ui/fab/index.d.ts +0 -520
  155. package/lib/components/ui/fab/index.js +0 -142
  156. package/lib/components/ui/fab/index.js.map +0 -1
  157. package/lib/components/ui/flat-list/index.d.ts +0 -1
  158. package/lib/components/ui/flat-list/index.js +0 -3
  159. package/lib/components/ui/flat-list/index.js.map +0 -1
  160. package/lib/components/ui/form-control/index.d.ts +0 -2072
  161. package/lib/components/ui/form-control/index.js +0 -290
  162. package/lib/components/ui/form-control/index.js.map +0 -1
  163. package/lib/components/ui/gluestack-ui-provider/config.d.ts +0 -4
  164. package/lib/components/ui/gluestack-ui-provider/config.js +0 -287
  165. package/lib/components/ui/gluestack-ui-provider/config.js.map +0 -1
  166. package/lib/components/ui/gluestack-ui-provider/index.d.ts +0 -8
  167. package/lib/components/ui/gluestack-ui-provider/index.js +0 -22
  168. package/lib/components/ui/gluestack-ui-provider/index.js.map +0 -1
  169. package/lib/components/ui/gluestack-ui-provider/index.web.d.ts +0 -7
  170. package/lib/components/ui/gluestack-ui-provider/index.web.js +0 -69
  171. package/lib/components/ui/gluestack-ui-provider/index.web.js.map +0 -1
  172. package/lib/components/ui/gluestack-ui-provider/script.d.ts +0 -1
  173. package/lib/components/ui/gluestack-ui-provider/script.js +0 -17
  174. package/lib/components/ui/gluestack-ui-provider/script.js.map +0 -1
  175. package/lib/components/ui/gluestack-ui-provider/types.d.ts +0 -1
  176. package/lib/components/ui/gluestack-ui-provider/types.js +0 -2
  177. package/lib/components/ui/gluestack-ui-provider/types.js.map +0 -1
  178. package/lib/components/ui/grid/index.d.ts +0 -27
  179. package/lib/components/ui/grid/index.js +0 -175
  180. package/lib/components/ui/grid/index.js.map +0 -1
  181. package/lib/components/ui/grid/index.web.d.ts +0 -23
  182. package/lib/components/ui/grid/index.web.js +0 -20
  183. package/lib/components/ui/grid/index.web.js.map +0 -1
  184. package/lib/components/ui/grid/styles.d.ts +0 -2
  185. package/lib/components/ui/grid/styles.js +0 -11
  186. package/lib/components/ui/grid/styles.js.map +0 -1
  187. package/lib/components/ui/heading/index.d.ts +0 -335
  188. package/lib/components/ui/heading/index.js +0 -135
  189. package/lib/components/ui/heading/index.js.map +0 -1
  190. package/lib/components/ui/heading/index.web.d.ts +0 -335
  191. package/lib/components/ui/heading/index.web.js +0 -113
  192. package/lib/components/ui/heading/index.web.js.map +0 -1
  193. package/lib/components/ui/heading/styles.d.ts +0 -330
  194. package/lib/components/ui/heading/styles.js +0 -43
  195. package/lib/components/ui/heading/styles.js.map +0 -1
  196. package/lib/components/ui/hstack/index.d.ts +0 -150
  197. package/lib/components/ui/hstack/index.js +0 -9
  198. package/lib/components/ui/hstack/index.js.map +0 -1
  199. package/lib/components/ui/hstack/index.web.d.ts +0 -148
  200. package/lib/components/ui/hstack/index.web.js +0 -8
  201. package/lib/components/ui/hstack/index.web.js.map +0 -1
  202. package/lib/components/ui/hstack/styles.d.ts +0 -145
  203. package/lib/components/ui/hstack/styles.js +0 -24
  204. package/lib/components/ui/hstack/styles.js.map +0 -1
  205. package/lib/components/ui/icon/index.d.ts +0 -364
  206. package/lib/components/ui/icon/index.js +0 -565
  207. package/lib/components/ui/icon/index.js.map +0 -1
  208. package/lib/components/ui/icon/index.web.d.ts +0 -489
  209. package/lib/components/ui/icon/index.web.js +0 -555
  210. package/lib/components/ui/icon/index.web.js.map +0 -1
  211. package/lib/components/ui/image/index.d.ts +0 -132
  212. package/lib/components/ui/image/index.js +0 -33
  213. package/lib/components/ui/image/index.js.map +0 -1
  214. package/lib/components/ui/image-background/index.d.ts +0 -3
  215. package/lib/components/ui/image-background/index.js +0 -11
  216. package/lib/components/ui/image-background/index.js.map +0 -1
  217. package/lib/components/ui/index.d.ts +0 -54
  218. package/lib/components/ui/index.js +0 -55
  219. package/lib/components/ui/index.js.map +0 -1
  220. package/lib/components/ui/input/index.d.ts +0 -262
  221. package/lib/components/ui/input/index.js +0 -121
  222. package/lib/components/ui/input/index.js.map +0 -1
  223. package/lib/components/ui/input-accessory-view/index.d.ts +0 -1
  224. package/lib/components/ui/input-accessory-view/index.js +0 -3
  225. package/lib/components/ui/input-accessory-view/index.js.map +0 -1
  226. package/lib/components/ui/keyboard-avoiding-view/index.d.ts +0 -1
  227. package/lib/components/ui/keyboard-avoiding-view/index.js +0 -3
  228. package/lib/components/ui/keyboard-avoiding-view/index.js.map +0 -1
  229. package/lib/components/ui/link/index.d.ts +0 -369
  230. package/lib/components/ui/link/index.js +0 -69
  231. package/lib/components/ui/link/index.js.map +0 -1
  232. package/lib/components/ui/menu/index.d.ts +0 -376
  233. package/lib/components/ui/menu/index.js +0 -120
  234. package/lib/components/ui/menu/index.js.map +0 -1
  235. package/lib/components/ui/modal/index.d.ts +0 -146
  236. package/lib/components/ui/modal/index.js +0 -137
  237. package/lib/components/ui/modal/index.js.map +0 -1
  238. package/lib/components/ui/popover/index.d.ts +0 -310
  239. package/lib/components/ui/popover/index.js +0 -172
  240. package/lib/components/ui/popover/index.js.map +0 -1
  241. package/lib/components/ui/portal/index.d.ts +0 -2
  242. package/lib/components/ui/portal/index.js +0 -9
  243. package/lib/components/ui/portal/index.js.map +0 -1
  244. package/lib/components/ui/pressable/index.d.ts +0 -13
  245. package/lib/components/ui/pressable/index.js +0 -20
  246. package/lib/components/ui/pressable/index.js.map +0 -1
  247. package/lib/components/ui/progress/index.d.ts +0 -174
  248. package/lib/components/ui/progress/index.js +0 -127
  249. package/lib/components/ui/progress/index.js.map +0 -1
  250. package/lib/components/ui/radio/index.d.ts +0 -160
  251. package/lib/components/ui/radio/index.js +0 -122
  252. package/lib/components/ui/radio/index.js.map +0 -1
  253. package/lib/components/ui/refresh-control/index.d.ts +0 -1
  254. package/lib/components/ui/refresh-control/index.js +0 -3
  255. package/lib/components/ui/refresh-control/index.js.map +0 -1
  256. package/lib/components/ui/safe-area-view/index.d.ts +0 -6
  257. package/lib/components/ui/safe-area-view/index.js +0 -9
  258. package/lib/components/ui/safe-area-view/index.js.map +0 -1
  259. package/lib/components/ui/safe-area-view/styles.d.ts +0 -1
  260. package/lib/components/ui/safe-area-view/styles.js +0 -9
  261. package/lib/components/ui/safe-area-view/styles.js.map +0 -1
  262. package/lib/components/ui/scroll-view/index.d.ts +0 -1
  263. package/lib/components/ui/scroll-view/index.js +0 -3
  264. package/lib/components/ui/scroll-view/index.js.map +0 -1
  265. package/lib/components/ui/section-list/index.d.ts +0 -1
  266. package/lib/components/ui/section-list/index.js +0 -3
  267. package/lib/components/ui/section-list/index.js.map +0 -1
  268. package/lib/components/ui/select/index.d.ts +0 -1708
  269. package/lib/components/ui/select/index.js +0 -155
  270. package/lib/components/ui/select/index.js.map +0 -1
  271. package/lib/components/ui/select/select-actionsheet.d.ts +0 -900
  272. package/lib/components/ui/select/select-actionsheet.js +0 -275
  273. package/lib/components/ui/select/select-actionsheet.js.map +0 -1
  274. package/lib/components/ui/skeleton/index.d.ts +0 -268
  275. package/lib/components/ui/skeleton/index.js +0 -63
  276. package/lib/components/ui/skeleton/index.js.map +0 -1
  277. package/lib/components/ui/skeleton/index.web.d.ts +0 -267
  278. package/lib/components/ui/skeleton/index.web.js +0 -37
  279. package/lib/components/ui/skeleton/index.web.js.map +0 -1
  280. package/lib/components/ui/skeleton/styles.d.ts +0 -257
  281. package/lib/components/ui/skeleton/styles.js +0 -35
  282. package/lib/components/ui/skeleton/styles.js.map +0 -1
  283. package/lib/components/ui/slider/index.d.ts +0 -211
  284. package/lib/components/ui/slider/index.js +0 -180
  285. package/lib/components/ui/slider/index.js.map +0 -1
  286. package/lib/components/ui/spinner/index.d.ts +0 -4
  287. package/lib/components/ui/spinner/index.js +0 -15
  288. package/lib/components/ui/spinner/index.js.map +0 -1
  289. package/lib/components/ui/status-bar/index.d.ts +0 -1
  290. package/lib/components/ui/status-bar/index.js +0 -3
  291. package/lib/components/ui/status-bar/index.js.map +0 -1
  292. package/lib/components/ui/switch/index.d.ts +0 -72
  293. package/lib/components/ui/switch/index.js +0 -25
  294. package/lib/components/ui/switch/index.js.map +0 -1
  295. package/lib/components/ui/table/index.d.ts +0 -17
  296. package/lib/components/ui/table/index.js +0 -96
  297. package/lib/components/ui/table/index.js.map +0 -1
  298. package/lib/components/ui/table/index.web.d.ts +0 -10
  299. package/lib/components/ui/table/index.web.js +0 -60
  300. package/lib/components/ui/table/index.web.js.map +0 -1
  301. package/lib/components/ui/table/styles.d.ts +0 -75
  302. package/lib/components/ui/table/styles.js +0 -36
  303. package/lib/components/ui/table/styles.js.map +0 -1
  304. package/lib/components/ui/text/index.d.ts +0 -358
  305. package/lib/components/ui/text/index.js +0 -19
  306. package/lib/components/ui/text/index.js.map +0 -1
  307. package/lib/components/ui/text/index.web.d.ts +0 -6
  308. package/lib/components/ui/text/index.web.js +0 -18
  309. package/lib/components/ui/text/index.web.js.map +0 -1
  310. package/lib/components/ui/text/styles.d.ts +0 -352
  311. package/lib/components/ui/text/styles.js +0 -45
  312. package/lib/components/ui/text/styles.js.map +0 -1
  313. package/lib/components/ui/textarea/index.d.ts +0 -129
  314. package/lib/components/ui/textarea/index.js +0 -52
  315. package/lib/components/ui/textarea/index.js.map +0 -1
  316. package/lib/components/ui/toast/index.d.ts +0 -527
  317. package/lib/components/ui/toast/index.js +0 -165
  318. package/lib/components/ui/toast/index.js.map +0 -1
  319. package/lib/components/ui/tooltip/index.d.ts +0 -391
  320. package/lib/components/ui/tooltip/index.js +0 -75
  321. package/lib/components/ui/tooltip/index.js.map +0 -1
  322. package/lib/components/ui/utils/use-break-point-value.d.ts +0 -14
  323. package/lib/components/ui/utils/use-break-point-value.js +0 -54
  324. package/lib/components/ui/utils/use-break-point-value.js.map +0 -1
  325. package/lib/components/ui/view/index.d.ts +0 -1
  326. package/lib/components/ui/view/index.js +0 -3
  327. package/lib/components/ui/view/index.js.map +0 -1
  328. package/lib/components/ui/virtualized-list/index.d.ts +0 -1
  329. package/lib/components/ui/virtualized-list/index.js +0 -3
  330. package/lib/components/ui/virtualized-list/index.js.map +0 -1
  331. package/lib/components/ui/vstack/index.d.ts +0 -149
  332. package/lib/components/ui/vstack/index.js +0 -9
  333. package/lib/components/ui/vstack/index.js.map +0 -1
  334. package/lib/components/ui/vstack/index.web.d.ts +0 -6
  335. package/lib/components/ui/vstack/index.web.js +0 -8
  336. package/lib/components/ui/vstack/index.web.js.map +0 -1
  337. package/lib/components/ui/vstack/styles.d.ts +0 -145
  338. package/lib/components/ui/vstack/styles.js +0 -24
  339. package/lib/components/ui/vstack/styles.js.map +0 -1
  340. package/lib/global.css +0 -3
  341. package/lib/gluestack-ui-base-config.d.ts +0 -8
  342. package/lib/gluestack-ui-base-config.js +0 -12
  343. package/lib/gluestack-ui-base-config.js.map +0 -1
  344. package/lib/nativewind-env.d.ts +0 -1
  345. package/lib/tailwind-base-config.d.ts +0 -194
  346. package/lib/tailwind-base-config.js +0 -197
  347. package/lib/tailwind-base-config.js.map +0 -1
  348. package/lib/tailwind.config.d.ts +0 -1
  349. package/lib/tailwind.config.js +0 -197
  350. package/lib/tailwind.config.js.map +0 -1
  351. package/src/components/ui/IconSymbol.ios.tsx +0 -33
  352. package/src/components/ui/IconSymbol.tsx +0 -40
  353. package/src/components/ui/TabBarBackground.ios.tsx +0 -23
  354. package/src/components/ui/TabBarBackground.tsx +0 -6
  355. package/src/components/ui/accordion/index.tsx +0 -304
  356. package/src/components/ui/actionsheet/index.tsx +0 -499
  357. package/src/components/ui/alert/index.tsx +0 -205
  358. package/src/components/ui/alert-dialog/index.tsx +0 -260
  359. package/src/components/ui/avatar/index.tsx +0 -162
  360. package/src/components/ui/badge/index.tsx +0 -188
  361. package/src/components/ui/box/index.tsx +0 -14
  362. package/src/components/ui/box/index.web.tsx +0 -13
  363. package/src/components/ui/box/styles.tsx +0 -10
  364. package/src/components/ui/button/index.tsx +0 -353
  365. package/src/components/ui/card/index.tsx +0 -16
  366. package/src/components/ui/card/index.web.tsx +0 -15
  367. package/src/components/ui/card/styles.tsx +0 -20
  368. package/src/components/ui/center/index.tsx +0 -14
  369. package/src/components/ui/center/index.web.tsx +0 -14
  370. package/src/components/ui/center/styles.tsx +0 -8
  371. package/src/components/ui/checkbox/index.tsx +0 -192
  372. package/src/components/ui/divider/index.tsx +0 -38
  373. package/src/components/ui/drawer/index.tsx +0 -311
  374. package/src/components/ui/fab/index.tsx +0 -190
  375. package/src/components/ui/flat-list/index.tsx +0 -2
  376. package/src/components/ui/form-control/index.tsx +0 -432
  377. package/src/components/ui/gluestack-ui-provider/config.ts +0 -309
  378. package/src/components/ui/gluestack-ui-provider/index.tsx +0 -38
  379. package/src/components/ui/gluestack-ui-provider/index.web.tsx +0 -88
  380. package/src/components/ui/gluestack-ui-provider/script.ts +0 -17
  381. package/src/components/ui/gluestack-ui-provider/types.ts +0 -1
  382. package/src/components/ui/grid/index.tsx +0 -284
  383. package/src/components/ui/grid/index.web.tsx +0 -61
  384. package/src/components/ui/grid/styles.tsx +0 -13
  385. package/src/components/ui/heading/index.tsx +0 -193
  386. package/src/components/ui/heading/index.web.tsx +0 -177
  387. package/src/components/ui/heading/styles.tsx +0 -43
  388. package/src/components/ui/hstack/index.tsx +0 -17
  389. package/src/components/ui/hstack/index.web.tsx +0 -15
  390. package/src/components/ui/hstack/styles.tsx +0 -25
  391. package/src/components/ui/icon/index.tsx +0 -1202
  392. package/src/components/ui/icon/index.web.tsx +0 -1190
  393. package/src/components/ui/image/index.tsx +0 -48
  394. package/src/components/ui/image-background/index.tsx +0 -21
  395. package/src/components/ui/index.ts +0 -54
  396. package/src/components/ui/input/index.tsx +0 -191
  397. package/src/components/ui/input-accessory-view/index.tsx +0 -2
  398. package/src/components/ui/keyboard-avoiding-view/index.tsx +0 -2
  399. package/src/components/ui/link/index.tsx +0 -92
  400. package/src/components/ui/menu/index.tsx +0 -179
  401. package/src/components/ui/modal/index.tsx +0 -244
  402. package/src/components/ui/popover/index.tsx +0 -309
  403. package/src/components/ui/portal/index.tsx +0 -12
  404. package/src/components/ui/pressable/index.tsx +0 -34
  405. package/src/components/ui/progress/index.tsx +0 -160
  406. package/src/components/ui/radio/index.tsx +0 -178
  407. package/src/components/ui/refresh-control/index.tsx +0 -2
  408. package/src/components/ui/safe-area-view/index.tsx +0 -22
  409. package/src/components/ui/safe-area-view/styles.tsx +0 -10
  410. package/src/components/ui/scroll-view/index.tsx +0 -2
  411. package/src/components/ui/section-list/index.tsx +0 -2
  412. package/src/components/ui/select/index.tsx +0 -251
  413. package/src/components/ui/select/select-actionsheet.tsx +0 -503
  414. package/src/components/ui/skeleton/index.tsx +0 -113
  415. package/src/components/ui/skeleton/index.web.tsx +0 -92
  416. package/src/components/ui/skeleton/styles.tsx +0 -35
  417. package/src/components/ui/slider/index.tsx +0 -239
  418. package/src/components/ui/spinner/index.tsx +0 -31
  419. package/src/components/ui/status-bar/index.tsx +0 -2
  420. package/src/components/ui/switch/index.tsx +0 -33
  421. package/src/components/ui/table/index.tsx +0 -171
  422. package/src/components/ui/table/index.web.tsx +0 -95
  423. package/src/components/ui/table/styles.tsx +0 -44
  424. package/src/components/ui/text/index.tsx +0 -53
  425. package/src/components/ui/text/index.web.tsx +0 -45
  426. package/src/components/ui/text/styles.tsx +0 -47
  427. package/src/components/ui/textarea/index.tsx +0 -83
  428. package/src/components/ui/toast/index.tsx +0 -218
  429. package/src/components/ui/tooltip/index.tsx +0 -104
  430. package/src/components/ui/utils/use-break-point-value.ts +0 -79
  431. package/src/components/ui/view/index.tsx +0 -2
  432. package/src/components/ui/virtualized-list/index.tsx +0 -2
  433. package/src/components/ui/vstack/index.tsx +0 -17
  434. package/src/components/ui/vstack/index.web.tsx +0 -16
  435. package/src/components/ui/vstack/styles.tsx +0 -25
  436. package/src/global.css +0 -3
  437. package/src/gluestack-ui-base-config.js +0 -12
  438. package/src/gluestack-ui.config.json +0 -10
  439. package/src/nativewind-env.d.ts +0 -1
  440. package/src/tailwind-base-config.js +0 -197
  441. package/src/tailwind.config.js +0 -198
@@ -1,48 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
- import { createImage } from '@gluestack-ui/image';
4
- import { Platform, Image as RNImage } from 'react-native';
5
- import { tva } from '@gluestack-ui/nativewind-utils/tva';
6
- import type { VariantProps } from '@gluestack-ui/nativewind-utils';
7
-
8
- const imageStyle = tva({
9
- base: 'max-w-full',
10
- variants: {
11
- size: {
12
- '2xs': 'h-6 w-6',
13
- xs: 'h-10 w-10',
14
- sm: 'h-16 w-16',
15
- md: 'h-20 w-20',
16
- lg: 'h-24 w-24',
17
- xl: 'h-32 w-32',
18
- '2xl': 'h-64 w-64',
19
- full: 'h-full w-full',
20
- none: '',
21
- },
22
- },
23
- });
24
-
25
- const UIImage = createImage({ Root: RNImage });
26
-
27
- type ImageProps = VariantProps<typeof imageStyle> & React.ComponentProps<typeof UIImage>;
28
- const Image = React.forwardRef<React.ElementRef<typeof UIImage>, ImageProps & { className?: string }>(
29
- ({ size = 'md', className, ...props }, ref) => {
30
- return (
31
- <UIImage
32
- className={imageStyle({ size, class: className })}
33
- {...props}
34
- ref={ref}
35
- // @ts-expect-error
36
- style={
37
- Platform.OS === 'web'
38
- ? // eslint-disable-next-line react-native/no-inline-styles
39
- { height: 'revert-layer', width: 'revert-layer' }
40
- : undefined
41
- }
42
- />
43
- );
44
- },
45
- );
46
-
47
- Image.displayName = 'Image';
48
- export { Image };
@@ -1,21 +0,0 @@
1
- 'use client';
2
- import { ImageBackground as RNImageBackground } from 'react-native';
3
- import React from 'react';
4
- import { tva } from '@gluestack-ui/nativewind-utils/tva';
5
-
6
- const imageBackgroundStyle = tva({});
7
-
8
- export const ImageBackground = React.forwardRef<
9
- React.ElementRef<typeof RNImageBackground>,
10
- React.ComponentProps<typeof RNImageBackground>
11
- >(({ className, ...props }, ref) => {
12
- return (
13
- <RNImageBackground
14
- className={imageBackgroundStyle({
15
- class: className,
16
- })}
17
- {...props}
18
- ref={ref}
19
- />
20
- );
21
- });
@@ -1,54 +0,0 @@
1
- export * from './IconSymbol';
2
- export * from './TabBarBackground';
3
- export * from './accordion';
4
- export * from './actionsheet';
5
- export * from './alert';
6
- export * from './alert-dialog';
7
- export * from './avatar';
8
- export * from './badge';
9
- export * from './box';
10
- export * from './button';
11
- export * from './card';
12
- export * from './center';
13
- export * from './checkbox';
14
- export * from './divider';
15
- export * from './drawer';
16
- export * from './fab';
17
- export * from './flat-list';
18
- export * from './form-control';
19
- export * from './gluestack-ui-provider';
20
- export * from './grid';
21
- export * from './heading';
22
- export * from './hstack';
23
- export * from './icon';
24
- export * from './image';
25
- export * from './image-background';
26
- export * from './input';
27
- export * from './input-accessory-view';
28
- export * from './keyboard-avoiding-view';
29
- export * from './link';
30
- export * from './menu';
31
- export * from './modal';
32
- export * from './popover';
33
- export * from './portal';
34
- export * from './pressable';
35
- export * from './progress';
36
- export * from './radio';
37
- export * from './refresh-control';
38
- export * from './safe-area-view';
39
- export * from './scroll-view';
40
- export * from './section-list';
41
- export * from './select';
42
- export * from './skeleton';
43
- export * from './slider';
44
- export * from './spinner';
45
- export * from './status-bar';
46
- export * from './switch';
47
- export * from './table';
48
- export * from './text';
49
- export * from './textarea';
50
- export * from './toast';
51
- export * from './tooltip';
52
- export * from './view';
53
- export * from './virtualized-list';
54
- export * from './vstack';
@@ -1,191 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
- import { createInput } from '@gluestack-ui/input';
4
- import { View, Pressable, TextInput } from 'react-native';
5
- import { tva } from '@gluestack-ui/nativewind-utils/tva';
6
- import { withStyleContext, useStyleContext } from '@gluestack-ui/nativewind-utils/withStyleContext';
7
- import { cssInterop } from 'nativewind';
8
- import type { VariantProps } from '@gluestack-ui/nativewind-utils';
9
- import { PrimitiveIcon, UIIcon } from '@gluestack-ui/icon';
10
-
11
- const SCOPE = 'INPUT';
12
-
13
- const UIInput = createInput({
14
- Root: withStyleContext(View, SCOPE),
15
- Icon: UIIcon,
16
- Slot: Pressable,
17
- Input: TextInput,
18
- });
19
-
20
- cssInterop(PrimitiveIcon, {
21
- className: {
22
- target: 'style',
23
- nativeStyleToProp: {
24
- height: true,
25
- width: true,
26
- fill: true,
27
- color: 'classNameColor',
28
- stroke: true,
29
- },
30
- },
31
- });
32
-
33
- const inputStyle = tva({
34
- base: 'border-background-300 flex-row overflow-hidden content-center data-[hover=true]:border-outline-400 data-[focus=true]:border-primary-700 data-[focus=true]:hover:border-primary-700 data-[disabled=true]:opacity-40 data-[disabled=true]:hover:border-background-300 items-center',
35
-
36
- variants: {
37
- size: {
38
- xl: 'h-12',
39
- lg: 'h-11',
40
- md: 'h-10',
41
- sm: 'h-9',
42
- },
43
-
44
- variant: {
45
- underlined:
46
- 'rounded-none border-b data-[invalid=true]:border-b-2 data-[invalid=true]:border-error-700 data-[invalid=true]:hover:border-error-700 data-[invalid=true]:data-[focus=true]:border-error-700 data-[invalid=true]:data-[focus=true]:hover:border-error-700 data-[invalid=true]:data-[disabled=true]:hover:border-error-700',
47
-
48
- outline:
49
- 'rounded border data-[invalid=true]:border-error-700 data-[invalid=true]:hover:border-error-700 data-[invalid=true]:data-[focus=true]:border-error-700 data-[invalid=true]:data-[focus=true]:hover:border-error-700 data-[invalid=true]:data-[disabled=true]:hover:border-error-700 data-[focus=true]:web:ring-1 data-[focus=true]:web:ring-inset data-[focus=true]:web:ring-indicator-primary data-[invalid=true]:web:ring-1 data-[invalid=true]:web:ring-inset data-[invalid=true]:web:ring-indicator-error data-[invalid=true]:data-[focus=true]:hover:web:ring-1 data-[invalid=true]:data-[focus=true]:hover:web:ring-inset data-[invalid=true]:data-[focus=true]:hover:web:ring-indicator-error data-[invalid=true]:data-[disabled=true]:hover:web:ring-1 data-[invalid=true]:data-[disabled=true]:hover:web:ring-inset data-[invalid=true]:data-[disabled=true]:hover:web:ring-indicator-error',
50
-
51
- rounded:
52
- 'rounded-full border data-[invalid=true]:border-error-700 data-[invalid=true]:hover:border-error-700 data-[invalid=true]:data-[focus=true]:border-error-700 data-[invalid=true]:data-[focus=true]:hover:border-error-700 data-[invalid=true]:data-[disabled=true]:hover:border-error-700 data-[focus=true]:web:ring-1 data-[focus=true]:web:ring-inset data-[focus=true]:web:ring-indicator-primary data-[invalid=true]:web:ring-1 data-[invalid=true]:web:ring-inset data-[invalid=true]:web:ring-indicator-error data-[invalid=true]:data-[focus=true]:hover:web:ring-1 data-[invalid=true]:data-[focus=true]:hover:web:ring-inset data-[invalid=true]:data-[focus=true]:hover:web:ring-indicator-error data-[invalid=true]:data-[disabled=true]:hover:web:ring-1 data-[invalid=true]:data-[disabled=true]:hover:web:ring-inset data-[invalid=true]:data-[disabled=true]:hover:web:ring-indicator-error',
53
- },
54
- },
55
- });
56
-
57
- const inputIconStyle = tva({
58
- base: 'justify-center items-center text-typography-400 fill-none',
59
- parentVariants: {
60
- size: {
61
- '2xs': 'h-3 w-3',
62
- xs: 'h-3.5 w-3.5',
63
- sm: 'h-4 w-4',
64
- md: 'h-[18px] w-[18px]',
65
- lg: 'h-5 w-5',
66
- xl: 'h-6 w-6',
67
- },
68
- },
69
- });
70
-
71
- const inputSlotStyle = tva({
72
- base: 'justify-center items-center web:disabled:cursor-not-allowed',
73
- });
74
-
75
- const inputFieldStyle = tva({
76
- base: 'flex-1 text-typography-900 py-0 px-3 placeholder:text-typography-500 h-full ios:leading-[0px] web:cursor-text web:data-[disabled=true]:cursor-not-allowed',
77
-
78
- parentVariants: {
79
- variant: {
80
- underlined: 'web:outline-0 web:outline-none px-0',
81
- outline: 'web:outline-0 web:outline-none',
82
- rounded: 'web:outline-0 web:outline-none px-4',
83
- },
84
-
85
- size: {
86
- '2xs': 'text-2xs',
87
- xs: 'text-xs',
88
- sm: 'text-sm',
89
- md: 'text-base',
90
- lg: 'text-lg',
91
- xl: 'text-xl',
92
- '2xl': 'text-2xl',
93
- '3xl': 'text-3xl',
94
- '4xl': 'text-4xl',
95
- '5xl': 'text-5xl',
96
- '6xl': 'text-6xl',
97
- },
98
- },
99
- });
100
-
101
- type IInputProps = React.ComponentProps<typeof UIInput> & VariantProps<typeof inputStyle> & { className?: string };
102
- const Input = React.forwardRef<React.ElementRef<typeof UIInput>, IInputProps>(
103
- ({ className, variant = 'outline', size = 'md', ...props }, ref) => {
104
- return (
105
- <UIInput
106
- ref={ref}
107
- {...props}
108
- className={inputStyle({ variant, size, class: className })}
109
- context={{ variant, size }}
110
- />
111
- );
112
- },
113
- );
114
-
115
- type IInputIconProps = React.ComponentProps<typeof UIInput.Icon> &
116
- VariantProps<typeof inputIconStyle> & {
117
- className?: string;
118
- height?: number;
119
- width?: number;
120
- };
121
-
122
- const InputIcon = React.forwardRef<React.ElementRef<typeof UIInput.Icon>, IInputIconProps>(
123
- ({ className, size, ...props }, ref) => {
124
- const { size: parentSize } = useStyleContext(SCOPE);
125
-
126
- if (typeof size === 'number') {
127
- return <UIInput.Icon ref={ref} {...props} className={inputIconStyle({ class: className })} size={size} />;
128
- } else if ((props.height !== undefined || props.width !== undefined) && size === undefined) {
129
- return <UIInput.Icon ref={ref} {...props} className={inputIconStyle({ class: className })} />;
130
- }
131
- return (
132
- <UIInput.Icon
133
- ref={ref}
134
- {...props}
135
- className={inputIconStyle({
136
- parentVariants: {
137
- size: parentSize,
138
- },
139
- class: className,
140
- })}
141
- />
142
- );
143
- },
144
- );
145
-
146
- type IInputSlotProps = React.ComponentProps<typeof UIInput.Slot> &
147
- VariantProps<typeof inputSlotStyle> & { className?: string };
148
-
149
- const InputSlot = React.forwardRef<React.ElementRef<typeof UIInput.Slot>, IInputSlotProps>(
150
- ({ className, ...props }, ref) => {
151
- return (
152
- <UIInput.Slot
153
- ref={ref}
154
- {...props}
155
- className={inputSlotStyle({
156
- class: className,
157
- })}
158
- />
159
- );
160
- },
161
- );
162
-
163
- type IInputFieldProps = React.ComponentProps<typeof UIInput.Input> &
164
- VariantProps<typeof inputFieldStyle> & { className?: string };
165
-
166
- const InputField = React.forwardRef<React.ElementRef<typeof UIInput.Input>, IInputFieldProps>(
167
- ({ className, ...props }, ref) => {
168
- const { variant: parentVariant, size: parentSize } = useStyleContext(SCOPE);
169
-
170
- return (
171
- <UIInput.Input
172
- ref={ref}
173
- {...props}
174
- className={inputFieldStyle({
175
- parentVariants: {
176
- variant: parentVariant,
177
- size: parentSize,
178
- },
179
- class: className,
180
- })}
181
- />
182
- );
183
- },
184
- );
185
-
186
- Input.displayName = 'Input';
187
- InputIcon.displayName = 'InputIcon';
188
- InputSlot.displayName = 'InputSlot';
189
- InputField.displayName = 'InputField';
190
-
191
- export { Input, InputField, InputIcon, InputSlot };
@@ -1,2 +0,0 @@
1
- 'use client';
2
- export { InputAccessoryView } from 'react-native';
@@ -1,2 +0,0 @@
1
- 'use client';
2
- export { KeyboardAvoidingView } from 'react-native';
@@ -1,92 +0,0 @@
1
- 'use client';
2
- import { createLink } from '@gluestack-ui/link';
3
- import { Pressable } from 'react-native';
4
- import { Text } from 'react-native';
5
-
6
- import { tva } from '@gluestack-ui/nativewind-utils/tva';
7
- import { withStyleContext } from '@gluestack-ui/nativewind-utils/withStyleContext';
8
- import { cssInterop } from 'nativewind';
9
- import type { VariantProps } from '@gluestack-ui/nativewind-utils';
10
-
11
- import React from 'react';
12
- export const UILink = createLink({
13
- Root: withStyleContext(Pressable),
14
- Text: Text,
15
- });
16
-
17
- cssInterop(UILink, { className: 'style' });
18
- cssInterop(UILink.Text, { className: 'style' });
19
-
20
- const linkStyle = tva({
21
- base: 'group/link web:outline-0 data-[disabled=true]:web:cursor-not-allowed data-[focus-visible=true]:web:ring-2 data-[focus-visible=true]:web:ring-indicator-primary data-[focus-visible=true]:web:outline-0 data-[disabled=true]:opacity-4 ',
22
- });
23
-
24
- const linkTextStyle = tva({
25
- base: 'underline text-info-700 data-[hover=true]:text-info-600 data-[hover=true]:no-underline data-[active=true]:text-info-700 font-normal font-body web:font-sans web:tracking-sm web:my-0 web:bg-transparent web:border-0 web:box-border web:display-inline web:list-none web:margin-0 web:padding-0 web:position-relative web:text-start web:whitespace-pre-wrap web:word-wrap-break-word',
26
-
27
- variants: {
28
- isTruncated: {
29
- true: 'web:truncate',
30
- },
31
- bold: {
32
- true: 'font-bold',
33
- },
34
- underline: {
35
- true: 'underline',
36
- },
37
- strikeThrough: {
38
- true: 'line-through',
39
- },
40
- size: {
41
- '2xs': 'text-2xs',
42
- xs: 'text-xs',
43
- sm: 'text-sm',
44
- md: 'text-base',
45
- lg: 'text-lg',
46
- xl: 'text-xl',
47
- '2xl': 'text-2xl',
48
- '3xl': 'text-3xl',
49
- '4xl': 'text-4xl',
50
- '5xl': 'text-5xl',
51
- '6xl': 'text-6xl',
52
- },
53
- sub: {
54
- true: 'text-xs',
55
- },
56
- italic: {
57
- true: 'italic',
58
- },
59
- highlight: {
60
- true: 'bg-yellow-500',
61
- },
62
- },
63
- });
64
-
65
- type ILinkProps = React.ComponentProps<typeof UILink> & VariantProps<typeof linkStyle> & { className?: string };
66
-
67
- const Link = React.forwardRef<React.ElementRef<typeof UILink>, ILinkProps>(({ className, ...props }, ref) => {
68
- return <UILink ref={ref} {...props} className={linkStyle({ class: className })} />;
69
- });
70
-
71
- type ILinkTextProps = React.ComponentProps<typeof UILink.Text> &
72
- VariantProps<typeof linkTextStyle> & { className?: string };
73
-
74
- const LinkText = React.forwardRef<React.ElementRef<typeof UILink.Text>, ILinkTextProps>(
75
- ({ className, size = 'md', ...props }, ref) => {
76
- return (
77
- <UILink.Text
78
- ref={ref}
79
- {...props}
80
- className={linkTextStyle({
81
- class: className,
82
- size,
83
- })}
84
- />
85
- );
86
- },
87
- );
88
-
89
- Link.displayName = 'Link';
90
- LinkText.displayName = 'LinkText';
91
-
92
- export { Link, LinkText };
@@ -1,179 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
- import { createMenu } from '@gluestack-ui/menu';
4
- import { tva } from '@gluestack-ui/nativewind-utils/tva';
5
- import { cssInterop } from 'nativewind';
6
- import { Pressable, Text, View } from 'react-native';
7
- import { Motion, AnimatePresence } from '@legendapp/motion';
8
- import type { VariantProps } from '@gluestack-ui/nativewind-utils';
9
-
10
- const menuStyle = tva({
11
- base: 'rounded-md bg-background-0 border border-outline-100 p-1 shadow-hard-5',
12
- });
13
-
14
- const menuItemStyle = tva({
15
- base: 'min-w-[200px] p-3 flex-row items-center rounded data-[hover=true]:bg-background-50 data-[active=true]:bg-background-100 data-[focus=true]:bg-background-50 data-[focus=true]:web:outline-none data-[focus=true]:web:outline-0 data-[disabled=true]:opacity-40 data-[disabled=true]:web:cursor-not-allowed data-[focus-visible=true]:web:outline-2 data-[focus-visible=true]:web:outline-primary-700 data-[focus-visible=true]:web:outline data-[focus-visible=true]:web:cursor-pointer data-[disabled=true]:data-[focus=true]:bg-transparent',
16
- });
17
-
18
- const menuBackdropStyle = tva({
19
- base: 'absolute top-0 bottom-0 left-0 right-0 web:cursor-default',
20
- // add this classnames if you want to give background color to backdrop
21
- // opacity-50 bg-background-500,
22
- });
23
-
24
- const menuSeparatorStyle = tva({
25
- base: 'bg-background-200 h-px w-full',
26
- });
27
-
28
- const menuItemLabelStyle = tva({
29
- base: 'text-typography-700 font-normal font-body',
30
-
31
- variants: {
32
- isTruncated: {
33
- true: 'web:truncate',
34
- },
35
- bold: {
36
- true: 'font-bold',
37
- },
38
- underline: {
39
- true: 'underline',
40
- },
41
- strikeThrough: {
42
- true: 'line-through',
43
- },
44
- size: {
45
- '2xs': 'text-2xs',
46
- xs: 'text-xs',
47
- sm: 'text-sm',
48
- md: 'text-base',
49
- lg: 'text-lg',
50
- xl: 'text-xl',
51
- '2xl': 'text-2xl',
52
- '3xl': 'text-3xl',
53
- '4xl': 'text-4xl',
54
- '5xl': 'text-5xl',
55
- '6xl': 'text-6xl',
56
- },
57
- sub: {
58
- true: 'text-xs',
59
- },
60
- italic: {
61
- true: 'italic',
62
- },
63
- highlight: {
64
- true: 'bg-yellow-500',
65
- },
66
- },
67
- });
68
-
69
- const BackdropPressable = React.forwardRef<
70
- React.ElementRef<typeof Pressable>,
71
- React.ComponentPropsWithoutRef<typeof Pressable> & VariantProps<typeof menuBackdropStyle>
72
- >(({ className, ...props }, ref) => {
73
- return (
74
- <Pressable
75
- ref={ref}
76
- className={menuBackdropStyle({
77
- class: className,
78
- })}
79
- {...props}
80
- />
81
- );
82
- });
83
-
84
- type IMenuItemProps = VariantProps<typeof menuItemStyle> & {
85
- className?: string;
86
- } & React.ComponentPropsWithoutRef<typeof Pressable>;
87
-
88
- const Item = React.forwardRef<React.ElementRef<typeof Pressable>, IMenuItemProps>(({ className, ...props }, ref) => {
89
- return (
90
- <Pressable
91
- ref={ref}
92
- className={menuItemStyle({
93
- class: className,
94
- })}
95
- {...props}
96
- />
97
- );
98
- });
99
-
100
- const Separator = React.forwardRef(({ className, ...props }: any, ref?: any) => {
101
- return <View ref={ref} className={menuSeparatorStyle({ class: className })} {...props} />;
102
- });
103
- export const UIMenu = createMenu({
104
- Root: Motion.View,
105
- Item: Item,
106
- Label: Text,
107
- Backdrop: BackdropPressable,
108
- AnimatePresence: AnimatePresence,
109
- Separator: Separator,
110
- });
111
-
112
- cssInterop(Motion.View, { className: 'style' });
113
-
114
- type IMenuProps = React.ComponentProps<typeof UIMenu> & VariantProps<typeof menuStyle> & { className?: string };
115
- type IMenuItemLabelProps = React.ComponentProps<typeof UIMenu.ItemLabel> &
116
- VariantProps<typeof menuItemLabelStyle> & { className?: string };
117
-
118
- const Menu = React.forwardRef<React.ElementRef<typeof UIMenu>, IMenuProps>(({ className, ...props }, ref) => {
119
- return (
120
- <UIMenu
121
- ref={ref}
122
- initial={{
123
- opacity: 0,
124
- scale: 0.8,
125
- }}
126
- animate={{
127
- opacity: 1,
128
- scale: 1,
129
- }}
130
- exit={{
131
- opacity: 0,
132
- scale: 0.8,
133
- }}
134
- transition={{
135
- type: 'timing',
136
- duration: 100,
137
- }}
138
- className={menuStyle({
139
- class: className,
140
- })}
141
- {...props}
142
- />
143
- );
144
- });
145
-
146
- const MenuItem = UIMenu.Item;
147
-
148
- const MenuItemLabel = React.forwardRef<React.ElementRef<typeof UIMenu.ItemLabel>, IMenuItemLabelProps>(
149
- (
150
- { className, isTruncated, bold, underline, strikeThrough, size = 'md', sub, italic, highlight, ...props },
151
- ref,
152
- ) => {
153
- return (
154
- <UIMenu.ItemLabel
155
- ref={ref}
156
- className={menuItemLabelStyle({
157
- isTruncated,
158
- bold,
159
- underline,
160
- strikeThrough,
161
- size,
162
- sub,
163
- italic,
164
- highlight,
165
- class: className,
166
- })}
167
- {...props}
168
- />
169
- );
170
- },
171
- );
172
-
173
- const MenuSeparator = UIMenu.Separator;
174
-
175
- Menu.displayName = 'Menu';
176
- MenuItem.displayName = 'MenuItem';
177
- MenuItemLabel.displayName = 'MenuItemLabel';
178
- MenuSeparator.displayName = 'MenuSeparator';
179
- export { Menu, MenuItem, MenuItemLabel, MenuSeparator };