@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,11 @@
1
1
  [
2
+ {
3
+ "name": "accordion.test",
4
+ "files": [
5
+ "ui/accordion.test.tsx"
6
+ ],
7
+ "type": "registry:ui"
8
+ },
2
9
  {
3
10
  "name": "accordion",
4
11
  "files": [
@@ -6,6 +13,13 @@
6
13
  ],
7
14
  "type": "registry:ui"
8
15
  },
16
+ {
17
+ "name": "alert-dialog.test",
18
+ "files": [
19
+ "ui/alert-dialog.test.tsx"
20
+ ],
21
+ "type": "registry:ui"
22
+ },
9
23
  {
10
24
  "name": "alert-dialog",
11
25
  "files": [
@@ -13,6 +27,13 @@
13
27
  ],
14
28
  "type": "registry:ui"
15
29
  },
30
+ {
31
+ "name": "alert.test",
32
+ "files": [
33
+ "ui/alert.test.tsx"
34
+ ],
35
+ "type": "registry:ui"
36
+ },
16
37
  {
17
38
  "name": "alert",
18
39
  "files": [
@@ -20,6 +41,13 @@
20
41
  ],
21
42
  "type": "registry:ui"
22
43
  },
44
+ {
45
+ "name": "aspect-ratio.test",
46
+ "files": [
47
+ "ui/aspect-ratio.test.tsx"
48
+ ],
49
+ "type": "registry:ui"
50
+ },
23
51
  {
24
52
  "name": "aspect-ratio",
25
53
  "files": [
@@ -27,6 +55,13 @@
27
55
  ],
28
56
  "type": "registry:ui"
29
57
  },
58
+ {
59
+ "name": "avatar.test",
60
+ "files": [
61
+ "ui/avatar.test.tsx"
62
+ ],
63
+ "type": "registry:ui"
64
+ },
30
65
  {
31
66
  "name": "avatar",
32
67
  "files": [
@@ -34,6 +69,13 @@
34
69
  ],
35
70
  "type": "registry:ui"
36
71
  },
72
+ {
73
+ "name": "badge.test",
74
+ "files": [
75
+ "ui/badge.test.tsx"
76
+ ],
77
+ "type": "registry:ui"
78
+ },
37
79
  {
38
80
  "name": "badge",
39
81
  "files": [
@@ -41,6 +83,13 @@
41
83
  ],
42
84
  "type": "registry:ui"
43
85
  },
86
+ {
87
+ "name": "breadcrumb.test",
88
+ "files": [
89
+ "ui/breadcrumb.test.tsx"
90
+ ],
91
+ "type": "registry:ui"
92
+ },
44
93
  {
45
94
  "name": "breadcrumb",
46
95
  "files": [
@@ -48,6 +97,13 @@
48
97
  ],
49
98
  "type": "registry:ui"
50
99
  },
100
+ {
101
+ "name": "button.test",
102
+ "files": [
103
+ "ui/button.test.tsx"
104
+ ],
105
+ "type": "registry:ui"
106
+ },
51
107
  {
52
108
  "name": "button",
53
109
  "files": [
@@ -55,6 +111,13 @@
55
111
  ],
56
112
  "type": "registry:ui"
57
113
  },
114
+ {
115
+ "name": "calendar.test",
116
+ "files": [
117
+ "ui/calendar.test.tsx"
118
+ ],
119
+ "type": "registry:ui"
120
+ },
58
121
  {
59
122
  "name": "calendar",
60
123
  "files": [
@@ -62,6 +125,13 @@
62
125
  ],
63
126
  "type": "registry:ui"
64
127
  },
128
+ {
129
+ "name": "card.test",
130
+ "files": [
131
+ "ui/card.test.tsx"
132
+ ],
133
+ "type": "registry:ui"
134
+ },
65
135
  {
66
136
  "name": "card",
67
137
  "files": [
@@ -69,6 +139,13 @@
69
139
  ],
70
140
  "type": "registry:ui"
71
141
  },
142
+ {
143
+ "name": "carousel.test",
144
+ "files": [
145
+ "ui/carousel.test.tsx"
146
+ ],
147
+ "type": "registry:ui"
148
+ },
72
149
  {
73
150
  "name": "carousel",
74
151
  "files": [
@@ -76,6 +153,13 @@
76
153
  ],
77
154
  "type": "registry:ui"
78
155
  },
156
+ {
157
+ "name": "chart.test",
158
+ "files": [
159
+ "ui/chart.test.tsx"
160
+ ],
161
+ "type": "registry:ui"
162
+ },
79
163
  {
80
164
  "name": "chart",
81
165
  "files": [
@@ -83,6 +167,13 @@
83
167
  ],
84
168
  "type": "registry:ui"
85
169
  },
170
+ {
171
+ "name": "checkbox.test",
172
+ "files": [
173
+ "ui/checkbox.test.tsx"
174
+ ],
175
+ "type": "registry:ui"
176
+ },
86
177
  {
87
178
  "name": "checkbox",
88
179
  "files": [
@@ -90,6 +181,13 @@
90
181
  ],
91
182
  "type": "registry:ui"
92
183
  },
184
+ {
185
+ "name": "collapsible.test",
186
+ "files": [
187
+ "ui/collapsible.test.tsx"
188
+ ],
189
+ "type": "registry:ui"
190
+ },
93
191
  {
94
192
  "name": "collapsible",
95
193
  "files": [
@@ -97,6 +195,13 @@
97
195
  ],
98
196
  "type": "registry:ui"
99
197
  },
198
+ {
199
+ "name": "command.test",
200
+ "files": [
201
+ "ui/command.test.tsx"
202
+ ],
203
+ "type": "registry:ui"
204
+ },
100
205
  {
101
206
  "name": "command",
102
207
  "files": [
@@ -104,6 +209,13 @@
104
209
  ],
105
210
  "type": "registry:ui"
106
211
  },
212
+ {
213
+ "name": "context-menu.test",
214
+ "files": [
215
+ "ui/context-menu.test.tsx"
216
+ ],
217
+ "type": "registry:ui"
218
+ },
107
219
  {
108
220
  "name": "context-menu",
109
221
  "files": [
@@ -111,6 +223,13 @@
111
223
  ],
112
224
  "type": "registry:ui"
113
225
  },
226
+ {
227
+ "name": "dialog.test",
228
+ "files": [
229
+ "ui/dialog.test.tsx"
230
+ ],
231
+ "type": "registry:ui"
232
+ },
114
233
  {
115
234
  "name": "dialog",
116
235
  "files": [
@@ -118,6 +237,13 @@
118
237
  ],
119
238
  "type": "registry:ui"
120
239
  },
240
+ {
241
+ "name": "drawer.test",
242
+ "files": [
243
+ "ui/drawer.test.tsx"
244
+ ],
245
+ "type": "registry:ui"
246
+ },
121
247
  {
122
248
  "name": "drawer",
123
249
  "files": [
@@ -125,6 +251,13 @@
125
251
  ],
126
252
  "type": "registry:ui"
127
253
  },
254
+ {
255
+ "name": "dropdown-menu.test",
256
+ "files": [
257
+ "ui/dropdown-menu.test.tsx"
258
+ ],
259
+ "type": "registry:ui"
260
+ },
128
261
  {
129
262
  "name": "dropdown-menu",
130
263
  "files": [
@@ -132,6 +265,13 @@
132
265
  ],
133
266
  "type": "registry:ui"
134
267
  },
268
+ {
269
+ "name": "form.test",
270
+ "files": [
271
+ "ui/form.test.tsx"
272
+ ],
273
+ "type": "registry:ui"
274
+ },
135
275
  {
136
276
  "name": "form",
137
277
  "files": [
@@ -139,6 +279,13 @@
139
279
  ],
140
280
  "type": "registry:ui"
141
281
  },
282
+ {
283
+ "name": "hover-card.test",
284
+ "files": [
285
+ "ui/hover-card.test.tsx"
286
+ ],
287
+ "type": "registry:ui"
288
+ },
142
289
  {
143
290
  "name": "hover-card",
144
291
  "files": [
@@ -146,6 +293,13 @@
146
293
  ],
147
294
  "type": "registry:ui"
148
295
  },
296
+ {
297
+ "name": "input.test",
298
+ "files": [
299
+ "ui/input.test.tsx"
300
+ ],
301
+ "type": "registry:ui"
302
+ },
149
303
  {
150
304
  "name": "input",
151
305
  "files": [
@@ -153,6 +307,13 @@
153
307
  ],
154
308
  "type": "registry:ui"
155
309
  },
310
+ {
311
+ "name": "label.test",
312
+ "files": [
313
+ "ui/label.test.tsx"
314
+ ],
315
+ "type": "registry:ui"
316
+ },
156
317
  {
157
318
  "name": "label",
158
319
  "files": [
@@ -160,6 +321,13 @@
160
321
  ],
161
322
  "type": "registry:ui"
162
323
  },
324
+ {
325
+ "name": "menubar.test",
326
+ "files": [
327
+ "ui/menubar.test.tsx"
328
+ ],
329
+ "type": "registry:ui"
330
+ },
163
331
  {
164
332
  "name": "menubar",
165
333
  "files": [
@@ -167,6 +335,13 @@
167
335
  ],
168
336
  "type": "registry:ui"
169
337
  },
338
+ {
339
+ "name": "navigation-menu.test",
340
+ "files": [
341
+ "ui/navigation-menu.test.tsx"
342
+ ],
343
+ "type": "registry:ui"
344
+ },
170
345
  {
171
346
  "name": "navigation-menu",
172
347
  "files": [
@@ -174,6 +349,13 @@
174
349
  ],
175
350
  "type": "registry:ui"
176
351
  },
352
+ {
353
+ "name": "pagination.test",
354
+ "files": [
355
+ "ui/pagination.test.tsx"
356
+ ],
357
+ "type": "registry:ui"
358
+ },
177
359
  {
178
360
  "name": "pagination",
179
361
  "files": [
@@ -181,6 +363,13 @@
181
363
  ],
182
364
  "type": "registry:ui"
183
365
  },
366
+ {
367
+ "name": "popover.test",
368
+ "files": [
369
+ "ui/popover.test.tsx"
370
+ ],
371
+ "type": "registry:ui"
372
+ },
184
373
  {
185
374
  "name": "popover",
186
375
  "files": [
@@ -188,6 +377,13 @@
188
377
  ],
189
378
  "type": "registry:ui"
190
379
  },
380
+ {
381
+ "name": "progress.test",
382
+ "files": [
383
+ "ui/progress.test.tsx"
384
+ ],
385
+ "type": "registry:ui"
386
+ },
191
387
  {
192
388
  "name": "progress",
193
389
  "files": [
@@ -195,6 +391,13 @@
195
391
  ],
196
392
  "type": "registry:ui"
197
393
  },
394
+ {
395
+ "name": "radio-group.test",
396
+ "files": [
397
+ "ui/radio-group.test.tsx"
398
+ ],
399
+ "type": "registry:ui"
400
+ },
198
401
  {
199
402
  "name": "radio-group",
200
403
  "files": [
@@ -202,6 +405,13 @@
202
405
  ],
203
406
  "type": "registry:ui"
204
407
  },
408
+ {
409
+ "name": "resizable.test",
410
+ "files": [
411
+ "ui/resizable.test.tsx"
412
+ ],
413
+ "type": "registry:ui"
414
+ },
205
415
  {
206
416
  "name": "resizable",
207
417
  "files": [
@@ -209,6 +419,13 @@
209
419
  ],
210
420
  "type": "registry:ui"
211
421
  },
422
+ {
423
+ "name": "scroll-area.test",
424
+ "files": [
425
+ "ui/scroll-area.test.tsx"
426
+ ],
427
+ "type": "registry:ui"
428
+ },
212
429
  {
213
430
  "name": "scroll-area",
214
431
  "files": [
@@ -216,6 +433,27 @@
216
433
  ],
217
434
  "type": "registry:ui"
218
435
  },
436
+ {
437
+ "name": "search.test",
438
+ "files": [
439
+ "ui/search.test.tsx"
440
+ ],
441
+ "type": "registry:ui"
442
+ },
443
+ {
444
+ "name": "search",
445
+ "files": [
446
+ "ui/search.tsx"
447
+ ],
448
+ "type": "registry:ui"
449
+ },
450
+ {
451
+ "name": "select.test",
452
+ "files": [
453
+ "ui/select.test.tsx"
454
+ ],
455
+ "type": "registry:ui"
456
+ },
219
457
  {
220
458
  "name": "select",
221
459
  "files": [
@@ -223,6 +461,13 @@
223
461
  ],
224
462
  "type": "registry:ui"
225
463
  },
464
+ {
465
+ "name": "separator.test",
466
+ "files": [
467
+ "ui/separator.test.tsx"
468
+ ],
469
+ "type": "registry:ui"
470
+ },
226
471
  {
227
472
  "name": "separator",
228
473
  "files": [
@@ -230,6 +475,13 @@
230
475
  ],
231
476
  "type": "registry:ui"
232
477
  },
478
+ {
479
+ "name": "sheet.test",
480
+ "files": [
481
+ "ui/sheet.test.tsx"
482
+ ],
483
+ "type": "registry:ui"
484
+ },
233
485
  {
234
486
  "name": "sheet",
235
487
  "files": [
@@ -237,6 +489,13 @@
237
489
  ],
238
490
  "type": "registry:ui"
239
491
  },
492
+ {
493
+ "name": "skeleton.test",
494
+ "files": [
495
+ "ui/skeleton.test.tsx"
496
+ ],
497
+ "type": "registry:ui"
498
+ },
240
499
  {
241
500
  "name": "skeleton",
242
501
  "files": [
@@ -244,6 +503,13 @@
244
503
  ],
245
504
  "type": "registry:ui"
246
505
  },
506
+ {
507
+ "name": "slider.test",
508
+ "files": [
509
+ "ui/slider.test.tsx"
510
+ ],
511
+ "type": "registry:ui"
512
+ },
247
513
  {
248
514
  "name": "slider",
249
515
  "files": [
@@ -251,6 +517,13 @@
251
517
  ],
252
518
  "type": "registry:ui"
253
519
  },
520
+ {
521
+ "name": "sonner.test",
522
+ "files": [
523
+ "ui/sonner.test.tsx"
524
+ ],
525
+ "type": "registry:ui"
526
+ },
254
527
  {
255
528
  "name": "sonner",
256
529
  "files": [
@@ -258,6 +531,13 @@
258
531
  ],
259
532
  "type": "registry:ui"
260
533
  },
534
+ {
535
+ "name": "switch.test",
536
+ "files": [
537
+ "ui/switch.test.tsx"
538
+ ],
539
+ "type": "registry:ui"
540
+ },
261
541
  {
262
542
  "name": "switch",
263
543
  "files": [
@@ -265,6 +545,13 @@
265
545
  ],
266
546
  "type": "registry:ui"
267
547
  },
548
+ {
549
+ "name": "table.test",
550
+ "files": [
551
+ "ui/table.test.tsx"
552
+ ],
553
+ "type": "registry:ui"
554
+ },
268
555
  {
269
556
  "name": "table",
270
557
  "files": [
@@ -272,6 +559,13 @@
272
559
  ],
273
560
  "type": "registry:ui"
274
561
  },
562
+ {
563
+ "name": "tabs.test",
564
+ "files": [
565
+ "ui/tabs.test.tsx"
566
+ ],
567
+ "type": "registry:ui"
568
+ },
275
569
  {
276
570
  "name": "tabs",
277
571
  "files": [
@@ -279,6 +573,13 @@
279
573
  ],
280
574
  "type": "registry:ui"
281
575
  },
576
+ {
577
+ "name": "textarea.test",
578
+ "files": [
579
+ "ui/textarea.test.tsx"
580
+ ],
581
+ "type": "registry:ui"
582
+ },
282
583
  {
283
584
  "name": "textarea",
284
585
  "files": [
@@ -286,6 +587,20 @@
286
587
  ],
287
588
  "type": "registry:ui"
288
589
  },
590
+ {
591
+ "name": "theme-toggle",
592
+ "files": [
593
+ "ui/theme-toggle.tsx"
594
+ ],
595
+ "type": "registry:ui"
596
+ },
597
+ {
598
+ "name": "toast.test",
599
+ "files": [
600
+ "ui/toast.test.tsx"
601
+ ],
602
+ "type": "registry:ui"
603
+ },
289
604
  {
290
605
  "name": "toast",
291
606
  "files": [
@@ -300,6 +615,13 @@
300
615
  ],
301
616
  "type": "registry:ui"
302
617
  },
618
+ {
619
+ "name": "toggle-group.test",
620
+ "files": [
621
+ "ui/toggle-group.test.tsx"
622
+ ],
623
+ "type": "registry:ui"
624
+ },
303
625
  {
304
626
  "name": "toggle-group",
305
627
  "files": [
@@ -307,6 +629,13 @@
307
629
  ],
308
630
  "type": "registry:ui"
309
631
  },
632
+ {
633
+ "name": "toggle.test",
634
+ "files": [
635
+ "ui/toggle.test.tsx"
636
+ ],
637
+ "type": "registry:ui"
638
+ },
310
639
  {
311
640
  "name": "toggle",
312
641
  "files": [
@@ -314,6 +643,13 @@
314
643
  ],
315
644
  "type": "registry:ui"
316
645
  },
646
+ {
647
+ "name": "tooltip.test",
648
+ "files": [
649
+ "ui/tooltip.test.tsx"
650
+ ],
651
+ "type": "registry:ui"
652
+ },
317
653
  {
318
654
  "name": "tooltip",
319
655
  "files": [
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "input.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/input.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport * as React from 'react';\nimport { describe, expect, it } from 'vitest';\nimport { Input } from './input';\n\ndescribe('Input', () => {\n it('renders correctly', () => {\n render(<Input placeholder=\"Enter text\" />);\n expect(screen.getByPlaceholderText('Enter text')).toBeInTheDocument();\n });\n\n it('accepts user input', async () => {\n const user = userEvent.setup();\n render(<Input placeholder=\"Enter text\" />);\n\n const input = screen.getByPlaceholderText('Enter text');\n await user.type(input, 'Hello World');\n\n expect(input).toHaveValue('Hello World');\n });\n\n it('handles disabled state', () => {\n render(<Input disabled placeholder=\"Disabled\" />);\n expect(screen.getByPlaceholderText('Disabled')).toBeDisabled();\n });\n\n it('forwards ref', () => {\n const ref = React.createRef<HTMLInputElement>();\n render(<Input ref={ref} />);\n expect(ref.current).toBeInstanceOf(HTMLInputElement);\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "label.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/label.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Label } from './label';\n\ndescribe('Label', () => {\n it('renders correctly', () => {\n render(<Label>Test Label</Label>);\n expect(screen.getByText('Test Label')).toBeInTheDocument();\n });\n\n it('renders within the DOM', () => {\n const { container } = render(<Label>Test Label</Label>);\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('supports htmlFor attribute', () => {\n render(\n <>\n <Label htmlFor=\"test-input\">Test Input</Label>\n <input id=\"test-input\" />\n </>,\n );\n\n const label = screen.getByText('Test Input');\n expect(label).toHaveAttribute('for', 'test-input');\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "menubar.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/menubar.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarItem,\n MenubarMenu,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarTrigger,\n} from './menubar';\n\ndescribe('Menubar', () => {\n it('renders trigger correctly', () => {\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>File</MenubarTrigger>\n <MenubarContent>\n <MenubarItem>New Tab</MenubarItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n expect(screen.getByText('File')).toBeInTheDocument();\n });\n\n it('opens menu on click', async () => {\n const user = userEvent.setup();\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>File</MenubarTrigger>\n <MenubarContent>\n <MenubarItem>New Tab</MenubarItem>\n <MenubarItem>New Window</MenubarItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n await user.click(screen.getByText('File'));\n\n expect(screen.getByText('New Tab')).toBeVisible();\n expect(screen.getByText('New Window')).toBeVisible();\n });\n\n it('handles checkbox items', async () => {\n const user = userEvent.setup();\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>View</MenubarTrigger>\n <MenubarContent>\n <MenubarCheckboxItem checked>Show Sidebar</MenubarCheckboxItem>\n <MenubarCheckboxItem checked={false}>Show Status Bar</MenubarCheckboxItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n await user.click(screen.getByText('View'));\n\n expect(screen.getByRole('menuitemcheckbox', { name: 'Show Sidebar' })).toBeChecked();\n expect(screen.getByRole('menuitemcheckbox', { name: 'Show Status Bar' })).not.toBeChecked();\n });\n\n it('handles radio items', async () => {\n const user = userEvent.setup();\n render(\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>Profiles</MenubarTrigger>\n <MenubarContent>\n <MenubarRadioGroup value=\"andy\">\n <MenubarRadioItem value=\"andy\">Andy</MenubarRadioItem>\n <MenubarRadioItem value=\"benoit\">Benoit</MenubarRadioItem>\n </MenubarRadioGroup>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>,\n );\n\n await user.click(screen.getByText('Profiles'));\n\n expect(screen.getByRole('menuitemradio', { name: 'Andy' })).toBeChecked();\n expect(screen.getByRole('menuitemradio', { name: 'Benoit' })).not.toBeChecked();\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "navigation-menu.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/navigation-menu.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { describe, expect, it } from 'vitest';\nimport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n} from './navigation-menu';\n\ndescribe('NavigationMenu', () => {\n it('renders trigger correctly', () => {\n render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Item One</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink>Link One</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>,\n );\n\n expect(screen.getByText('Item One')).toBeInTheDocument();\n });\n\n it('shows content on click (or hover depending on implementation)', async () => {\n // Radix Navigation Menu usually works on hover for desktop, click for touch/mobile.\n // In JSDOM, we can simulate clicks.\n const user = userEvent.setup();\n render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Item One</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink>Link One</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>,\n );\n\n const trigger = screen.getByText('Item One');\n await user.click(trigger);\n\n expect(screen.getByText('Link One')).toBeVisible();\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "pagination.test",
3
+ "type": "registry:ui",
4
+ "dependencies": [],
5
+ "registryDependencies": [],
6
+ "files": [
7
+ {
8
+ "path": "ui/pagination.test.tsx",
9
+ "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n} from './pagination';\n\ndescribe('Pagination', () => {\n it('renders correctly', () => {\n render(\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious href=\"#\" />\n </PaginationItem>\n <PaginationItem>\n <PaginationLink href=\"#\">1</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n <PaginationItem>\n <PaginationNext href=\"#\" />\n </PaginationItem>\n </PaginationContent>\n </Pagination>,\n );\n\n expect(screen.getByRole('navigation', { name: 'pagination' })).toBeInTheDocument();\n expect(screen.getByText('Previous')).toBeInTheDocument();\n expect(screen.getByText('1')).toBeInTheDocument();\n expect(screen.getByText('Next')).toBeInTheDocument();\n expect(screen.getByText('More pages')).toBeInTheDocument();\n });\n\n it('marks active page correctly', () => {\n render(\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationLink href=\"#\" isActive>\n 1\n </PaginationLink>\n </PaginationItem>\n </PaginationContent>\n </Pagination>,\n );\n\n const link = screen.getByText('1').closest('a');\n expect(link).toHaveAttribute('aria-current', 'page');\n });\n});\n",
10
+ "type": "registry:ui"
11
+ }
12
+ ]
13
+ }