@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,2 +1,2 @@
1
- export { Carousel, CarouselProvider, useCarouselContext, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, CarouselDots } from './carousel';
2
- export type { CarouselProps, CarouselContentProps, CarouselItemProps, CarouselPreviousProps, CarouselNextProps, CarouselDotsProps, CarouselContextValue } from './types';
1
+ export { Carousel, CarouselProvider, useCarouselContext, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, CarouselDots } from './carousel';
2
+ export type { CarouselProps, CarouselContentProps, CarouselItemProps, CarouselPreviousProps, CarouselNextProps, CarouselDotsProps, CarouselContextValue } from './types';
@@ -1,21 +1,21 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const carouselStyle = tv({ base: 'relative', variants: {} });
4
- export const carouselContentStyle = tv({ base: '', variants: {} });
5
- export const carouselItemStyle = tv({ base: 'w-full', variants: {} });
6
- export const carouselPreviousStyle = tv({
7
- base: 'h-8 w-8 items-center justify-center rounded-full bg-background-100 border border-outline-200',
8
- variants: {},
9
- });
10
- export const carouselNextStyle = tv({
11
- base: 'h-8 w-8 items-center justify-center rounded-full bg-background-100 border border-outline-200',
12
- variants: {},
13
- });
14
- export const carouselDotsStyle = tv({ base: 'flex-row items-center justify-center gap-1.5 mt-3', variants: {} });
15
- export const carouselDotStyle = tv({
16
- base: 'h-2 w-2 rounded-full',
17
- variants: {
18
- isActive: { true: 'bg-primary-500', false: 'bg-background-300' },
19
- },
20
- defaultVariants: { isActive: false },
21
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const carouselStyle = tv({ base: 'relative', variants: {} });
4
+ export const carouselContentStyle = tv({ base: '', variants: {} });
5
+ export const carouselItemStyle = tv({ base: 'w-full', variants: {} });
6
+ export const carouselPreviousStyle = tv({
7
+ base: 'h-8 w-8 items-center justify-center rounded-full bg-background-100 border border-outline-200',
8
+ variants: {},
9
+ });
10
+ export const carouselNextStyle = tv({
11
+ base: 'h-8 w-8 items-center justify-center rounded-full bg-background-100 border border-outline-200',
12
+ variants: {},
13
+ });
14
+ export const carouselDotsStyle = tv({ base: 'flex-row items-center justify-center gap-1.5 mt-3', variants: {} });
15
+ export const carouselDotStyle = tv({
16
+ base: 'h-2 w-2 rounded-full',
17
+ variants: {
18
+ isActive: { true: 'bg-primary-500', false: 'bg-background-300' },
19
+ },
20
+ defaultVariants: { isActive: false },
21
+ });
@@ -1,41 +1,41 @@
1
- import type { View, Pressable, Animated } from 'react-native';
2
-
3
- export interface CarouselContextValue {
4
- activeIndex: number;
5
- setActiveIndex: (index: number) => void;
6
- activeIndexRef: React.MutableRefObject<number>;
7
- itemCount: number;
8
- setItemCount: (count: number) => void;
9
- itemCountRef: React.MutableRefObject<number>;
10
- loop: boolean;
11
- width: number;
12
- setWidth: (width: number) => void;
13
- widthRef: React.MutableRefObject<number>;
14
- animX: Animated.Value;
15
- animXValueRef: React.MutableRefObject<number>;
16
- goTo: (index: number, animate?: boolean) => void;
17
- next: () => void;
18
- previous: () => void;
19
- itemWidth: number;
20
- gap: number;
21
- }
22
-
23
- export interface CarouselProps extends React.ComponentPropsWithoutRef<typeof View> {
24
- className?: string;
25
- defaultIndex?: number;
26
- loop?: boolean;
27
- onIndexChange?: (index: number) => void;
28
- /** Fixed width for each item. When set, multiple items are visible. */
29
- itemWidth?: number;
30
- /** Gap between items in pixels. */
31
- gap?: number;
32
- /** Automatically advance slides. */
33
- autoPlay?: boolean;
34
- /** Interval in ms between auto-advances (default 3000). */
35
- autoPlayInterval?: number;
36
- }
37
- export interface CarouselContentProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
38
- export interface CarouselItemProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; onPress?: () => void; }
39
- export interface CarouselPreviousProps extends React.ComponentPropsWithoutRef<typeof Pressable> { className?: string; }
40
- export interface CarouselNextProps extends React.ComponentPropsWithoutRef<typeof Pressable> { className?: string; }
41
- export interface CarouselDotsProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
1
+ import type { View, Pressable, Animated } from 'react-native';
2
+
3
+ export interface CarouselContextValue {
4
+ activeIndex: number;
5
+ setActiveIndex: (index: number) => void;
6
+ activeIndexRef: React.MutableRefObject<number>;
7
+ itemCount: number;
8
+ setItemCount: (count: number) => void;
9
+ itemCountRef: React.MutableRefObject<number>;
10
+ loop: boolean;
11
+ width: number;
12
+ setWidth: (width: number) => void;
13
+ widthRef: React.MutableRefObject<number>;
14
+ animX: Animated.Value;
15
+ animXValueRef: React.MutableRefObject<number>;
16
+ goTo: (index: number, animate?: boolean) => void;
17
+ next: () => void;
18
+ previous: () => void;
19
+ itemWidth: number;
20
+ gap: number;
21
+ }
22
+
23
+ export interface CarouselProps extends React.ComponentPropsWithoutRef<typeof View> {
24
+ className?: string;
25
+ defaultIndex?: number;
26
+ loop?: boolean;
27
+ onIndexChange?: (index: number) => void;
28
+ /** Fixed width for each item. When set, multiple items are visible. */
29
+ itemWidth?: number;
30
+ /** Gap between items in pixels. */
31
+ gap?: number;
32
+ /** Automatically advance slides. */
33
+ autoPlay?: boolean;
34
+ /** Interval in ms between auto-advances (default 3000). */
35
+ autoPlayInterval?: number;
36
+ }
37
+ export interface CarouselContentProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
38
+ export interface CarouselItemProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; onPress?: () => void; }
39
+ export interface CarouselPreviousProps extends React.ComponentPropsWithoutRef<typeof Pressable> { className?: string; }
40
+ export interface CarouselNextProps extends React.ComponentPropsWithoutRef<typeof Pressable> { className?: string; }
41
+ export interface CarouselDotsProps extends React.ComponentPropsWithoutRef<typeof View> { className?: string; }
@@ -1,19 +1,19 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import type { CenterProps } from './types';
4
- import { centerStyle } from './styles';
5
-
6
- export const Center = React.forwardRef<
7
- React.ElementRef<typeof View>,
8
- CenterProps
9
- >(({ className, ...props }, ref) => {
10
- return (
11
- <View
12
- ref={ref}
13
- className={centerStyle({ class: className })}
14
- {...props}
15
- />
16
- );
17
- });
18
-
19
- Center.displayName = 'Center';
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { CenterProps } from './types';
4
+ import { centerStyle } from './styles';
5
+
6
+ export const Center = React.forwardRef<
7
+ React.ElementRef<typeof View>,
8
+ CenterProps
9
+ >(({ className, ...props }, ref) => {
10
+ return (
11
+ <View
12
+ ref={ref}
13
+ className={centerStyle({ class: className })}
14
+ {...props}
15
+ />
16
+ );
17
+ });
18
+
19
+ Center.displayName = 'Center';
@@ -1,2 +1,2 @@
1
- export { Center } from './center';
2
- export type { CenterProps } from './types';
1
+ export { Center } from './center';
2
+ export type { CenterProps } from './types';
@@ -1,6 +1,6 @@
1
- import { tv } from 'tailwind-variants';
2
-
3
- export const centerStyle = tv({
4
- base: 'items-center justify-center',
5
- variants: {},
6
- });
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const centerStyle = tv({
4
+ base: 'items-center justify-center',
5
+ variants: {},
6
+ });
@@ -1,6 +1,6 @@
1
- import type { View } from 'react-native';
2
-
3
- export interface CenterProps
4
- extends React.ComponentPropsWithoutRef<typeof View> {
5
- className?: string;
6
- }
1
+ import type { View } from 'react-native';
2
+
3
+ export interface CenterProps
4
+ extends React.ComponentPropsWithoutRef<typeof View> {
5
+ className?: string;
6
+ }
@@ -1,63 +1,63 @@
1
- import React, { createContext, useContext, useState } from 'react';
2
- import { View } from 'react-native';
3
- import type { CheckboxGroupProps, CheckboxGroupContextValue } from './types';
4
- import { checkboxGroupStyle } from './styles';
5
-
6
- export const CheckboxGroupContext =
7
- createContext<CheckboxGroupContextValue | null>(null);
8
-
9
- export function useCheckboxGroupContext(): CheckboxGroupContextValue | null {
10
- return useContext(CheckboxGroupContext);
11
- }
12
-
13
- export const CheckboxGroup = React.forwardRef<
14
- React.ElementRef<typeof View>,
15
- CheckboxGroupProps
16
- >(
17
- (
18
- {
19
- className,
20
- value: valueProp,
21
- defaultValue = [],
22
- onChange,
23
- isDisabled,
24
- isInvalid,
25
- size = 'md',
26
- children,
27
- ...props
28
- },
29
- ref,
30
- ) => {
31
- const [internalValues, setInternalValues] =
32
- useState<string[]>(defaultValue);
33
- const isControlled = valueProp !== undefined;
34
- const values = isControlled ? valueProp : internalValues;
35
-
36
- const handleChange = (checkboxValue: string) => {
37
- const newValues = values.includes(checkboxValue)
38
- ? values.filter((v) => v !== checkboxValue)
39
- : [...values, checkboxValue];
40
-
41
- if (!isControlled) {
42
- setInternalValues(newValues);
43
- }
44
- onChange?.(newValues);
45
- };
46
-
47
- return (
48
- <CheckboxGroupContext.Provider
49
- value={{ values, onChange: handleChange, isDisabled, isInvalid, size }}
50
- >
51
- <View
52
- ref={ref}
53
- className={checkboxGroupStyle({ class: className })}
54
- {...props}
55
- >
56
- {children}
57
- </View>
58
- </CheckboxGroupContext.Provider>
59
- );
60
- },
61
- );
62
-
63
- CheckboxGroup.displayName = 'CheckboxGroup';
1
+ import React, { createContext, useContext, useState } from 'react';
2
+ import { View } from 'react-native';
3
+ import type { CheckboxGroupProps, CheckboxGroupContextValue } from './types';
4
+ import { checkboxGroupStyle } from './styles';
5
+
6
+ export const CheckboxGroupContext =
7
+ createContext<CheckboxGroupContextValue | null>(null);
8
+
9
+ export function useCheckboxGroupContext(): CheckboxGroupContextValue | null {
10
+ return useContext(CheckboxGroupContext);
11
+ }
12
+
13
+ export const CheckboxGroup = React.forwardRef<
14
+ React.ElementRef<typeof View>,
15
+ CheckboxGroupProps
16
+ >(
17
+ (
18
+ {
19
+ className,
20
+ value: valueProp,
21
+ defaultValue = [],
22
+ onChange,
23
+ isDisabled,
24
+ isInvalid,
25
+ size = 'md',
26
+ children,
27
+ ...props
28
+ },
29
+ ref,
30
+ ) => {
31
+ const [internalValues, setInternalValues] =
32
+ useState<string[]>(defaultValue);
33
+ const isControlled = valueProp !== undefined;
34
+ const values = isControlled ? valueProp : internalValues;
35
+
36
+ const handleChange = (checkboxValue: string) => {
37
+ const newValues = values.includes(checkboxValue)
38
+ ? values.filter((v) => v !== checkboxValue)
39
+ : [...values, checkboxValue];
40
+
41
+ if (!isControlled) {
42
+ setInternalValues(newValues);
43
+ }
44
+ onChange?.(newValues);
45
+ };
46
+
47
+ return (
48
+ <CheckboxGroupContext.Provider
49
+ value={{ values, onChange: handleChange, isDisabled, isInvalid, size }}
50
+ >
51
+ <View
52
+ ref={ref}
53
+ className={checkboxGroupStyle({ class: className })}
54
+ {...props}
55
+ >
56
+ {children}
57
+ </View>
58
+ </CheckboxGroupContext.Provider>
59
+ );
60
+ },
61
+ );
62
+
63
+ CheckboxGroup.displayName = 'CheckboxGroup';
@@ -1,35 +1,35 @@
1
- import React from 'react';
2
- import { Text } from 'react-native';
3
- import { useCheckboxContext } from './checkbox';
4
- import type { CheckboxIconProps } from './types';
5
- import { checkboxIconStyle } from './styles';
6
-
7
- export const CheckboxIcon = React.forwardRef<any, CheckboxIconProps>(
8
- ({ as: IconComponent, className, ...props }, ref) => {
9
- const { isChecked, size } = useCheckboxContext();
10
-
11
- if (!isChecked) return null;
12
-
13
- if (IconComponent) {
14
- return (
15
- <IconComponent
16
- ref={ref}
17
- className={checkboxIconStyle({ size, class: className })}
18
- {...props}
19
- />
20
- );
21
- }
22
-
23
- return (
24
- <Text
25
- ref={ref}
26
- className={checkboxIconStyle({ size, class: className })}
27
- {...props}
28
- >
29
- {'\u2713'}
30
- </Text>
31
- );
32
- },
33
- );
34
-
35
- CheckboxIcon.displayName = 'CheckboxIcon';
1
+ import React from 'react';
2
+ import { Text } from 'react-native';
3
+ import { useCheckboxContext } from './checkbox';
4
+ import type { CheckboxIconProps } from './types';
5
+ import { checkboxIconStyle } from './styles';
6
+
7
+ export const CheckboxIcon = React.forwardRef<any, CheckboxIconProps>(
8
+ ({ as: IconComponent, className, ...props }, ref) => {
9
+ const { isChecked, size } = useCheckboxContext();
10
+
11
+ if (!isChecked) return null;
12
+
13
+ if (IconComponent) {
14
+ return (
15
+ <IconComponent
16
+ ref={ref}
17
+ className={checkboxIconStyle({ size, class: className })}
18
+ {...props}
19
+ />
20
+ );
21
+ }
22
+
23
+ return (
24
+ <Text
25
+ ref={ref}
26
+ className={checkboxIconStyle({ size, class: className })}
27
+ {...props}
28
+ >
29
+ {'\u2713'}
30
+ </Text>
31
+ );
32
+ },
33
+ );
34
+
35
+ CheckboxIcon.displayName = 'CheckboxIcon';
@@ -1,30 +1,30 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { useCheckboxContext } from './checkbox';
4
- import type { CheckboxIndicatorProps } from './types';
5
- import { checkboxIndicatorStyle } from './styles';
6
-
7
- export const CheckboxIndicator = React.forwardRef<
8
- React.ElementRef<typeof View>,
9
- CheckboxIndicatorProps
10
- >(({ className, children, ...props }, ref) => {
11
- const { isChecked, isDisabled, isInvalid, size } = useCheckboxContext();
12
-
13
- return (
14
- <View
15
- ref={ref}
16
- className={checkboxIndicatorStyle({
17
- size,
18
- isChecked,
19
- isInvalid,
20
- isDisabled,
21
- class: className,
22
- })}
23
- {...props}
24
- >
25
- {children}
26
- </View>
27
- );
28
- });
29
-
30
- CheckboxIndicator.displayName = 'CheckboxIndicator';
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { useCheckboxContext } from './checkbox';
4
+ import type { CheckboxIndicatorProps } from './types';
5
+ import { checkboxIndicatorStyle } from './styles';
6
+
7
+ export const CheckboxIndicator = React.forwardRef<
8
+ React.ElementRef<typeof View>,
9
+ CheckboxIndicatorProps
10
+ >(({ className, children, ...props }, ref) => {
11
+ const { isChecked, isDisabled, isInvalid, size } = useCheckboxContext();
12
+
13
+ return (
14
+ <View
15
+ ref={ref}
16
+ className={checkboxIndicatorStyle({
17
+ size,
18
+ isChecked,
19
+ isInvalid,
20
+ isDisabled,
21
+ class: className,
22
+ })}
23
+ {...props}
24
+ >
25
+ {children}
26
+ </View>
27
+ );
28
+ });
29
+
30
+ CheckboxIndicator.displayName = 'CheckboxIndicator';
@@ -1,24 +1,24 @@
1
- import React from 'react';
2
- import { Text } from 'react-native';
3
- import { useCheckboxContext } from './checkbox';
4
- import type { CheckboxLabelProps } from './types';
5
- import { checkboxLabelStyle } from './styles';
6
-
7
- export const CheckboxLabel = React.forwardRef<
8
- React.ElementRef<typeof Text>,
9
- CheckboxLabelProps
10
- >(({ className, children, ...props }, ref) => {
11
- const { isDisabled, size } = useCheckboxContext();
12
-
13
- return (
14
- <Text
15
- ref={ref}
16
- className={checkboxLabelStyle({ size, isDisabled, class: className })}
17
- {...props}
18
- >
19
- {children}
20
- </Text>
21
- );
22
- });
23
-
24
- CheckboxLabel.displayName = 'CheckboxLabel';
1
+ import React from 'react';
2
+ import { Text } from 'react-native';
3
+ import { useCheckboxContext } from './checkbox';
4
+ import type { CheckboxLabelProps } from './types';
5
+ import { checkboxLabelStyle } from './styles';
6
+
7
+ export const CheckboxLabel = React.forwardRef<
8
+ React.ElementRef<typeof Text>,
9
+ CheckboxLabelProps
10
+ >(({ className, children, ...props }, ref) => {
11
+ const { isDisabled, size } = useCheckboxContext();
12
+
13
+ return (
14
+ <Text
15
+ ref={ref}
16
+ className={checkboxLabelStyle({ size, isDisabled, class: className })}
17
+ {...props}
18
+ >
19
+ {children}
20
+ </Text>
21
+ );
22
+ });
23
+
24
+ CheckboxLabel.displayName = 'CheckboxLabel';