@wireservers-ui/react-natives 1.0.0 → 1.0.1-rc1

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 (402) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +214 -98
  3. package/bin/cli.js +356 -0
  4. package/package.json +27 -48
  5. package/src/accordion/accordion-content.tsx +30 -30
  6. package/src/accordion/accordion-icon.tsx +54 -54
  7. package/src/accordion/accordion-item.tsx +37 -37
  8. package/src/accordion/accordion-title-text.tsx +24 -24
  9. package/src/accordion/accordion-trigger.tsx +38 -38
  10. package/src/accordion/accordion.tsx +91 -91
  11. package/src/accordion/index.ts +24 -24
  12. package/src/accordion/styles.ts +74 -74
  13. package/src/accordion/types.ts +56 -56
  14. package/src/actionsheet/actionsheet-backdrop.tsx +23 -23
  15. package/src/actionsheet/actionsheet-content.tsx +19 -19
  16. package/src/actionsheet/actionsheet-drag-indicator-wrapper.tsx +19 -19
  17. package/src/actionsheet/actionsheet-drag-indicator.tsx +19 -19
  18. package/src/actionsheet/actionsheet-item-text.tsx +19 -19
  19. package/src/actionsheet/actionsheet-item.tsx +20 -20
  20. package/src/actionsheet/actionsheet-scroll-view.tsx +12 -12
  21. package/src/actionsheet/actionsheet.tsx +45 -45
  22. package/src/actionsheet/index.ts +20 -20
  23. package/src/actionsheet/styles.ts +25 -25
  24. package/src/actionsheet/types.ts +49 -49
  25. package/src/alert/alert-body.tsx +19 -19
  26. package/src/alert/alert-close-button.tsx +23 -23
  27. package/src/alert/alert-icon.tsx +40 -40
  28. package/src/alert/alert-text.tsx +22 -22
  29. package/src/alert/alert.tsx +33 -33
  30. package/src/alert/index.ts +15 -15
  31. package/src/alert/styles.ts +112 -112
  32. package/src/alert/types.ts +36 -36
  33. package/src/alert-dialog/alert-dialog.tsx +54 -54
  34. package/src/alert-dialog/index.ts +2 -2
  35. package/src/alert-dialog/styles.ts +40 -40
  36. package/src/alert-dialog/types.ts +40 -40
  37. package/src/aspect-ratio/aspect-ratio.tsx +20 -20
  38. package/src/aspect-ratio/index.ts +2 -2
  39. package/src/aspect-ratio/styles.ts +6 -6
  40. package/src/aspect-ratio/types.ts +7 -7
  41. package/src/avatar/avatar-badge.tsx +22 -22
  42. package/src/avatar/avatar-fallback-text.tsx +33 -33
  43. package/src/avatar/avatar-group.tsx +53 -53
  44. package/src/avatar/avatar-image.tsx +21 -21
  45. package/src/avatar/avatar.tsx +27 -27
  46. package/src/avatar/index.ts +14 -14
  47. package/src/avatar/styles.ts +94 -94
  48. package/src/avatar/types.ts +35 -35
  49. package/src/badge/badge-icon.tsx +20 -20
  50. package/src/badge/badge-text.tsx +24 -24
  51. package/src/badge/badge.tsx +39 -39
  52. package/src/badge/index.ts +11 -11
  53. package/src/badge/styles.ts +175 -175
  54. package/src/badge/types.ts +37 -37
  55. package/src/blockquote/blockquote.tsx +21 -21
  56. package/src/blockquote/index.ts +2 -2
  57. package/src/blockquote/styles.ts +11 -11
  58. package/src/blockquote/types.ts +6 -6
  59. package/src/box/box.tsx +19 -19
  60. package/src/box/index.ts +2 -2
  61. package/src/box/styles.ts +6 -6
  62. package/src/box/types.ts +6 -6
  63. package/src/breadcrumb/breadcrumb-item.tsx +20 -20
  64. package/src/breadcrumb/breadcrumb-link.tsx +20 -20
  65. package/src/breadcrumb/breadcrumb-text.tsx +19 -19
  66. package/src/breadcrumb/breadcrumb.tsx +43 -43
  67. package/src/breadcrumb/index.ts +12 -12
  68. package/src/breadcrumb/styles.ts +36 -36
  69. package/src/breadcrumb/types.ts +33 -33
  70. package/src/button/button-group.tsx +35 -35
  71. package/src/button/button-icon.tsx +37 -37
  72. package/src/button/button-spinner.tsx +12 -12
  73. package/src/button/button-text.tsx +27 -27
  74. package/src/button/button.tsx +42 -42
  75. package/src/button/index.ts +19 -19
  76. package/src/button/styles.ts +250 -250
  77. package/src/button/types.ts +67 -67
  78. package/src/calendar/calendar-day-cell.tsx +67 -67
  79. package/src/calendar/calendar-day-view.tsx +66 -66
  80. package/src/calendar/calendar-event.tsx +59 -59
  81. package/src/calendar/calendar-header.tsx +60 -60
  82. package/src/calendar/calendar-horizontal-view.tsx +372 -372
  83. package/src/calendar/calendar-legend.tsx +41 -41
  84. package/src/calendar/calendar-month-view.tsx +47 -47
  85. package/src/calendar/calendar-vertical-view.tsx +395 -395
  86. package/src/calendar/calendar-view-switcher.tsx +65 -65
  87. package/src/calendar/calendar-week-view.tsx +52 -52
  88. package/src/calendar/calendar.tsx +74 -74
  89. package/src/calendar/index.ts +27 -27
  90. package/src/calendar/styles.ts +367 -367
  91. package/src/calendar/types.ts +101 -101
  92. package/src/calendar/use-calendar.ts +170 -170
  93. package/src/calendar/utils.ts +278 -278
  94. package/src/card/card-body.tsx +22 -22
  95. package/src/card/card-footer.tsx +19 -19
  96. package/src/card/card-header.tsx +22 -22
  97. package/src/card/card.tsx +27 -27
  98. package/src/card/index.ts +13 -13
  99. package/src/card/styles.ts +54 -54
  100. package/src/card/types.ts +31 -31
  101. package/src/carousel/carousel.tsx +436 -436
  102. package/src/carousel/index.ts +2 -2
  103. package/src/carousel/styles.ts +21 -21
  104. package/src/carousel/types.ts +41 -41
  105. package/src/center/center.tsx +19 -19
  106. package/src/center/index.ts +2 -2
  107. package/src/center/styles.ts +6 -6
  108. package/src/center/types.ts +6 -6
  109. package/src/checkbox/checkbox-group.tsx +63 -63
  110. package/src/checkbox/checkbox-icon.tsx +35 -35
  111. package/src/checkbox/checkbox-indicator.tsx +30 -30
  112. package/src/checkbox/checkbox-label.tsx +24 -24
  113. package/src/checkbox/checkbox.tsx +86 -86
  114. package/src/checkbox/index.ts +14 -14
  115. package/src/checkbox/styles.ts +69 -69
  116. package/src/checkbox/types.ts +55 -55
  117. package/src/circular-progress/circular-progress.tsx +82 -82
  118. package/src/circular-progress/index.ts +2 -2
  119. package/src/circular-progress/styles.ts +31 -31
  120. package/src/circular-progress/types.ts +18 -18
  121. package/src/code/code.tsx +36 -36
  122. package/src/code/index.ts +2 -2
  123. package/src/code/styles.ts +25 -25
  124. package/src/code/types.ts +13 -13
  125. package/src/collapsible/collapsible.tsx +58 -58
  126. package/src/collapsible/index.ts +2 -2
  127. package/src/collapsible/styles.ts +5 -5
  128. package/src/collapsible/types.ts +21 -21
  129. package/src/color-picker/color-picker-box.tsx +115 -115
  130. package/src/color-picker/color-picker-slider.tsx +98 -98
  131. package/src/color-picker/color-picker.tsx +162 -162
  132. package/src/color-picker/color-utils.ts +215 -215
  133. package/src/color-picker/index.ts +34 -34
  134. package/src/color-picker/styles.ts +32 -32
  135. package/src/color-picker/types.ts +49 -49
  136. package/src/color-picker/use-pointer-drag.ts +80 -80
  137. package/src/container/container.tsx +19 -19
  138. package/src/container/index.ts +2 -2
  139. package/src/container/styles.ts +21 -21
  140. package/src/container/types.ts +10 -10
  141. package/src/date-picker/date-picker.tsx +136 -136
  142. package/src/date-picker/index.ts +15 -15
  143. package/src/date-picker/styles.ts +18 -18
  144. package/src/date-picker/types.ts +33 -33
  145. package/src/divider/divider.tsx +21 -21
  146. package/src/divider/index.ts +2 -2
  147. package/src/divider/styles.ts +14 -14
  148. package/src/divider/types.ts +7 -7
  149. package/src/drawer/drawer-backdrop.tsx +23 -23
  150. package/src/drawer/drawer-body.tsx +19 -19
  151. package/src/drawer/drawer-close-button.tsx +29 -29
  152. package/src/drawer/drawer-content.tsx +142 -142
  153. package/src/drawer/drawer-footer.tsx +19 -19
  154. package/src/drawer/drawer-header.tsx +19 -19
  155. package/src/drawer/drawer.tsx +54 -54
  156. package/src/drawer/index.ts +22 -22
  157. package/src/drawer/styles.ts +36 -36
  158. package/src/drawer/types.ts +62 -62
  159. package/src/empty/empty.tsx +53 -53
  160. package/src/empty/index.ts +2 -2
  161. package/src/empty/styles.ts +26 -26
  162. package/src/empty/types.ts +22 -22
  163. package/src/fab/fab-icon.tsx +20 -20
  164. package/src/fab/fab-label.tsx +22 -22
  165. package/src/fab/fab.tsx +45 -45
  166. package/src/fab/index.ts +11 -11
  167. package/src/fab/styles.ts +57 -57
  168. package/src/fab/types.ts +33 -33
  169. package/src/form-control/form-control-error-icon.tsx +25 -25
  170. package/src/form-control/form-control-error-message.tsx +40 -40
  171. package/src/form-control/form-control-helper-text.tsx +25 -25
  172. package/src/form-control/form-control-label-text.tsx +25 -25
  173. package/src/form-control/form-control-label.tsx +36 -36
  174. package/src/form-control/form-control.tsx +46 -46
  175. package/src/form-control/index.ts +20 -20
  176. package/src/form-control/styles.ts +105 -105
  177. package/src/form-control/types.ts +45 -45
  178. package/src/heading/heading.tsx +21 -21
  179. package/src/heading/index.ts +2 -2
  180. package/src/heading/styles.ts +24 -24
  181. package/src/heading/types.ts +19 -19
  182. package/src/icon/icon.tsx +21 -21
  183. package/src/icon/index.ts +2 -2
  184. package/src/icon/styles.ts +18 -18
  185. package/src/icon/types.ts +8 -8
  186. package/src/icon-button/icon-button.tsx +23 -23
  187. package/src/icon-button/index.ts +2 -2
  188. package/src/icon-button/styles.ts +78 -78
  189. package/src/icon-button/types.ts +15 -15
  190. package/src/image/image.tsx +20 -20
  191. package/src/image/index.ts +2 -2
  192. package/src/image/styles.ts +28 -28
  193. package/src/image/types.ts +11 -11
  194. package/src/index.ts +1039 -1039
  195. package/src/input/index.ts +13 -13
  196. package/src/input/input-field.tsx +35 -35
  197. package/src/input/input-icon.tsx +25 -25
  198. package/src/input/input-slot.tsx +24 -24
  199. package/src/input/input.tsx +73 -73
  200. package/src/input/styles.ts +90 -90
  201. package/src/input/types.ts +39 -39
  202. package/src/kbd/index.ts +2 -2
  203. package/src/kbd/kbd.tsx +21 -21
  204. package/src/kbd/styles.ts +11 -11
  205. package/src/kbd/types.ts +7 -7
  206. package/src/link/index.ts +4 -4
  207. package/src/link/link-text.tsx +19 -19
  208. package/src/link/link.tsx +31 -31
  209. package/src/link/styles.ts +19 -19
  210. package/src/link/types.ts +13 -13
  211. package/src/list/index.ts +2 -2
  212. package/src/list/list.tsx +55 -55
  213. package/src/list/styles.ts +8 -8
  214. package/src/list/types.ts +17 -17
  215. package/src/menu/index.ts +2 -2
  216. package/src/menu/menu.tsx +99 -99
  217. package/src/menu/styles.ts +14 -14
  218. package/src/menu/types.ts +30 -30
  219. package/src/modal/index.ts +18 -18
  220. package/src/modal/modal-backdrop.tsx +23 -23
  221. package/src/modal/modal-body.tsx +19 -19
  222. package/src/modal/modal-close-button.tsx +29 -29
  223. package/src/modal/modal-content.tsx +22 -22
  224. package/src/modal/modal-footer.tsx +19 -19
  225. package/src/modal/modal-header.tsx +19 -19
  226. package/src/modal/modal.tsx +50 -50
  227. package/src/modal/styles.ts +37 -37
  228. package/src/modal/types.ts +49 -49
  229. package/src/nativewind-env.d.ts +1 -1
  230. package/src/number-input/index.ts +18 -18
  231. package/src/number-input/number-input.tsx +161 -161
  232. package/src/number-input/styles.ts +35 -35
  233. package/src/number-input/types.ts +44 -44
  234. package/src/overlay/index.ts +2 -2
  235. package/src/overlay/overlay.tsx +21 -21
  236. package/src/overlay/styles.ts +6 -6
  237. package/src/overlay/types.ts +7 -7
  238. package/src/pagination/index.ts +2 -2
  239. package/src/pagination/pagination.tsx +58 -58
  240. package/src/pagination/styles.ts +27 -27
  241. package/src/pagination/types.ts +19 -19
  242. package/src/password-input/index.ts +14 -14
  243. package/src/password-input/password-input.tsx +79 -79
  244. package/src/password-input/styles.ts +25 -25
  245. package/src/password-input/types.ts +24 -24
  246. package/src/pin-input/index.ts +12 -12
  247. package/src/pin-input/pin-input.tsx +96 -96
  248. package/src/pin-input/styles.ts +16 -16
  249. package/src/pin-input/types.ts +26 -26
  250. package/src/popover/index.ts +2 -2
  251. package/src/popover/popover.tsx +98 -98
  252. package/src/popover/styles.ts +31 -31
  253. package/src/popover/types.ts +46 -46
  254. package/src/portal/index.ts +2 -2
  255. package/src/portal/portal.tsx +8 -8
  256. package/src/portal/styles.ts +2 -2
  257. package/src/portal/types.ts +3 -3
  258. package/src/pressable/index.ts +2 -2
  259. package/src/pressable/pressable.tsx +20 -20
  260. package/src/pressable/styles.ts +10 -10
  261. package/src/pressable/types.ts +6 -6
  262. package/src/progress/index.ts +9 -9
  263. package/src/progress/progress-filled-track.tsx +26 -26
  264. package/src/progress/progress.tsx +52 -52
  265. package/src/progress/styles.ts +34 -34
  266. package/src/progress/types.ts +28 -28
  267. package/src/radio/index.ts +14 -14
  268. package/src/radio/radio-group.tsx +61 -61
  269. package/src/radio/radio-icon.tsx +24 -24
  270. package/src/radio/radio-indicator.tsx +30 -30
  271. package/src/radio/radio-label.tsx +24 -24
  272. package/src/radio/radio.tsx +68 -68
  273. package/src/radio/styles.ts +69 -69
  274. package/src/radio/types.ts +51 -51
  275. package/src/rating/index.ts +7 -7
  276. package/src/rating/rating.tsx +93 -93
  277. package/src/rating/styles.ts +13 -13
  278. package/src/rating/types.ts +29 -29
  279. package/src/search-input/index.ts +16 -16
  280. package/src/search-input/search-input.tsx +119 -119
  281. package/src/search-input/styles.ts +28 -28
  282. package/src/search-input/types.ts +31 -31
  283. package/src/segmented-control/index.ts +2 -2
  284. package/src/segmented-control/segmented-control.tsx +34 -34
  285. package/src/segmented-control/styles.ts +22 -22
  286. package/src/segmented-control/types.ts +22 -22
  287. package/src/select/index.ts +28 -28
  288. package/src/select/select-backdrop.tsx +25 -25
  289. package/src/select/select-content.tsx +49 -49
  290. package/src/select/select-drag-indicator.tsx +19 -19
  291. package/src/select/select-icon.tsx +25 -25
  292. package/src/select/select-input.tsx +32 -32
  293. package/src/select/select-item-text.tsx +30 -30
  294. package/src/select/select-item.tsx +72 -72
  295. package/src/select/select-portal.tsx +22 -22
  296. package/src/select/select-scroll-view.tsx +22 -22
  297. package/src/select/select-trigger.tsx +64 -64
  298. package/src/select/select.tsx +101 -101
  299. package/src/select/styles.ts +114 -114
  300. package/src/select/types.ts +92 -92
  301. package/src/skeleton/index.ts +2 -2
  302. package/src/skeleton/skeleton.tsx +29 -29
  303. package/src/skeleton/styles.ts +14 -14
  304. package/src/skeleton/types.ts +12 -12
  305. package/src/slider/index.ts +12 -12
  306. package/src/slider/slider-filled-track.tsx +31 -31
  307. package/src/slider/slider-thumb.tsx +52 -52
  308. package/src/slider/slider-track.tsx +154 -154
  309. package/src/slider/slider.tsx +193 -193
  310. package/src/slider/styles.ts +71 -71
  311. package/src/slider/types.ts +47 -47
  312. package/src/snackbar/index.ts +2 -2
  313. package/src/snackbar/snackbar.tsx +39 -39
  314. package/src/snackbar/styles.ts +29 -29
  315. package/src/snackbar/types.ts +21 -21
  316. package/src/spinner/index.ts +2 -2
  317. package/src/spinner/spinner.tsx +29 -29
  318. package/src/spinner/styles.ts +15 -15
  319. package/src/spinner/types.ts +10 -10
  320. package/src/stack/index.ts +2 -2
  321. package/src/stack/stack.tsx +49 -49
  322. package/src/stack/styles.ts +25 -25
  323. package/src/stack/types.ts +15 -15
  324. package/src/stat/index.ts +2 -2
  325. package/src/stat/stat.tsx +48 -48
  326. package/src/stat/styles.ts +34 -34
  327. package/src/stat/types.ts +24 -24
  328. package/src/stepper/index.ts +2 -2
  329. package/src/stepper/stepper.tsx +95 -95
  330. package/src/stepper/styles.ts +49 -49
  331. package/src/stepper/types.ts +20 -20
  332. package/src/switch/index.ts +2 -2
  333. package/src/switch/styles.ts +24 -24
  334. package/src/switch/switch.tsx +67 -67
  335. package/src/switch/types.ts +23 -23
  336. package/src/table/index.ts +2 -2
  337. package/src/table/styles.ts +12 -12
  338. package/src/table/table.tsx +52 -52
  339. package/src/table/types.ts +10 -10
  340. package/src/tabs/index.ts +18 -18
  341. package/src/tabs/styles.ts +113 -113
  342. package/src/tabs/tab-list.tsx +29 -29
  343. package/src/tabs/tab-panel.tsx +29 -29
  344. package/src/tabs/tab-panels.tsx +21 -21
  345. package/src/tabs/tab-text.tsx +26 -26
  346. package/src/tabs/tab.tsx +56 -56
  347. package/src/tabs/tabs.tsx +71 -71
  348. package/src/tabs/types.ts +53 -53
  349. package/src/tag/index.ts +14 -14
  350. package/src/tag/styles.ts +115 -115
  351. package/src/tag/tag-close-button.tsx +26 -26
  352. package/src/tag/tag-icon.tsx +20 -20
  353. package/src/tag/tag-text.tsx +22 -22
  354. package/src/tag/tag.tsx +40 -40
  355. package/src/tag/types.ts +33 -33
  356. package/src/tags-input/index.ts +18 -18
  357. package/src/tags-input/styles.ts +29 -29
  358. package/src/tags-input/tags-input.tsx +149 -149
  359. package/src/tags-input/types.ts +37 -37
  360. package/src/text/index.ts +2 -2
  361. package/src/text/styles.ts +54 -54
  362. package/src/text/text.tsx +51 -51
  363. package/src/text/types.ts +36 -36
  364. package/src/textarea/index.ts +2 -2
  365. package/src/textarea/styles.ts +37 -37
  366. package/src/textarea/textarea.tsx +68 -68
  367. package/src/textarea/types.ts +14 -14
  368. package/src/timeline/index.ts +2 -2
  369. package/src/timeline/styles.ts +57 -57
  370. package/src/timeline/timeline.tsx +52 -52
  371. package/src/timeline/types.ts +30 -30
  372. package/src/toast/index.ts +17 -17
  373. package/src/toast/styles.ts +118 -118
  374. package/src/toast/toast-description.tsx +22 -22
  375. package/src/toast/toast-provider.tsx +136 -136
  376. package/src/toast/toast-title.tsx +22 -22
  377. package/src/toast/toast.tsx +43 -43
  378. package/src/toast/types.ts +50 -50
  379. package/src/toast/use-toast.ts +7 -7
  380. package/src/toggle/index.ts +2 -2
  381. package/src/toggle/styles.ts +30 -30
  382. package/src/toggle/toggle.tsx +25 -25
  383. package/src/toggle/types.ts +15 -15
  384. package/src/toggle-group/index.ts +2 -2
  385. package/src/toggle-group/styles.ts +35 -35
  386. package/src/toggle-group/toggle-group.tsx +60 -60
  387. package/src/toggle-group/types.ts +29 -29
  388. package/src/tooltip/index.ts +11 -11
  389. package/src/tooltip/styles.ts +9 -9
  390. package/src/tooltip/tooltip-content.tsx +19 -19
  391. package/src/tooltip/tooltip-text.tsx +19 -19
  392. package/src/tooltip/tooltip.tsx +116 -116
  393. package/src/tooltip/types.ts +35 -35
  394. package/src/utils/brand.ts +5 -5
  395. package/src/utils/create-context.ts +17 -17
  396. package/src/utils/index.ts +8 -8
  397. package/src/utils/types.ts +20 -20
  398. package/src/visually-hidden/index.ts +2 -2
  399. package/src/visually-hidden/styles.ts +6 -6
  400. package/src/visually-hidden/types.ts +6 -6
  401. package/src/visually-hidden/visually-hidden.tsx +22 -22
  402. package/tailwind-preset.js +203 -203
