@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
@@ -0,0 +1,54 @@
1
+ /** Design system color tokens for Garcia Ventures. */
2
+ export declare const tokens: {
3
+ readonly colors: {
4
+ readonly light: {
5
+ readonly background: "hsl(0 0% 96%)";
6
+ readonly foreground: "hsl(222 47% 11%)";
7
+ readonly card: "hsl(0 0% 100%)";
8
+ readonly cardForeground: "hsl(222 47% 11%)";
9
+ readonly popover: "hsl(0 0% 100%)";
10
+ readonly popoverForeground: "hsl(222 47% 11%)";
11
+ readonly primary: "hsl(225 73% 57%)";
12
+ readonly primaryForeground: "hsl(0 0% 100%)";
13
+ readonly secondary: "hsl(93 28% 54%)";
14
+ readonly secondaryForeground: "hsl(0 0% 100%)";
15
+ readonly muted: "hsl(0 0% 92%)";
16
+ readonly mutedForeground: "hsl(215 16% 47%)";
17
+ readonly accent: "hsl(0 0% 88%)";
18
+ readonly accentForeground: "hsl(222 47% 11%)";
19
+ readonly destructive: "hsl(0 84.2% 60.2%)";
20
+ readonly destructiveForeground: "hsl(0 0% 100%)";
21
+ readonly border: "hsl(0 0% 89%)";
22
+ readonly input: "hsl(0 0% 89%)";
23
+ readonly ring: "hsl(222 47% 11%)";
24
+ };
25
+ readonly dark: {
26
+ readonly background: "hsl(0 0% 9%)";
27
+ readonly foreground: "hsl(0 0% 100%)";
28
+ readonly card: "hsl(0 0% 14%)";
29
+ readonly cardForeground: "hsl(0 0% 100%)";
30
+ readonly popover: "hsl(0 0% 11%)";
31
+ readonly popoverForeground: "hsl(0 0% 100%)";
32
+ readonly primary: "hsl(227 96% 71%)";
33
+ readonly primaryForeground: "hsl(0 0% 9%)";
34
+ readonly secondary: "hsl(96 44% 61%)";
35
+ readonly secondaryForeground: "hsl(0 0% 9%)";
36
+ readonly muted: "hsl(0 0% 6%)";
37
+ readonly mutedForeground: "hsl(0 0% 70%)";
38
+ readonly accent: "hsl(0 0% 15%)";
39
+ readonly accentForeground: "hsl(0 0% 100%)";
40
+ readonly destructive: "hsl(0 62.8% 30.6%)";
41
+ readonly destructiveForeground: "hsl(0 0% 100%)";
42
+ readonly border: "hsl(0 0% 18%)";
43
+ readonly input: "hsl(0 0% 18%)";
44
+ readonly ring: "hsl(0 0% 90%)";
45
+ };
46
+ readonly brand: {
47
+ readonly green: "hsl(151 66% 27%)";
48
+ readonly blue: "hsl(225 73% 57%)";
49
+ };
50
+ };
51
+ };
52
+ export type ThemeTokens = typeof tokens.colors.light;
53
+ export type BrandTokens = typeof tokens.colors.brand;
54
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/lib/tokens.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDT,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function ColorTokensDocs(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ColorTokensDocs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorTokensDocs.d.ts","sourceRoot":"","sources":["../../src/pages/ColorTokensDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,4CA+K9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"GettingStarted.d.ts","sourceRoot":"","sources":["../../src/pages/GettingStarted.tsx"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,4CA8EjC;AAED,wBAAgB,gBAAgB,4CAwK/B"}
1
+ {"version":3,"file":"GettingStarted.d.ts","sourceRoot":"","sources":["../../src/pages/GettingStarted.tsx"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,4CA4FjC;AAED,wBAAgB,gBAAgB,4CA4K/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AccordionDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,4CAmD5B"}
1
+ {"version":3,"file":"AccordionDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AccordionDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,4CA+J5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDialogDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AlertDialogDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,eAAe,4CAgD9B"}
1
+ {"version":3,"file":"AlertDialogDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AlertDialogDocs.tsx"],"names":[],"mappings":"AAeA,wBAAgB,eAAe,4CAuI9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AlertDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,4CAwCxB"}
1
+ {"version":3,"file":"AlertDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AlertDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,4CA2DxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AspectRatioDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AspectRatioDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,4CA4D9B"}
1
+ {"version":3,"file":"AspectRatioDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AspectRatioDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,4CAgF9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AvatarDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,4CA8BzB"}
1
+ {"version":3,"file":"AvatarDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/AvatarDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,4CA6EzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/BadgeDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,4CAgCxB"}
1
+ {"version":3,"file":"BadgeDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/BadgeDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,4CAmDxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/BreadcrumbDocs.tsx"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,4CA2C7B"}
1
+ {"version":3,"file":"BreadcrumbDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/BreadcrumbDocs.tsx"],"names":[],"mappings":"AAWA,wBAAgB,cAAc,4CA2E7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ButtonDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,4CAwEzB"}
1
+ {"version":3,"file":"ButtonDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ButtonDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,4CAkHzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CalendarDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,4CAwB3B"}
1
+ {"version":3,"file":"CalendarDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CalendarDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CAkE3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CardDocs.tsx"],"names":[],"mappings":"AAMA,wBAAgB,QAAQ,4CA0EvB"}
1
+ {"version":3,"file":"CardDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CardDocs.tsx"],"names":[],"mappings":"AAOA,wBAAgB,QAAQ,4CA6FvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CarouselDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,4CA+H3B"}
1
+ {"version":3,"file":"CarouselDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CarouselDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CA6J3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChartDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ChartDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,4CA8GxB"}
1
+ {"version":3,"file":"ChartDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ChartDocs.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,SAAS,4CAuHxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CheckboxDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,4CA4C3B"}
1
+ {"version":3,"file":"CheckboxDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CheckboxDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CAqG3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CollapsibleDocs.tsx"],"names":[],"mappings":"AAMA,wBAAgB,eAAe,4CA6C9B"}
1
+ {"version":3,"file":"CollapsibleDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CollapsibleDocs.tsx"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,4CA+F9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CommandDocs.tsx"],"names":[],"mappings":"AAaA,wBAAgB,WAAW,4CAsF1B"}
1
+ {"version":3,"file":"CommandDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/CommandDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,4CAkM1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ContextMenuDocs.tsx"],"names":[],"mappings":"AAaA,wBAAgB,eAAe,4CA+E9B"}
1
+ {"version":3,"file":"ContextMenuDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ContextMenuDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,eAAe,4CA+I9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/DialogDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,UAAU,4CAiEzB"}
1
+ {"version":3,"file":"DialogDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/DialogDocs.tsx"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,4CAuJzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/DrawerDocs.tsx"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,4CA+DzB"}
1
+ {"version":3,"file":"DrawerDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/DrawerDocs.tsx"],"names":[],"mappings":"AA2DA,wBAAgB,UAAU,4CAsNzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenuDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/DropdownMenuDocs.tsx"],"names":[],"mappings":"AAWA,wBAAgB,gBAAgB,4CAuC/B"}
1
+ {"version":3,"file":"DropdownMenuDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/DropdownMenuDocs.tsx"],"names":[],"mappings":"AAsCA,wBAAgB,gBAAgB,4CAkR/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/FormDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,4CA8EvB"}
1
+ {"version":3,"file":"FormDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/FormDocs.tsx"],"names":[],"mappings":"AAeA,wBAAgB,QAAQ,4CAmJvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverCardDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/HoverCardDocs.tsx"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,4CAoD5B"}
1
+ {"version":3,"file":"HoverCardDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/HoverCardDocs.tsx"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,4CAgI5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/InputDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,4CA8DxB"}
1
+ {"version":3,"file":"InputDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/InputDocs.tsx"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,4CA4FxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"LabelDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/LabelDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,4CAkBxB"}
1
+ {"version":3,"file":"LabelDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/LabelDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,4CAgDxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenubarDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/MenubarDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,4CAsG1B"}
1
+ {"version":3,"file":"MenubarDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/MenubarDocs.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,WAAW,4CA+Q1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationMenuDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/NavigationMenuDocs.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,kBAAkB,4CAqGjC"}
1
+ {"version":3,"file":"NavigationMenuDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/NavigationMenuDocs.tsx"],"names":[],"mappings":"AAqCA,wBAAgB,kBAAkB,4CAwNjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/PaginationDocs.tsx"],"names":[],"mappings":"AAWA,wBAAgB,cAAc,4CAwD7B"}
1
+ {"version":3,"file":"PaginationDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/PaginationDocs.tsx"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,4CAgF7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/PopoverDocs.tsx"],"names":[],"mappings":"AAMA,wBAAgB,WAAW,4CAsD1B"}
1
+ {"version":3,"file":"PopoverDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/PopoverDocs.tsx"],"names":[],"mappings":"AAOA,wBAAgB,WAAW,4CA+K1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ProgressDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,4CA8B3B"}
1
+ {"version":3,"file":"ProgressDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ProgressDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CA0D3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/RadioGroupDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,4CAiC7B"}
1
+ {"version":3,"file":"RadioGroupDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/RadioGroupDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,4CA8H7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResizableDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ResizableDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,4CA0G5B"}
1
+ {"version":3,"file":"ResizableDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ResizableDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,4CAoI5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ScrollAreaDocs.tsx"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,4CA2E7B"}
1
+ {"version":3,"file":"ScrollAreaDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ScrollAreaDocs.tsx"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,4CA8F7B"}
@@ -0,0 +1,2 @@
1
+ export declare function SearchDocs(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=SearchDocs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SearchDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,UAAU,4CAmLzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SelectDocs.tsx"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,4CA2EzB"}
1
+ {"version":3,"file":"SelectDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SelectDocs.tsx"],"names":[],"mappings":"AAYA,wBAAgB,UAAU,4CAiJzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SeparatorDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SeparatorDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,4CAwC5B"}
1
+ {"version":3,"file":"SeparatorDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SeparatorDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,4CA0E5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SheetDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SheetDocs.tsx"],"names":[],"mappings":"AAcA,wBAAgB,SAAS,4CAyFxB"}
1
+ {"version":3,"file":"SheetDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SheetDocs.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,SAAS,4CAiKxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SkeletonDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,4CA4C3B"}
1
+ {"version":3,"file":"SkeletonDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SkeletonDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,4CAuC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SliderDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SliderDocs.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,4CAoBzB"}
1
+ {"version":3,"file":"SliderDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SliderDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,4CAyGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SonnerDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SonnerDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,4CAoFzB"}
1
+ {"version":3,"file":"SonnerDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SonnerDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,4CA+GzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SwitchDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,4CA0BzB"}
1
+ {"version":3,"file":"SwitchDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/SwitchDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,4CAgFzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TableDocs.tsx"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,4CAoDxB"}
1
+ {"version":3,"file":"TableDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TableDocs.tsx"],"names":[],"mappings":"AA0DA,wBAAgB,SAAS,4CAgFxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabsDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TabsDocs.tsx"],"names":[],"mappings":"AAOA,wBAAgB,QAAQ,4CAuGvB"}
1
+ {"version":3,"file":"TabsDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TabsDocs.tsx"],"names":[],"mappings":"AAQA,wBAAgB,QAAQ,4CAsNvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TextareaDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CAgD3B"}
1
+ {"version":3,"file":"TextareaDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TextareaDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CAsD3B"}
@@ -0,0 +1,2 @@
1
+ export declare function ThemeToggleDocs(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ThemeToggleDocs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToggleDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ThemeToggleDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,4CAoH9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToastDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ToastDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,4CAiGxB"}
1
+ {"version":3,"file":"ToastDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ToastDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,4CAuIxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ToggleDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,4CAsDzB"}
1
+ {"version":3,"file":"ToggleDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ToggleDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,4CAsEzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleGroupDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ToggleGroupDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,4CAwF9B"}
1
+ {"version":3,"file":"ToggleGroupDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/ToggleGroupDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,4CA6H9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TooltipDocs.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,4CAiC1B"}
1
+ {"version":3,"file":"TooltipDocs.d.ts","sourceRoot":"","sources":["../../../src/pages/components/TooltipDocs.tsx"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,4CA6I1B"}
@@ -1,3 +1,4 @@
1
+ export { ColorTokensDocs } from './ColorTokensDocs';
1
2
  export { GettingStartedPage, InstallationPage } from './GettingStarted';
2
3
  export { AccordionDocs } from './components/AccordionDocs';
3
4
  export { AlertDialogDocs } from './components/AlertDialogDocs';
@@ -30,6 +31,7 @@ export { ProgressDocs } from './components/ProgressDocs';
30
31
  export { RadioGroupDocs } from './components/RadioGroupDocs';
31
32
  export { ResizableDocs } from './components/ResizableDocs';
32
33
  export { ScrollAreaDocs } from './components/ScrollAreaDocs';
34
+ export { SearchDocs } from './components/SearchDocs';
33
35
  export { SelectDocs } from './components/SelectDocs';
34
36
  export { SeparatorDocs } from './components/SeparatorDocs';
35
37
  export { SheetDocs } from './components/SheetDocs';
@@ -40,6 +42,7 @@ export { SwitchDocs } from './components/SwitchDocs';
40
42
  export { TableDocs } from './components/TableDocs';
41
43
  export { TabsDocs } from './components/TabsDocs';
42
44
  export { TextareaDocs } from './components/TextareaDocs';
45
+ export { ThemeToggleDocs } from './components/ThemeToggleDocs';
43
46
  export { ToastDocs } from './components/ToastDocs';
44
47
  export { ToggleDocs } from './components/ToggleDocs';
45
48
  export { ToggleGroupDocs } from './components/ToggleGroupDocs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "accordion.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/accordion.test.tsx",
9
+ "content": "import { render, screen, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';\n\ndescribe('Accordion', () => {\n it('renders correctly', () => {\n render(\n <Accordion type=\"single\" collapsible>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>Trigger 1</AccordionTrigger>\n <AccordionContent>Content 1</AccordionContent>\n </AccordionItem>\n </Accordion>,\n );\n\n expect(screen.getByText('Trigger 1')).toBeInTheDocument();\n // Content should not be visible initially\n expect(screen.queryByText('Content 1')).not.toBeInTheDocument();\n });\n\n it('expands when clicked', async () => {\n render(\n <Accordion type=\"single\" collapsible>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>Trigger 1</AccordionTrigger>\n <AccordionContent>Content 1</AccordionContent>\n </AccordionItem>\n </Accordion>,\n );\n\n const trigger = screen.getByText('Trigger 1');\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(screen.getByText('Content 1')).toBeVisible();\n });\n });\n\n it('collapses when clicked again', async () => {\n render(\n <Accordion type=\"single\" collapsible defaultValue=\"item-1\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>Trigger 1</AccordionTrigger>\n <AccordionContent>Content 1</AccordionContent>\n </AccordionItem>\n </Accordion>,\n );\n\n // Initial state open\n expect(screen.getByText('Content 1')).toBeVisible();\n\n const trigger = screen.getByText('Trigger 1');\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(screen.queryByText('Content 1')).not.toBeInTheDocument();\n });\n });\n\n it('handles single mode correctly', async () => {\n render(\n <Accordion type=\"single\" collapsible>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>Trigger 1</AccordionTrigger>\n <AccordionContent>Content 1</AccordionContent>\n </AccordionItem>\n <AccordionItem value=\"item-2\">\n <AccordionTrigger>Trigger 2</AccordionTrigger>\n <AccordionContent>Content 2</AccordionContent>\n </AccordionItem>\n </Accordion>,\n );\n\n // Click item 1\n await userEvent.click(screen.getByText('Trigger 1'));\n await waitFor(() => expect(screen.getByText('Content 1')).toBeVisible());\n\n // Click item 2\n await userEvent.click(screen.getByText('Trigger 2'));\n await waitFor(() => expect(screen.getByText('Content 2')).toBeVisible());\n\n // Item 1 should be closed\n await waitFor(() => expect(screen.queryByText('Content 1')).not.toBeInTheDocument());\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "alert-dialog.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/alert-dialog.test.tsx",
9
+ "content": "import { render, screen, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n} from './alert-dialog';\n\ndescribe('AlertDialog', () => {\n it('renders correctly', async () => {\n render(\n <AlertDialog>\n <AlertDialogTrigger>Open</AlertDialogTrigger>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Are you sure?</AlertDialogTitle>\n <AlertDialogDescription>This action cannot be undone.</AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction>Continue</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>,\n );\n\n expect(screen.getByText('Open')).toBeInTheDocument();\n expect(screen.queryByText('Are you sure?')).not.toBeInTheDocument();\n\n await userEvent.click(screen.getByText('Open'));\n\n await waitFor(() => {\n expect(screen.getByRole('alertdialog')).toBeInTheDocument();\n expect(screen.getByText('Are you sure?')).toBeInTheDocument();\n expect(screen.getByText('This action cannot be undone.')).toBeInTheDocument();\n });\n });\n\n it('closes when cancel is clicked', async () => {\n render(\n <AlertDialog>\n <AlertDialogTrigger>Open</AlertDialogTrigger>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Are you sure?</AlertDialogTitle>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>,\n );\n\n await userEvent.click(screen.getByText('Open'));\n await waitFor(() => expect(screen.getByRole('alertdialog')).toBeInTheDocument());\n\n await userEvent.click(screen.getByText('Cancel'));\n await waitFor(() => expect(screen.queryByRole('alertdialog')).not.toBeInTheDocument());\n });\n\n it('closes when action is clicked', async () => {\n render(\n <AlertDialog>\n <AlertDialogTrigger>Open</AlertDialogTrigger>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Are you sure?</AlertDialogTitle>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogAction>Continue</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>,\n );\n\n await userEvent.click(screen.getByText('Open'));\n await waitFor(() => expect(screen.getByRole('alertdialog')).toBeInTheDocument());\n\n await userEvent.click(screen.getByText('Continue'));\n await waitFor(() => expect(screen.queryByRole('alertdialog')).not.toBeInTheDocument());\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "alert.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/alert.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Alert, AlertDescription, AlertTitle } from './alert';\n\ndescribe('Alert', () => {\n it('renders correctly', () => {\n render(\n <Alert>\n <AlertTitle>Heads up!</AlertTitle>\n <AlertDescription>You can add components to your app using the cli.</AlertDescription>\n </Alert>,\n );\n\n const alert = screen.getByRole('alert');\n expect(alert).toBeInTheDocument();\n expect(screen.getByText('Heads up!')).toBeInTheDocument();\n expect(screen.getByText('You can add components to your app using the cli.')).toBeInTheDocument();\n });\n\n it('renders destructive variant', () => {\n render(\n <Alert variant=\"destructive\">\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>Your session has expired.</AlertDescription>\n </Alert>,\n );\n\n const alert = screen.getByRole('alert');\n expect(alert).toBeInTheDocument();\n expect(alert).toHaveClass('border-destructive/50');\n expect(alert).toHaveClass('text-destructive');\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "aspect-ratio.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/aspect-ratio.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { AspectRatio } from './aspect-ratio';\n\ndescribe('AspectRatio', () => {\n it('renders correctly', () => {\n const { container } = render(\n <AspectRatio ratio={16 / 9}>\n <img src=\"test.jpg\" alt=\"test\" />\n </AspectRatio>,\n );\n\n const img = screen.getByRole('img');\n expect(img).toBeInTheDocument();\n\n // Radix AspectRatio renders a wrapper with padding-bottom based on ratio\n // We can check if the wrapper style is applied\n const wrapper = container.firstChild;\n expect(wrapper).toHaveStyle({ paddingBottom: expect.stringMatching(/%$/) });\n });\n\n it('renders with custom ratio', () => {\n const { container } = render(\n <AspectRatio ratio={1 / 1}>\n <div>Square</div>\n </AspectRatio>,\n );\n\n expect(screen.getByText('Square')).toBeInTheDocument();\n const wrapper = container.firstChild;\n // 1/1 ratio should be 100% padding-bottom\n expect(wrapper).toHaveStyle({ paddingBottom: '100%' });\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "avatar.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/avatar.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Avatar, AvatarFallback, AvatarImage } from './avatar';\n\ndescribe('Avatar', () => {\n it('renders correctly', () => {\n render(\n <Avatar>\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>CN</AvatarFallback>\n </Avatar>,\n );\n\n // In JSDOM, image loading might not happen immediately or at all without mocking.\n // However, the elements should be in the DOM.\n // Radix conditionally renders Image or Fallback.\n // By default, it might render Image and hide Fallback, or vice versa depending on loading.\n\n // Let's check that the root is present\n const avatar = screen.getByText('CN')?.parentElement || screen.getByRole('img').parentElement;\n expect(avatar).toBeInTheDocument();\n });\n\n it('renders fallback when image is missing', () => {\n render(\n <Avatar>\n <AvatarFallback>CN</AvatarFallback>\n </Avatar>,\n );\n\n expect(screen.getByText('CN')).toBeInTheDocument();\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "badge.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/badge.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Badge } from './badge';\n\ndescribe('Badge', () => {\n it('renders correctly', () => {\n render(<Badge>Test Badge</Badge>);\n expect(screen.getByText('Test Badge')).toBeInTheDocument();\n });\n\n it('renders variants', () => {\n const { rerender, getByText } = render(<Badge variant=\"default\">Default</Badge>);\n expect(getByText('Default')).toHaveClass('bg-primary');\n\n rerender(<Badge variant=\"secondary\">Secondary</Badge>);\n expect(getByText('Secondary')).toHaveClass('bg-secondary');\n\n rerender(<Badge variant=\"destructive\">Destructive</Badge>);\n expect(getByText('Destructive')).toHaveClass('bg-destructive');\n\n rerender(<Badge variant=\"outline\">Outline</Badge>);\n expect(getByText('Outline')).toHaveClass('text-foreground');\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "breadcrumb.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/breadcrumb.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from './breadcrumb';\n\ndescribe('Breadcrumb', () => {\n it('renders correctly', () => {\n render(\n <Breadcrumb>\n <BreadcrumbList>\n <BreadcrumbItem>\n <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbPage>Page</BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>,\n );\n\n const nav = screen.getByRole('navigation');\n expect(nav).toBeInTheDocument();\n expect(nav).toHaveAttribute('aria-label', 'breadcrumb');\n\n const links = screen.getAllByRole('link');\n expect(links).toHaveLength(2); // Link and Page (span role=\"link\")\n expect(links[0]).toHaveAttribute('href', '/');\n expect(links[1]).toHaveTextContent('Page');\n });\n\n it('renders custom separator', () => {\n render(\n <Breadcrumb>\n <BreadcrumbList>\n <BreadcrumbItem>\n <BreadcrumbLink>Home</BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator>/</BreadcrumbSeparator>\n <BreadcrumbItem>\n <BreadcrumbPage>Page</BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>,\n );\n\n expect(screen.getByText('/')).toBeInTheDocument();\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "button.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/button.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it, vi } from 'vitest';\nimport { Button } from './button';\n\ndescribe('Button', () => {\n it('renders correctly', () => {\n render(<Button>Click me</Button>);\n expect(screen.getByRole('button', { name: /click me/i })).toBeInTheDocument();\n });\n\n it('handles click events', async () => {\n const handleClick = vi.fn();\n render(<Button onClick={handleClick}>Click me</Button>);\n\n await userEvent.click(screen.getByRole('button', { name: /click me/i }));\n expect(handleClick).toHaveBeenCalledTimes(1);\n });\n\n it('can be disabled', () => {\n render(<Button disabled>Click me</Button>);\n expect(screen.getByRole('button', { name: /click me/i })).toBeDisabled();\n });\n\n it('supports asChild prop', () => {\n render(\n <Button asChild>\n <a href=\"/test\">Link Button</a>\n </Button>,\n );\n\n const link = screen.getByRole('link', { name: /link button/i });\n expect(link).toBeInTheDocument();\n expect(link).toHaveAttribute('href', '/test');\n });\n\n describe('Variants', () => {\n const variants = ['default', 'destructive', 'outline', 'secondary', 'ghost', 'link'] as const;\n\n variants.forEach((variant) => {\n it(`renders ${variant} variant`, () => {\n render(<Button variant={variant}>{variant}</Button>);\n const button = screen.getByRole('button', { name: variant });\n expect(button).toBeInTheDocument();\n // We could check for specific classes here, but that might make tests too brittle\n // checking the role and content presence is a good baseline\n });\n });\n });\n\n describe('Sizes', () => {\n const sizes = ['default', 'sm', 'lg', 'icon'] as const;\n\n sizes.forEach((size) => {\n it(`renders ${size} size`, () => {\n render(<Button size={size}>{size}</Button>);\n const button = screen.getByRole('button', { name: size });\n expect(button).toBeInTheDocument();\n });\n });\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -6,7 +6,7 @@
6
6
  "files": [
7
7
  {
8
8
  "path": "ui/calendar.tsx",
9
- "content": "import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { Button, buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/lib/utils';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('bg-popover absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label'\n ? 'text-sm'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\n week_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\n day: cn(\n 'group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(\n 'bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-[--cell-size] items-center justify-center text-center\">{children}</div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n",
9
+ "content": "import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { Button, buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/lib/utils';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:2.5rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n 'relative',\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-2 flex items-center justify-between pointer-events-none px-2',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'h-7 w-7 select-none p-0 aria-disabled:opacity-50 pointer-events-auto',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-[--cell-size] w-full items-center justify-center text-sm font-medium',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('bg-popover absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'select-none font-medium',\n captionLayout === 'label'\n ? 'text-sm'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse grow',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground pt-1 flex-1 select-none rounded-md text-[0.8rem] font-normal uppercase',\n defaultClassNames.weekday,\n ),\n week: cn('flex w-full mt-2', defaultClassNames.week),\n week_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\n week_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\n day: cn(\n 'group/day relative flex aspect-square h-10 w-10 select-none items-center justify-center p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(\n 'bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-[--cell-size] items-center justify-center text-center\">{children}</div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-full w-full min-w-[--cell-size] items-center justify-center font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n",
10
10
  "type": "registry:ui"
11
11
  }
12
12
  ]
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "calendar.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/calendar.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Calendar } from './calendar';\n\ndescribe('Calendar', () => {\n it('renders correctly', () => {\n // Mock date to consistent rendering\n const date = new Date(2023, 0, 1); // Jan 1, 2023\n\n render(<Calendar mode=\"single\" selected={date} month={date} />);\n\n expect(screen.getByText('January 2023')).toBeInTheDocument();\n const days = screen.getAllByText('1');\n expect(days.length).toBeGreaterThan(0);\n expect(screen.getByText('Su')).toBeInTheDocument(); // Sunday header\n });\n\n it('renders with class name', () => {\n const { container } = render(<Calendar className=\"test-class\" />);\n // DayPicker renders a div with the class\n expect(container.firstChild).toHaveClass('test-class');\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }