@gv-tech/design-system 1.1.0 → 2.0.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 (347) hide show
  1. package/.agent/skills/dogfood-components/SKILL.md +34 -0
  2. package/.agent/skills/maintain-component/SKILL.md +42 -0
  3. package/.github/workflows/release-please.yml +2 -2
  4. package/.prettierignore +2 -0
  5. package/.release-please-manifest.json +3 -0
  6. package/CHANGELOG.md +90 -0
  7. package/dist/App.d.ts.map +1 -1
  8. package/dist/components/docs/Footer.d.ts.map +1 -1
  9. package/dist/components/docs/PropsTable.d.ts +13 -0
  10. package/dist/components/docs/PropsTable.d.ts.map +1 -0
  11. package/dist/components/docs/Sidebar.d.ts.map +1 -1
  12. package/dist/components/docs/index.d.ts +1 -0
  13. package/dist/components/docs/index.d.ts.map +1 -1
  14. package/dist/components/ui/accordion.test.d.ts +2 -0
  15. package/dist/components/ui/accordion.test.d.ts.map +1 -0
  16. package/dist/components/ui/alert-dialog.test.d.ts +2 -0
  17. package/dist/components/ui/alert-dialog.test.d.ts.map +1 -0
  18. package/dist/components/ui/alert.test.d.ts +2 -0
  19. package/dist/components/ui/alert.test.d.ts.map +1 -0
  20. package/dist/components/ui/aspect-ratio.test.d.ts +2 -0
  21. package/dist/components/ui/aspect-ratio.test.d.ts.map +1 -0
  22. package/dist/components/ui/avatar.test.d.ts +2 -0
  23. package/dist/components/ui/avatar.test.d.ts.map +1 -0
  24. package/dist/components/ui/badge.test.d.ts +2 -0
  25. package/dist/components/ui/badge.test.d.ts.map +1 -0
  26. package/dist/components/ui/breadcrumb.test.d.ts +2 -0
  27. package/dist/components/ui/breadcrumb.test.d.ts.map +1 -0
  28. package/dist/components/ui/button.test.d.ts +2 -0
  29. package/dist/components/ui/button.test.d.ts.map +1 -0
  30. package/dist/components/ui/calendar.d.ts.map +1 -1
  31. package/dist/components/ui/calendar.test.d.ts +2 -0
  32. package/dist/components/ui/calendar.test.d.ts.map +1 -0
  33. package/dist/components/ui/card.test.d.ts +2 -0
  34. package/dist/components/ui/card.test.d.ts.map +1 -0
  35. package/dist/components/ui/carousel.test.d.ts +2 -0
  36. package/dist/components/ui/carousel.test.d.ts.map +1 -0
  37. package/dist/components/ui/chart.test.d.ts +2 -0
  38. package/dist/components/ui/chart.test.d.ts.map +1 -0
  39. package/dist/components/ui/checkbox.test.d.ts +2 -0
  40. package/dist/components/ui/checkbox.test.d.ts.map +1 -0
  41. package/dist/components/ui/collapsible.test.d.ts +2 -0
  42. package/dist/components/ui/collapsible.test.d.ts.map +1 -0
  43. package/dist/components/ui/command.test.d.ts +2 -0
  44. package/dist/components/ui/command.test.d.ts.map +1 -0
  45. package/dist/components/ui/context-menu.test.d.ts +2 -0
  46. package/dist/components/ui/context-menu.test.d.ts.map +1 -0
  47. package/dist/components/ui/dialog.test.d.ts +2 -0
  48. package/dist/components/ui/dialog.test.d.ts.map +1 -0
  49. package/dist/components/ui/drawer.test.d.ts +2 -0
  50. package/dist/components/ui/drawer.test.d.ts.map +1 -0
  51. package/dist/components/ui/dropdown-menu.test.d.ts +2 -0
  52. package/dist/components/ui/dropdown-menu.test.d.ts.map +1 -0
  53. package/dist/components/ui/form.test.d.ts +2 -0
  54. package/dist/components/ui/form.test.d.ts.map +1 -0
  55. package/dist/components/ui/hover-card.test.d.ts +2 -0
  56. package/dist/components/ui/hover-card.test.d.ts.map +1 -0
  57. package/dist/components/ui/input.test.d.ts +2 -0
  58. package/dist/components/ui/input.test.d.ts.map +1 -0
  59. package/dist/components/ui/label.test.d.ts +2 -0
  60. package/dist/components/ui/label.test.d.ts.map +1 -0
  61. package/dist/components/ui/menubar.test.d.ts +2 -0
  62. package/dist/components/ui/menubar.test.d.ts.map +1 -0
  63. package/dist/components/ui/navigation-menu.test.d.ts +2 -0
  64. package/dist/components/ui/navigation-menu.test.d.ts.map +1 -0
  65. package/dist/components/ui/pagination.test.d.ts +2 -0
  66. package/dist/components/ui/pagination.test.d.ts.map +1 -0
  67. package/dist/components/ui/popover.test.d.ts +2 -0
  68. package/dist/components/ui/popover.test.d.ts.map +1 -0
  69. package/dist/components/ui/progress.d.ts.map +1 -1
  70. package/dist/components/ui/progress.test.d.ts +2 -0
  71. package/dist/components/ui/progress.test.d.ts.map +1 -0
  72. package/dist/components/ui/radio-group.test.d.ts +2 -0
  73. package/dist/components/ui/radio-group.test.d.ts.map +1 -0
  74. package/dist/components/ui/resizable.test.d.ts +2 -0
  75. package/dist/components/ui/resizable.test.d.ts.map +1 -0
  76. package/dist/components/ui/scroll-area.test.d.ts +2 -0
  77. package/dist/components/ui/scroll-area.test.d.ts.map +1 -0
  78. package/dist/components/ui/search.d.ts +16 -0
  79. package/dist/components/ui/search.d.ts.map +1 -0
  80. package/dist/components/ui/search.test.d.ts +2 -0
  81. package/dist/components/ui/search.test.d.ts.map +1 -0
  82. package/dist/components/ui/select.test.d.ts +2 -0
  83. package/dist/components/ui/select.test.d.ts.map +1 -0
  84. package/dist/components/ui/separator.test.d.ts +2 -0
  85. package/dist/components/ui/separator.test.d.ts.map +1 -0
  86. package/dist/components/ui/sheet.test.d.ts +2 -0
  87. package/dist/components/ui/sheet.test.d.ts.map +1 -0
  88. package/dist/components/ui/skeleton.test.d.ts +2 -0
  89. package/dist/components/ui/skeleton.test.d.ts.map +1 -0
  90. package/dist/components/ui/slider.test.d.ts +2 -0
  91. package/dist/components/ui/slider.test.d.ts.map +1 -0
  92. package/dist/components/ui/sonner.test.d.ts +2 -0
  93. package/dist/components/ui/sonner.test.d.ts.map +1 -0
  94. package/dist/components/ui/switch.test.d.ts +2 -0
  95. package/dist/components/ui/switch.test.d.ts.map +1 -0
  96. package/dist/components/ui/table.test.d.ts +2 -0
  97. package/dist/components/ui/table.test.d.ts.map +1 -0
  98. package/dist/components/ui/tabs.test.d.ts +2 -0
  99. package/dist/components/ui/tabs.test.d.ts.map +1 -0
  100. package/dist/components/ui/textarea.test.d.ts +2 -0
  101. package/dist/components/ui/textarea.test.d.ts.map +1 -0
  102. package/dist/components/ui/theme-toggle.d.ts +17 -0
  103. package/dist/components/ui/theme-toggle.d.ts.map +1 -0
  104. package/dist/components/ui/toast.test.d.ts +2 -0
  105. package/dist/components/ui/toast.test.d.ts.map +1 -0
  106. package/dist/components/ui/toggle-group.test.d.ts +2 -0
  107. package/dist/components/ui/toggle-group.test.d.ts.map +1 -0
  108. package/dist/components/ui/toggle.test.d.ts +2 -0
  109. package/dist/components/ui/toggle.test.d.ts.map +1 -0
  110. package/dist/components/ui/tooltip.test.d.ts +2 -0
  111. package/dist/components/ui/tooltip.test.d.ts.map +1 -0
  112. package/dist/index.cjs.js +3 -3
  113. package/dist/index.cjs.js.map +1 -1
  114. package/dist/index.d.ts +2 -0
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.es.js +978 -860
  117. package/dist/index.es.js.map +1 -1
  118. package/dist/lib/tokens.d.ts +54 -0
  119. package/dist/lib/tokens.d.ts.map +1 -0
  120. package/dist/pages/ColorTokensDocs.d.ts +2 -0
  121. package/dist/pages/ColorTokensDocs.d.ts.map +1 -0
  122. package/dist/pages/GettingStarted.d.ts.map +1 -1
  123. package/dist/pages/components/AccordionDocs.d.ts.map +1 -1
  124. package/dist/pages/components/AlertDialogDocs.d.ts.map +1 -1
  125. package/dist/pages/components/AlertDocs.d.ts.map +1 -1
  126. package/dist/pages/components/AspectRatioDocs.d.ts.map +1 -1
  127. package/dist/pages/components/AvatarDocs.d.ts.map +1 -1
  128. package/dist/pages/components/BadgeDocs.d.ts.map +1 -1
  129. package/dist/pages/components/BreadcrumbDocs.d.ts.map +1 -1
  130. package/dist/pages/components/ButtonDocs.d.ts.map +1 -1
  131. package/dist/pages/components/CalendarDocs.d.ts.map +1 -1
  132. package/dist/pages/components/CardDocs.d.ts.map +1 -1
  133. package/dist/pages/components/CarouselDocs.d.ts.map +1 -1
  134. package/dist/pages/components/ChartDocs.d.ts.map +1 -1
  135. package/dist/pages/components/CheckboxDocs.d.ts.map +1 -1
  136. package/dist/pages/components/CollapsibleDocs.d.ts.map +1 -1
  137. package/dist/pages/components/CommandDocs.d.ts.map +1 -1
  138. package/dist/pages/components/ContextMenuDocs.d.ts.map +1 -1
  139. package/dist/pages/components/DialogDocs.d.ts.map +1 -1
  140. package/dist/pages/components/DrawerDocs.d.ts.map +1 -1
  141. package/dist/pages/components/DropdownMenuDocs.d.ts.map +1 -1
  142. package/dist/pages/components/FormDocs.d.ts.map +1 -1
  143. package/dist/pages/components/HoverCardDocs.d.ts.map +1 -1
  144. package/dist/pages/components/InputDocs.d.ts.map +1 -1
  145. package/dist/pages/components/LabelDocs.d.ts.map +1 -1
  146. package/dist/pages/components/MenubarDocs.d.ts.map +1 -1
  147. package/dist/pages/components/NavigationMenuDocs.d.ts.map +1 -1
  148. package/dist/pages/components/PaginationDocs.d.ts.map +1 -1
  149. package/dist/pages/components/PopoverDocs.d.ts.map +1 -1
  150. package/dist/pages/components/ProgressDocs.d.ts.map +1 -1
  151. package/dist/pages/components/RadioGroupDocs.d.ts.map +1 -1
  152. package/dist/pages/components/ResizableDocs.d.ts.map +1 -1
  153. package/dist/pages/components/ScrollAreaDocs.d.ts.map +1 -1
  154. package/dist/pages/components/SearchDocs.d.ts +2 -0
  155. package/dist/pages/components/SearchDocs.d.ts.map +1 -0
  156. package/dist/pages/components/SelectDocs.d.ts.map +1 -1
  157. package/dist/pages/components/SeparatorDocs.d.ts.map +1 -1
  158. package/dist/pages/components/SheetDocs.d.ts.map +1 -1
  159. package/dist/pages/components/SkeletonDocs.d.ts.map +1 -1
  160. package/dist/pages/components/SliderDocs.d.ts.map +1 -1
  161. package/dist/pages/components/SonnerDocs.d.ts.map +1 -1
  162. package/dist/pages/components/SwitchDocs.d.ts.map +1 -1
  163. package/dist/pages/components/TableDocs.d.ts.map +1 -1
  164. package/dist/pages/components/TabsDocs.d.ts.map +1 -1
  165. package/dist/pages/components/TextareaDocs.d.ts.map +1 -1
  166. package/dist/pages/components/ThemeToggleDocs.d.ts +2 -0
  167. package/dist/pages/components/ThemeToggleDocs.d.ts.map +1 -0
  168. package/dist/pages/components/ToastDocs.d.ts.map +1 -1
  169. package/dist/pages/components/ToggleDocs.d.ts.map +1 -1
  170. package/dist/pages/components/ToggleGroupDocs.d.ts.map +1 -1
  171. package/dist/pages/components/TooltipDocs.d.ts.map +1 -1
  172. package/dist/pages/index.d.ts +3 -0
  173. package/dist/pages/index.d.ts.map +1 -1
  174. package/dist/registry/accordion.test.json +13 -0
  175. package/dist/registry/alert-dialog.test.json +13 -0
  176. package/dist/registry/alert.test.json +13 -0
  177. package/dist/registry/aspect-ratio.test.json +13 -0
  178. package/dist/registry/avatar.test.json +13 -0
  179. package/dist/registry/badge.test.json +13 -0
  180. package/dist/registry/breadcrumb.test.json +13 -0
  181. package/dist/registry/button.test.json +13 -0
  182. package/dist/registry/calendar.json +1 -1
  183. package/dist/registry/calendar.test.json +13 -0
  184. package/dist/registry/card.test.json +13 -0
  185. package/dist/registry/carousel.test.json +13 -0
  186. package/dist/registry/chart.test.json +13 -0
  187. package/dist/registry/checkbox.test.json +13 -0
  188. package/dist/registry/collapsible.test.json +13 -0
  189. package/dist/registry/command.test.json +13 -0
  190. package/dist/registry/context-menu.test.json +13 -0
  191. package/dist/registry/dialog.test.json +13 -0
  192. package/dist/registry/drawer.test.json +13 -0
  193. package/dist/registry/dropdown-menu.test.json +13 -0
  194. package/dist/registry/form.test.json +13 -0
  195. package/dist/registry/hover-card.test.json +13 -0
  196. package/dist/registry/index.json +336 -0
  197. package/dist/registry/input.test.json +13 -0
  198. package/dist/registry/label.test.json +13 -0
  199. package/dist/registry/menubar.test.json +13 -0
  200. package/dist/registry/navigation-menu.test.json +13 -0
  201. package/dist/registry/pagination.test.json +13 -0
  202. package/dist/registry/popover.test.json +13 -0
  203. package/dist/registry/progress.json +1 -1
  204. package/dist/registry/progress.test.json +13 -0
  205. package/dist/registry/radio-group.test.json +13 -0
  206. package/dist/registry/resizable.test.json +13 -0
  207. package/dist/registry/scroll-area.test.json +13 -0
  208. package/dist/registry/search.json +13 -0
  209. package/dist/registry/search.test.json +13 -0
  210. package/dist/registry/select.test.json +13 -0
  211. package/dist/registry/separator.test.json +13 -0
  212. package/dist/registry/sheet.test.json +13 -0
  213. package/dist/registry/skeleton.test.json +13 -0
  214. package/dist/registry/slider.test.json +13 -0
  215. package/dist/registry/sonner.test.json +13 -0
  216. package/dist/registry/switch.test.json +13 -0
  217. package/dist/registry/table.test.json +13 -0
  218. package/dist/registry/tabs.test.json +13 -0
  219. package/dist/registry/textarea.test.json +13 -0
  220. package/dist/registry/theme-toggle.json +13 -0
  221. package/dist/registry/toast.test.json +13 -0
  222. package/dist/registry/toggle-group.test.json +13 -0
  223. package/dist/registry/toggle.test.json +13 -0
  224. package/dist/registry/tooltip.test.json +13 -0
  225. package/dist/setupTests.d.ts +2 -0
  226. package/dist/setupTests.d.ts.map +1 -0
  227. package/dist/{vendor-ZhQmrf1h.mjs → vendor-BLvpSabH.mjs} +7238 -7136
  228. package/dist/vendor-BLvpSabH.mjs.map +1 -0
  229. package/dist/vendor-n4WFhtJT.js +73 -0
  230. package/dist/vendor-n4WFhtJT.js.map +1 -0
  231. package/eslint.config.mjs +8 -81
  232. package/package.json +44 -46
  233. package/release-please-config.json +36 -0
  234. package/src/App.tsx +70 -7
  235. package/src/components/docs/Footer.tsx +51 -30
  236. package/src/components/docs/PropsTable.tsx +43 -0
  237. package/src/components/docs/Sidebar.tsx +57 -71
  238. package/src/components/docs/index.ts +1 -0
  239. package/src/components/ui/accordion.test.tsx +86 -0
  240. package/src/components/ui/alert-dialog.test.tsx +89 -0
  241. package/src/components/ui/alert.test.tsx +33 -0
  242. package/src/components/ui/aspect-ratio.test.tsx +34 -0
  243. package/src/components/ui/avatar.test.tsx +33 -0
  244. package/src/components/ui/badge.test.tsx +24 -0
  245. package/src/components/ui/breadcrumb.test.tsx +55 -0
  246. package/src/components/ui/button.test.tsx +62 -0
  247. package/src/components/ui/calendar.test.tsx +23 -0
  248. package/src/components/ui/calendar.tsx +14 -10
  249. package/src/components/ui/card.test.tsx +35 -0
  250. package/src/components/ui/carousel.test.tsx +37 -0
  251. package/src/components/ui/chart.test.tsx +62 -0
  252. package/src/components/ui/checkbox.test.tsx +30 -0
  253. package/src/components/ui/collapsible.test.tsx +51 -0
  254. package/src/components/ui/command.test.tsx +79 -0
  255. package/src/components/ui/context-menu.test.tsx +37 -0
  256. package/src/components/ui/dialog.test.tsx +66 -0
  257. package/src/components/ui/drawer.test.tsx +68 -0
  258. package/src/components/ui/dropdown-menu.test.tsx +93 -0
  259. package/src/components/ui/form.test.tsx +85 -0
  260. package/src/components/ui/hover-card.test.tsx +48 -0
  261. package/src/components/ui/input.test.tsx +33 -0
  262. package/src/components/ui/label.test.tsx +27 -0
  263. package/src/components/ui/menubar.test.tsx +92 -0
  264. package/src/components/ui/navigation-menu.test.tsx +53 -0
  265. package/src/components/ui/pagination.test.tsx +57 -0
  266. package/src/components/ui/popover.test.tsx +31 -0
  267. package/src/components/ui/progress.test.tsx +18 -0
  268. package/src/components/ui/progress.tsx +1 -0
  269. package/src/components/ui/radio-group.test.tsx +39 -0
  270. package/src/components/ui/resizable.test.tsx +23 -0
  271. package/src/components/ui/scroll-area.test.tsx +15 -0
  272. package/src/components/ui/search.test.tsx +75 -0
  273. package/src/components/ui/search.tsx +93 -0
  274. package/src/components/ui/select.test.tsx +42 -0
  275. package/src/components/ui/separator.test.tsx +16 -0
  276. package/src/components/ui/sheet.test.tsx +48 -0
  277. package/src/components/ui/skeleton.test.tsx +13 -0
  278. package/src/components/ui/slider.test.tsx +18 -0
  279. package/src/components/ui/sonner.test.tsx +13 -0
  280. package/src/components/ui/switch.test.tsx +22 -0
  281. package/src/components/ui/table.test.tsx +29 -0
  282. package/src/components/ui/tabs.test.tsx +43 -0
  283. package/src/components/ui/textarea.test.tsx +21 -0
  284. package/src/components/ui/theme-toggle.tsx +108 -0
  285. package/src/components/ui/toast.test.tsx +42 -0
  286. package/src/components/ui/toggle-group.test.tsx +40 -0
  287. package/src/components/ui/toggle.test.tsx +21 -0
  288. package/src/components/ui/tooltip.test.tsx +25 -0
  289. package/src/globals.css +39 -34
  290. package/src/index.ts +2 -0
  291. package/src/lib/tokens.ts +54 -0
  292. package/src/pages/ColorTokensDocs.tsx +181 -0
  293. package/src/pages/GettingStarted.tsx +55 -35
  294. package/src/pages/components/AccordionDocs.tsx +109 -0
  295. package/src/pages/components/AlertDialogDocs.tsx +88 -0
  296. package/src/pages/components/AlertDocs.tsx +20 -0
  297. package/src/pages/components/AspectRatioDocs.tsx +21 -0
  298. package/src/pages/components/AvatarDocs.tsx +48 -0
  299. package/src/pages/components/BadgeDocs.tsx +20 -0
  300. package/src/pages/components/BreadcrumbDocs.tsx +33 -0
  301. package/src/pages/components/ButtonDocs.tsx +43 -0
  302. package/src/pages/components/CalendarDocs.tsx +43 -0
  303. package/src/pages/components/CardDocs.tsx +20 -0
  304. package/src/pages/components/CarouselDocs.tsx +31 -0
  305. package/src/pages/components/ChartDocs.tsx +131 -101
  306. package/src/pages/components/CheckboxDocs.tsx +58 -0
  307. package/src/pages/components/CollapsibleDocs.tsx +51 -0
  308. package/src/pages/components/CommandDocs.tsx +109 -0
  309. package/src/pages/components/ContextMenuDocs.tsx +65 -0
  310. package/src/pages/components/DialogDocs.tsx +98 -11
  311. package/src/pages/components/DrawerDocs.tsx +210 -15
  312. package/src/pages/components/DropdownMenuDocs.tsx +273 -11
  313. package/src/pages/components/FormDocs.tsx +149 -70
  314. package/src/pages/components/HoverCardDocs.tsx +82 -5
  315. package/src/pages/components/InputDocs.tsx +51 -20
  316. package/src/pages/components/LabelDocs.tsx +40 -9
  317. package/src/pages/components/MenubarDocs.tsx +191 -18
  318. package/src/pages/components/NavigationMenuDocs.tsx +147 -49
  319. package/src/pages/components/PaginationDocs.tsx +27 -2
  320. package/src/pages/components/PopoverDocs.tsx +124 -2
  321. package/src/pages/components/ProgressDocs.tsx +54 -24
  322. package/src/pages/components/RadioGroupDocs.tsx +95 -1
  323. package/src/pages/components/ResizableDocs.tsx +102 -75
  324. package/src/pages/components/ScrollAreaDocs.tsx +64 -51
  325. package/src/pages/components/SearchDocs.tsx +194 -0
  326. package/src/pages/components/SelectDocs.tsx +119 -48
  327. package/src/pages/components/SeparatorDocs.tsx +37 -2
  328. package/src/pages/components/SheetDocs.tsx +112 -38
  329. package/src/pages/components/SkeletonDocs.tsx +16 -20
  330. package/src/pages/components/SliderDocs.tsx +96 -10
  331. package/src/pages/components/SonnerDocs.tsx +89 -61
  332. package/src/pages/components/SwitchDocs.tsx +65 -10
  333. package/src/pages/components/TableDocs.tsx +89 -14
  334. package/src/pages/components/TabsDocs.tsx +149 -37
  335. package/src/pages/components/TextareaDocs.tsx +38 -32
  336. package/src/pages/components/ThemeToggleDocs.tsx +122 -0
  337. package/src/pages/components/ToastDocs.tsx +104 -65
  338. package/src/pages/components/ToggleDocs.tsx +55 -38
  339. package/src/pages/components/ToggleGroupDocs.tsx +96 -58
  340. package/src/pages/components/TooltipDocs.tsx +112 -3
  341. package/src/pages/index.ts +3 -0
  342. package/src/setupTests.ts +47 -0
  343. package/temp.md +292 -0
  344. package/vitest.config.ts +4 -0
  345. package/dist/vendor-CMSUBoIg.js +0 -73
  346. package/dist/vendor-CMSUBoIg.js.map +0 -1
  347. package/dist/vendor-ZhQmrf1h.mjs.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { PropsTable } from '@/components/docs/PropsTable';