@@ -1,45 +1,45 @@
1
- import React from 'react';
2
- import { Modal as RNModal, View } from 'react-native';
3
- import { createComponentContext } from '../utils/create-context';
4
- import type { ActionSheetProps, ActionSheetContextValue } from './types';
5
-
6
- export const [ActionSheetProvider, useActionSheetContext] =
7
- createComponentContext<ActionSheetContextValue>('ActionSheet');
8
-
9
- export const ActionSheet: React.FC<ActionSheetProps> = ({
10
- isOpen,
11
- onClose,
12
- isModal = true,
13
- children,
14
- }) => {
15
- if (isModal) {
16
- return (
17
- <ActionSheetProvider value={{ isOpen, onClose }}>
18
- <RNModal
19
- visible={isOpen}
20
- transparent
21
- animationType="slide"
22
- onRequestClose={onClose}
23
- statusBarTranslucent
24
- >
25
- <View style={{ flex: 1, justifyContent: 'flex-end' }} pointerEvents="box-none">{children}</View>
26
- </RNModal>
27
- </ActionSheetProvider>
28
- );
29
- }
30
-
31
- if (!isOpen) return null;
32
-
33
- return (
34
- <ActionSheetProvider value={{ isOpen, onClose }}>
35
- <View
36
- style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, zIndex: 50, justifyContent: 'flex-end' }}
37
- pointerEvents="box-none"
38
- >
39
- {children}
40
- </View>
41
- </ActionSheetProvider>
42
- );
43
- };
44
-
45
- ActionSheet.displayName = 'ActionSheet';
1
+ import React from 'react';
2
+ import { Modal as RNModal, View } from 'react-native';
3
+ import { createComponentContext } from '../utils/create-context';
4
+ import type { ActionSheetProps, ActionSheetContextValue } from './types';
5
+
6
+ export const [ActionSheetProvider, useActionSheetContext] =
7
+ createComponentContext<ActionSheetContextValue>('ActionSheet');
8
+
9
+ export const ActionSheet: React.FC<ActionSheetProps> = ({
10
+ isOpen,
11
+ onClose,
12
+ isModal = true,
13
+ children,
14
+ }) => {
15
+ if (isModal) {
16
+ return (
17
+ <ActionSheetProvider value={{ isOpen, onClose }}>
18
+ <RNModal
19
+ visible={isOpen}
20
+ transparent
21
+ animationType="slide"
22
+ onRequestClose={onClose}
23
+ statusBarTranslucent
24
+ >
25
+ <View style={{ flex: 1, justifyContent: 'flex-end' }} pointerEvents="box-none">{children}</View>
26
+ </RNModal>
27
+ </ActionSheetProvider>
28
+ );
29
+ }
30
+
31
+ if (!isOpen) return null;
32
+
33
+ return (
34
+ <ActionSheetProvider value={{ isOpen, onClose }}>
35
+ <View
36
+ style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, zIndex: 50, justifyContent: 'flex-end' }}
37
+ pointerEvents="box-none"
38
+ >
39
+ {children}
40
+ </View>
41
+ </ActionSheetProvider>
42
+ );
43
+ };
44
+
45
+ ActionSheet.displayName = 'ActionSheet';
@@ -1,20 +1,20 @@
1
- export { ActionSheet } from './actionsheet';
2
- export { ActionSheetBackdrop } from './actionsheet-backdrop';
3
- export { ActionSheetContent } from './actionsheet-content';
4
- export { ActionSheetDragIndicator } from './actionsheet-drag-indicator';
5
- export { ActionSheetDragIndicatorWrapper } from './actionsheet-drag-indicator-wrapper';
6
- export { ActionSheetItem } from './actionsheet-item';
7
- export { ActionSheetItemText } from './actionsheet-item-text';
8
- export { ActionSheetScrollView } from './actionsheet-scroll-view';
9
-
10
- export type {
11
- ActionSheetProps,
12
- ActionSheetBackdropProps,
13
- ActionSheetContentProps,
14
- ActionSheetDragIndicatorProps,
15
- ActionSheetDragIndicatorWrapperProps,
16
- ActionSheetItemProps,
17
- ActionSheetItemTextProps,
18
- ActionSheetScrollViewProps,
19
- ActionSheetContextValue,
20
- } from './types';
1
+ export { ActionSheet } from './actionsheet';
2
+ export { ActionSheetBackdrop } from './actionsheet-backdrop';
3
+ export { ActionSheetContent } from './actionsheet-content';
4
+ export { ActionSheetDragIndicator } from './actionsheet-drag-indicator';
5
+ export { ActionSheetDragIndicatorWrapper } from './actionsheet-drag-indicator-wrapper';
6
+ export { ActionSheetItem } from './actionsheet-item';
7
+ export { ActionSheetItemText } from './actionsheet-item-text';
8
+ export { ActionSheetScrollView } from './actionsheet-scroll-view';
9
+
10
+ export type {
11
+ ActionSheetProps,
12
+ ActionSheetBackdropProps,
13
+ ActionSheetContentProps,
14
+ ActionSheetDragIndicatorProps,
15
+ ActionSheetDragIndicatorWrapperProps,
16
+ ActionSheetItemProps,
17
+ ActionSheetItemTextProps,
18
+ ActionSheetScrollViewProps,
19
+ ActionSheetContextValue,
20
+ } from './types';
@@ -1,25 +1,25 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const actionsheetBackdropStyle = tv({
4
- base: 'absolute inset-0 bg-black/50',
5
- });
6
-
7
- export const actionsheetContentStyle = tv({
8
- base: 'bg-background-0 rounded-t-2xl pb-8 max-h-[70%]',
9
- });
10
-
11
- export const actionsheetDragIndicatorWrapperStyle = tv({
12
- base: 'items-center py-2',
13
- });
14
-
15
- export const actionsheetDragIndicatorStyle = tv({
16
- base: 'w-10 h-1 bg-outline-300 rounded-full',
17
- });
18
-
19
- export const actionsheetItemStyle = tv({
20
- base: 'flex-row items-center px-4 py-3 active:bg-background-100',
21
- });
22
-
23
- export const actionsheetItemTextStyle = tv({
24
- base: 'text-typography-900 text-base flex-1',
25
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const actionsheetBackdropStyle = tv({
4
+ base: 'absolute inset-0 bg-black/50',
5
+ });
6
+
7
+ export const actionsheetContentStyle = tv({
8
+ base: 'bg-background-0 rounded-t-2xl pb-8 max-h-[70%]',
9
+ });
10
+
11
+ export const actionsheetDragIndicatorWrapperStyle = tv({
12
+ base: 'items-center py-2',
13
+ });
14
+
15
+ export const actionsheetDragIndicatorStyle = tv({
16
+ base: 'w-10 h-1 bg-outline-300 rounded-full',
17
+ });
18
+
19
+ export const actionsheetItemStyle = tv({
20
+ base: 'flex-row items-center px-4 py-3 active:bg-background-100',
21
+ });
22
+
23
+ export const actionsheetItemTextStyle = tv({
24
+ base: 'text-typography-900 text-base flex-1',
25
+ });
@@ -1,49 +1,49 @@
1
- import type { View, Pressable, Text as RNText, ScrollView } from 'react-native';
2
-
3
- export interface ActionSheetContextValue {
4
- isOpen: boolean;
5
- onClose: () => void;
6
- }
7
-
8
- export interface ActionSheetProps {
9
- isOpen: boolean;
10
- onClose: () => void;
11
- /** When false the action sheet renders inline (no RNModal) so background content stays interactive. */
12
- isModal?: boolean;
13
- children: React.ReactNode;
14
- }
15
-
16
- export interface ActionSheetBackdropProps
17
- extends React.ComponentPropsWithoutRef<typeof Pressable> {
18
- className?: string;
19
- }
20
-
21
- export interface ActionSheetContentProps
22
- extends React.ComponentPropsWithoutRef<typeof View> {
23
- className?: string;
24
- }
25
-
26
- export interface ActionSheetDragIndicatorWrapperProps
27
- extends React.ComponentPropsWithoutRef<typeof View> {
28
- className?: string;
29
- }
30
-
31
- export interface ActionSheetDragIndicatorProps
32
- extends React.ComponentPropsWithoutRef<typeof View> {
33
- className?: string;
34
- }
35
-
36
- export interface ActionSheetItemProps
37
- extends React.ComponentPropsWithoutRef<typeof Pressable> {
38
- className?: string;
39
- }
40
-
41
- export interface ActionSheetItemTextProps
42
- extends React.ComponentPropsWithoutRef<typeof RNText> {
43
- className?: string;
44
- }
45
-
46
- export interface ActionSheetScrollViewProps
47
- extends React.ComponentPropsWithoutRef<typeof ScrollView> {
48
- className?: string;
49
- }
1
+ import type { View, Pressable, Text as RNText, ScrollView } from 'react-native';
2
+
3
+ export interface ActionSheetContextValue {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ }
7
+
8
+ export interface ActionSheetProps {
9
+ isOpen: boolean;
10
+ onClose: () => void;
11
+ /** When false the action sheet renders inline (no RNModal) so background content stays interactive. */
12
+ isModal?: boolean;
13
+ children: React.ReactNode;
14
+ }
15
+
16
+ export interface ActionSheetBackdropProps
17
+ extends React.ComponentPropsWithoutRef<typeof Pressable> {
18
+ className?: string;
19
+ }
20
+
21
+ export interface ActionSheetContentProps
22
+ extends React.ComponentPropsWithoutRef<typeof View> {
23
+ className?: string;
24
+ }
25
+
26
+ export interface ActionSheetDragIndicatorWrapperProps
27
+ extends React.ComponentPropsWithoutRef<typeof View> {
28
+ className?: string;
29
+ }
30
+
31
+ export interface ActionSheetDragIndicatorProps
32
+ extends React.ComponentPropsWithoutRef<typeof View> {
33
+ className?: string;
34
+ }
35
+
36
+ export interface ActionSheetItemProps
37
+ extends React.ComponentPropsWithoutRef<typeof Pressable> {
38
+ className?: string;
39
+ }
40
+
41
+ export interface ActionSheetItemTextProps
42
+ extends React.ComponentPropsWithoutRef<typeof RNText> {
43
+ className?: string;
44
+ }
45
+
46
+ export interface ActionSheetScrollViewProps
47
+ extends React.ComponentPropsWithoutRef<typeof ScrollView> {
48
+ className?: string;
49
+ }
@@ -1,19 +1,19 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import type { AlertBodyProps } from './types';
4
- import { alertBodyStyle } from './styles';
5
-
6
- export const AlertBody = React.forwardRef<
7
- React.ElementRef<typeof View>,
8
- AlertBodyProps
9
- >(({ className, ...props }, ref) => {
10
- return (
11
- <View
12
- ref={ref}
13
- className={alertBodyStyle({ class: className })}
14
- {...props}
15
- />
16
- );
17
- });
18
-
19
- AlertBody.displayName = 'AlertBody';
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { AlertBodyProps } from './types';
4
+ import { alertBodyStyle } from './styles';
5
+
6
+ export const AlertBody = React.forwardRef<
7
+ React.ElementRef<typeof View>,
8
+ AlertBodyProps
9
+ >(({ className, ...props }, ref) => {
10
+ return (
11
+ <View
12
+ ref={ref}
13
+ className={alertBodyStyle({ class: className })}
14
+ {...props}
15
+ />
16
+ );
17
+ });
18
+
19
+ AlertBody.displayName = 'AlertBody';
@@ -1,23 +1,23 @@
1
- import React from 'react';
2
- import { Pressable, Text } from 'react-native';
3
- import type { AlertCloseButtonProps } from './types';
4
- import { alertCloseButtonStyle } from './styles';
5
-
6
- export const AlertCloseButton = React.forwardRef<
7
- React.ElementRef<typeof Pressable>,
8
- AlertCloseButtonProps
9
- >(({ className, children, ...props }, ref) => {
10
- return (
11
- <Pressable
12
- ref={ref}
13
- accessibilityRole="button"
14
- accessibilityLabel="Close alert"
15
- className={alertCloseButtonStyle({ class: className })}
16
- {...props}
17
- >
18
- {children ?? <Text className="text-current text-sm">✕</Text>}
19
- </Pressable>
20
- );
21
- });
22
-
23
- AlertCloseButton.displayName = 'AlertCloseButton';
1
+ import React from 'react';
2
+ import { Pressable, Text } from 'react-native';
3
+ import type { AlertCloseButtonProps } from './types';
4
+ import { alertCloseButtonStyle } from './styles';
5
+
6
+ export const AlertCloseButton = React.forwardRef<
7
+ React.ElementRef<typeof Pressable>,
8
+ AlertCloseButtonProps
9
+ >(({ className, children, ...props }, ref) => {
10
+ return (
11
+ <Pressable
12
+ ref={ref}
13
+ accessibilityRole="button"
14
+ accessibilityLabel="Close alert"
15
+ className={alertCloseButtonStyle({ class: className })}
16
+ {...props}
17
+ >
18
+ {children ?? <Text className="text-current text-sm">✕</Text>}
19
+ </Pressable>
20
+ );
21
+ });
22
+
23
+ AlertCloseButton.displayName = 'AlertCloseButton';
@@ -1,40 +1,40 @@
1
- import React from 'react';
2
- import { Text } from 'react-native';
3
- import { useAlertContext } from './alert';
4
- import type { AlertIconProps } from './types';
5
- import { alertIconStyle } from './styles';
6
-
7
- const defaultIcons: Record<string, string> = {
8
- info: 'ℹ',
9
- success: '✓',
10
- warning: '⚠',
11
- error: '✕',
12
- };
13
-
14
- export const AlertIcon = React.forwardRef<any, AlertIconProps>(
15
- ({ as: AsComp, className, ...props }, ref) => {
16
- const { status, variant } = useAlertContext();
17
-
18
- if (AsComp) {
19
- return (
20
- <AsComp
21
- ref={ref}
22
- className={alertIconStyle({ status, variant, class: className })}
23
- {...props}
24
- />
25
- );
26
- }
27
-
28
- return (
29
- <Text
30
- ref={ref}
31
- className={alertIconStyle({ status, variant, class: className })}
32
- {...props}
33
- >
34
- {defaultIcons[status]}
35
- </Text>
36
- );
37
- },
38
- );
39
-
40
- AlertIcon.displayName = 'AlertIcon';
1
+ import React from 'react';
2
+ import { Text } from 'react-native';
3
+ import { useAlertContext } from './alert';
4
+ import type { AlertIconProps } from './types';
5
+ import { alertIconStyle } from './styles';
6
+
7
+ const defaultIcons: Record<string, string> = {
8
+ info: 'ℹ',
9
+ success: '✓',
10
+ warning: '⚠',
11
+ error: '✕',
12
+ };
13
+
14
+ export const AlertIcon = React.forwardRef<any, AlertIconProps>(
15
+ ({ as: AsComp, className, ...props }, ref) => {
16
+ const { status, variant } = useAlertContext();
17
+
18
+ if (AsComp) {
19
+ return (
20
+ <AsComp
21
+ ref={ref}
22
+ className={alertIconStyle({ status, variant, class: className })}
23
+ {...props}
24
+ />
25
+ );
26
+ }
27
+
28
+ return (
29
+ <Text
30
+ ref={ref}
31
+ className={alertIconStyle({ status, variant, class: className })}
32
+ {...props}
33
+ >
34
+ {defaultIcons[status]}
35
+ </Text>
36
+ );
37
+ },
38
+ );
39
+
40
+ AlertIcon.displayName = 'AlertIcon';
@@ -1,22 +1,22 @@
1
- import React from 'react';
2
- import { Text } from 'react-native';
3
- import { useAlertContext } from './alert';
4
- import type { AlertTextProps } from './types';
5
- import { alertTextStyle } from './styles';
6
-
7
- export const AlertText = React.forwardRef<
8
- React.ElementRef<typeof Text>,
9
- AlertTextProps
10
- >(({ className, ...props }, ref) => {
11
- const { status, variant } = useAlertContext();
12
-
13
- return (
14
- <Text
15
- ref={ref}
16
- className={alertTextStyle({ status, variant, class: className })}
17
- {...props}
18
- />
19
- );
20
- });
21
-
22
- AlertText.displayName = 'AlertText';
1
+ import React from 'react';
2
+ import { Text } from 'react-native';
3
+ import { useAlertContext } from './alert';
4
+ import type { AlertTextProps } from './types';
5
+ import { alertTextStyle } from './styles';
6
+
7
+ export const AlertText = React.forwardRef<
8
+ React.ElementRef<typeof Text>,
9
+ AlertTextProps
10
+ >(({ className, ...props }, ref) => {
11
+ const { status, variant } = useAlertContext();
12
+
13
+ return (
14
+ <Text
15
+ ref={ref}
16
+ className={alertTextStyle({ status, variant, class: className })}
17
+ {...props}
18
+ />
19
+ );
20
+ });
21
+
22
+ AlertText.displayName = 'AlertText';
@@ -1,33 +1,33 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { createComponentContext } from '../utils/create-context';
4
- import type { AlertProps, AlertContextValue } from './types';
5
- import { alertStyle } from './styles';
6
-
7
- export const [AlertProvider, useAlertContext] =
8
- createComponentContext<AlertContextValue>('Alert');
9
-
10
- export const Alert = React.forwardRef<
11
- React.ElementRef<typeof View>,
12
- AlertProps
13
- >(
14
- (
15
- { className, status = 'info', variant = 'subtle', children, ...props },
16
- ref,
17
- ) => {
18
- return (
19
- <AlertProvider value={{ status, variant }}>
20
- <View
21
- ref={ref}
22
- role="alert"
23
- className={alertStyle({ status, variant, class: className })}
24
- {...props}
25
- >
26
- {children}
27
- </View>
28
- </AlertProvider>
29
- );
30
- },
31
- );
32
-
33
- Alert.displayName = 'Alert';
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { createComponentContext } from '../utils/create-context';
4
+ import type { AlertProps, AlertContextValue } from './types';
5
+ import { alertStyle } from './styles';
6
+
7
+ export const [AlertProvider, useAlertContext] =
8
+ createComponentContext<AlertContextValue>('Alert');
9
+
10
+ export const Alert = React.forwardRef<
11
+ React.ElementRef<typeof View>,
12
+ AlertProps
13
+ >(
14
+ (
15
+ { className, status = 'info', variant = 'subtle', children, ...props },
16
+ ref,
17
+ ) => {
18
+ return (
19
+ <AlertProvider value={{ status, variant }}>
20
+ <View
21
+ ref={ref}
22
+ role="alert"
23
+ className={alertStyle({ status, variant, class: className })}
24
+ {...props}
25
+ >
26
+ {children}
27
+ </View>
28
+ </AlertProvider>
29
+ );
30
+ },
31
+ );
32
+
33
+ Alert.displayName = 'Alert';
@@ -1,15 +1,15 @@
1
- export { Alert } from './alert';
2
- export { AlertIcon } from './alert-icon';
3
- export { AlertBody } from './alert-body';
4
- export { AlertText } from './alert-text';
5
- export { AlertCloseButton } from './alert-close-button';
6
-
7
- export type {
8
- AlertProps,
9
- AlertIconProps,
10
- AlertBodyProps,
11
- AlertTextProps,
12
- AlertCloseButtonProps,
13
- AlertStatus,
14
- AlertVariant,
15
- } from './types';
1
+ export { Alert } from './alert';
2
+ export { AlertIcon } from './alert-icon';
3
+ export { AlertBody } from './alert-body';
4
+ export { AlertText } from './alert-text';
5
+ export { AlertCloseButton } from './alert-close-button';
6
+
7
+ export type {
8
+ AlertProps,
9
+ AlertIconProps,
10
+ AlertBodyProps,
11
+ AlertTextProps,
12
+ AlertCloseButtonProps,
13
+ AlertStatus,
14
+ AlertVariant,
15
+ } from './types';