@gv-tech/design-system 0.9.0 → 1.1.0

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 (425) hide show
  1. package/.github/workflows/ci.yml +3 -12
  2. package/.github/workflows/release-please.yml +2 -2
  3. package/.vscode/mcp.json +8 -0
  4. package/CHANGELOG.md +32 -0
  5. package/components.json +20 -0
  6. package/dist/App.d.ts +3 -0
  7. package/dist/App.d.ts.map +1 -0
  8. package/dist/components/docs/CodeBlock.d.ts +8 -0
  9. package/dist/components/docs/CodeBlock.d.ts.map +1 -0
  10. package/dist/components/docs/ComponentShowcase.d.ts +17 -0
  11. package/dist/components/docs/ComponentShowcase.d.ts.map +1 -0
  12. package/dist/components/docs/Footer.d.ts +2 -0
  13. package/dist/components/docs/Footer.d.ts.map +1 -0
  14. package/dist/components/docs/Sidebar.d.ts +14 -0
  15. package/dist/components/docs/Sidebar.d.ts.map +1 -0
  16. package/dist/components/docs/ThemeToggle.d.ts +2 -0
  17. package/dist/components/docs/ThemeToggle.d.ts.map +1 -0
  18. package/dist/components/docs/index.d.ts +6 -0
  19. package/dist/components/docs/index.d.ts.map +1 -0
  20. package/dist/components/ui/accordion.d.ts +8 -0
  21. package/dist/components/ui/accordion.d.ts.map +1 -0
  22. package/dist/components/ui/alert-dialog.d.ts +21 -0
  23. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  24. package/dist/components/ui/alert.d.ts +9 -0
  25. package/dist/components/ui/alert.d.ts.map +1 -0
  26. package/dist/components/ui/aspect-ratio.d.ts +4 -0
  27. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  28. package/dist/components/ui/avatar.d.ts +7 -0
  29. package/dist/components/ui/avatar.d.ts.map +1 -0
  30. package/dist/components/ui/badge.d.ts +10 -0
  31. package/dist/components/ui/badge.d.ts.map +1 -0
  32. package/dist/components/ui/breadcrumb.d.ts +20 -0
  33. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  34. package/dist/components/ui/button.d.ts +12 -0
  35. package/dist/components/ui/button.d.ts.map +1 -0
  36. package/dist/components/ui/calendar.d.ts +9 -0
  37. package/dist/components/ui/calendar.d.ts.map +1 -0
  38. package/dist/components/ui/card.d.ts +9 -0
  39. package/dist/components/ui/card.d.ts.map +1 -0
  40. package/dist/components/ui/carousel.d.ts +19 -0
  41. package/dist/components/ui/carousel.d.ts.map +1 -0
  42. package/dist/components/ui/chart.d.ts +63 -0
  43. package/dist/components/ui/chart.d.ts.map +1 -0
  44. package/dist/components/ui/checkbox.d.ts +5 -0
  45. package/dist/components/ui/checkbox.d.ts.map +1 -0
  46. package/dist/components/ui/collapsible.d.ts +6 -0
  47. package/dist/components/ui/collapsible.d.ts.map +1 -0
  48. package/dist/components/ui/command.d.ts +81 -0
  49. package/dist/components/ui/command.d.ts.map +1 -0
  50. package/dist/components/ui/context-menu.d.ts +28 -0
  51. package/dist/components/ui/context-menu.d.ts.map +1 -0
  52. package/dist/components/ui/dialog.d.ts +20 -0
  53. package/dist/components/ui/dialog.d.ts.map +1 -0
  54. package/dist/components/ui/drawer.d.ts +23 -0
  55. package/dist/components/ui/drawer.d.ts.map +1 -0
  56. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  57. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  58. package/dist/components/ui/form.d.ts +24 -0
  59. package/dist/components/ui/form.d.ts.map +1 -0
  60. package/dist/components/ui/hover-card.d.ts +7 -0
  61. package/dist/components/ui/hover-card.d.ts.map +1 -0
  62. package/dist/components/ui/input.d.ts +4 -0
  63. package/dist/components/ui/input.d.ts.map +1 -0
  64. package/dist/components/ui/label.d.ts +6 -0
  65. package/dist/components/ui/label.d.ts.map +1 -0
  66. package/dist/components/ui/menubar.d.ts +29 -0
  67. package/dist/components/ui/menubar.d.ts.map +1 -0
  68. package/dist/components/ui/navigation-menu.d.ts +13 -0
  69. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  70. package/dist/components/ui/pagination.d.ts +29 -0
  71. package/dist/components/ui/pagination.d.ts.map +1 -0
  72. package/dist/components/ui/popover.d.ts +8 -0
  73. package/dist/components/ui/popover.d.ts.map +1 -0
  74. package/dist/components/ui/progress.d.ts +5 -0
  75. package/dist/components/ui/progress.d.ts.map +1 -0
  76. package/dist/components/ui/radio-group.d.ts +6 -0
  77. package/dist/components/ui/radio-group.d.ts.map +1 -0
  78. package/dist/components/ui/resizable.d.ts +11 -0
  79. package/dist/components/ui/resizable.d.ts.map +1 -0
  80. package/dist/components/ui/scroll-area.d.ts +6 -0
  81. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  82. package/dist/components/ui/select.d.ts +14 -0
  83. package/dist/components/ui/select.d.ts.map +1 -0
  84. package/dist/components/ui/separator.d.ts +5 -0
  85. package/dist/components/ui/separator.d.ts.map +1 -0
  86. package/dist/components/ui/sheet.d.ts +26 -0
  87. package/dist/components/ui/sheet.d.ts.map +1 -0
  88. package/dist/components/ui/skeleton.d.ts +4 -0
  89. package/dist/components/ui/skeleton.d.ts.map +1 -0
  90. package/dist/components/ui/slider.d.ts +5 -0
  91. package/dist/components/ui/slider.d.ts.map +1 -0
  92. package/dist/components/ui/sonner.d.ts +6 -0
  93. package/dist/components/ui/sonner.d.ts.map +1 -0
  94. package/dist/components/ui/switch.d.ts +5 -0
  95. package/dist/components/ui/switch.d.ts.map +1 -0
  96. package/dist/components/ui/table.d.ts +11 -0
  97. package/dist/components/ui/table.d.ts.map +1 -0
  98. package/dist/components/ui/tabs.d.ts +8 -0
  99. package/dist/components/ui/tabs.d.ts.map +1 -0
  100. package/dist/components/ui/textarea.d.ts +4 -0
  101. package/dist/components/ui/textarea.d.ts.map +1 -0
  102. package/dist/components/ui/toast.d.ts +16 -0
  103. package/dist/components/ui/toast.d.ts.map +1 -0
  104. package/dist/components/ui/toaster.d.ts +2 -0
  105. package/dist/components/ui/toaster.d.ts.map +1 -0
  106. package/dist/components/ui/toggle-group.d.ts +13 -0
  107. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  108. package/dist/components/ui/toggle.d.ts +13 -0
  109. package/dist/components/ui/toggle.d.ts.map +1 -0
  110. package/dist/components/ui/tooltip.d.ts +8 -0
  111. package/dist/components/ui/tooltip.d.ts.map +1 -0
  112. package/dist/hooks/use-toast.d.ts +45 -0
  113. package/dist/hooks/use-toast.d.ts.map +1 -0
  114. package/dist/index.cjs.js +8 -0
  115. package/dist/index.cjs.js.map +1 -0
  116. package/dist/index.d.ts +49 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.es.js +2275 -0
  119. package/dist/index.es.js.map +1 -0
  120. package/dist/lib/utils.d.ts +3 -0
  121. package/dist/lib/utils.d.ts.map +1 -0
  122. package/dist/main.d.ts +2 -0
  123. package/dist/main.d.ts.map +1 -0
  124. package/dist/pages/GettingStarted.d.ts +3 -0
  125. package/dist/pages/GettingStarted.d.ts.map +1 -0
  126. package/dist/pages/components/AccordionDocs.d.ts +2 -0
  127. package/dist/pages/components/AccordionDocs.d.ts.map +1 -0
  128. package/dist/pages/components/AlertDialogDocs.d.ts +2 -0
  129. package/dist/pages/components/AlertDialogDocs.d.ts.map +1 -0
  130. package/dist/pages/components/AlertDocs.d.ts +2 -0
  131. package/dist/pages/components/AlertDocs.d.ts.map +1 -0
  132. package/dist/pages/components/AspectRatioDocs.d.ts +2 -0
  133. package/dist/pages/components/AspectRatioDocs.d.ts.map +1 -0
  134. package/dist/pages/components/AvatarDocs.d.ts +2 -0
  135. package/dist/pages/components/AvatarDocs.d.ts.map +1 -0
  136. package/dist/pages/components/BadgeDocs.d.ts +2 -0
  137. package/dist/pages/components/BadgeDocs.d.ts.map +1 -0
  138. package/dist/pages/components/BreadcrumbDocs.d.ts +2 -0
  139. package/dist/pages/components/BreadcrumbDocs.d.ts.map +1 -0
  140. package/dist/pages/components/ButtonDocs.d.ts +2 -0
  141. package/dist/pages/components/ButtonDocs.d.ts.map +1 -0
  142. package/dist/pages/components/CalendarDocs.d.ts +2 -0
  143. package/dist/pages/components/CalendarDocs.d.ts.map +1 -0
  144. package/dist/pages/components/CardDocs.d.ts +2 -0
  145. package/dist/pages/components/CardDocs.d.ts.map +1 -0
  146. package/dist/pages/components/CarouselDocs.d.ts +2 -0
  147. package/dist/pages/components/CarouselDocs.d.ts.map +1 -0
  148. package/dist/pages/components/ChartDocs.d.ts +2 -0
  149. package/dist/pages/components/ChartDocs.d.ts.map +1 -0
  150. package/dist/pages/components/CheckboxDocs.d.ts +2 -0
  151. package/dist/pages/components/CheckboxDocs.d.ts.map +1 -0
  152. package/dist/pages/components/CollapsibleDocs.d.ts +2 -0
  153. package/dist/pages/components/CollapsibleDocs.d.ts.map +1 -0
  154. package/dist/pages/components/CommandDocs.d.ts +2 -0
  155. package/dist/pages/components/CommandDocs.d.ts.map +1 -0
  156. package/dist/pages/components/ContextMenuDocs.d.ts +2 -0
  157. package/dist/pages/components/ContextMenuDocs.d.ts.map +1 -0
  158. package/dist/pages/components/DialogDocs.d.ts +2 -0
  159. package/dist/pages/components/DialogDocs.d.ts.map +1 -0
  160. package/dist/pages/components/DrawerDocs.d.ts +2 -0
  161. package/dist/pages/components/DrawerDocs.d.ts.map +1 -0
  162. package/dist/pages/components/DropdownMenuDocs.d.ts +2 -0
  163. package/dist/pages/components/DropdownMenuDocs.d.ts.map +1 -0
  164. package/dist/pages/components/FormDocs.d.ts +2 -0
  165. package/dist/pages/components/FormDocs.d.ts.map +1 -0
  166. package/dist/pages/components/HoverCardDocs.d.ts +2 -0
  167. package/dist/pages/components/HoverCardDocs.d.ts.map +1 -0
  168. package/dist/pages/components/InputDocs.d.ts +2 -0
  169. package/dist/pages/components/InputDocs.d.ts.map +1 -0
  170. package/dist/pages/components/LabelDocs.d.ts +2 -0
  171. package/dist/pages/components/LabelDocs.d.ts.map +1 -0
  172. package/dist/pages/components/MenubarDocs.d.ts +2 -0
  173. package/dist/pages/components/MenubarDocs.d.ts.map +1 -0
  174. package/dist/pages/components/NavigationMenuDocs.d.ts +2 -0
  175. package/dist/pages/components/NavigationMenuDocs.d.ts.map +1 -0
  176. package/dist/pages/components/PaginationDocs.d.ts +2 -0
  177. package/dist/pages/components/PaginationDocs.d.ts.map +1 -0
  178. package/dist/pages/components/PopoverDocs.d.ts +2 -0
  179. package/dist/pages/components/PopoverDocs.d.ts.map +1 -0
  180. package/dist/pages/components/ProgressDocs.d.ts +2 -0
  181. package/dist/pages/components/ProgressDocs.d.ts.map +1 -0
  182. package/dist/pages/components/RadioGroupDocs.d.ts +2 -0
  183. package/dist/pages/components/RadioGroupDocs.d.ts.map +1 -0
  184. package/dist/pages/components/ResizableDocs.d.ts +2 -0
  185. package/dist/pages/components/ResizableDocs.d.ts.map +1 -0
  186. package/dist/pages/components/ScrollAreaDocs.d.ts +2 -0
  187. package/dist/pages/components/ScrollAreaDocs.d.ts.map +1 -0
  188. package/dist/pages/components/SelectDocs.d.ts +2 -0
  189. package/dist/pages/components/SelectDocs.d.ts.map +1 -0
  190. package/dist/pages/components/SeparatorDocs.d.ts +2 -0
  191. package/dist/pages/components/SeparatorDocs.d.ts.map +1 -0
  192. package/dist/pages/components/SheetDocs.d.ts +2 -0
  193. package/dist/pages/components/SheetDocs.d.ts.map +1 -0
  194. package/dist/pages/components/SkeletonDocs.d.ts +2 -0
  195. package/dist/pages/components/SkeletonDocs.d.ts.map +1 -0
  196. package/dist/pages/components/SliderDocs.d.ts +2 -0
  197. package/dist/pages/components/SliderDocs.d.ts.map +1 -0
  198. package/dist/pages/components/SonnerDocs.d.ts +2 -0
  199. package/dist/pages/components/SonnerDocs.d.ts.map +1 -0
  200. package/dist/pages/components/SwitchDocs.d.ts +2 -0
  201. package/dist/pages/components/SwitchDocs.d.ts.map +1 -0
  202. package/dist/pages/components/TableDocs.d.ts +2 -0
  203. package/dist/pages/components/TableDocs.d.ts.map +1 -0
  204. package/dist/pages/components/TabsDocs.d.ts +2 -0
  205. package/dist/pages/components/TabsDocs.d.ts.map +1 -0
  206. package/dist/pages/components/TextareaDocs.d.ts +2 -0
  207. package/dist/pages/components/TextareaDocs.d.ts.map +1 -0
  208. package/dist/pages/components/ToastDocs.d.ts +2 -0
  209. package/dist/pages/components/ToastDocs.d.ts.map +1 -0
  210. package/dist/pages/components/ToggleDocs.d.ts +2 -0
  211. package/dist/pages/components/ToggleDocs.d.ts.map +1 -0
  212. package/dist/pages/components/ToggleGroupDocs.d.ts +2 -0
  213. package/dist/pages/components/ToggleGroupDocs.d.ts.map +1 -0
  214. package/dist/pages/components/TooltipDocs.d.ts +2 -0
  215. package/dist/pages/components/TooltipDocs.d.ts.map +1 -0
  216. package/dist/pages/index.d.ts +47 -0
  217. package/dist/pages/index.d.ts.map +1 -0
  218. package/dist/registry/accordion.json +13 -0
  219. package/dist/registry/alert-dialog.json +13 -0
  220. package/dist/registry/alert.json +13 -0
  221. package/dist/registry/aspect-ratio.json +13 -0
  222. package/dist/registry/avatar.json +13 -0
  223. package/dist/registry/badge.json +13 -0
  224. package/dist/registry/breadcrumb.json +13 -0
  225. package/dist/registry/button.json +13 -0
  226. package/dist/registry/calendar.json +13 -0
  227. package/dist/registry/card.json +13 -0
  228. package/dist/registry/carousel.json +13 -0
  229. package/dist/registry/chart.json +13 -0
  230. package/dist/registry/checkbox.json +13 -0
  231. package/dist/registry/collapsible.json +13 -0
  232. package/dist/registry/command.json +13 -0
  233. package/dist/registry/context-menu.json +13 -0
  234. package/dist/registry/dialog.json +13 -0
  235. package/dist/registry/drawer.json +13 -0
  236. package/dist/registry/dropdown-menu.json +13 -0
  237. package/dist/registry/form.json +13 -0
  238. package/dist/registry/hover-card.json +13 -0
  239. package/dist/registry/index.json +324 -0
  240. package/dist/registry/input.json +13 -0
  241. package/dist/registry/label.json +13 -0
  242. package/dist/registry/menubar.json +13 -0
  243. package/dist/registry/navigation-menu.json +13 -0
  244. package/dist/registry/pagination.json +13 -0
  245. package/dist/registry/popover.json +13 -0
  246. package/dist/registry/progress.json +13 -0
  247. package/dist/registry/radio-group.json +13 -0
  248. package/dist/registry/resizable.json +13 -0
  249. package/dist/registry/scroll-area.json +13 -0
  250. package/dist/registry/select.json +13 -0
  251. package/dist/registry/separator.json +13 -0
  252. package/dist/registry/sheet.json +13 -0
  253. package/dist/registry/skeleton.json +13 -0
  254. package/dist/registry/slider.json +13 -0
  255. package/dist/registry/sonner.json +13 -0
  256. package/dist/registry/switch.json +13 -0
  257. package/dist/registry/table.json +13 -0
  258. package/dist/registry/tabs.json +13 -0
  259. package/dist/registry/textarea.json +13 -0
  260. package/dist/registry/toast.json +13 -0
  261. package/dist/registry/toaster.json +13 -0
  262. package/dist/registry/toggle-group.json +13 -0
  263. package/dist/registry/toggle.json +13 -0
  264. package/dist/registry/tooltip.json +13 -0
  265. package/dist/vendor-CMSUBoIg.js +73 -0
  266. package/dist/vendor-CMSUBoIg.js.map +1 -0
  267. package/dist/vendor-ZhQmrf1h.mjs +25737 -0
  268. package/dist/vendor-ZhQmrf1h.mjs.map +1 -0
  269. package/eslint.config.mjs +34 -43
  270. package/index.html +13 -0
  271. package/package.json +75 -52
  272. package/postcss.config.mjs +5 -0
  273. package/scripts/build-registry.ts +47 -0
  274. package/scripts/import-all-shadcn.ts +68 -0
  275. package/scripts/validate.js +0 -2
  276. package/src/App.tsx +211 -0
  277. package/src/components/docs/CodeBlock.tsx +34 -0
  278. package/src/components/docs/ComponentShowcase.tsx +68 -0
  279. package/src/components/docs/Footer.tsx +117 -0
  280. package/src/components/docs/Sidebar.tsx +189 -0
  281. package/src/components/docs/ThemeToggle.tsx +19 -0
  282. package/src/components/docs/index.ts +5 -0
  283. package/src/components/ui/accordion.tsx +51 -0
  284. package/src/components/ui/alert-dialog.tsx +104 -0
  285. package/src/components/ui/alert.tsx +43 -0
  286. package/src/components/ui/aspect-ratio.tsx +5 -0
  287. package/src/components/ui/avatar.tsx +38 -0
  288. package/src/components/ui/badge.tsx +29 -0
  289. package/src/components/ui/breadcrumb.tsx +90 -0
  290. package/src/components/ui/button.tsx +46 -0
  291. package/src/components/ui/calendar.tsx +156 -0
  292. package/src/components/ui/card.tsx +43 -0
  293. package/src/components/ui/carousel.tsx +224 -0
  294. package/src/components/ui/chart.tsx +307 -0
  295. package/src/components/ui/checkbox.tsx +26 -0
  296. package/src/components/ui/collapsible.tsx +9 -0
  297. package/src/components/ui/command.tsx +132 -0
  298. package/src/components/ui/context-menu.tsx +178 -0
  299. package/src/components/ui/dialog.tsx +95 -0
  300. package/src/components/ui/drawer.tsx +87 -0
  301. package/src/components/ui/dropdown-menu.tsx +180 -0
  302. package/src/components/ui/form.tsx +149 -0
  303. package/src/components/ui/hover-card.tsx +27 -0
  304. package/src/components/ui/input.tsx +22 -0
  305. package/src/components/ui/label.tsx +17 -0
  306. package/src/components/ui/menubar.tsx +217 -0
  307. package/src/components/ui/navigation-menu.tsx +120 -0
  308. package/src/components/ui/pagination.tsx +81 -0
  309. package/src/components/ui/popover.tsx +31 -0
  310. package/src/components/ui/progress.tsx +23 -0
  311. package/src/components/ui/radio-group.tsx +36 -0
  312. package/src/components/ui/resizable.tsx +45 -0
  313. package/src/components/ui/scroll-area.tsx +38 -0
  314. package/src/components/ui/select.tsx +142 -0
  315. package/src/components/ui/separator.tsx +20 -0
  316. package/src/components/ui/sheet.tsx +106 -0
  317. package/src/components/ui/skeleton.tsx +8 -0
  318. package/src/components/ui/slider.tsx +23 -0
  319. package/src/components/ui/sonner.tsx +28 -0
  320. package/src/components/ui/switch.tsx +27 -0
  321. package/src/components/ui/table.tsx +76 -0
  322. package/src/components/ui/tabs.tsx +53 -0
  323. package/src/components/ui/textarea.tsx +21 -0
  324. package/src/components/ui/toast.tsx +111 -0
  325. package/src/components/ui/toaster.tsx +24 -0
  326. package/src/components/ui/toggle-group.tsx +51 -0
  327. package/src/components/ui/toggle.tsx +37 -0
  328. package/src/components/ui/tooltip.tsx +30 -0
  329. package/src/globals.css +118 -0
  330. package/src/hooks/use-toast.ts +189 -0
  331. package/src/index.ts +50 -11
  332. package/src/lib/utils.ts +6 -0
  333. package/src/main.tsx +10 -0
  334. package/src/pages/GettingStarted.tsx +251 -0
  335. package/src/pages/components/AccordionDocs.tsx +55 -0
  336. package/src/pages/components/AlertDialogDocs.tsx +63 -0
  337. package/src/pages/components/AlertDocs.tsx +45 -0
  338. package/src/pages/components/AspectRatioDocs.tsx +64 -0
  339. package/src/pages/components/AvatarDocs.tsx +34 -0
  340. package/src/pages/components/BadgeDocs.tsx +36 -0
  341. package/src/pages/components/BreadcrumbDocs.tsx +54 -0
  342. package/src/pages/components/ButtonDocs.tsx +77 -0
  343. package/src/pages/components/CalendarDocs.tsx +29 -0
  344. package/src/pages/components/CardDocs.tsx +81 -0
  345. package/src/pages/components/CarouselDocs.tsx +132 -0
  346. package/src/pages/components/ChartDocs.tsx +115 -0
  347. package/src/pages/components/CheckboxDocs.tsx +49 -0
  348. package/src/pages/components/CollapsibleDocs.tsx +52 -0
  349. package/src/pages/components/CommandDocs.tsx +100 -0
  350. package/src/pages/components/ContextMenuDocs.tsx +93 -0
  351. package/src/pages/components/DialogDocs.tsx +80 -0
  352. package/src/pages/components/DrawerDocs.tsx +79 -0
  353. package/src/pages/components/DropdownMenuDocs.tsx +51 -0
  354. package/src/pages/components/FormDocs.tsx +84 -0
  355. package/src/pages/components/HoverCardDocs.tsx +59 -0
  356. package/src/pages/components/InputDocs.tsx +68 -0
  357. package/src/pages/components/LabelDocs.tsx +23 -0
  358. package/src/pages/components/MenubarDocs.tsx +117 -0
  359. package/src/pages/components/NavigationMenuDocs.tsx +156 -0
  360. package/src/pages/components/PaginationDocs.tsx +68 -0
  361. package/src/pages/components/PopoverDocs.tsx +61 -0
  362. package/src/pages/components/ProgressDocs.tsx +34 -0
  363. package/src/pages/components/RadioGroupDocs.tsx +38 -0
  364. package/src/pages/components/ResizableDocs.tsx +110 -0
  365. package/src/pages/components/ScrollAreaDocs.tsx +89 -0
  366. package/src/pages/components/SelectDocs.tsx +87 -0
  367. package/src/pages/components/SeparatorDocs.tsx +44 -0
  368. package/src/pages/components/SheetDocs.tsx +104 -0
  369. package/src/pages/components/SkeletonDocs.tsx +48 -0
  370. package/src/pages/components/SliderDocs.tsx +24 -0
  371. package/src/pages/components/SonnerDocs.tsx +89 -0
  372. package/src/pages/components/SwitchDocs.tsx +31 -0
  373. package/src/pages/components/TableDocs.tsx +64 -0
  374. package/src/pages/components/TabsDocs.tsx +111 -0
  375. package/src/pages/components/TextareaDocs.tsx +54 -0
  376. package/src/pages/components/ToastDocs.tsx +102 -0
  377. package/src/pages/components/ToggleDocs.tsx +59 -0
  378. package/src/pages/components/ToggleGroupDocs.tsx +93 -0
  379. package/src/pages/components/TooltipDocs.tsx +38 -0
  380. package/src/pages/index.ts +49 -0
  381. package/tsconfig.json +8 -4
  382. package/tsconfig.node.json +2 -1
  383. package/vite.config.ts +30 -16
  384. package/wrangler.toml +22 -0
  385. package/.storybook/.preview-head.html +0 -1
  386. package/.storybook/main.ts +0 -38
  387. package/.storybook/preview.tsx +0 -30
  388. package/dist/index.js +0 -647
  389. package/dist/index.js.map +0 -1
  390. package/dist/index.mjs +0 -1053
  391. package/dist/index.mjs.map +0 -1
  392. package/dist/vendor-DXgJBoQh.mjs +0 -265
  393. package/dist/vendor-DXgJBoQh.mjs.map +0 -1
  394. package/dist/vendor-nZSsnGb7.js +0 -7
  395. package/dist/vendor-nZSsnGb7.js.map +0 -1
  396. package/src/Avatar.stories.tsx +0 -67
  397. package/src/Avatar.tsx +0 -174
  398. package/src/Badge.stories.tsx +0 -87
  399. package/src/Badge.tsx +0 -76
  400. package/src/Button.stories.tsx +0 -244
  401. package/src/Button.tsx +0 -384
  402. package/src/Icon.stories.tsx +0 -101
  403. package/src/Icon.tsx +0 -64
  404. package/src/Intro.stories.tsx +0 -20
  405. package/src/Link.stories.tsx +0 -69
  406. package/src/Link.tsx +0 -252
  407. package/src/StoryLinkWrapper.d.ts +0 -1
  408. package/src/StoryLinkWrapper.tsx +0 -33
  409. package/src/__tests__/Avatar.test.tsx +0 -28
  410. package/src/__tests__/Badge.test.tsx +0 -25
  411. package/src/__tests__/Button.test.tsx +0 -38
  412. package/src/__tests__/Icon.test.tsx +0 -26
  413. package/src/__tests__/Link.test.tsx +0 -31
  414. package/src/mdx.d.ts +0 -5
  415. package/src/setupTests.ts +0 -1
  416. package/src/shared/animation.d.ts +0 -18
  417. package/src/shared/animation.js +0 -60
  418. package/src/shared/global.d.ts +0 -12
  419. package/src/shared/global.js +0 -120
  420. package/src/shared/icons.d.ts +0 -34
  421. package/src/shared/icons.js +0 -282
  422. package/src/shared/styles.d.ts +0 -86
  423. package/src/shared/styles.js +0 -98
  424. package/src/test-utils/axe.ts +0 -25
  425. package/src/types.ts +0 -316