2
3
  import { Checkbox } from '@/components/ui/checkbox';
3
4
  import { Label } from '@/components/ui/label';
4
5
 
@@ -44,6 +45,63 @@ export function CheckboxDocs() {
44
45
  </Label>
45
46
  </div>
46
47
  </ComponentShowcase>
48
+
49
+ <div className="space-y-4">
50
+ <h3 className="text-xl font-semibold">Props</h3>
51
+ <p className="text-sm text-muted-foreground">
52
+ The Checkbox component is built on top of{' '}
53
+ <a
54
+ href="https://www.radix-ui.com/primitives/docs/components/checkbox"
55
+ className="underline"
56
+ target="_blank"
57
+ rel="noreferrer"
58
+ >
59
+ Radix UI Checkbox
60
+ </a>
61
+ .
62
+ </p>
63
+ <PropsTable
64
+ props={[
65
+ {
66
+ name: 'checked',
67
+ type: 'boolean | "indeterminate"',
68
+ description: 'The controlled checked state of the checkbox.',
69
+ },
70
+ {
71
+ name: 'defaultChecked',
72
+ type: 'boolean | "indeterminate"',
73
+ description: 'The default checked state when uncontrolled.',
74
+ },
75
+ {
76
+ name: 'onCheckedChange',
77
+ type: '(checked: boolean | "indeterminate") => void',
78
+ description: 'Event handler called when the checked state changes.',
79
+ },
80
+ {
81
+ name: 'disabled',
82
+ type: 'boolean',
83
+ description: 'When true, prevents the user from interacting with the checkbox.',
84
+ },
85
+ {
86
+ name: 'required',
87
+ type: 'boolean',
88
+ description:
89
+ 'When true, indicates that the user must check the checkbox before the owning form can be submitted.',
90
+ },
91
+ {
92
+ name: 'name',
93
+ type: 'string',
94
+ description: 'The name of the checkbox. Submitted with its owning form as part of a name/value pair.',
95
+ },
96
+ {
97
+ name: 'value',
98
+ type: 'string',
99
+ defaultValue: '"on"',
100
+ description: 'The value given as data when submitted with a name.',
101
+ },
102
+ ]}
103
+ />
104
+ </div>
47
105
  </ComponentSection>
48
106
  );
