@gv-tech/design-system 2.5.0 → 2.5.2

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 (440) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +5 -2
  3. package/.agent/skills/dogfood-components/SKILL.md +0 -34
  4. package/.agent/skills/maintain-component/SKILL.md +0 -77
  5. package/.agent/workflows/native-playground.md +0 -93
  6. package/.github/CODEOWNERS +0 -2
  7. package/.github/CONTRIBUTING.md +0 -42
  8. package/.github/FUNDING.yml +0 -4
  9. package/.github/PULL_REQUEST_TEMPLATE/build.md +0 -5
  10. package/.github/PULL_REQUEST_TEMPLATE/standard.md +0 -3
  11. package/.github/RELEASING.md +0 -37
  12. package/.github/copilot-instructions.md +0 -61
  13. package/.github/workflows/ci.yml +0 -91
  14. package/.github/workflows/codeql-analysis.yml +0 -34
  15. package/.github/workflows/release-please.yml +0 -79
  16. package/.husky/pre-commit +0 -1
  17. package/.prettierignore +0 -3
  18. package/.release-please-manifest.json +0 -9
  19. package/.tool-versions +0 -1
  20. package/.vscode/launch.json +0 -22
  21. package/.vscode/mcp.json +0 -8
  22. package/.vscode/settings.json +0 -30
  23. package/.yarnrc.yml +0 -7
  24. package/SECURITY.md +0 -9
  25. package/apps/.gitkeep +0 -0
  26. package/apps/native-playground/CHANGELOG.md +0 -8
  27. package/apps/native-playground/app.json +0 -37
  28. package/apps/native-playground/assets/fonts/.gitkeep +0 -0
  29. package/apps/native-playground/assets/images/adaptive-icon.png +0 -0
  30. package/apps/native-playground/assets/images/favicon.png +0 -0
  31. package/apps/native-playground/assets/images/icon.png +0 -0
  32. package/apps/native-playground/assets/images/splash-icon.png +0 -0
  33. package/apps/native-playground/babel.config.js +0 -6
  34. package/apps/native-playground/eas.json +0 -25
  35. package/apps/native-playground/index.js +0 -8
  36. package/apps/native-playground/metro.config.js +0 -26
  37. package/apps/native-playground/nativewind-env.d.ts +0 -1
  38. package/apps/native-playground/package.json +0 -23
  39. package/apps/native-playground/project.json +0 -15
  40. package/apps/native-playground/src/app/App.tsx +0 -842
  41. package/apps/native-playground/src/global.css +0 -49
  42. package/apps/native-playground/tailwind.config.js +0 -49
  43. package/apps/native-playground/tsconfig.app.json +0 -24
  44. package/apps/native-playground/tsconfig.json +0 -23
  45. package/apps/native-playground/tsconfig.spec.json +0 -24
  46. package/apps/playground-web/CHANGELOG.md +0 -8
  47. package/apps/playground-web/index.html +0 -13
  48. package/apps/playground-web/package.json +0 -31
  49. package/apps/playground-web/public/favicon.png +0 -0
  50. package/apps/playground-web/public/index.demo.html +0 -40
  51. package/apps/playground-web/public/logo192.png +0 -0
  52. package/apps/playground-web/public/logo512.png +0 -0
  53. package/apps/playground-web/public/manifest.json +0 -25
  54. package/apps/playground-web/public/robots.txt +0 -2
  55. package/apps/playground-web/src/App.tsx +0 -179
  56. package/apps/playground-web/src/components/docs/CodeBlock.tsx +0 -34
  57. package/apps/playground-web/src/components/docs/CombinedDocsLayout.tsx +0 -103
  58. package/apps/playground-web/src/components/docs/ComponentShowcase.tsx +0 -96
  59. package/apps/playground-web/src/components/docs/ErrorBoundary.tsx +0 -55
  60. package/apps/playground-web/src/components/docs/Footer.tsx +0 -146
  61. package/apps/playground-web/src/components/docs/PropsTable.tsx +0 -43
  62. package/apps/playground-web/src/components/docs/Search.tsx +0 -75
  63. package/apps/playground-web/src/components/docs/Sidebar.tsx +0 -77
  64. package/apps/playground-web/src/components/docs/ThemeToggle.tsx +0 -19
  65. package/apps/playground-web/src/components/docs/index.ts +0 -9
  66. package/apps/playground-web/src/config/docs.ts +0 -293
  67. package/apps/playground-web/src/globals.css +0 -148
  68. package/apps/playground-web/src/hooks/useDocMetadata.ts +0 -34
  69. package/apps/playground-web/src/hooks/usePackageManager.tsx +0 -42
  70. package/apps/playground-web/src/lib/react-native-shim.js +0 -34
  71. package/apps/playground-web/src/main.tsx +0 -11
  72. package/apps/playground-web/src/pages/index.ts +0 -4
  73. package/apps/playground-web/src/pages/native/AccordionDocs.tsx +0 -85
  74. package/apps/playground-web/src/pages/native/AlertDialogDocs.tsx +0 -128
  75. package/apps/playground-web/src/pages/native/AlertDocs.tsx +0 -89
  76. package/apps/playground-web/src/pages/native/AspectRatioDocs.tsx +0 -52
  77. package/apps/playground-web/src/pages/native/AvatarDocs.tsx +0 -92
  78. package/apps/playground-web/src/pages/native/BadgeDocs.tsx +0 -63
  79. package/apps/playground-web/src/pages/native/BreadcrumbDocs.tsx +0 -71
  80. package/apps/playground-web/src/pages/native/ButtonDocs.tsx +0 -103
  81. package/apps/playground-web/src/pages/native/CalendarDocs.tsx +0 -74
  82. package/apps/playground-web/src/pages/native/CardDocs.tsx +0 -75
  83. package/apps/playground-web/src/pages/native/CarouselDocs.tsx +0 -113
  84. package/apps/playground-web/src/pages/native/ChartDocs.tsx +0 -115
  85. package/apps/playground-web/src/pages/native/CheckboxDocs.tsx +0 -38
  86. package/apps/playground-web/src/pages/native/CollapsibleDocs.tsx +0 -89
  87. package/apps/playground-web/src/pages/native/CommandDocs.tsx +0 -170
  88. package/apps/playground-web/src/pages/native/ContextMenuDocs.tsx +0 -121
  89. package/apps/playground-web/src/pages/native/DialogDocs.tsx +0 -132
  90. package/apps/playground-web/src/pages/native/DrawerDocs.tsx +0 -158
  91. package/apps/playground-web/src/pages/native/DropdownMenuDocs.tsx +0 -168
  92. package/apps/playground-web/src/pages/native/HoverCardDocs.tsx +0 -119
  93. package/apps/playground-web/src/pages/native/InputDocs.tsx +0 -86
  94. package/apps/playground-web/src/pages/native/LabelDocs.tsx +0 -55
  95. package/apps/playground-web/src/pages/native/MenubarDocs.tsx +0 -197
  96. package/apps/playground-web/src/pages/native/NavigationMenuDocs.tsx +0 -190
  97. package/apps/playground-web/src/pages/native/PaginationDocs.tsx +0 -70
  98. package/apps/playground-web/src/pages/native/PopoverDocs.tsx +0 -156
  99. package/apps/playground-web/src/pages/native/ProgressDocs.tsx +0 -61
  100. package/apps/playground-web/src/pages/native/RadioGroupDocs.tsx +0 -125
  101. package/apps/playground-web/src/pages/native/ResizableDocs.tsx +0 -118
  102. package/apps/playground-web/src/pages/native/ScrollAreaDocs.tsx +0 -92
  103. package/apps/playground-web/src/pages/native/SearchDocs.tsx +0 -150
  104. package/apps/playground-web/src/pages/native/SelectDocs.tsx +0 -141
  105. package/apps/playground-web/src/pages/native/SeparatorDocs.tsx +0 -72
  106. package/apps/playground-web/src/pages/native/SheetDocs.tsx +0 -140
  107. package/apps/playground-web/src/pages/native/SkeletonDocs.tsx +0 -44
  108. package/apps/playground-web/src/pages/native/SliderDocs.tsx +0 -118
  109. package/apps/playground-web/src/pages/native/SonnerDocs.tsx +0 -111
  110. package/apps/playground-web/src/pages/native/SwitchDocs.tsx +0 -87
  111. package/apps/playground-web/src/pages/native/TableDocs.tsx +0 -67
  112. package/apps/playground-web/src/pages/native/TabsDocs.tsx +0 -175
  113. package/apps/playground-web/src/pages/native/TextareaDocs.tsx +0 -61
  114. package/apps/playground-web/src/pages/native/ThemeToggleDocs.tsx +0 -288
  115. package/apps/playground-web/src/pages/native/ToastDocs.tsx +0 -124
  116. package/apps/playground-web/src/pages/native/ToggleDocs.tsx +0 -81
  117. package/apps/playground-web/src/pages/native/ToggleGroupDocs.tsx +0 -128
  118. package/apps/playground-web/src/pages/native/TooltipDocs.tsx +0 -140
  119. package/apps/playground-web/src/pages/native/index.ts +0 -47
  120. package/apps/playground-web/src/pages/shared/ColorTokensDocs.tsx +0 -234
  121. package/apps/playground-web/src/pages/shared/GettingStarted.tsx +0 -413
  122. package/apps/playground-web/src/pages/web/AccordionDocs.tsx +0 -194
  123. package/apps/playground-web/src/pages/web/AlertDialogDocs.tsx +0 -157
  124. package/apps/playground-web/src/pages/web/AlertDocs.tsx +0 -110
  125. package/apps/playground-web/src/pages/web/AspectRatioDocs.tsx +0 -94
  126. package/apps/playground-web/src/pages/web/AvatarDocs.tsx +0 -81
  127. package/apps/playground-web/src/pages/web/BadgeDocs.tsx +0 -66
  128. package/apps/playground-web/src/pages/web/BreadcrumbDocs.tsx +0 -93
  129. package/apps/playground-web/src/pages/web/ButtonDocs.tsx +0 -129
  130. package/apps/playground-web/src/pages/web/CalendarDocs.tsx +0 -78
  131. package/apps/playground-web/src/pages/web/CardDocs.tsx +0 -115
  132. package/apps/playground-web/src/pages/web/CarouselDocs.tsx +0 -176
  133. package/apps/playground-web/src/pages/web/ChartDocs.tsx +0 -151
  134. package/apps/playground-web/src/pages/web/CheckboxDocs.tsx +0 -95
  135. package/apps/playground-web/src/pages/web/CollapsibleDocs.tsx +0 -111
  136. package/apps/playground-web/src/pages/web/CommandDocs.tsx +0 -219
  137. package/apps/playground-web/src/pages/web/ContextMenuDocs.tsx +0 -164
  138. package/apps/playground-web/src/pages/web/DialogDocs.tsx +0 -175
  139. package/apps/playground-web/src/pages/web/DrawerDocs.tsx +0 -283
  140. package/apps/playground-web/src/pages/web/DropdownMenuDocs.tsx +0 -319
  141. package/apps/playground-web/src/pages/web/FormDocs.tsx +0 -175
  142. package/apps/playground-web/src/pages/web/HoverCardDocs.tsx +0 -151
  143. package/apps/playground-web/src/pages/web/InputDocs.tsx +0 -118
  144. package/apps/playground-web/src/pages/web/LabelDocs.tsx +0 -59
  145. package/apps/playground-web/src/pages/web/MenubarDocs.tsx +0 -296
  146. package/apps/playground-web/src/pages/web/NavigationMenuDocs.tsx +0 -263
  147. package/apps/playground-web/src/pages/web/PaginationDocs.tsx +0 -102
  148. package/apps/playground-web/src/pages/web/PopoverDocs.tsx +0 -189
  149. package/apps/playground-web/src/pages/web/ProgressDocs.tsx +0 -70
  150. package/apps/playground-web/src/pages/web/RadioGroupDocs.tsx +0 -137
  151. package/apps/playground-web/src/pages/web/ResizableDocs.tsx +0 -143
  152. package/apps/playground-web/src/pages/web/ScrollAreaDocs.tsx +0 -107
  153. package/apps/playground-web/src/pages/web/SearchDocs.tsx +0 -203
  154. package/apps/playground-web/src/pages/web/SelectDocs.tsx +0 -164
  155. package/apps/playground-web/src/pages/web/SeparatorDocs.tsx +0 -88
  156. package/apps/playground-web/src/pages/web/SheetDocs.tsx +0 -186
  157. package/apps/playground-web/src/pages/web/SkeletonDocs.tsx +0 -53
  158. package/apps/playground-web/src/pages/web/SliderDocs.tsx +0 -119
  159. package/apps/playground-web/src/pages/web/SonnerDocs.tsx +0 -126
  160. package/apps/playground-web/src/pages/web/SwitchDocs.tsx +0 -91
  161. package/apps/playground-web/src/pages/web/TableDocs.tsx +0 -148
  162. package/apps/playground-web/src/pages/web/TabsDocs.tsx +0 -241
  163. package/apps/playground-web/src/pages/web/TextareaDocs.tsx +0 -65
  164. package/apps/playground-web/src/pages/web/ThemeToggleDocs.tsx +0 -303
  165. package/apps/playground-web/src/pages/web/ToastDocs.tsx +0 -149
  166. package/apps/playground-web/src/pages/web/ToggleDocs.tsx +0 -85
  167. package/apps/playground-web/src/pages/web/ToggleGroupDocs.tsx +0 -140
  168. package/apps/playground-web/src/pages/web/TooltipDocs.tsx +0 -150
  169. package/apps/playground-web/src/pages/web/index.ts +0 -47
  170. package/apps/playground-web/src/routes/doc-routes.tsx +0 -363
  171. package/apps/playground-web/tailwind.config.js +0 -47
  172. package/apps/playground-web/tsconfig.app.json +0 -16
  173. package/apps/playground-web/tsconfig.json +0 -4
  174. package/apps/playground-web/tsconfig.node.json +0 -13
  175. package/apps/playground-web/vite.config.ts +0 -41
  176. package/components.json +0 -20
  177. package/docs/architecture-pivot.md +0 -165
  178. package/docs/native-setup-decision.md +0 -57
  179. package/docs/phase-1-tracker.md +0 -144
  180. package/docs/release-tooling-evaluation.md +0 -67
  181. package/docs/universal-implementation.md +0 -195
  182. package/docs/update-plan.md +0 -268
  183. package/eslint.config.mjs +0 -13
  184. package/nx.json +0 -50
  185. package/packages/.gitkeep +0 -0
  186. package/packages/design-tokens/CHANGELOG.md +0 -8
  187. package/packages/design-tokens/package.json +0 -20
  188. package/packages/design-tokens/src/index.ts +0 -35
  189. package/packages/design-tokens/src/palette.ts +0 -36
  190. package/packages/design-tokens/src/radii.ts +0 -26
  191. package/packages/design-tokens/src/shadows.ts +0 -16
  192. package/packages/design-tokens/src/spacing.ts +0 -33
  193. package/packages/design-tokens/src/theme.ts +0 -54
  194. package/packages/design-tokens/src/typography.ts +0 -36
  195. package/packages/design-tokens/tsconfig.json +0 -17
  196. package/packages/ui-core/CHANGELOG.md +0 -8
  197. package/packages/ui-core/package.json +0 -40
  198. package/packages/ui-core/src/contracts/accordion.ts +0 -23
  199. package/packages/ui-core/src/contracts/alert-dialog.ts +0 -48
  200. package/packages/ui-core/src/contracts/alert.ts +0 -17
  201. package/packages/ui-core/src/contracts/aspect-ratio.ts +0 -7
  202. package/packages/ui-core/src/contracts/avatar.ts +0 -17
  203. package/packages/ui-core/src/contracts/badge.ts +0 -7
  204. package/packages/ui-core/src/contracts/breadcrumb.ts +0 -37
  205. package/packages/ui-core/src/contracts/button.ts +0 -17
  206. package/packages/ui-core/src/contracts/calendar.ts +0 -4
  207. package/packages/ui-core/src/contracts/card.ts +0 -11
  208. package/packages/ui-core/src/contracts/carousel.ts +0 -29
  209. package/packages/ui-core/src/contracts/chart.ts +0 -31
  210. package/packages/ui-core/src/contracts/checkbox.ts +0 -11
  211. package/packages/ui-core/src/contracts/collapsible.ts +0 -21
  212. package/packages/ui-core/src/contracts/command.ts +0 -43
  213. package/packages/ui-core/src/contracts/context-menu.ts +0 -78
  214. package/packages/ui-core/src/contracts/dialog.ts +0 -29
  215. package/packages/ui-core/src/contracts/drawer.ts +0 -39
  216. package/packages/ui-core/src/contracts/dropdown-menu.ts +0 -87
  217. package/packages/ui-core/src/contracts/form.ts +0 -29
  218. package/packages/ui-core/src/contracts/hover-card.ts +0 -21
  219. package/packages/ui-core/src/contracts/input.ts +0 -11
  220. package/packages/ui-core/src/contracts/label.ts +0 -7
  221. package/packages/ui-core/src/contracts/menubar.ts +0 -86
  222. package/packages/ui-core/src/contracts/navigation-menu.ts +0 -55
  223. package/packages/ui-core/src/contracts/pagination.ts +0 -38
  224. package/packages/ui-core/src/contracts/popover.ts +0 -28
  225. package/packages/ui-core/src/contracts/progress.ts +0 -4
  226. package/packages/ui-core/src/contracts/radio.ts +0 -16
  227. package/packages/ui-core/src/contracts/resizable.ts +0 -36
  228. package/packages/ui-core/src/contracts/scroll-area.ts +0 -15
  229. package/packages/ui-core/src/contracts/search.ts +0 -13
  230. package/packages/ui-core/src/contracts/select.ts +0 -64
  231. package/packages/ui-core/src/contracts/separator.ts +0 -5
  232. package/packages/ui-core/src/contracts/sheet.ts +0 -58
  233. package/packages/ui-core/src/contracts/skeleton.ts +0 -6
  234. package/packages/ui-core/src/contracts/slider.ts +0 -15
  235. package/packages/ui-core/src/contracts/sonner.ts +0 -15
  236. package/packages/ui-core/src/contracts/switch.ts +0 -11
  237. package/packages/ui-core/src/contracts/table.ts +0 -41
  238. package/packages/ui-core/src/contracts/tabs.ts +0 -31
  239. package/packages/ui-core/src/contracts/text.ts +0 -12
  240. package/packages/ui-core/src/contracts/textarea.ts +0 -7
  241. package/packages/ui-core/src/contracts/theme-provider.ts +0 -14
  242. package/packages/ui-core/src/contracts/theme-toggle.ts +0 -15
  243. package/packages/ui-core/src/contracts/toast.ts +0 -15
  244. package/packages/ui-core/src/contracts/toaster.ts +0 -3
  245. package/packages/ui-core/src/contracts/toggle-group.ts +0 -23
  246. package/packages/ui-core/src/contracts/toggle.ts +0 -49
  247. package/packages/ui-core/src/contracts/tooltip.ts +0 -28
  248. package/packages/ui-core/src/index.ts +0 -327
  249. package/packages/ui-core/tsconfig.json +0 -18
  250. package/packages/ui-native/CHANGELOG.md +0 -8
  251. package/packages/ui-native/package.json +0 -76
  252. package/packages/ui-native/src/accordion.tsx +0 -93
  253. package/packages/ui-native/src/alert-dialog.tsx +0 -123
  254. package/packages/ui-native/src/alert.tsx +0 -50
  255. package/packages/ui-native/src/aspect-ratio.tsx +0 -9
  256. package/packages/ui-native/src/avatar.tsx +0 -38
  257. package/packages/ui-native/src/badge.tsx +0 -51
  258. package/packages/ui-native/src/breadcrumb.tsx +0 -9
  259. package/packages/ui-native/src/button.test.tsx +0 -27
  260. package/packages/ui-native/src/button.tsx +0 -75
  261. package/packages/ui-native/src/calendar.tsx +0 -9
  262. package/packages/ui-native/src/card.test.tsx +0 -33
  263. package/packages/ui-native/src/card.tsx +0 -56
  264. package/packages/ui-native/src/carousel.tsx +0 -9
  265. package/packages/ui-native/src/chart.tsx +0 -9
  266. package/packages/ui-native/src/checkbox.test.tsx +0 -58
  267. package/packages/ui-native/src/checkbox.tsx +0 -31
  268. package/packages/ui-native/src/collapsible.test.tsx +0 -50
  269. package/packages/ui-native/src/collapsible.tsx +0 -15
  270. package/packages/ui-native/src/command.tsx +0 -9
  271. package/packages/ui-native/src/context-menu.tsx +0 -9
  272. package/packages/ui-native/src/dialog.test.tsx +0 -91
  273. package/packages/ui-native/src/dialog.tsx +0 -121
  274. package/packages/ui-native/src/drawer.tsx +0 -9
  275. package/packages/ui-native/src/dropdown-menu.tsx +0 -9
  276. package/packages/ui-native/src/form.tsx +0 -9
  277. package/packages/ui-native/src/hover-card.tsx +0 -9
  278. package/packages/ui-native/src/index.ts +0 -209
  279. package/packages/ui-native/src/input.test.tsx +0 -27
  280. package/packages/ui-native/src/input.tsx +0 -27
  281. package/packages/ui-native/src/label.tsx +0 -29
  282. package/packages/ui-native/src/lib/render-native.tsx +0 -17
  283. package/packages/ui-native/src/lib/utils.ts +0 -6
  284. package/packages/ui-native/src/menubar.tsx +0 -9
  285. package/packages/ui-native/src/nativewind-env.d.ts +0 -1
  286. package/packages/ui-native/src/navigation-menu.tsx +0 -9
  287. package/packages/ui-native/src/pagination.tsx +0 -9
  288. package/packages/ui-native/src/popover.tsx +0 -9
  289. package/packages/ui-native/src/progress.tsx +0 -9
  290. package/packages/ui-native/src/radio-group.test.tsx +0 -77
  291. package/packages/ui-native/src/radio-group.tsx +0 -42
  292. package/packages/ui-native/src/resizable.tsx +0 -25
  293. package/packages/ui-native/src/scroll-area.tsx +0 -9
  294. package/packages/ui-native/src/search.tsx +0 -17
  295. package/packages/ui-native/src/select.tsx +0 -229
  296. package/packages/ui-native/src/separator.tsx +0 -20
  297. package/packages/ui-native/src/sheet.test.tsx +0 -93
  298. package/packages/ui-native/src/sheet.tsx +0 -127
  299. package/packages/ui-native/src/skeleton.test.tsx +0 -29
  300. package/packages/ui-native/src/skeleton.tsx +0 -31
  301. package/packages/ui-native/src/slider.tsx +0 -9
  302. package/packages/ui-native/src/sonner.tsx +0 -9
  303. package/packages/ui-native/src/switch.tsx +0 -34
  304. package/packages/ui-native/src/table.tsx +0 -73
  305. package/packages/ui-native/src/tabs.tsx +0 -74
  306. package/packages/ui-native/src/text.test.tsx +0 -24
  307. package/packages/ui-native/src/text.tsx +0 -43
  308. package/packages/ui-native/src/textarea.test.tsx +0 -27
  309. package/packages/ui-native/src/textarea.tsx +0 -29
  310. package/packages/ui-native/src/theme-provider.tsx +0 -6
  311. package/packages/ui-native/src/theme-toggle.tsx +0 -11
  312. package/packages/ui-native/src/toast.test.tsx +0 -61
  313. package/packages/ui-native/src/toast.tsx +0 -88
  314. package/packages/ui-native/src/toaster.tsx +0 -9
  315. package/packages/ui-native/src/toggle-group.tsx +0 -78
  316. package/packages/ui-native/src/toggle.tsx +0 -35
  317. package/packages/ui-native/src/tooltip.tsx +0 -44
  318. package/packages/ui-native/tsconfig.json +0 -23
  319. package/packages/ui-native/vite.config.ts +0 -17
  320. package/packages/ui-web/CHANGELOG.md +0 -8
  321. package/packages/ui-web/package.json +0 -84
  322. package/packages/ui-web/src/accordion.test.tsx +0 -86
  323. package/packages/ui-web/src/accordion.tsx +0 -58
  324. package/packages/ui-web/src/alert-dialog.test.tsx +0 -91
  325. package/packages/ui-web/src/alert-dialog.tsx +0 -121
  326. package/packages/ui-web/src/alert.test.tsx +0 -47
  327. package/packages/ui-web/src/alert.tsx +0 -49
  328. package/packages/ui-web/src/aspect-ratio.test.tsx +0 -34
  329. package/packages/ui-web/src/aspect-ratio.tsx +0 -7
  330. package/packages/ui-web/src/avatar.test.tsx +0 -33
  331. package/packages/ui-web/src/avatar.tsx +0 -40
  332. package/packages/ui-web/src/badge.test.tsx +0 -24
  333. package/packages/ui-web/src/badge.tsx +0 -34
  334. package/packages/ui-web/src/breadcrumb.tsx +0 -105
  335. package/packages/ui-web/src/button.test.tsx +0 -62
  336. package/packages/ui-web/src/button.tsx +0 -47
  337. package/packages/ui-web/src/calendar.test.tsx +0 -23
  338. package/packages/ui-web/src/calendar.tsx +0 -163
  339. package/packages/ui-web/src/card.test.tsx +0 -35
  340. package/packages/ui-web/src/card.tsx +0 -46
  341. package/packages/ui-web/src/carousel.test.tsx +0 -37
  342. package/packages/ui-web/src/carousel.tsx +0 -234
  343. package/packages/ui-web/src/chart.test.tsx +0 -62
  344. package/packages/ui-web/src/chart.tsx +0 -296
  345. package/packages/ui-web/src/checkbox.test.tsx +0 -30
  346. package/packages/ui-web/src/checkbox.tsx +0 -31
  347. package/packages/ui-web/src/collapsible.test.tsx +0 -51
  348. package/packages/ui-web/src/collapsible.tsx +0 -15
  349. package/packages/ui-web/src/command.test.tsx +0 -79
  350. package/packages/ui-web/src/command.tsx +0 -154
  351. package/packages/ui-web/src/context-menu.test.tsx +0 -37
  352. package/packages/ui-web/src/context-menu.tsx +0 -208
  353. package/packages/ui-web/src/dialog.test.tsx +0 -66
  354. package/packages/ui-web/src/dialog.tsx +0 -95
  355. package/packages/ui-web/src/drawer.test.tsx +0 -68
  356. package/packages/ui-web/src/drawer.tsx +0 -110
  357. package/packages/ui-web/src/dropdown-menu.test.tsx +0 -93
  358. package/packages/ui-web/src/dropdown-menu.tsx +0 -212
  359. package/packages/ui-web/src/form.test.tsx +0 -84
  360. package/packages/ui-web/src/form.tsx +0 -160
  361. package/packages/ui-web/src/hooks/use-theme.ts +0 -15
  362. package/packages/ui-web/src/hooks/use-toast.ts +0 -189
  363. package/packages/ui-web/src/hover-card.test.tsx +0 -48
  364. package/packages/ui-web/src/hover-card.tsx +0 -35
  365. package/packages/ui-web/src/index.ts +0 -474
  366. package/packages/ui-web/src/input.test.tsx +0 -33
  367. package/packages/ui-web/src/input.tsx +0 -23
  368. package/packages/ui-web/src/label.test.tsx +0 -27
  369. package/packages/ui-web/src/label.tsx +0 -21
  370. package/packages/ui-web/src/lib/utils.ts +0 -6
  371. package/packages/ui-web/src/menubar.test.tsx +0 -92
  372. package/packages/ui-web/src/menubar.tsx +0 -244
  373. package/packages/ui-web/src/navigation-menu.test.tsx +0 -53
  374. package/packages/ui-web/src/navigation-menu.tsx +0 -143
  375. package/packages/ui-web/src/pagination.test.tsx +0 -57
  376. package/packages/ui-web/src/pagination.tsx +0 -107
  377. package/packages/ui-web/src/popover.test.tsx +0 -31
  378. package/packages/ui-web/src/popover.tsx +0 -45
  379. package/packages/ui-web/src/progress.test.tsx +0 -18
  380. package/packages/ui-web/src/progress.tsx +0 -28
  381. package/packages/ui-web/src/radio-group.test.tsx +0 -39
  382. package/packages/ui-web/src/radio-group.tsx +0 -41
  383. package/packages/ui-web/src/resizable.test.tsx +0 -23
  384. package/packages/ui-web/src/resizable.tsx +0 -59
  385. package/packages/ui-web/src/scroll-area.test.tsx +0 -15
  386. package/packages/ui-web/src/scroll-area.tsx +0 -42
  387. package/packages/ui-web/src/search.test.tsx +0 -81
  388. package/packages/ui-web/src/search.tsx +0 -87
  389. package/packages/ui-web/src/select.test.tsx +0 -42
  390. package/packages/ui-web/src/select.tsx +0 -169
  391. package/packages/ui-web/src/separator.test.tsx +0 -16
  392. package/packages/ui-web/src/separator.tsx +0 -24
  393. package/packages/ui-web/src/setupTests.ts +0 -114
  394. package/packages/ui-web/src/sheet.test.tsx +0 -48
  395. package/packages/ui-web/src/sheet.tsx +0 -136
  396. package/packages/ui-web/src/skeleton.test.tsx +0 -13
  397. package/packages/ui-web/src/skeleton.tsx +0 -10
  398. package/packages/ui-web/src/slider.test.tsx +0 -18
  399. package/packages/ui-web/src/slider.tsx +0 -27
  400. package/packages/ui-web/src/sonner.test.tsx +0 -13
  401. package/packages/ui-web/src/sonner.tsx +0 -32
  402. package/packages/ui-web/src/switch.test.tsx +0 -22
  403. package/packages/ui-web/src/switch.tsx +0 -31
  404. package/packages/ui-web/src/table.test.tsx +0 -29
  405. package/packages/ui-web/src/table.tsx +0 -104
  406. package/packages/ui-web/src/tabs.test.tsx +0 -43
  407. package/packages/ui-web/src/tabs.tsx +0 -62
  408. package/packages/ui-web/src/text.test.tsx +0 -34
  409. package/packages/ui-web/src/text.tsx +0 -55
  410. package/packages/ui-web/src/textarea.test.tsx +0 -21
  411. package/packages/ui-web/src/textarea.tsx +0 -25
  412. package/packages/ui-web/src/theme-provider.tsx +0 -15
  413. package/packages/ui-web/src/theme-toggle.test.tsx +0 -49
  414. package/packages/ui-web/src/theme-toggle.tsx +0 -92
  415. package/packages/ui-web/src/toast.test.tsx +0 -42
  416. package/packages/ui-web/src/toast.tsx +0 -111
  417. package/packages/ui-web/src/toaster.tsx +0 -27
  418. package/packages/ui-web/src/toggle-group.test.tsx +0 -40
  419. package/packages/ui-web/src/toggle-group.tsx +0 -55
  420. package/packages/ui-web/src/toggle.test.tsx +0 -21
  421. package/packages/ui-web/src/toggle.tsx +0 -24
  422. package/packages/ui-web/src/tooltip.tsx +0 -51
  423. package/packages/ui-web/tsconfig.json +0 -24
  424. package/packages/ui-web/vite.config.ts +0 -21
  425. package/postcss.config.mjs +0 -5
  426. package/release-please-config.json +0 -60
  427. package/scripts/build-registry.ts +0 -80
  428. package/scripts/sync-tokens.ts +0 -86
  429. package/scripts/validate.ts +0 -74
  430. package/src/globals.css +0 -146
  431. package/src/index.ts +0 -4
  432. package/src/setupTests.ts +0 -47
  433. package/src/types/nativewind.d.ts +0 -19
  434. package/tailwind.config.js +0 -48
  435. package/tsconfig.build.json +0 -22
  436. package/tsconfig.json +0 -30
  437. package/tsconfig.node.json +0 -11
  438. package/vite.config.ts +0 -106
  439. package/vitest.config.ts +0 -23
  440. package/wrangler.toml +0 -22