@@ -0,0 +1,59 @@
1
+ import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { Toggle } from '@/components/ui/toggle';
3
+ import { Bold, Italic, Underline } from 'lucide-react';
4
+
5
+ export function ToggleDocs() {
6
+ return (
7
+ <ComponentSection title="Toggle" description="A two-state button that can be either on or off.">
8
+ <ComponentShowcase
9
+ title="Default"
10
+ description="A basic toggle button."
11
+ code={`<Toggle aria-label="Toggle bold">
12
+ <Bold className="h-4 w-4" />
13
+ </Toggle>`}
14
+ >
15
+ <Toggle aria-label="Toggle bold">
16
+ <Bold className="h-4 w-4" />
17
+ </Toggle>
18
+ </ComponentShowcase>
19
+
20
+ <ComponentShowcase
21
+ title="Variants"
22
+ description="Toggle with outline variant."
23
+ code={`<Toggle variant="outline" aria-label="Toggle italic">
24
+ <Italic className="h-4 w-4" />
25
+ </Toggle>`}
26
+ >
27
+ <Toggle variant="outline" aria-label="Toggle italic">
28
+ <Italic className="h-4 w-4" />
29
+ </Toggle>
30
+ </ComponentShowcase>
31
+
32
+ <ComponentShowcase
33
+ title="With Text"
34
+ description="Toggle with text content."
35
+ code={`<Toggle aria-label="Toggle underline">
36
+ <Underline className="h-4 w-4 mr-2" />
37
+ Underline
38
+ </Toggle>`}
39
+ >
40
+ <Toggle aria-label="Toggle underline">
41
+ <Underline className="h-4 w-4 mr-2" />
42
+ Underline
43
+ </Toggle>
44
+ </ComponentShowcase>
45
+
46
+ <ComponentShowcase
47
+ title="Disabled"
48
+ description="A disabled toggle."
49
+ code={`<Toggle disabled aria-label="Toggle bold">
50
+ <Bold className="h-4 w-4" />
51
+ </Toggle>`}
52
+ >
53
+ <Toggle disabled aria-label="Toggle bold">
54
+ <Bold className="h-4 w-4" />
55
+ </Toggle>
56
+ </ComponentShowcase>
57
+ </ComponentSection>
58
+ );
59
+ }
@@ -0,0 +1,93 @@
1
+ import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';
3
+ import { AlignCenter, AlignLeft, AlignRight, Bold, Italic, Underline } from 'lucide-react';
4
+
5
+ export function ToggleGroupDocs() {
6
+ return (
7
+ <ComponentSection title="Toggle Group" description="A set of two-state buttons that can be toggled on or off.">
8
+ <ComponentShowcase
9
+ title="Single"
10
+ description="Only one item can be pressed at a time."
11
+ code={`<ToggleGroup type="single">
12
+ <ToggleGroupItem value="left" aria-label="Left aligned">
13
+ <AlignLeft className="h-4 w-4" />
14
+ </ToggleGroupItem>
15
+ <ToggleGroupItem value="center" aria-label="Center aligned">
16
+ <AlignCenter className="h-4 w-4" />
17
+ </ToggleGroupItem>
18
+ <ToggleGroupItem value="right" aria-label="Right aligned">
19
+ <AlignRight className="h-4 w-4" />
20
+ </ToggleGroupItem>
21
+ </ToggleGroup>`}
22
+ >
23
+ <ToggleGroup type="single">
24
+ <ToggleGroupItem value="left" aria-label="Left aligned">
25
+ <AlignLeft className="h-4 w-4" />
26
+ </ToggleGroupItem>
27
+ <ToggleGroupItem value="center" aria-label="Center aligned">
28
+ <AlignCenter className="h-4 w-4" />
29
+ </ToggleGroupItem>
30
+ <ToggleGroupItem value="right" aria-label="Right aligned">
31
+ <AlignRight className="h-4 w-4" />
32
+ </ToggleGroupItem>
33
+ </ToggleGroup>
34
+ </ComponentShowcase>
35
+
36
+ <ComponentShowcase
37
+ title="Multiple"
38
+ description="Multiple items can be pressed at the same time."
39
+ code={`<ToggleGroup type="multiple">
40
+ <ToggleGroupItem value="bold" aria-label="Toggle bold">
41
+ <Bold className="h-4 w-4" />
42
+ </ToggleGroupItem>
43
+ <ToggleGroupItem value="italic" aria-label="Toggle italic">
44
+ <Italic className="h-4 w-4" />
45
+ </ToggleGroupItem>
46
+ <ToggleGroupItem value="underline" aria-label="Toggle underline">
47
+ <Underline className="h-4 w-4" />
48
+ </ToggleGroupItem>
49
+ </ToggleGroup>`}
50
+ >
51
+ <ToggleGroup type="multiple">
52
+ <ToggleGroupItem value="bold" aria-label="Toggle bold">
53
+ <Bold className="h-4 w-4" />
54
+ </ToggleGroupItem>
55
+ <ToggleGroupItem value="italic" aria-label="Toggle italic">
56
+ <Italic className="h-4 w-4" />
57
+ </ToggleGroupItem>
58
+ <ToggleGroupItem value="underline" aria-label="Toggle underline">
59
+ <Underline className="h-4 w-4" />
60
+ </ToggleGroupItem>
61
+ </ToggleGroup>
62
+ </ComponentShowcase>
63
+
64
+ <ComponentShowcase
65
+ title="Outline Variant"
66
+ description="Toggle group with outline styling."
67
+ code={`<ToggleGroup variant="outline" type="single">
68
+ <ToggleGroupItem value="left" aria-label="Left aligned">
69
+ <AlignLeft className="h-4 w-4" />
70
+ </ToggleGroupItem>
71
+ <ToggleGroupItem value="center" aria-label="Center aligned">
72
+ <AlignCenter className="h-4 w-4" />
73
+ </ToggleGroupItem>
74
+ <ToggleGroupItem value="right" aria-label="Right aligned">
75
+ <AlignRight className="h-4 w-4" />
76
+ </ToggleGroupItem>
77
+ </ToggleGroup>`}
78
+ >
79
+ <ToggleGroup variant="outline" type="single">
80
+ <ToggleGroupItem value="left" aria-label="Left aligned">
81
+ <AlignLeft className="h-4 w-4" />
82
+ </ToggleGroupItem>
83
+ <ToggleGroupItem value="center" aria-label="Center aligned">
84
+ <AlignCenter className="h-4 w-4" />
85
+ </ToggleGroupItem>
86
+ <ToggleGroupItem value="right" aria-label="Right aligned">
87
+ <AlignRight className="h-4 w-4" />
88
+ </ToggleGroupItem>
89
+ </ToggleGroup>
90
+ </ComponentShowcase>
91
+ </ComponentSection>
92
+ );
93
+ }
@@ -0,0 +1,38 @@
1
+ import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { Button } from '@/components/ui/button';
3
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';
4
+
5
+ export function TooltipDocs() {
6
+ return (
7
+ <ComponentSection
8
+ title="Tooltip"
9
+ description="A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it."
10
+ >
11
+ <ComponentShowcase
12
+ title="Default"
13
+ description="A basic tooltip."
14
+ code={`<TooltipProvider>
15
+ <Tooltip>
16
+ <TooltipTrigger asChild>
17
+ <Button variant="outline">Hover me</Button>
18
+ </TooltipTrigger>
19
+ <TooltipContent>
20
+ <p>Add to library</p>
21
+ </TooltipContent>
22
+ </Tooltip>
23
+ </TooltipProvider>`}
24
+ >
25
+ <TooltipProvider>
26
+ <Tooltip>
27
+ <TooltipTrigger asChild>
28
+ <Button variant="outline">Hover me</Button>
29
+ </TooltipTrigger>
30
+ <TooltipContent>
31
+ <p>Add to library</p>
32
+ </TooltipContent>
33
+ </Tooltip>
34
+ </TooltipProvider>
35
+ </ComponentShowcase>
36
+ </ComponentSection>
37
+ );
38
+ }
@@ -0,0 +1,49 @@
1
+ // Getting Started
2
+ export { GettingStartedPage, InstallationPage } from './GettingStarted';
3
+
4
+ // Component Docs
5
+ export { AccordionDocs } from './components/AccordionDocs';
6
+ export { AlertDialogDocs } from './components/AlertDialogDocs';
7
+ export { AlertDocs } from './components/AlertDocs';
8
+ export { AspectRatioDocs } from './components/AspectRatioDocs';
9
+ export { AvatarDocs } from './components/AvatarDocs';
10
+ export { BadgeDocs } from './components/BadgeDocs';
11
+ export { BreadcrumbDocs } from './components/BreadcrumbDocs';
12
+ export { ButtonDocs } from './components/ButtonDocs';
13
+ export { CalendarDocs } from './components/CalendarDocs';
14
+ export { CardDocs } from './components/CardDocs';
15
+ export { CarouselDocs } from './components/CarouselDocs';
16
+ export { ChartDocs } from './components/ChartDocs';
17
+ export { CheckboxDocs } from './components/CheckboxDocs';
18
+ export { CollapsibleDocs } from './components/CollapsibleDocs';
19
+ export { CommandDocs } from './components/CommandDocs';
20
+ export { ContextMenuDocs } from './components/ContextMenuDocs';
21
+ export { DialogDocs } from './components/DialogDocs';
22
+ export { DrawerDocs } from './components/DrawerDocs';
23
+ export { DropdownMenuDocs } from './components/DropdownMenuDocs';
24
+ export { FormDocs } from './components/FormDocs';
25
+ export { HoverCardDocs } from './components/HoverCardDocs';
26
+ export { InputDocs } from './components/InputDocs';
27
+ export { LabelDocs } from './components/LabelDocs';
28
+ export { MenubarDocs } from './components/MenubarDocs';
29
+ export { NavigationMenuDocs } from './components/NavigationMenuDocs';
30
+ export { PaginationDocs } from './components/PaginationDocs';
31
+ export { PopoverDocs } from './components/PopoverDocs';
32
+ export { ProgressDocs } from './components/ProgressDocs';
33
+ export { RadioGroupDocs } from './components/RadioGroupDocs';
34
+ export { ResizableDocs } from './components/ResizableDocs';
35
+ export { ScrollAreaDocs } from './components/ScrollAreaDocs';
36
+ export { SelectDocs } from './components/SelectDocs';
37
+ export { SeparatorDocs } from './components/SeparatorDocs';
38
+ export { SheetDocs } from './components/SheetDocs';
39
+ export { SkeletonDocs } from './components/SkeletonDocs';
40
+ export { SliderDocs } from './components/SliderDocs';
41
+ export { SonnerDocs } from './components/SonnerDocs';
42
+ export { SwitchDocs } from './components/SwitchDocs';
43
+ export { TableDocs } from './components/TableDocs';
44
+ export { TabsDocs } from './components/TabsDocs';
45
+ export { TextareaDocs } from './components/TextareaDocs';
46
+ export { ToastDocs } from './components/ToastDocs';
47
+ export { ToggleDocs } from './components/ToggleDocs';
48
+ export { ToggleGroupDocs } from './components/ToggleGroupDocs';
49
+ export { TooltipDocs } from './components/TooltipDocs';
package/tsconfig.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES2020",
4
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
3
+ "target": "ESNext",
4
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
5
5
  "module": "ESNext",
