@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
package/src/stat/types.ts CHANGED
@@ -1,24 +1,24 @@
1
- import type { View, Text as RNText } from 'react-native';
2
-
3
- export interface StatProps extends React.ComponentPropsWithoutRef<typeof View> {
4
- className?: string;
5
- }
6
-
7
- export interface StatLabelProps extends React.ComponentPropsWithoutRef<typeof RNText> {
8
- className?: string;
9
- }
10
-
11
- export interface StatNumberProps extends React.ComponentPropsWithoutRef<typeof RNText> {
12
- className?: string;
13
- }
14
-
15
- export interface StatHelpTextProps extends React.ComponentPropsWithoutRef<typeof RNText> {
16
- className?: string;
17
- }
18
-
19
- export type StatArrowType = 'increase' | 'decrease';
20
-
21
- export interface StatArrowProps extends React.ComponentPropsWithoutRef<typeof View> {
22
- className?: string;
23
- type?: StatArrowType;
24
- }
1
+ import type { View, Text as RNText } from 'react-native';
2
+
3
+ export interface StatProps extends React.ComponentPropsWithoutRef<typeof View> {
4
+ className?: string;
5
+ }
6
+
7
+ export interface StatLabelProps extends React.ComponentPropsWithoutRef<typeof RNText> {
8
+ className?: string;
9
+ }
10
+
11
+ export interface StatNumberProps extends React.ComponentPropsWithoutRef<typeof RNText> {
12
+ className?: string;
13
+ }
14
+
15
+ export interface StatHelpTextProps extends React.ComponentPropsWithoutRef<typeof RNText> {
16
+ className?: string;
17
+ }
18
+
19
+ export type StatArrowType = 'increase' | 'decrease';
20
+
21
+ export interface StatArrowProps extends React.ComponentPropsWithoutRef<typeof View> {
22
+ className?: string;
23
+ type?: StatArrowType;
24
+ }
@@ -1,2 +1,2 @@
1
- export { Stepper, StepperProvider, useStepperContext, Step, StepProvider, useStepContext, StepIndicator, StepSeparator, StepTitle, StepDescription } from './stepper';
2
- export type { StepperProps, StepProps, StepIndicatorProps, StepSeparatorProps, StepTitleProps, StepDescriptionProps, StepperOrientation, StepperContextValue, StepContextValue } from './types';
1
+ export { Stepper, StepperProvider, useStepperContext, Step, StepProvider, useStepContext, StepIndicator, StepSeparator, StepTitle, StepDescription } from './stepper';
2
+ export type { StepperProps, StepProps, StepIndicatorProps, StepSeparatorProps, StepTitleProps, StepDescriptionProps, StepperOrientation, StepperContextValue, StepContextValue } from './types';
@@ -1,95 +1,95 @@
1
- import React from 'react';
2
- import { View, Text } from 'react-native';
3
- import { createComponentContext } from '../utils/create-context';
4
- import type { StepperProps, StepProps, StepIndicatorProps, StepSeparatorProps, StepTitleProps, StepDescriptionProps, StepperContextValue, StepContextValue } from './types';
5
- import { stepperStyle, stepStyle, stepIndicatorStyle, stepIndicatorTextStyle, stepSeparatorStyle, stepTitleStyle, stepDescriptionStyle } from './styles';
6
-
7
- export const [StepperProvider, useStepperContext] = createComponentContext<StepperContextValue>('Stepper');
8
- export const [StepProvider, useStepContext] = createComponentContext<StepContextValue>('Step');
9
-
10
- export const Stepper = React.forwardRef<React.ElementRef<typeof View>, StepperProps>(
11
- ({ className, activeStep = 0, orientation = 'horizontal', children, ...props }, ref) => {
12
- return (
13
- <StepperProvider value={{ activeStep, orientation }}>
14
- <View ref={ref} className={stepperStyle({ orientation, class: className })} {...props}>{children}</View>
15
- </StepperProvider>
16
- );
17
- },
18
- );
19
- Stepper.displayName = 'Stepper';
20
-
21
- export const Step = React.forwardRef<React.ElementRef<typeof View>, StepProps>(
22
- ({ className, index, children, ...props }, ref) => {
23
- const { activeStep, orientation } = useStepperContext();
24
- const isActive = index === activeStep;
25
- const isCompleted = index < activeStep;
26
-
27
- if (orientation === 'vertical') {
28
- const childArray = React.Children.toArray(children);
29
- const isSep = (c: React.ReactNode) =>
30
- React.isValidElement(c) && (c.type as any).displayName === 'StepSeparator';
31
- const separatorChild = childArray.find(isSep);
32
- const otherChildren = childArray.filter(c => !isSep(c));
33
- return (
34
- <StepProvider value={{ index, isActive, isCompleted }}>
35
- <View ref={ref} className={stepStyle({ orientation, class: className })} {...props}>
36
- <View className="items-center">
37
- {otherChildren[0]}
38
- {separatorChild}
39
- </View>
40
- <View className="pt-1.5 gap-0.5">
41
- {otherChildren.slice(1)}
42
- </View>
43
- </View>
44
- </StepProvider>
45
- );
46
- }
47
-
48
- return (
49
- <StepProvider value={{ index, isActive, isCompleted }}>
50
- <View ref={ref} className={stepStyle({ orientation, class: className })} {...props}>{children}</View>
51
- </StepProvider>
52
- );
53
- },
54
- );
55
- Step.displayName = 'Step';
56
-
57
- export const StepIndicator = React.forwardRef<React.ElementRef<typeof View>, StepIndicatorProps>(
58
- ({ className, children, ...props }, ref) => {
59
- const { index, isActive, isCompleted } = useStepContext();
60
- return (
61
- <View ref={ref} className={stepIndicatorStyle({ isActive, isCompleted: !isActive && isCompleted, class: className })} {...props}>
62
- {children ?? (
63
- <Text className={stepIndicatorTextStyle({ isActive: isActive || isCompleted })}>
64
- {isCompleted ? '✓' : index + 1}
65
- </Text>
66
- )}
67
- </View>
68
- );
69
- },
70
- );
71
- StepIndicator.displayName = 'StepIndicator';
72
-
73
- export const StepSeparator = React.forwardRef<React.ElementRef<typeof View>, StepSeparatorProps>(
74
- ({ className, ...props }, ref) => {
75
- const { orientation } = useStepperContext();
76
- const { isCompleted } = useStepContext();
77
- return <View ref={ref} className={stepSeparatorStyle({ orientation, isCompleted, class: className })} {...props} />;
78
- },
79
- );
80
- StepSeparator.displayName = 'StepSeparator';
81
-
82
- export const StepTitle = React.forwardRef<React.ElementRef<typeof Text>, StepTitleProps>(
83
- ({ className, ...props }, ref) => {
84
- const { isActive, isCompleted } = useStepContext();
85
- return <Text ref={ref} className={stepTitleStyle({ isActive, isCompleted: !isActive && isCompleted, class: className })} {...props} />;
86
- },
87
- );
88
- StepTitle.displayName = 'StepTitle';
89
-
90
- export const StepDescription = React.forwardRef<React.ElementRef<typeof Text>, StepDescriptionProps>(
91
- ({ className, ...props }, ref) => {
92
- return <Text ref={ref} className={stepDescriptionStyle({ class: className })} {...props} />;
93
- },
94
- );
95
- StepDescription.displayName = 'StepDescription';
1
+ import React from 'react';
2
+ import { View, Text } from 'react-native';
3
+ import { createComponentContext } from '../utils/create-context';
4
+ import type { StepperProps, StepProps, StepIndicatorProps, StepSeparatorProps, StepTitleProps, StepDescriptionProps, StepperContextValue, StepContextValue } from './types';
5
+ import { stepperStyle, stepStyle, stepIndicatorStyle, stepIndicatorTextStyle, stepSeparatorStyle, stepTitleStyle, stepDescriptionStyle } from './styles';
6
+
7
+ export const [StepperProvider, useStepperContext] = createComponentContext<StepperContextValue>('Stepper');
8
+ export const [StepProvider, useStepContext] = createComponentContext<StepContextValue>('Step');
9
+
10
+ export const Stepper = React.forwardRef<React.ElementRef<typeof View>, StepperProps>(
11
+ ({ className, activeStep = 0, orientation = 'horizontal', children, ...props }, ref) => {
12
+ return (
13
+ <StepperProvider value={{ activeStep, orientation }}>
14
+ <View ref={ref} className={stepperStyle({ orientation, class: className })} {...props}>{children}</View>
15
+ </StepperProvider>
16
+ );
17
+ },
18
+ );
19
+ Stepper.displayName = 'Stepper';
20
+
21
+ export const Step = React.forwardRef<React.ElementRef<typeof View>, StepProps>(
22
+ ({ className, index, children, ...props }, ref) => {
23
+ const { activeStep, orientation } = useStepperContext();
24
+ const isActive = index === activeStep;
25
+ const isCompleted = index < activeStep;
26
+
27
+ if (orientation === 'vertical') {
28
+ const childArray = React.Children.toArray(children);
29
+ const isSep = (c: React.ReactNode) =>
30
+ React.isValidElement(c) && (c.type as any).displayName === 'StepSeparator';
31
+ const separatorChild = childArray.find(isSep);
32
+ const otherChildren = childArray.filter(c => !isSep(c));
33
+ return (
34
+ <StepProvider value={{ index, isActive, isCompleted }}>
35
+ <View ref={ref} className={stepStyle({ orientation, class: className })} {...props}>
36
+ <View className="items-center">
37
+ {otherChildren[0]}
38
+ {separatorChild}
39
+ </View>
40
+ <View className="pt-1.5 gap-0.5">
41
+ {otherChildren.slice(1)}
42
+ </View>
43
+ </View>
44
+ </StepProvider>
45
+ );
46
+ }
47
+
48
+ return (
49
+ <StepProvider value={{ index, isActive, isCompleted }}>
50
+ <View ref={ref} className={stepStyle({ orientation, class: className })} {...props}>{children}</View>
51
+ </StepProvider>
52
+ );
53
+ },
54
+ );
55
+ Step.displayName = 'Step';
56
+
57
+ export const StepIndicator = React.forwardRef<React.ElementRef<typeof View>, StepIndicatorProps>(
58
+ ({ className, children, ...props }, ref) => {
59
+ const { index, isActive, isCompleted } = useStepContext();
60
+ return (
61
+ <View ref={ref} className={stepIndicatorStyle({ isActive, isCompleted: !isActive && isCompleted, class: className })} {...props}>
62
+ {children ?? (
63
+ <Text className={stepIndicatorTextStyle({ isActive: isActive || isCompleted })}>
64
+ {isCompleted ? '✓' : index + 1}
65
+ </Text>
66
+ )}
67
+ </View>
68
+ );
69
+ },
70
+ );
71
+ StepIndicator.displayName = 'StepIndicator';
72
+
73
+ export const StepSeparator = React.forwardRef<React.ElementRef<typeof View>, StepSeparatorProps>(
74
+ ({ className, ...props }, ref) => {
75
+ const { orientation } = useStepperContext();
76
+ const { isCompleted } = useStepContext();
77
+ return <View ref={ref} className={stepSeparatorStyle({ orientation, isCompleted, class: className })} {...props} />;
78
+ },
79
+ );
80
+ StepSeparator.displayName = 'StepSeparator';
81
+
82
+ export const StepTitle = React.forwardRef<React.ElementRef<typeof Text>, StepTitleProps>(
83
+ ({ className, ...props }, ref) => {
84
+ const { isActive, isCompleted } = useStepContext();
85
+ return <Text ref={ref} className={stepTitleStyle({ isActive, isCompleted: !isActive && isCompleted, class: className })} {...props} />;
86
+ },
87
+ );
88
+ StepTitle.displayName = 'StepTitle';
89
+
90
+ export const StepDescription = React.forwardRef<React.ElementRef<typeof Text>, StepDescriptionProps>(
91
+ ({ className, ...props }, ref) => {
92
+ return <Text ref={ref} className={stepDescriptionStyle({ class: className })} {...props} />;
93
+ },
94
+ );
95
+ StepDescription.displayName = 'StepDescription';
@@ -1,49 +1,49 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const stepperStyle = tv({
4
- base: '',
5
- variants: {
6
- orientation: { horizontal: 'flex-row items-center', vertical: 'flex-col' },
7
- },
8
- defaultVariants: { orientation: 'horizontal' },
9
- });
10
- export const stepStyle = tv({
11
- base: 'items-center',
12
- variants: {
13
- orientation: { horizontal: 'flex-row gap-2 flex-1', vertical: 'flex-row gap-3 items-start' },
14
- },
15
- defaultVariants: { orientation: 'horizontal' },
16
- });
17
- export const stepIndicatorStyle = tv({
18
- base: 'h-8 w-8 rounded-full items-center justify-center border-2',
19
- variants: {
20
- isActive: { true: 'bg-primary-500 border-primary-500' },
21
- isCompleted: { true: 'bg-primary-500 border-primary-500' },
22
- },
23
- defaultVariants: { isActive: false, isCompleted: false },
24
- });
25
- export const stepIndicatorTextStyle = tv({
26
- base: 'text-sm font-semibold',
27
- variants: {
28
- isActive: { true: 'text-typography-0', false: 'text-typography-500' },
29
- isCompleted: { true: 'text-typography-0' },
30
- },
31
- defaultVariants: { isActive: false },
32
- });
33
- export const stepSeparatorStyle = tv({
34
- base: 'bg-outline-200',
35
- variants: {
36
- orientation: { horizontal: 'h-0.5 flex-1', vertical: 'w-0.5 min-h-[24px]' },
37
- isCompleted: { true: 'bg-primary-500' },
38
- },
39
- defaultVariants: { orientation: 'horizontal', isCompleted: false },
40
- });
41
- export const stepTitleStyle = tv({
42
- base: 'text-sm font-medium',
43
- variants: {
44
- isActive: { true: 'text-typography-900', false: 'text-typography-500' },
45
- isCompleted: { true: 'text-typography-900' },
46
- },
47
- defaultVariants: { isActive: false },
48
- });
49
- export const stepDescriptionStyle = tv({ base: 'text-xs text-typography-400', variants: {} });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const stepperStyle = tv({
4
+ base: '',
5
+ variants: {
6
+ orientation: { horizontal: 'flex-row items-center', vertical: 'flex-col' },
7
+ },
8
+ defaultVariants: { orientation: 'horizontal' },
9
+ });
10
+ export const stepStyle = tv({
11
+ base: 'items-center',
12
+ variants: {
13
+ orientation: { horizontal: 'flex-row gap-2 flex-1', vertical: 'flex-row gap-3 items-start' },
14
+ },
15
+ defaultVariants: { orientation: 'horizontal' },
16
+ });
17
+ export const stepIndicatorStyle = tv({
18
+ base: 'h-8 w-8 rounded-full items-center justify-center border-2',
19
+ variants: {
20
+ isActive: { true: 'bg-primary-500 border-primary-500' },
21
+ isCompleted: { true: 'bg-primary-500 border-primary-500' },
22
+ },
23
+ defaultVariants: { isActive: false, isCompleted: false },
24
+ });
25
+ export const stepIndicatorTextStyle = tv({
26
+ base: 'text-sm font-semibold',
27
+ variants: {
28
+ isActive: { true: 'text-typography-0', false: 'text-typography-500' },
29
+ isCompleted: { true: 'text-typography-0' },
30
+ },
31
+ defaultVariants: { isActive: false },
32
+ });
33
+ export const stepSeparatorStyle = tv({
34
+ base: 'bg-outline-200',
35
+ variants: {
36
+ orientation: { horizontal: 'h-0.5 flex-1', vertical: 'w-0.5 min-h-[24px]' },
37
+ isCompleted: { true: 'bg-primary-500' },
38
+ },
39
+ defaultVariants: { orientation: 'horizontal', isCompleted: false },
40
+ });
41
+ export const stepTitleStyle = tv({
42
+ base: 'text-sm font-medium',
43
+ variants: {
44
+ isActive: { true: 'text-typography-900', false: 'text-typography-500' },
45
+ isCompleted: { true: 'text-typography-900' },
46
+ },
47
+ defaultVariants: { isActive: false },
48
+ });
49
+ export const stepDescriptionStyle = tv({ base: 'text-xs text-typography-400', variants: {} });
@@ -1,20 +1,20 @@
1
- import type { View, Text as RNText } from 'react-native';
2
-
3
- export type StepperOrientation = 'horizontal' | 'vertical';
4
-
5
- export interface StepperContextValue { activeStep: number; orientation: StepperOrientation; }
6
- export interface StepContextValue { index: number; isActive: boolean; isCompleted: boolean; }
7
-
8
- export interface StepperProps extends React.ComponentPropsWithoutRef<typeof View> {
9
- className?: string;
10
- activeStep?: number;
11
- orientation?: StepperOrientation;
12
- }
13
- export interface StepProps extends React.ComponentPropsWithoutRef<typeof View> {
14
- className?: string;
15
- index: number;
16
- }
17
- export interface StepIndicatorProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
18
- export interface StepSeparatorProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
19
- export interface StepTitleProps extends React.ComponentPropsWithoutRef<typeof RNText> { className?: string; }
20
- export interface StepDescriptionProps extends React.ComponentPropsWithoutRef<typeof RNText> { className?: string; }
1
+ import type { View, Text as RNText } from 'react-native';
2
+
3
+ export type StepperOrientation = 'horizontal' | 'vertical';
4
+
5
+ export interface StepperContextValue { activeStep: number; orientation: StepperOrientation; }
6
+ export interface StepContextValue { index: number; isActive: boolean; isCompleted: boolean; }
7
+
8
+ export interface StepperProps extends React.ComponentPropsWithoutRef<typeof View> {
9
+ className?: string;
10
+ activeStep?: number;
11
+ orientation?: StepperOrientation;
12
+ }
13
+ export interface StepProps extends React.ComponentPropsWithoutRef<typeof View> {
14
+ className?: string;
15
+ index: number;
16
+ }
17
+ export interface StepIndicatorProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
18
+ export interface StepSeparatorProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
19
+ export interface StepTitleProps extends React.ComponentPropsWithoutRef<typeof RNText> { className?: string; }
20
+ export interface StepDescriptionProps extends React.ComponentPropsWithoutRef<typeof RNText> { className?: string; }
@@ -1,2 +1,2 @@
1
- export { Switch } from './switch';
2
- export type { SwitchProps, SwitchLabelProps, SwitchSize } from './types';
1
+ export { Switch } from './switch';
2
+ export type { SwitchProps, SwitchLabelProps, SwitchSize } from './types';
@@ -1,24 +1,24 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const switchContainerStyle = tv({
4
- base: 'flex-row items-center gap-2',
5
- variants: {
6
- isDisabled: {
7
- true: 'opacity-40',
8
- },
9
- },
10
- });
11
-
12
- export const switchLabelStyle = tv({
13
- base: 'text-typography-900',
14
- variants: {
15
- size: {
16
- sm: 'text-sm',
17
- md: 'text-base',
18
- lg: 'text-lg',
19
- },
20
- },
21
- defaultVariants: {
22
- size: 'md',
23
- },
24
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const switchContainerStyle = tv({
4
+ base: 'flex-row items-center gap-2',
5
+ variants: {
6
+ isDisabled: {
7
+ true: 'opacity-40',
8
+ },
9
+ },
10
+ });
11
+
12
+ export const switchLabelStyle = tv({
13
+ base: 'text-typography-900',
14
+ variants: {
15
+ size: {
16
+ sm: 'text-sm',
17
+ md: 'text-base',
18
+ lg: 'text-lg',
19
+ },
20
+ },
21
+ defaultVariants: {
22
+ size: 'md',
23
+ },
24
+ });
@@ -1,67 +1,67 @@
1
- import React, { useState } from 'react';
2
- import { View, Switch as RNSwitch } from 'react-native';
3
- import { useFormControlContext } from '../form-control/form-control';
4
- import type { SwitchProps } from './types';
5
- import { switchContainerStyle } from './styles';
6
-
7
- export const Switch = React.forwardRef<
8
- React.ElementRef<typeof View>,
9
- SwitchProps
10
- >(
11
- (
12
- {
13
- className,
14
- size = 'md',
15
- isDisabled: isDisabledProp,
16
- value: valueProp,
17
- defaultValue = false,
18
- onToggle,
19
- trackColor: trackColorProp,
20
- thumbColor: thumbColorProp,
21
- children,
22
- ...props
23
- },
24
- ref,
25
- ) => {
26
- const [internalValue, setInternalValue] = useState(defaultValue);
27
- const formControl = useFormControlContext();
28
-
29
- const isDisabled = isDisabledProp ?? formControl?.isDisabled ?? false;
30
- const isControlled = valueProp !== undefined;
31
- const isOn = isControlled ? valueProp : internalValue;
32
-
33
- const handleToggle = (newValue: boolean) => {
34
- if (isDisabled) return;
35
- if (!isControlled) {
36
- setInternalValue(newValue);
37
- }
38
- onToggle?.(newValue);
39
- };
40
-
41
- const defaultTrackColor = {
42
- false: 'rgb(var(--color-background-300))',
43
- true: 'rgb(var(--color-primary-500))',
44
- };
45
-
46
- const defaultThumbColor = 'rgb(var(--color-background-0))';
47
-
48
- return (
49
- <View
50
- ref={ref}
51
- className={switchContainerStyle({ isDisabled, class: className })}
52
- {...props}
53
- >
54
- <RNSwitch
55
- value={isOn}
56
- onValueChange={handleToggle}
57
- disabled={isDisabled}
58
- trackColor={trackColorProp ?? defaultTrackColor}
59
- thumbColor={thumbColorProp ?? defaultThumbColor}
60
- />
61
- {children}
62
- </View>
63
- );
64
- },
65
- );
66
-
67
- Switch.displayName = 'Switch';
1
+ import React, { useState } from 'react';
2
+ import { View, Switch as RNSwitch } from 'react-native';
3
+ import { useFormControlContext } from '../form-control/form-control';
4
+ import type { SwitchProps } from './types';
5
+ import { switchContainerStyle } from './styles';
6
+
7
+ export const Switch = React.forwardRef<
8
+ React.ElementRef<typeof View>,
9
+ SwitchProps
10
+ >(
11
+ (
12
+ {
13
+ className,
14
+ size = 'md',
15
+ isDisabled: isDisabledProp,
16
+ value: valueProp,
17
+ defaultValue = false,
18
+ onToggle,
19
+ trackColor: trackColorProp,
20
+ thumbColor: thumbColorProp,
21
+ children,
22
+ ...props
23
+ },
24
+ ref,
25
+ ) => {
26
+ const [internalValue, setInternalValue] = useState(defaultValue);
27
+ const formControl = useFormControlContext();
28
+
29
+ const isDisabled = isDisabledProp ?? formControl?.isDisabled ?? false;
30
+ const isControlled = valueProp !== undefined;
31
+ const isOn = isControlled ? valueProp : internalValue;
32
+
33
+ const handleToggle = (newValue: boolean) => {
34
+ if (isDisabled) return;
35
+ if (!isControlled) {
36
+ setInternalValue(newValue);
37
+ }
38
+ onToggle?.(newValue);
39
+ };
40
+
41
+ const defaultTrackColor = {
42
+ false: 'rgb(var(--color-background-300))',
43
+ true: 'rgb(var(--color-primary-500))',
44
+ };
45
+
46
+ const defaultThumbColor = 'rgb(var(--color-background-0))';
47
+
48
+ return (
49
+ <View
50
+ ref={ref}
51
+ className={switchContainerStyle({ isDisabled, class: className })}
52
+ {...props}
53
+ >
54
+ <RNSwitch
55
+ value={isOn}
56
+ onValueChange={handleToggle}
57
+ disabled={isDisabled}
58
+ trackColor={trackColorProp ?? defaultTrackColor}
59
+ thumbColor={thumbColorProp ?? defaultThumbColor}
60
+ />
61
+ {children}
62
+ </View>
63
+ );
64
+ },
65
+ );
66
+
67
+ Switch.displayName = 'Switch';
@@ -1,23 +1,23 @@
1
- import type { View, Switch as RNSwitch } from 'react-native';
2
-
3
- export type SwitchSize = 'sm' | 'md' | 'lg';
4
-
5
- export interface SwitchProps
6
- extends React.ComponentPropsWithoutRef<typeof View> {
7
- className?: string;
8
- size?: SwitchSize;
9
- isDisabled?: boolean;
10
- value?: boolean;
11
- defaultValue?: boolean;
12
- onToggle?: (value: boolean) => void;
13
- trackColor?: {
14
- false?: string;
15
- true?: string;
16
- };
17
- thumbColor?: string;
18
- }
19
-
20
- export interface SwitchLabelProps
21
- extends React.ComponentPropsWithoutRef<typeof View> {
22
- className?: string;
23
- }
1
+ import type { View, Switch as RNSwitch } from 'react-native';
2
+
3
+ export type SwitchSize = 'sm' | 'md' | 'lg';
4
+
5
+ export interface SwitchProps
6
+ extends React.ComponentPropsWithoutRef<typeof View> {
7
+ className?: string;
8
+ size?: SwitchSize;
9
+ isDisabled?: boolean;
10
+ value?: boolean;
11
+ defaultValue?: boolean;
12
+ onToggle?: (value: boolean) => void;
13
+ trackColor?: {
14
+ false?: string;
15
+ true?: string;
16
+ };
17
+ thumbColor?: string;
18
+ }
19
+
20
+ export interface SwitchLabelProps
21
+ extends React.ComponentPropsWithoutRef<typeof View> {
22
+ className?: string;
23
+ }
@@ -1,2 +1,2 @@
1
- export { Table, TableHead, TableBody, TableFooter, TableRow, TableCell, TableHeaderCell, TableCaption } from './table';
2
- export type { TableProps, TableHeadProps, TableBodyProps, TableFooterProps, TableRowProps, TableCellProps, TableHeaderCellProps, TableCaptionProps } from './types';
1
+ export { Table, TableHead, TableBody, TableFooter, TableRow, TableCell, TableHeaderCell, TableCaption } from './table';
2
+ export type { TableProps, TableHeadProps, TableBodyProps, TableFooterProps, TableRowProps, TableCellProps, TableHeaderCellProps, TableCaptionProps } from './types';