49
107
  }
@@ -1,4 +1,5 @@
1
1
  import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { PropsTable } from '@/components/docs/PropsTable';
2
3
  import { Button } from '@/components/ui/button';
3
4
  import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';
4
5
  import { ChevronsUpDown } from 'lucide-react';
@@ -47,6 +48,56 @@ export function CollapsibleDocs() {
47
48
  </CollapsibleContent>
48
49
  </Collapsible>
49
50
  </ComponentShowcase>
51
+
52
+ <div className="space-y-4">
53
+ <h3 className="text-xl font-semibold">Props</h3>
54
+ <p className="text-sm text-muted-foreground">
55
+ The Collapsible component is built on top of{' '}
56
+ <a
57
+ href="https://www.radix-ui.com/primitives/docs/components/collapsible"
58
+ className="underline"
59
+ target="_blank"
60
+ rel="noreferrer"
61
+ >
62
+ Radix UI Collapsible
63
+ </a>
64
+ .
65
+ </p>
66
+ <PropsTable
67
+ props={[
68
+ {
69
+ name: 'open',
70
+ type: 'boolean',
71
+ description: 'The controlled open state of the collapsible.',
72
+ },
73
+ {
74
+ name: 'defaultOpen',
75
+ type: 'boolean',
76
+ description: 'The default open state when uncontrolled.',
77
+ },
78
+ {
79
+ name: 'onOpenChange',
80
+ type: '(open: boolean) => void',
81
+ description: 'Event handler called when the open state changes.',
82
+ },
83
+ {
84
+ name: 'disabled',
85
+ type: 'boolean',
86
+ description: 'When true, prevents the user from interacting with the collapsible.',
87
+ },
88
+ ]}
89
+ />
90
+ <h4 className="text-lg font-medium mt-6">CollapsibleContent</h4>
91
+ <PropsTable
92
+ props={[
93
+ {
94
+ name: 'forceMount',
95
+ type: 'boolean',
96
+ description: 'Used to force mounting when more control is needed.',
97
+ },
98
+ ]}
99
+ />
100
+ </div>
50
101
  </ComponentSection>
51
102
  );