6
6
  "skipLibCheck": true,
7
7
  "moduleResolution": "bundler",
@@ -13,8 +13,12 @@
13
13
  "strict": true,
14
14
  "noUnusedLocals": true,
15
15
  "noUnusedParameters": true,
16
- "noFallthroughCasesInSwitch": true
16
+ "noFallthroughCasesInSwitch": true,
17
+ "baseUrl": ".",
18
+ "paths": {
19
+ "@/*": ["./src/*"]
20
+ }
17
21
  },
18
- "include": ["src", ".storybook"],
22
+ "include": ["src"],
19
23
  "references": [{ "path": "./tsconfig.node.json" }]
20
24
  }
@@ -4,7 +4,8 @@
4
4
  "skipLibCheck": true,
5
5
  "module": "ESNext",
6
6
  "moduleResolution": "bundler",
7
- "allowSyntheticDefaultImports": true
7
+ "allowSyntheticDefaultImports": true,
8
+ "types": ["node"]
8
9
  },
9
10
  "include": ["vite.config.ts"]
10
11
  }
package/vite.config.ts CHANGED
@@ -1,27 +1,41 @@
1
- import { defineConfig } from 'vite';
2
- import react from '@vitejs/plugin-react';
1
+ import react from '@vitejs/plugin-react-swc';
3
2
  import { resolve } from 'path';