@@ -1,31 +0,0 @@
1
- import * as CheckboxPrimitive from '@rn-primitives/checkbox';
2
- import { Check } from 'lucide-react-native';
3
- import * as React from 'react';
4
- import { Platform } from 'react-native';
5
-
6
- import { cn } from './lib/utils';
7
-
8
- const Checkbox = React.forwardRef<
9
- React.ElementRef<typeof CheckboxPrimitive.Root>,
10
- React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>
11
- >(({ className, ...props }, ref) => {
12
- return (
13
- <CheckboxPrimitive.Root
14
- ref={ref}
15
- className={cn(
16
- 'web:peer h-4 w-4 native:h-[20] native:w-[20] shrink-0 rounded-sm native:rounded border border-primary web:ring-offset-background web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
17
- props.checked && 'bg-primary',
18
- className,
19
- )}
20
- {...props}
21
- >
22
- <CheckboxPrimitive.Indicator className={cn('items-center justify-center h-full w-full')}>
23
- <Check size={12} strokeWidth={Platform.OS === 'web' ? 2.5 : 3.5} className="text-primary-foreground" />
24
- </CheckboxPrimitive.Indicator>
25
- </CheckboxPrimitive.Root>
26
- );
27
- });
28
- Checkbox.displayName = CheckboxPrimitive.Root?.displayName || 'Checkbox';
29
-
30
- export { Checkbox };
31
- export type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>;
@@ -1,50 +0,0 @@
1
- import { fireEvent, render, screen } from '@testing-library/react';
2
- import * as React from 'react';
3
- import { describe, expect, it, vi } from 'vitest';
4
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './collapsible';
5
-
6
- // Mock the primitive
7
- /* eslint-disable @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any */
8
- vi.mock('@rn-primitives/collapsible', () => {
9
- const React = require('react');
10
- return {
11
- Root: ({ children, open, onOpenChange, ...props }: any) =>
12
- React.createElement(
13
- 'div',
14
- props,
15
- React.Children.map(children, (child: any) => {
16
- if (React.isValidElement(child)) {
17
- return React.cloneElement(child as any, { open, onOpenChange });
18
- }
19
- return child;
20
- }),
21
- ),
22
- Trigger: ({ children, open, onOpenChange, ...props }: any) =>
23
- React.createElement('button', { onClick: () => onOpenChange?.(!open), ...props }, children),
24
- Content: ({ children, open, ...props }: any) => (open ? React.createElement('div', props, children) : null),
25
- };
26
- });
27
- /* eslint-enable @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any */
28
-
29
- describe('Collapsible (Native Implementation)', () => {
30
- it('renders correctly and toggles content', async () => {
31
- const TestComponent = () => {
32
- const [open, setOpen] = React.useState(false);
33
- return (
34
- <Collapsible open={open} onOpenChange={setOpen}>
35
- <CollapsibleTrigger>Toggle</CollapsibleTrigger>
36
- <CollapsibleContent>Content</CollapsibleContent>
37
- </Collapsible>
38
- );
39
- };
40
-
41
- render(<TestComponent />);
42
-
43
- expect(screen.queryByText('Content')).toBeNull();
44
-
45
- const trigger = screen.getByRole('button', { name: /toggle/i });
46
- fireEvent.click(trigger);
47
-
48
- expect(await screen.findByText('Content')).toBeDefined();
49
- });
50
- });
@@ -1,15 +0,0 @@
1
- import { CollapsibleBaseProps, CollapsibleContentBaseProps, CollapsibleTriggerBaseProps } from '@gv-tech/ui-core';
2
- import * as CollapsiblePrimitive from '@rn-primitives/collapsible';
3
-
4
- const Collapsible = CollapsiblePrimitive.Root;
5
-
6
- const CollapsibleTrigger = CollapsiblePrimitive.Trigger;
7
-
8
- const CollapsibleContent = CollapsiblePrimitive.Content;
9
-
10
- export { Collapsible, CollapsibleContent, CollapsibleTrigger };
11
- export type {
12
- CollapsibleContentBaseProps as CollapsibleContentProps,
13
- CollapsibleBaseProps as CollapsibleProps,
14
- CollapsibleTriggerBaseProps as CollapsibleTriggerProps,
15
- };
@@ -1,9 +0,0 @@
1
- import { Text, View } from 'react-native';
2
-
3
- export const Command = () => {
4
- return (
5
- <View>
6
- <Text>command is not yet implemented for React Native</Text>
7
- </View>
8
- );
9
- };
@@ -1,9 +0,0 @@
1
- import { Text, View } from 'react-native';
2
-
3
- export const ContextMenu = () => {
4
- return (
5
- <View>
6
- <Text>context-menu is not yet implemented for React Native</Text>
7
- </View>
8
- );
9
- };
@@ -1,91 +0,0 @@
1
- import { fireEvent, render, screen } from '@testing-library/react';
2
- import * as React from 'react';
3
- import { describe, expect, it, vi } from 'vitest';
4
- import { Dialog, DialogContent, DialogDescription, DialogTitle, DialogTrigger } from './dialog';
5
-
6
- // Mock primitives
7
- /* eslint-disable @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */
8
- vi.mock('@rn-primitives/dialog', () => {
9
- const React = require('react');
10
- const DialogContext = React.createContext({ open: false, onOpenChange: (_any: any) => {} });
11
-
12
- return {
13
- Root: ({ children, open, onOpenChange }: any) =>
14
- React.createElement(DialogContext.Provider, { value: { open, onOpenChange } }, children),
15
- Trigger: ({ children, ...props }: any) => {
16
- const { open, onOpenChange } = React.useContext(DialogContext);
17
- return React.createElement('button', { onClick: () => onOpenChange?.(!open), ...props }, children);
18
- },
19
- Portal: ({ children }: any) => {
20
- const { open } = React.useContext(DialogContext);
21
- return open ? React.createElement('div', { 'data-testid': 'portal' }, children) : null;
22
- },
23
- Overlay: React.forwardRef(({ children, ...props }: any, ref: any) => {
24
- const { open } = React.useContext(DialogContext);
25
- return open ? React.createElement('div', { ref, ...props }, children) : null;
26
- }),
27
- Content: React.forwardRef(({ children, ...props }: any, ref: any) => {
28
- const { open } = React.useContext(DialogContext);
29
- return open ? React.createElement('div', { ref, ...props }, children) : null;
30
- }),
31
- Title: React.forwardRef(({ children, ...props }: any, ref: any) =>
32
- React.createElement('h2', { ref, ...props }, children),
33
- ),
34
- Description: React.forwardRef(({ children, ...props }: any, ref: any) =>
35
- React.createElement('p', { ref, ...props }, children),
36
- ),
37
- Close: React.forwardRef(({ children, ...props }: any, ref: any) => {
38
- const { onOpenChange } = React.useContext(DialogContext);
39
- return React.createElement('button', { onClick: () => onOpenChange?.(false), ref, ...props }, children);
40
- }),
41
- useRootContext: () => React.useContext(DialogContext),
42
- };
43
- });
44
- /* eslint-enable @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */
45
-
46
- // Mock reanimated
47
- /* eslint-disable @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any */
48
- vi.mock('react-native-reanimated', () => {
49
- const React = require('react');
50
- return {
51
- default: {
52
- View: React.forwardRef(({ children, ...props }: any, ref: any) =>
53
- React.createElement('div', { ref, ...props }, children),
54
- ),
55
- },
56
- FadeIn: { duration: () => ({}) },
57
- FadeOut: { duration: () => ({}) },
58
- };
59
- });
60
- /* eslint-enable @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any */
61
-
62
- // Mock lucide
63
- vi.mock('lucide-react-native', () => ({
64
- X: () => null,
65
- }));
66
-
67
- describe('Dialog (Native Implementation)', () => {
68
- it('opens and closes correctly', async () => {
69
- const TestComponent = () => {
70
- const [open, setOpen] = React.useState(false);
71
- return (
72
- <Dialog open={open} onOpenChange={setOpen}>
73
- <DialogTrigger>Open</DialogTrigger>
74
- <DialogContent>
75
- <DialogTitle>Title</DialogTitle>
76
- <DialogDescription>Description</DialogDescription>
77
- </DialogContent>
78
- </Dialog>
79
- );
80
- };
81
-
82
- render(<TestComponent />);
83
-
84
- expect(screen.queryByText('Title')).toBeNull();
85
-
86
- fireEvent.click(screen.getByText('Open'));
87
-
88
- expect(await screen.findByText('Title')).toBeDefined();
89
- expect(screen.getByText('Description')).toBeDefined();
90
- });
91
- });
@@ -1,121 +0,0 @@
1
- import { DialogBaseProps, DialogContentBaseProps } from '@gv-tech/ui-core';
2
- import * as DialogPrimitive from '@rn-primitives/dialog';
3
- import { X } from 'lucide-react-native';
4
- import * as React from 'react';
5
- import { StyleSheet, View, type ViewStyle } from 'react-native';
6
- import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
7
-
8
- import { cn } from './lib/utils';
9
-
10
- const Dialog = DialogPrimitive.Root;
11
-
12
- export interface DialogProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>, DialogBaseProps {}
13
-
14
- export interface DialogContentProps
15
- extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, DialogContentBaseProps {
16
- portalHost?: string;
17
- overlayClassName?: string;
18
- overlayStyle?: ViewStyle;
19
- }
20
-
21
- const DialogTrigger = DialogPrimitive.Trigger;
22
-
23
- const DialogPortal = DialogPrimitive.Portal;
24
-
25
- const DialogClose = DialogPrimitive.Close;
26
-
27
- const DialogOverlay = React.forwardRef<
28
- React.ElementRef<typeof DialogPrimitive.Overlay>,
29
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
30
- >(({ className, ...props }, ref) => {
31
- return (
32
- <DialogPrimitive.Overlay style={StyleSheet.absoluteFill} asChild ref={ref} {...props}>
33
- <Animated.View
34
- entering={FadeIn.duration(150)}
35
- exiting={FadeOut.duration(150)}
36
- className={cn('z-50 bg-black/80 flex justify-center items-center p-2', className)}
37
- />
38
- </DialogPrimitive.Overlay>
39
- );
40
- });
41
- DialogOverlay.displayName = DialogPrimitive.Overlay?.displayName || 'DialogOverlay';
42
-
43
- const DialogContent = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, DialogContentProps>(
44
- ({ className, children, portalHost, overlayClassName, overlayStyle, ...props }, ref) => {
45
- return (
46
- <DialogPortal hostName={portalHost}>
47
- <DialogOverlay className={overlayClassName} style={overlayStyle} />
48
- <DialogPrimitive.Content ref={ref} asChild {...props}>
49
- <Animated.View
50
- entering={FadeIn.duration(150)}
51
- exiting={FadeOut.duration(150)}
52
- className={cn(
53
- 'z-50 max-w-lg gap-4 border border-border bg-background p-6 shadow-lg sm:rounded-lg w-full rounded-xl',
54
- className,
55
- )}
56
- >
57
- {children}
58
- <DialogPrimitive.Close
59
- className={
60
- 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground'
61
- }
62
- >
63
- <X size={18} className="text-muted-foreground" />
64
- <View className="sr-only">
65
- <DialogPrimitive.Title>Close</DialogPrimitive.Title>
66
- </View>
67
- </DialogPrimitive.Close>
68
- </Animated.View>
69
- </DialogPrimitive.Content>
70
- </DialogPortal>
71
- );
72
- },
73
- );
74
- DialogContent.displayName = DialogPrimitive.Content?.displayName || 'DialogContent';
75
-
76
- const DialogHeader = ({ className, ...props }: React.ComponentPropsWithoutRef<typeof View>) => (
77
- <View className={cn('flex flex-col gap-1.5 text-center sm:text-left', className)} {...props} />
78
- );
79
- DialogHeader.displayName = 'DialogHeader';
80
-
81
- const DialogFooter = ({ className, ...props }: React.ComponentPropsWithoutRef<typeof View>) => (
82
- <View className={cn('flex flex-col-reverse sm:flex-row sm:justify-end gap-2', className)} {...props} />
83
- );
84
- DialogFooter.displayName = 'DialogFooter';
85
-
86
- const DialogTitle = React.forwardRef<
87
- React.ElementRef<typeof DialogPrimitive.Title>,
88
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
89
- >(({ className, ...props }, ref) => (
90
- <DialogPrimitive.Title
91
- ref={ref}
92
- className={cn('text-lg native:text-xl font-semibold leading-none tracking-tight text-foreground', className)}
93
- {...props}
94
- />
95
- ));
96
- DialogTitle.displayName = DialogPrimitive.Title?.displayName || 'DialogTitle';
97
-
98
- const DialogDescription = React.forwardRef<
99
- React.ElementRef<typeof DialogPrimitive.Description>,
100
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
101
- >(({ className, ...props }, ref) => (
102
- <DialogPrimitive.Description
103
- ref={ref}
104
- className={cn('text-sm native:text-base text-muted-foreground', className)}
105
- {...props}
106
- />
107
- ));
108
- DialogDescription.displayName = DialogPrimitive.Description?.displayName || 'DialogDescription';
109
-
110
- export {
111
- Dialog,
112
- DialogClose,
113
- DialogContent,
114
- DialogDescription,
115
- DialogFooter,
116
- DialogHeader,
117
- DialogOverlay,
118
- DialogPortal,
119
- DialogTitle,
120
- DialogTrigger,
121
- };
@@ -1,9 +0,0 @@
1
- import { Text, View } from 'react-native';
2
-
3
- export const Drawer = () => {
4
- return (
5
- <View>
6
- <Text>drawer is not yet implemented for React Native</Text>
7
- </View>
8
- );
9
- };
@@ -1,9 +0,0 @@
1
- import { Text, View } from 'react-native';
2
-
3
- export const DropdownMenu = () => {
4
- return (
5
- <View>
6
- <Text>dropdown-menu is not yet implemented for React Native</Text>
7
- </View>
8
- );
9
- };
@@ -1,9 +0,0 @@
1
- import { Text, View } from 'react-native';
2
-
3
- export const Form = () => {
4
- return (
5
- <View>
6
- <Text>form is not yet implemented for React Native</Text>
7
- </View>
8
- );
9
- };
@@ -1,9 +0,0 @@
1
- import { Text, View } from 'react-native';
2
-
3
- export const HoverCard = () => {
4
- return (
5
- <View>
6
- <Text>hover-card is not yet implemented for React Native</Text>
7
- </View>
8
- );
9
- };
@@ -1,209 +0,0 @@
1
- // @gv-tech/ui-native
2
- //
3
- // React Native implementations of the GV Tech design system components.
4
- // Each component satisfies the contracts defined in @gv-tech/ui-core.
5
-
6
- // Utilities
7
- export { wrapTextChildren } from './lib/render-native';
8
- export { cn } from './lib/utils';
9
-
10
- // Accordion
11
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';
12
-
13
- // Alert
14
- export { Alert, AlertDescription, AlertTitle } from './alert';
15
-
16
- // Alert Dialog
17
- export {
18
- AlertDialog,
19
- AlertDialogAction,
20
- AlertDialogCancel,
21
- AlertDialogContent,
22
- AlertDialogDescription,
23
- AlertDialogFooter,
24
- AlertDialogHeader,
25
- AlertDialogOverlay,
26
- AlertDialogPortal,
27
- AlertDialogTitle,
28
- AlertDialogTrigger,
29
- } from './alert-dialog';
30
-
31
- // Aspect Ratio
32
- export { AspectRatio } from './aspect-ratio';
33
-
34
- // Avatar
35
- export { Avatar, AvatarFallback, AvatarImage } from './avatar';
36
-
37
- // Badge
38
- export { Badge, badgeVariants } from './badge';
39
-
40
- // Breadcrumb
41
- export { Breadcrumb } from './breadcrumb';
42
-
43
- // Button
44
- export { Button, buttonVariants } from './button';
45
- export type { ButtonProps } from './button';
46
-
47
- // Calendar
48
- export { Calendar } from './calendar';
49
-
50
- // Card
51
- export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './card';
52
- export type { CardProps } from './card';
53
-
54
- // Carousel
55
- export { Carousel } from './carousel';
56
-
57
- // Chart
58
- export { Chart } from './chart';
59
-
60
- // Checkbox
61
- export { Checkbox } from './checkbox';
62
- export type { CheckboxProps } from './checkbox';
63
-
64
- // Collapsible
65
- export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './collapsible';
66
-
67
- // Command
68
- export { Command } from './command';
69
-
70
- // Context Menu
71
- export { ContextMenu } from './context-menu';
72
-
73
- // Dialog
74
- export {
75
- Dialog,
76
- DialogClose,
77
- DialogContent,
78
- DialogDescription,
79
- DialogFooter,
80
- DialogHeader,
81
- DialogTitle,
82
- DialogTrigger,
83
- } from './dialog';
84
- export type { DialogProps } from './dialog';
85
-
86
- // Drawer
87
- export { Drawer } from './drawer';
88
-
89
- // Dropdown Menu
90
- export { DropdownMenu } from './dropdown-menu';
91
-
92
- // Form
93
- export { Form } from './form';
94
-
95
- // Hover Card
96
- export { HoverCard } from './hover-card';
97
-
98
- // Input
99
- export { Input } from './input';
100
- export type { InputProps } from './input';
101
-
102
- // Label
103
- export { Label } from './label';
104
-
105
- // Menubar
106
- export { Menubar } from './menubar';
107
-
108
- // Navigation Menu
109
- export { NavigationMenu } from './navigation-menu';
110
-
111
- // Pagination
112
- export { Pagination } from './pagination';
113
-
114
- // Popover
115
- export { Popover } from './popover';
116
-
117
- // Progress
118
- export { Progress } from './progress';
119
-
120
- // Radio
121
- export { RadioGroup, RadioGroupItem } from './radio-group';
122
- export type { RadioGroupItemProps, RadioGroupProps } from './radio-group';
123
-
124
- // Resizable
125
- export { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './resizable';
126
-
127
- // Scroll Area
128
- export { ScrollArea } from './scroll-area';
129
-
130
- // Search
131
- export { Search } from './search';
132
-
133
- // Select
134
- export {
135
- Select,
136
- SelectContent,
137
- SelectGroup,
138
- SelectItem,
139
- SelectLabel,
140
- SelectScrollDownButton,
141
- SelectScrollUpButton,
142
- SelectSeparator,
143
- SelectTrigger,
144
- SelectValue,
145
- } from './select';
146
-
147
- // Separator
148
- export { Separator } from './separator';
149
-
150
- // Sheet
151
- export {
152
- Sheet,
153
- SheetClose,
154
- SheetContent,
155
- SheetDescription,
156
- SheetFooter,
157
- SheetHeader,
158
- SheetOverlay,
159
- SheetPortal,
160
- SheetTitle,
161
- SheetTrigger,
162
- } from './sheet';
163
-
164
- // Skeleton
165
- export { Skeleton } from './skeleton';
166
-
167
- // Slider
168
- export { Slider } from './slider';
169
-
170
- // Sonner
171
- export { Toaster as Sonner } from './sonner';
172
-
173
- // Switch
174
- export { Switch } from './switch';
175
-
176
- // Table
177
- export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './table';
178
-
179
- // Tabs
180
- export { Tabs, TabsContent, TabsList, TabsTrigger } from './tabs';
181
-
182
- // Text
183
- export { Text, textVariants } from './text';
184
- export type { TextProps } from './text';
185
-
186
- // Textarea
187
- export { Textarea } from './textarea';
188
-
189
- // Toggle
190
- export { Toggle, toggleVariants } from './toggle';
191
-
192
- // Toggle Group
193
- export { ToggleGroup, ToggleGroupItem } from './toggle-group';
194
-
195
- // Tooltip
196
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';
197
-
198
- // Toast
199
- export { Toast } from './toast';
200
- export type { ToastProps } from './toast';
201
-
202
- // Theme Provider
203
- export { ThemeProvider } from './theme-provider';
204
-
205
- // Theme Toggle
206
- export { ThemeToggle } from './theme-toggle';
207
-
208
- // Toaster
209
- export { Toaster } from './toaster';
@@ -1,27 +0,0 @@
1
- import { fireEvent, render, screen } from '@testing-library/react';
2
- import { describe, expect, it, vi } from 'vitest';
3
- import { Input } from './input';
4
-
5
- describe('Input (Native Implementation)', () => {
6
- it('renders correctly', () => {
7
- render(<Input placeholder="Enter text" />);
8
- expect(screen.getByPlaceholderText('Enter text')).toBeDefined();
9
- });
10
-
11
- it('handles onChangeText', () => {
12
- const onChangeText = vi.fn();
13
- render(<Input placeholder="Enter text" onChangeText={onChangeText} />);
14
-
15
- const input = screen.getByPlaceholderText('Enter text');
16
- fireEvent.change(input, { target: { value: 'Hello' } });
17
-
18
- // Note: In react-native-web, onChange mapping might vary
19
- expect(onChangeText).toHaveBeenCalledWith('Hello');
20
- });
21
-
22
- it('is disabled when the editable prop is false', () => {
23
- render(<Input placeholder="Enter text" editable={false} />);
24
- const input = screen.getByPlaceholderText('Enter text');
25
- expect(input).toHaveProperty('readOnly', true);
26
- });
27
- });
@@ -1,27 +0,0 @@
1
- import * as React from 'react';
2
- import { TextInput } from 'react-native';
3
-
4
- import type { InputBaseProps } from '@gv-tech/ui-core';
5
- import { cn } from './lib/utils';
6
-
7
- export interface InputProps extends React.ComponentPropsWithoutRef<typeof TextInput>, InputBaseProps {}
8
-
9
- const Input = React.forwardRef<React.ElementRef<typeof TextInput>, InputProps>(
10
- ({ className, placeholderClassName, ...props }, ref) => {
11
- return (
12
- <TextInput
13
- ref={ref}
14
- className={cn(
15
- 'flex h-10 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base text-foreground shadow-sm transition-colors placeholder:text-muted-foreground focus:border-ring disabled:opacity-50',
16
- className,
17
- )}
18
- placeholderClassName={cn('text-muted-foreground', placeholderClassName)}
19
- {...props}
20
- />
21
- );
22
- },
23
- );
24
-
25
- Input.displayName = 'Input';
26
-
27
- export { Input };
@@ -1,29 +0,0 @@
1
- import * as LabelPrimitive from '@rn-primitives/label';
2
- import * as React from 'react';
3
-
4
- import { cn } from './lib/utils';
5
-
6
- const Label = React.forwardRef<
7
- React.ElementRef<typeof LabelPrimitive.Text>,
8
- React.ComponentPropsWithoutRef<typeof LabelPrimitive.Text>
9
- >(({ className, onPress, onLongPress, onPressIn, onPressOut, ...props }, ref) => (
10
- <LabelPrimitive.Root
11
- className="web:cursor-default"
12
- onPress={onPress}
13
- onLongPress={onLongPress}
14
- onPressIn={onPressIn}
15
- onPressOut={onPressOut}
16
- >
17
- <LabelPrimitive.Text
18
- ref={ref}
19
- className={cn(
20
- 'text-sm text-foreground native:text-base font-medium leading-none web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70',
21
- className,
22
- )}
23
- {...props}
24
- />
25
- </LabelPrimitive.Root>
26
- ));
27
- Label.displayName = LabelPrimitive.Root?.displayName || 'Label';
28
-
29
- export { Label };