52
103
  }
@@ -1,4 +1,5 @@
1
1
  import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { PropsTable } from '@/components/docs/PropsTable';
2
3
  import {
3
4
  Command,
4
5
  CommandEmpty,
@@ -95,6 +96,114 @@ export function CommandDocs() {
95
96
  </CommandList>
96
97
  </Command>
97
98
  </ComponentShowcase>
99
+
100
+ <div className="space-y-4">
101
+ <h3 className="text-xl font-semibold">Props</h3>
102
+ <p className="text-sm text-muted-foreground">
103
+ The Command component is built on top of{' '}
104
+ <a href="https://cmdk.paco.me/" className="underline" target="_blank" rel="noreferrer">
105
+ cmdk
106
+ </a>
107
+ .
108
+ </p>
109
+ <h4 className="text-lg font-medium mt-6">Command (Root)</h4>
110
+ <PropsTable
111
+ props={[
112
+ {
113
+ name: 'label',
114
+ type: 'string',
115
+ description: 'Accessible label for the command menu.',
116
+ },
117
+ {
118
+ name: 'shouldFilter',
119
+ type: 'boolean',
120
+ defaultValue: 'true',
121
+ description: 'Whether to filter items based on input.',
122
+ },
123
+ {
124
+ name: 'filter',
125
+ type: '(value: string, search: string) => number',
126
+ description: 'Custom filter function.',
127
+ },
128
+ {
129
+ name: 'value',
130
+ type: 'string',
131
+ description: 'Controlled value of the selected item.',
132
+ },
133
+ {
134
+ name: 'onValueChange',
135
+ type: '(value: string) => void',
136
+ description: 'Event handler called when value changes.',
137
+ },
138
+ {
139
+ name: 'loop',
140
+ type: 'boolean',
141
+ description: 'Whether to loop selection when navigating with keys.',
142
+ },
143
+ ]}
144
+ />
145
+
146
+ <h4 className="text-lg font-medium mt-6">CommandInput</h4>
147
+ <PropsTable
148
+ props={[
149
+ {
150
+ name: 'placeholder',
151
+ type: 'string',
152
+ description: 'Placeholder text for the input.',
153
+ },
154
+ {
155
+ name: 'value',
156
+ type: 'string',
157
+ description: 'Controlled value of the input.',
158
+ },
159
+ {
160
+ name: 'onValueChange',
161
+ type: '(value: string) => void',
162
+ description: 'Event handler called when input value changes.',
163
+ },
164
+ ]}
165
+ />
166
+
167
+ <h4 className="text-lg font-medium mt-6">CommandList</h4>
168
+ <p className="text-sm text-muted-foreground">Contains items and groups.</p>
169
+
170
+ <h4 className="text-lg font-medium mt-6">CommandItem</h4>
171
+ <PropsTable
172
+ props={[
173
+ {
174
+ name: 'disabled',
175
+ type: 'boolean',
176
+ description: 'Whether the item is disabled.',
177
+ },
178
+ {
179
+ name: 'onSelect',
180
+ type: '(value: string) => void',
181
+ description: 'Event handler called when the item is selected.',
182
+ },
183
+ {
184
+ name: 'value',
185
+ type: 'string',
186
+ description: 'Unique value for the item. Defaults to text content if not provided.',
187
+ },
188
+ ]}
189
+ />
190
+
191
+ <h4 className="text-lg font-medium mt-6">CommandGroup</h4>
192
+ <PropsTable
193
+ props={[
194
+ {
195
+ name: 'heading',
196
+ type: 'ReactNode',
197
+ description: 'Heading for the group.',
198
+ },
199
+ {
200
+ name: 'value',
201
+ type: 'string',
202
+ description: 'Unique value for the group.',
203
+ },
204
+ ]}
205
+ />
206
+ </div>
98
207
  </ComponentSection>
99
208
  );
100
209
  }