3
+ import { defineConfig } from 'vite';
4
+
5
+ const isLibrary = process.env.VITE_LIB === 'true';
4
6
 
5
7
  export default defineConfig({
6
8
  plugins: [react()],
9
+ resolve: {
10
+ alias: {
11
+ '@': resolve(__dirname, './src'),
12
+ },
13
+ },
7
14
  build: {
8
15
  sourcemap: true,
9
- lib: {
10
- entry: resolve(__dirname, 'src/index.ts'),
11
- name: 'GvtechDesign',
12
- fileName: 'index',
13
- formats: ['es', 'cjs'],
14
- },
16
+ outDir: isLibrary ? 'dist' : 'dist-site',
17
+ // Only empty the directory when building the site.
18
+ // For the library, we want to keep the types generated by tsc.
19
+ emptyOutDir: !isLibrary,
20
+ lib: isLibrary
21
+ ? {
22
+ entry: resolve(__dirname, 'src/index.ts'),
23
+ name: 'GvtechDesign',
24
+ // Matches the names in package.json
25
+ fileName: (format) => `index.${format === 'es' ? 'es' : 'cjs'}.js`,
26
+ formats: ['es', 'cjs'],
27
+ }
28
+ : undefined,
15
29
  rollupOptions: {
16
- external: ['react', 'react-dom', 'styled-components', 'polished', 'prop-types'],
30
+ external: isLibrary ? ['react', 'react-dom', 'prop-types'] : [],
17
31
  output: {
18
- globals: {
19
- react: 'React',
20
- 'react-dom': 'ReactDOM',
21
- 'styled-components': 'styled',
22
- polished: 'polished',
23
- 'prop-types': 'PropTypes',
24
- },
32
+ globals: isLibrary
33
+ ? {
34
+ react: 'React',
35
+ 'react-dom': 'ReactDOM',
36
+ 'prop-types': 'PropTypes',
37
+ }
38
+ : {},
25
39
  manualChunks(id) {
26
40
  if (id.includes('node_modules')) {
27
41
  if (id.includes('axe-core')) return 'axe';
package/wrangler.toml ADDED
@@ -0,0 +1,22 @@
1
+ name = "gvtech-design"
2
+ compatibility_date = "2024-11-01"
3
+ compatibility_flags = ["nodejs_compat"]
4
+ pages_build_output_dir = "dist-site"
5
+
6
+ [vars]
7
+ NODE_VERSION = "24"
8
+ APP_ENV = "production"
9
+
10
+ [env.preview]
11
+ name = "gvtech-design-preview"
12
+
13
+ [env.preview.vars]
14
+ NODE_VERSION = "24"
15
+ APP_ENV = "preview"
16
+
17
+ [env.production]
18
+ name = "gvtech-design"
19
+
20
+ [env.production.vars]
21
+ NODE_VERSION = "24"
22
+ APP_ENV = "production"
@@ -1 +0,0 @@
1
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nunito+Sans:400,700,800,900" />
@@ -1,38 +0,0 @@
1
- import type { UserConfig } from 'vite';
2
- import type { StorybookConfig } from '@storybook/react-vite';
3
-
4
- export default {
5
- stories: ['../src/Intro.stories.tsx', '../src/**/*.stories.@(js|jsx|ts|tsx|mdx)'],
6
- staticDirs: [{ from: '../public', to: '/public' }],
7
- addons: ['@storybook/addon-links', '@storybook/addon-a11y', '@storybook/addon-docs'],
8
-
9
- framework: {
10
- name: '@storybook/react-vite',
11
- options: {
12
- typescript: {
13
- check: true,
14
- // Use react-docgen-typescript for TypeScript prop documentation in Vite-based Storybook
15
- // This leverages Storybook's built-in integration instead of the webpack-only plugin
16
- reactDocgen: 'react-docgen-typescript',
17
- reactDocgenTypescriptOptions: {
18
- shouldExtractLiteralValuesFromEnum: true,
19
- shouldRemoveUndefinedFromOptional: true,
20
- propFilter: (prop: unknown) => {
21
- const p = prop as { parent?: { fileName?: string } } | undefined;
22
- return p?.parent ? !/node_modules/.test(p.parent.fileName || '') : true;
23
- },
24
- },
25
- },
26
- },
27
- },
28
-
29
- features: {
30
- interactionsDebugger: true,
31
- },
32
-
33
- async viteFinal(config: UserConfig) {
34
- // Use the project's Vite config as-is to avoid duplicating or re-injecting runtime plugins
35
- // (adding the project's `react()` plugin here previously caused duplicate injections)
36
- return config;
37
- },
38
- } as StorybookConfig;
@@ -1,30 +0,0 @@
1
- import React from 'react';
2
- import type { StoryFn, Preview, StoryContext } from '@storybook/react';
3
- import { GlobalStyle } from '../src/shared/global';
4
-
5
- export const decorators: Preview['decorators'] = [
6
- (Story: StoryFn, context: StoryContext) => (
7
- <>
8
- <GlobalStyle />
9
- {Story(context.args, context)}
10
- </>
11
- ),
12
- ];
13
-
14
- export const parameters: Preview['parameters'] = {
15
- actions: { argTypesRegex: '^on[A-Z].*' },
16
- controls: {
17
- matchers: {
18
- color: /(background|color)$/i,
19
- date: /Date$/,
20
- },
21
- },
22
- docs: {
23
- codePanel: true,
24
- },
25
- a11y: {
26
- config: {},
27
- options: {},
28
- },
29
- };
30
- export const tags: string[] = ['autodocs'];