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

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 +374 -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,39 +1,39 @@
1
- import React from 'react';
2
- import { View, Text, Pressable } from 'react-native';
3
- import { createComponentContext } from '../utils/create-context';
4
- import type { SnackbarProps, SnackbarTextProps, SnackbarActionButtonProps, SnackbarContextValue } from './types';
5
- import { snackbarStyle, snackbarTextStyle, snackbarActionButtonStyle, snackbarActionButtonTextStyle } from './styles';
6
-
7
- export const [SnackbarProvider, useSnackbarContext] =
8
- createComponentContext<SnackbarContextValue>('Snackbar');
9
-
10
- export const Snackbar = React.forwardRef<React.ElementRef<typeof View>, SnackbarProps>(
11
- ({ className, action = 'info', children, ...props }, ref) => {
12
- return (
13
- <SnackbarProvider value={{ action }}>
14
- <View ref={ref} className={snackbarStyle({ action, class: className })} {...props}>
15
- {children}
16
- </View>
17
- </SnackbarProvider>
18
- );
19
- },
20
- );
21
- Snackbar.displayName = 'Snackbar';
22
-
23
- export const SnackbarText = React.forwardRef<React.ElementRef<typeof Text>, SnackbarTextProps>(
24
- ({ className, ...props }, ref) => {
25
- return <Text ref={ref} className={snackbarTextStyle({ class: className })} {...props} />;
26
- },
27
- );
28
- SnackbarText.displayName = 'SnackbarText';
29
-
30
- export const SnackbarActionButton = React.forwardRef<React.ElementRef<typeof Pressable>, SnackbarActionButtonProps>(
31
- ({ className, label, ...props }, ref) => {
32
- return (
33
- <Pressable ref={ref} className={snackbarActionButtonStyle({ class: className })} accessibilityRole="button" {...props}>
34
- <Text className={snackbarActionButtonTextStyle({})}>{label}</Text>
35
- </Pressable>
36
- );
37
- },
38
- );
39
- SnackbarActionButton.displayName = 'SnackbarActionButton';
1
+ import React from 'react';
2
+ import { View, Text, Pressable } from 'react-native';
3
+ import { createComponentContext } from '../utils/create-context';
4
+ import type { SnackbarProps, SnackbarTextProps, SnackbarActionButtonProps, SnackbarContextValue } from './types';
5
+ import { snackbarStyle, snackbarTextStyle, snackbarActionButtonStyle, snackbarActionButtonTextStyle } from './styles';
6
+
7
+ export const [SnackbarProvider, useSnackbarContext] =
8
+ createComponentContext<SnackbarContextValue>('Snackbar');
9
+
10
+ export const Snackbar = React.forwardRef<React.ElementRef<typeof View>, SnackbarProps>(
11
+ ({ className, action = 'info', children, ...props }, ref) => {
12
+ return (
13
+ <SnackbarProvider value={{ action }}>
14
+ <View ref={ref} className={snackbarStyle({ action, class: className })} {...props}>
15
+ {children}
16
+ </View>
17
+ </SnackbarProvider>
18
+ );
19
+ },
20
+ );
21
+ Snackbar.displayName = 'Snackbar';
22
+
23
+ export const SnackbarText = React.forwardRef<React.ElementRef<typeof Text>, SnackbarTextProps>(
24
+ ({ className, ...props }, ref) => {
25
+ return <Text ref={ref} className={snackbarTextStyle({ class: className })} {...props} />;
26
+ },
27
+ );
28
+ SnackbarText.displayName = 'SnackbarText';
29
+
30
+ export const SnackbarActionButton = React.forwardRef<React.ElementRef<typeof Pressable>, SnackbarActionButtonProps>(
31
+ ({ className, label, ...props }, ref) => {
32
+ return (
33
+ <Pressable ref={ref} className={snackbarActionButtonStyle({ class: className })} accessibilityRole="button" {...props}>
34
+ <Text className={snackbarActionButtonTextStyle({})}>{label}</Text>
35
+ </Pressable>
36
+ );
37
+ },
38
+ );
39
+ SnackbarActionButton.displayName = 'SnackbarActionButton';
@@ -1,29 +1,29 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const snackbarStyle = tv({
4
- base: 'flex-row items-center justify-between rounded-lg px-4 py-3 shadow-hard-5',
5
- variants: {
6
- action: {
7
- info: 'bg-background-800',
8
- success: 'bg-success-700',
9
- warning: 'bg-warning-700',
10
- error: 'bg-error-700',
11
- },
12
- },
13
- defaultVariants: { action: 'info' },
14
- });
15
-
16
- export const snackbarTextStyle = tv({
17
- base: 'text-sm text-typography-0 flex-1 mr-3',
18
- variants: {},
19
- });
20
-
21
- export const snackbarActionButtonStyle = tv({
22
- base: 'px-2 py-1 rounded',
23
- variants: {},
24
- });
25
-
26
- export const snackbarActionButtonTextStyle = tv({
27
- base: 'text-sm font-semibold text-primary-200',
28
- variants: {},
29
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const snackbarStyle = tv({
4
+ base: 'flex-row items-center justify-between rounded-lg px-4 py-3 shadow-hard-5',
5
+ variants: {
6
+ action: {
7
+ info: 'bg-background-800',
8
+ success: 'bg-success-700',
9
+ warning: 'bg-warning-700',
10
+ error: 'bg-error-700',
11
+ },
12
+ },
13
+ defaultVariants: { action: 'info' },
14
+ });
15
+
16
+ export const snackbarTextStyle = tv({
17
+ base: 'text-sm text-typography-0 flex-1 mr-3',
18
+ variants: {},
19
+ });
20
+
21
+ export const snackbarActionButtonStyle = tv({
22
+ base: 'px-2 py-1 rounded',
23
+ variants: {},
24
+ });
25
+
26
+ export const snackbarActionButtonTextStyle = tv({
27
+ base: 'text-sm font-semibold text-primary-200',
28
+ variants: {},
29
+ });
@@ -1,21 +1,21 @@
1
- import type { View, Text as RNText, Pressable } from 'react-native';
2
-
3
- export type SnackbarAction = 'info' | 'success' | 'warning' | 'error';
4
-
5
- export interface SnackbarContextValue {
6
- action: SnackbarAction;
7
- }
8
-
9
- export interface SnackbarProps extends React.ComponentPropsWithoutRef<typeof View> {
10
- className?: string;
11
- action?: SnackbarAction;
12
- }
13
-
14
- export interface SnackbarTextProps extends React.ComponentPropsWithoutRef<typeof RNText> {
15
- className?: string;
16
- }
17
-
18
- export interface SnackbarActionButtonProps extends React.ComponentPropsWithoutRef<typeof Pressable> {
19
- className?: string;
20
- label: string;
21
- }
1
+ import type { View, Text as RNText, Pressable } from 'react-native';
2
+
3
+ export type SnackbarAction = 'info' | 'success' | 'warning' | 'error';
4
+
5
+ export interface SnackbarContextValue {
6
+ action: SnackbarAction;
7
+ }
8
+
9
+ export interface SnackbarProps extends React.ComponentPropsWithoutRef<typeof View> {
10
+ className?: string;
11
+ action?: SnackbarAction;
12
+ }
13
+
14
+ export interface SnackbarTextProps extends React.ComponentPropsWithoutRef<typeof RNText> {
15
+ className?: string;
16
+ }
17
+
18
+ export interface SnackbarActionButtonProps extends React.ComponentPropsWithoutRef<typeof Pressable> {
19
+ className?: string;
20
+ label: string;
21
+ }
@@ -1,2 +1,2 @@
1
- export { Spinner } from './spinner';
2
- export type { SpinnerProps, SpinnerSize } from './types';
1
+ export { Spinner } from './spinner';
2
+ export type { SpinnerProps, SpinnerSize } from './types';
@@ -1,29 +1,29 @@
1
- import React from 'react';
2
- import { ActivityIndicator, View } from 'react-native';
3
- import type { SpinnerProps } from './types';
4
- import { spinnerStyle } from './styles';
5
-
6
- const sizeMap = {
7
- sm: 'small' as const,
8
- md: 'small' as const,
9
- lg: 'large' as const,
10
- };
11
-
12
- export const Spinner = React.forwardRef<
13
- React.ElementRef<typeof View>,
14
- SpinnerProps
15
- >(({ className, size = 'md', color, ...props }, ref) => {
16
- return (
17
- <View
18
- ref={ref}
19
- className={spinnerStyle({ size, class: className })}
20
- aria-label="loading"
21
- role="progressbar"
22
- {...props}
23
- >
24
- <ActivityIndicator size={sizeMap[size]} color={color} />
25
- </View>
26
- );
27
- });
28
-
29
- Spinner.displayName = 'Spinner';
1
+ import React from 'react';
2
+ import { ActivityIndicator, View } from 'react-native';
3
+ import type { SpinnerProps } from './types';
4
+ import { spinnerStyle } from './styles';
5
+
6
+ const sizeMap = {
7
+ sm: 'small' as const,
8
+ md: 'small' as const,
9
+ lg: 'large' as const,
10
+ };
11
+
12
+ export const Spinner = React.forwardRef<
13
+ React.ElementRef<typeof View>,
14
+ SpinnerProps
15
+ >(({ className, size = 'md', color, ...props }, ref) => {
16
+ return (
17
+ <View
18
+ ref={ref}
19
+ className={spinnerStyle({ size, class: className })}
20
+ aria-label="loading"
21
+ role="progressbar"
22
+ {...props}
23
+ >
24
+ <ActivityIndicator size={sizeMap[size]} color={color} />
25
+ </View>
26
+ );
27
+ });
28
+
29
+ Spinner.displayName = 'Spinner';
@@ -1,15 +1,15 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const spinnerStyle = tv({
4
- base: 'items-center justify-center',
5
- variants: {
6
- size: {
7
- sm: 'h-4 w-4',
8
- md: 'h-8 w-8',
9
- lg: 'h-12 w-12',
10
- },
11
- },
12
- defaultVariants: {
13
- size: 'md',
14
- },
15
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const spinnerStyle = tv({
4
+ base: 'items-center justify-center',
5
+ variants: {
6
+ size: {
7
+ sm: 'h-4 w-4',
8
+ md: 'h-8 w-8',
9
+ lg: 'h-12 w-12',
10
+ },
11
+ },
12
+ defaultVariants: {
13
+ size: 'md',
14
+ },
15
+ });
@@ -1,10 +1,10 @@
1
- import type { View } from 'react-native';
2
-
3
- export type SpinnerSize = 'sm' | 'md' | 'lg';
4
-
5
- export interface SpinnerProps
6
- extends React.ComponentPropsWithoutRef<typeof View> {
7
- className?: string;
8
- size?: SpinnerSize;
9
- color?: string;
10
- }
1
+ import type { View } from 'react-native';
2
+
3
+ export type SpinnerSize = 'sm' | 'md' | 'lg';
4
+
5
+ export interface SpinnerProps
6
+ extends React.ComponentPropsWithoutRef<typeof View> {
7
+ className?: string;
8
+ size?: SpinnerSize;
9
+ color?: string;
10
+ }
@@ -1,2 +1,2 @@
1
- export { Stack, VStack, HStack } from './stack';
2
- export type { StackProps, VStackProps, HStackProps, StackDirection, StackSpace } from './types';
1
+ export { Stack, VStack, HStack } from './stack';
2
+ export type { StackProps, VStackProps, HStackProps, StackDirection, StackSpace } from './types';
@@ -1,49 +1,49 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import type { StackProps, VStackProps, HStackProps } from './types';
4
- import { stackStyle } from './styles';
5
-
6
- export const Stack = React.forwardRef<
7
- React.ElementRef<typeof View>,
8
- StackProps
9
- >(({ className, direction, space, ...props }, ref) => {
10
- return (
11
- <View
12
- ref={ref}
13
- className={stackStyle({ direction, space, class: className })}
14
- {...props}
15
- />
16
- );
17
- });
18
-
19
- Stack.displayName = 'Stack';
20
-
21
- export const VStack = React.forwardRef<
22
- React.ElementRef<typeof View>,
23
- VStackProps
24
- >(({ className, space, ...props }, ref) => {
25
- return (
26
- <View
27
- ref={ref}
28
- className={stackStyle({ direction: 'column', space, class: className })}
29
- {...props}
30
- />
31
- );
32
- });
33
-
34
- VStack.displayName = 'VStack';
35
-
36
- export const HStack = React.forwardRef<
37
- React.ElementRef<typeof View>,
38
- HStackProps
39
- >(({ className, space, ...props }, ref) => {
40
- return (
41
- <View
42
- ref={ref}
43
- className={stackStyle({ direction: 'row', space, class: className })}
44
- {...props}
45
- />
46
- );
47
- });
48
-
49
- HStack.displayName = 'HStack';
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { StackProps, VStackProps, HStackProps } from './types';
4
+ import { stackStyle } from './styles';
5
+
6
+ export const Stack = React.forwardRef<
7
+ React.ElementRef<typeof View>,
8
+ StackProps
9
+ >(({ className, direction, space, ...props }, ref) => {
10
+ return (
11
+ <View
12
+ ref={ref}
13
+ className={stackStyle({ direction, space, class: className })}
14
+ {...props}
15
+ />
16
+ );
17
+ });
18
+
19
+ Stack.displayName = 'Stack';
20
+
21
+ export const VStack = React.forwardRef<
22
+ React.ElementRef<typeof View>,
23
+ VStackProps
24
+ >(({ className, space, ...props }, ref) => {
25
+ return (
26
+ <View
27
+ ref={ref}
28
+ className={stackStyle({ direction: 'column', space, class: className })}
29
+ {...props}
30
+ />
31
+ );
32
+ });
33
+
34
+ VStack.displayName = 'VStack';
35
+
36
+ export const HStack = React.forwardRef<
37
+ React.ElementRef<typeof View>,
38
+ HStackProps
39
+ >(({ className, space, ...props }, ref) => {
40
+ return (
41
+ <View
42
+ ref={ref}
43
+ className={stackStyle({ direction: 'row', space, class: className })}
44
+ {...props}
45
+ />
46
+ );
47
+ });
48
+
49
+ HStack.displayName = 'HStack';
@@ -1,25 +1,25 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const stackStyle = tv({
4
- base: 'flex',
5
- variants: {
6
- direction: {
7
- 'row': 'flex-row',
8
- 'column': 'flex-col',
9
- 'row-reverse': 'flex-row-reverse',
10
- 'column-reverse': 'flex-col-reverse',
11
- },
12
- space: {
13
- xs: 'gap-1',
14
- sm: 'gap-2',
15
- md: 'gap-3',
16
- lg: 'gap-4',
17
- xl: 'gap-6',
18
- '2xl': 'gap-8',
19
- },
20
- },
21
- defaultVariants: {
22
- direction: 'column',
23
- space: 'md',
24
- },
25
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const stackStyle = tv({
4
+ base: 'flex',
5
+ variants: {
6
+ direction: {
7
+ 'row': 'flex-row',
8
+ 'column': 'flex-col',
9
+ 'row-reverse': 'flex-row-reverse',
10
+ 'column-reverse': 'flex-col-reverse',
11
+ },
12
+ space: {
13
+ xs: 'gap-1',
14
+ sm: 'gap-2',
15
+ md: 'gap-3',
16
+ lg: 'gap-4',
17
+ xl: 'gap-6',
18
+ '2xl': 'gap-8',
19
+ },
20
+ },
21
+ defaultVariants: {
22
+ direction: 'column',
23
+ space: 'md',
24
+ },
25
+ });
@@ -1,15 +1,15 @@
1
- import type { View } from 'react-native';
2
-
3
- export type StackDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
4
- export type StackSpace = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
5
-
6
- export interface StackProps
7
- extends React.ComponentPropsWithoutRef<typeof View> {
8
- className?: string;
9
- direction?: StackDirection;
10
- space?: StackSpace;
11
- reversed?: boolean;
12
- }
13
-
14
- export interface VStackProps extends Omit<StackProps, 'direction'> {}
15
- export interface HStackProps extends Omit<StackProps, 'direction'> {}
1
+ import type { View } from 'react-native';
2
+
3
+ export type StackDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
4
+ export type StackSpace = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
5
+
6
+ export interface StackProps
7
+ extends React.ComponentPropsWithoutRef<typeof View> {
8
+ className?: string;
9
+ direction?: StackDirection;
10
+ space?: StackSpace;
11
+ reversed?: boolean;
12
+ }
13
+
14
+ export interface VStackProps extends Omit<StackProps, 'direction'> {}
15
+ export interface HStackProps extends Omit<StackProps, 'direction'> {}
package/src/stat/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { Stat, StatLabel, StatNumber, StatHelpText, StatArrow } from './stat';
2
- export type { StatProps, StatLabelProps, StatNumberProps, StatHelpTextProps, StatArrowProps, StatArrowType } from './types';
1
+ export { Stat, StatLabel, StatNumber, StatHelpText, StatArrow } from './stat';
2
+ export type { StatProps, StatLabelProps, StatNumberProps, StatHelpTextProps, StatArrowProps, StatArrowType } from './types';
package/src/stat/stat.tsx CHANGED
@@ -1,48 +1,48 @@
1
- import React from 'react';
2
- import { View, Text } from 'react-native';
3
- import type { StatProps, StatLabelProps, StatNumberProps, StatHelpTextProps, StatArrowProps } from './types';
4
- import { statStyle, statLabelStyle, statNumberStyle, statHelpTextStyle, statArrowStyle } from './styles';
5
-
6
- export const Stat = React.forwardRef<
7
- React.ElementRef<typeof View>,
8
- StatProps
9
- >(({ className, ...props }, ref) => {
10
- return <View ref={ref} className={statStyle({ class: className })} {...props} />;
11
- });
12
- Stat.displayName = 'Stat';
13
-
14
- export const StatLabel = React.forwardRef<
15
- React.ElementRef<typeof Text>,
16
- StatLabelProps
17
- >(({ className, ...props }, ref) => {
18
- return <Text ref={ref} className={statLabelStyle({ class: className })} {...props} />;
19
- });
20
- StatLabel.displayName = 'StatLabel';
21
-
22
- export const StatNumber = React.forwardRef<
23
- React.ElementRef<typeof Text>,
24
- StatNumberProps
25
- >(({ className, ...props }, ref) => {
26
- return <Text ref={ref} className={statNumberStyle({ class: className })} {...props} />;
27
- });
28
- StatNumber.displayName = 'StatNumber';
29
-
30
- export const StatHelpText = React.forwardRef<
31
- React.ElementRef<typeof Text>,
32
- StatHelpTextProps
33
- >(({ className, ...props }, ref) => {
34
- return <Text ref={ref} className={statHelpTextStyle({ class: className })} {...props} />;
35
- });
36
- StatHelpText.displayName = 'StatHelpText';
37
-
38
- export const StatArrow = React.forwardRef<
39
- React.ElementRef<typeof View>,
40
- StatArrowProps
41
- >(({ className, type = 'increase', ...props }, ref) => {
42
- return (
43
- <Text ref={ref as any} className={statArrowStyle({ type, class: className })} {...props}>
44
- {type === 'increase' ? '\u25B2' : '\u25BC'}
45
- </Text>
46
- );
47
- });
48
- StatArrow.displayName = 'StatArrow';
1
+ import React from 'react';
2
+ import { View, Text } from 'react-native';
3
+ import type { StatProps, StatLabelProps, StatNumberProps, StatHelpTextProps, StatArrowProps } from './types';
4
+ import { statStyle, statLabelStyle, statNumberStyle, statHelpTextStyle, statArrowStyle } from './styles';
5
+
6
+ export const Stat = React.forwardRef<
7
+ React.ElementRef<typeof View>,
8
+ StatProps
9
+ >(({ className, ...props }, ref) => {
10
+ return <View ref={ref} className={statStyle({ class: className })} {...props} />;
11
+ });
12
+ Stat.displayName = 'Stat';
13
+
14
+ export const StatLabel = React.forwardRef<
15
+ React.ElementRef<typeof Text>,
16
+ StatLabelProps
17
+ >(({ className, ...props }, ref) => {
18
+ return <Text ref={ref} className={statLabelStyle({ class: className })} {...props} />;
19
+ });
20
+ StatLabel.displayName = 'StatLabel';
21
+
22
+ export const StatNumber = React.forwardRef<
23
+ React.ElementRef<typeof Text>,
24
+ StatNumberProps
25
+ >(({ className, ...props }, ref) => {
26
+ return <Text ref={ref} className={statNumberStyle({ class: className })} {...props} />;
27
+ });
28
+ StatNumber.displayName = 'StatNumber';
29
+
30
+ export const StatHelpText = React.forwardRef<
31
+ React.ElementRef<typeof Text>,
32
+ StatHelpTextProps
33
+ >(({ className, ...props }, ref) => {
34
+ return <Text ref={ref} className={statHelpTextStyle({ class: className })} {...props} />;
35
+ });
36
+ StatHelpText.displayName = 'StatHelpText';
37
+
38
+ export const StatArrow = React.forwardRef<
39
+ React.ElementRef<typeof View>,
40
+ StatArrowProps
41
+ >(({ className, type = 'increase', ...props }, ref) => {
42
+ return (
43
+ <Text ref={ref as any} className={statArrowStyle({ type, class: className })} {...props}>
44
+ {type === 'increase' ? '\u25B2' : '\u25BC'}
45
+ </Text>
46
+ );
47
+ });
48
+ StatArrow.displayName = 'StatArrow';
@@ -1,34 +1,34 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const statStyle = tv({
4
- base: 'gap-0.5',
5
- variants: {},
6
- });
7
-
8
- export const statLabelStyle = tv({
9
- base: 'text-xs font-medium text-typography-500',
10
- variants: {},
11
- });
12
-
13
- export const statNumberStyle = tv({
14
- base: 'text-2xl font-bold text-typography-900',
15
- variants: {},
16
- });
17
-
18
- export const statHelpTextStyle = tv({
19
- base: 'text-xs text-typography-500 flex-row items-center gap-1',
20
- variants: {},
21
- });
22
-
23
- export const statArrowStyle = tv({
24
- base: 'text-xs',
25
- variants: {
26
- type: {
27
- increase: 'text-success-600',
28
- decrease: 'text-error-600',
29
- },
30
- },
31
- defaultVariants: {
32
- type: 'increase',
33
- },
34
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const statStyle = tv({
4
+ base: 'gap-0.5',
5
+ variants: {},
6
+ });
7
+
8
+ export const statLabelStyle = tv({
9
+ base: 'text-xs font-medium text-typography-500',
10
+ variants: {},
11
+ });
12
+
13
+ export const statNumberStyle = tv({
14
+ base: 'text-2xl font-bold text-typography-900',
15
+ variants: {},
16
+ });
17
+
18
+ export const statHelpTextStyle = tv({
19
+ base: 'text-xs text-typography-500 flex-row items-center gap-1',
20
+ variants: {},
21
+ });
22
+
23
+ export const statArrowStyle = tv({
24
+ base: 'text-xs',
25
+ variants: {
26
+ type: {
27
+ increase: 'text-success-600',
28
+ decrease: 'text-error-600',
29
+ },
30
+ },
31
+ defaultVariants: {
32
+ type: 'increase',
33
+ },
34
+ });