@@ -1,4 +1,5 @@
1
1
  import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { PropsTable } from '@/components/docs/PropsTable';
2
3
  import {
3
4
  ContextMenu,
4
5
  ContextMenuContent,
@@ -88,6 +89,70 @@ export function ContextMenuDocs() {
88
89
  </ContextMenuContent>
89
90
  </ContextMenu>
90
91
  </ComponentShowcase>
92
+
93
+ <div className="space-y-4">
94
+ <h3 className="text-xl font-semibold">Props</h3>
95
+ <p className="text-sm text-muted-foreground">
96
+ The Context Menu component is built on top of{' '}
97
+ <a
98
+ href="https://www.radix-ui.com/primitives/docs/components/context-menu"
99
+ className="underline"
100
+ target="_blank"
101
+ rel="noreferrer"
102
+ >
103
+ Radix UI Context Menu
104
+ </a>
105
+ .
106
+ </p>
107
+ <h4 className="text-lg font-medium mt-6">ContextMenu (Root)</h4>
108
+ <PropsTable
109
+ props={[
110
+ {
111
+ name: 'onOpenChange',
112
+ type: '(open: boolean) => void',
113
+ description: 'Event handler called when the open state changes.',
114
+ },
115
+ {
116
+ name: 'modal',
117
+ type: 'boolean',
118
+ defaultValue: 'true',
119
+ description: 'The modality of the context menu.',
120
+ },
121
+ ]}
122
+ />
123
+
124
+ <h4 className="text-lg font-medium mt-6">ContextMenuTrigger</h4>
125
+ <PropsTable
126
+ props={[
127
+ {
128
+ name: 'disabled',
129
+ type: 'boolean',
130
+ description: 'Whether the trigger is disabled.',
131
+ },
132
+ ]}
133
+ />
134
+
135
+ <h4 className="text-lg font-medium mt-6">ContextMenuItem</h4>
136
+ <PropsTable
137
+ props={[
138
+ {
139
+ name: 'onSelect',
140
+ type: '(event: Event) => void',
141
+ description: 'Event handler called when the item is selected.',
142
+ },
143
+ {
144
+ name: 'disabled',
145
+ type: 'boolean',
146
+ description: 'Whether the item is disabled.',
147
+ },
148
+ {
149
+ name: 'textValue',
150
+ type: 'string',
151
+ description: 'Text representation of the item for typeahead support.',
152
+ },
153
+ ]}
154
+ />
155
+ </div>
91
156
  </ComponentSection>
92
157
  );
93
158
  }
@@ -1,4 +1,5 @@
1
1
  import { ComponentSection, ComponentShowcase } from '@/components/docs/ComponentShowcase';
2
+ import { PropsTable } from '@/components/docs/PropsTable';
2
3
  import { Button } from '@/components/ui/button';
3
4
  import {
4
5
  Dialog,
@@ -16,26 +17,34 @@ export function DialogDocs() {
16
17
  return (
17
18
  <ComponentSection
18
19
  title="Dialog"
19
- description="A modal dialog that interrupts the user with important content and expects a response."
20
+ description="A window overlaid on either the primary window or another dialog window, rendering the content underneath inert."
20
21
  >
21
22
  <ComponentShowcase
22
23
  title="Default"
23
- description="A basic dialog with a trigger button."
24
+ description="A basic dialog with a trigger and content."
24
25
  code={`<Dialog>
25
26
  <DialogTrigger asChild>
26
- <Button variant="outline">Open Dialog</Button>
27
+ <Button variant="outline">Edit Profile</Button>
27
28
  </DialogTrigger>
28
- <DialogContent>
29
+ <DialogContent className="sm:max-w-[425px]">
29
30
  <DialogHeader>
30
31
  <DialogTitle>Edit profile</DialogTitle>
31
32
  <DialogDescription>
32
- Make changes to your profile here.
33
+ Make changes to your profile here. Click save when you're done.
33
34
  </DialogDescription>
34
35
  </DialogHeader>
35
36
  <div className="grid gap-4 py-4">
36
37
  <div className="grid grid-cols-4 items-center gap-4">
37
- <Label htmlFor="name" className="text-right">Name</Label>
38
- <Input id="name" className="col-span-3" />
38
+ <Label htmlFor="name" className="text-right">
39
+ Name
40
+ </Label>
41
+ <Input id="name" defaultValue="Pedro Duarte" className="col-span-3" />
42
+ </div>
43
+ <div className="grid grid-cols-4 items-center gap-4">
44
+ <Label htmlFor="username" className="text-right">
45
+ Username
46
+ </Label>
47
+ <Input id="username" defaultValue="@peduarte" className="col-span-3" />
39
48
  </div>
40
49
  </div>
41
50
  <DialogFooter>
@@ -46,14 +55,12 @@ export function DialogDocs() {
46
55
  >
47
56
  <Dialog>
48
57
  <DialogTrigger asChild>
49
- <Button variant="outline">Open Dialog</Button>
58
+ <Button variant="outline">Edit Profile</Button>
50
59
  </DialogTrigger>
51
60
  <DialogContent className="sm:max-w-[425px]">
52
61
  <DialogHeader>
53
62
  <DialogTitle>Edit profile</DialogTitle>
54
- <DialogDescription>
55
- Make changes to your profile here. Click save when you&apos;re done.
56
- </DialogDescription>
63
+ <DialogDescription>Make changes to your profile here. Click save when you're done.</DialogDescription>
57
64
  </DialogHeader>
58
65
  <div className="grid gap-4 py-4">
59
66
  <div className="grid grid-cols-4 items-center gap-4">
@@ -75,6 +82,86 @@ export function DialogDocs() {
75
82
  </DialogContent>
76
83
  </Dialog>
77
84
  </ComponentShowcase>
85
+
86
+ <div className="space-y-4">
87
+ <h3 className="text-xl font-semibold">Props</h3>
88
+ <p className="text-sm text-muted-foreground">
89
+ The Dialog component is built on top of{' '}
90
+ <a
91
+ href="https://www.radix-ui.com/primitives/docs/components/dialog"
92
+ className="underline"
93
+ target="_blank"
94
+ rel="noreferrer"
95
+ >
96
+ Radix UI Dialog
97
+ </a>
98
+ .
99
+ </p>
100
+ <h4 className="text-lg font-medium mt-6">Dialog (Root)</h4>
101
+ <PropsTable
102
+ props={[
103
+ {
104
+ name: 'open',
105
+ type: 'boolean',
106
+ description: 'The controlled open state of the dialog.',
107
+ },
108
+ {
109
+ name: 'defaultOpen',
110
+ type: 'boolean',
111
+ description: 'The default open state when uncontrolled.',
112
+ },
113
+ {
114
+ name: 'onOpenChange',
115
+ type: '(open: boolean) => void',
116
+ description: 'Event handler called when the open state changes.',
117
+ },
118
+ {
119
+ name: 'modal',
120
+ type: 'boolean',
121
+ defaultValue: 'true',
122
+ description: 'The modality of the dialog.',
123
+ },
124
+ ]}
125
+ />
126
+
127
+ <h4 className="text-lg font-medium mt-6">DialogTrigger</h4>
128
+ <PropsTable
129
+ props={[
130
+ {
131
+ name: 'asChild',
132
+ type: 'boolean',
133
+ description: 'Change the default rendered element for the one passed as a child.',
134
+ },
135
+ ]}
136
+ />
137
+
138
+ <h4 className="text-lg font-medium mt-6">DialogContent</h4>
139
+ <PropsTable
140
+ props={[
141
+ {
142
+ name: 'onEscapeKeyDown',
143
+ type: '(event: KeyboardEvent) => void',
144
+ description: 'Event handler called when the escape key is down.',
145
+ },
146
+ {
147
+ name: 'onPointerDownOutside',
148
+ type: '(event: PointerDownOutsideEvent) => void',
149
+ description: 'Event handler called when a pointer event occurs outside the bounds of the component.',
150
+ },
151
+ {
152
+ name: 'onInteractOutside',
153
+ type: '(event: React.FocusEvent | MouseEvent | TouchEvent) => void',
154
+ description:
155
+ 'Event handler called when an interaction (pointer or focus) happens outside the bounds of the component.',
156
+ },
157
+ {
158
+ name: 'forceMount',
159
+ type: 'boolean',
160
+ description: 'Used to force mounting when more control is needed.',
161
+ },
162
+ ]}
163
+ />
164
+ </div>
78
165
  </ComponentSection>
79
166
  );
80
167
  }